{ "id": "110099", "key": "TIMOB-12842", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "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": [], "resolution": { "id": "3", "description": "The problem is a duplicate of an existing issue.", "name": "Duplicate" }, "resolutiondate": "2018-11-15T00:49:42.000+0000", "created": "2013-02-25T03:48:10.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [], "versions": [], "issuelinks": [ { "id": "26246", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "outwardIssue": { "id": "110052", "key": "TIMOB-12829", "fields": { "summary": "Profile JNI bridge crossings", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "priority": { "name": "Low", "id": "4" }, "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } }, { "id": "26044", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "87939", "key": "TIMOB-7999", "fields": { "summary": "iOS: convertPointToView doesn't work as well as globalPoint", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "57000", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "171242", "key": "TIMOB-25839", "fields": { "summary": "TiAPI: Touch event coordinate units do not match between platforms", "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" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "26245", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "92678", "key": "TIMOB-9341", "fields": { "summary": "Android: Support Scroll View canCancelEvents", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "28159", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "61643", "key": "TIMOB-1011", "fields": { "summary": "Android: Animations Cause the location of touch events to be incorrect", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": null, "updated": "2018-11-15T00:49:42.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" }, { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "2D image transforms are inconsistent between iOS and Android. I have attached a project named \"touches\" which reproduces the problem.\r\n\r\nThe iOS app behaves the way I expect, while the Android app behaves different to what I expect (which I would described as confusing and erratic behavior).\r\n\r\nThe \"touches\" app draws some colored squares and allows the user to drag them around the screen. The colored squares are image views (i.e. created with Ti.UI.createImageView) and have two event listeners attached to them, \"touchstart\" and \"touchmove\".\r\n\r\nThe \"touchstart\" event listener simply records the initial (x, y) coordinates of the user's initial touch in a lexically scoped variable named \"initialLocationInView\".\r\n\r\nThe \"touchmove\" event listener calculates the (deltaX, deltaY) of the user's finger movement relative to \"initialLocationInView\" and sets the image view's \"transform\" property to a 2D translation matrix (i.e. created with Ti.UI.create2DMatrix) using \"imageView.transform = transform.translate(deltaX, deltaY)\".\r\n\r\nOn iOS the colored squares track my finger movement so that they are always beneath my finger. This is expected behavior.\r\n\r\nOn Android the colored squares *accelerate* in the direction of my *constant-velocity* drag, and they quickly fly off the screen given just a few millimeters of finger drag. This is unexpected behavior.\r\n\r\nAdditionally, the hit-test area of \"touchmove\" is confined to the original location of the image view when the app started and not its current location. In other words, lifting my finger and touching the colored square again does not generate \"touchmove\" events. However, touching in the original location of the image view (i.e. where it was when the app started) does generate \"touchmove\" events. This is also unexpected behavior.", "attachment": [ { "id": "35726", "filename": "touches.tar.gz", "author": { "name": "mlangston", "key": "mlangston", "displayName": "Matt Langston", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-02-25T03:48:10.000+0000", "size": 3700687, "mimeType": "application/x-gzip" } ], "flagged": false, "summary": "2D image transforms are inconsistent between iOS and Android", "creator": { "name": "mlangston", "key": "mlangston", "displayName": "Matt Langston", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "mlangston", "key": "mlangston", "displayName": "Matt Langston", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "443617", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The issue is that touch event coordinate \"units\" are inconsistent between Android and iOS.\r\nOn Android, the touch coordinates are hard-coded to pixels.\r\nOn iOS, the touch coordinates are hard-coded to dips.\r\n\r\nThis issue will be solved by ticket [TIMOB-25839] in Titanium 8.0.0.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-11-15T00:49:07.000+0000", "updated": "2018-11-15T00:49:07.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }