{ "id": "175903", "key": "TIMOB-28286", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "21177", "name": "Release 9.3.1", "archived": false, "released": true, "releaseDate": "2021-01-26" }, { "id": "21050", "name": "Release 10.0.0", "archived": false, "released": true, "releaseDate": "2021-05-17" } ], "resolution": null, "resolutiondate": null, "created": "2020-12-12T01:56:31.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "android", "event", "parity", "touch" ], "versions": [], "issuelinks": [], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2021-01-19T18:48:43.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "*Summary:*\r\nThe following view events should fire immediately like how it works on iOS...\r\n* touchstart\r\n* touchmove\r\n* touchend\r\n* touchcancel\r\n\r\nCurrently, the above events are fired async on Android, which means they're one frame behind. The issue with this is that it makes it difficult to implement your own drag-and-drop interface because the drag affect looks jumpy/laggy.\r\n\r\n*Steps to reproduce:*\r\n# Build and run the below on Android.\r\n# Drag one of the squares onscreen.\r\n# Notice the square does not drag smoothly under your finger. (It jumps around your finger.)\r\n\r\n{code:javascript}\r\nfunction createDragSquare(top, left, color) {\r\n\tvar view = Ti.UI.createView({\r\n\t\ttouchEnabled: true,\r\n\t\tbackgroundColor: color,\r\n\t\tcenter: { x: left + 50, y: top + 50 },\r\n\t\twidth: 100,\r\n\t\theight: 100,\r\n\t});\r\n\tview.addEventListener(\"touchmove\", function(event) {\r\n\t\tview.center = view.convertPointToView({ x: event.x, y: event.y }, window);\r\n\t\tevent.cancelBubble = true;\r\n\t});\r\n\treturn view;\r\n}\r\n\r\nvar window = Ti.UI.createWindow({ backgroundColor: \"white\" });\r\nwindow.add(createDragSquare(40, 40, \"red\"));\r\nwindow.add(createDragSquare(120, 120, \"green\"));\r\nwindow.add(createDragSquare(200, 200, \"blue\"));\r\nwindow.open();\r\n{code}\r\n", "attachment": [], "flagged": false, "summary": "Android: Touch events should fire synchronously", "creator": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "457885", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/12340", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-12-12T02:44:41.000+0000", "updated": "2020-12-12T02:44:41.000+0000" }, { "id": "457895", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed, waiting on Jenkins build. ", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-12-15T15:18:42.000+0000", "updated": "2020-12-15T15:18:42.000+0000" }, { "id": "457897", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "merged to master for 10.0.0 target", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2020-12-15T15:43:38.000+0000", "updated": "2020-12-15T15:43:38.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }