{ "id": "171541", "key": "TIMOB-25978", "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": null, "resolutiondate": null, "created": "2018-04-19T15:21:45.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [], "issuelinks": [ { "id": "56464", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "127148", "key": "TIMOB-16596", "fields": { "summary": "Android: Animation anchorPoints not working", "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": "Low", "id": "4" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "updated": "2018-04-24T12:30:00.000+0000", "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" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "Calling {{animate()}} on a View that has already been animated does not work. The callback is called after the duration, but the transformation is based on the initial state of the view and it is not affected by further animations.\r\n\r\n_Note:_ Adding {{autoReverse: true}} to the Ti.UI.Animation results in successfully animating the view every time.\r\n_Note2:_ {{anchorPoint}} property will work after the changes from TIMOB-16596 are applied.\r\n\r\n*Test case:*\r\n_app.js_\r\n\r\n{code:java}\r\nvar win = Ti.UI.createWindow(),\r\n matrix = Ti.UI.create2DMatrix(),\r\n animation = Ti.UI.createAnimation({\r\n transform: matrix.rotate(90),\r\n duration: 1500,\r\n anchorPoint: {x: 0.5, y: 1}\r\n }),\r\n view = Ti.UI.createView({\r\n backgroundColor:'#336699',\r\n width:10, height:100, top: 150\r\n }),\r\n button = Ti.UI.createButton({\r\n title:'Rotate',\r\n height: 80,\r\n width: 300,\r\n bottom:30\r\n });\r\n\r\nbutton.addEventListener('click', function(){\r\n\tbutton.touchEnabled = false;\r\n\tview.animate(animation, function() {\r\n\t\tbutton.touchEnabled = true;\r\n\t});\r\n});\r\n\r\nwin.add(view);\r\nwin.add(button);\r\nwin.open();\r\n\r\n{code}\r\n\r\n*Result:* After the first click the view is rotate, the button disabled for the duration and enabled at the animation's end. Every following click results in *only* the button being disabled and reenabled after the animation duration.\r\n\r\n*Expected result:* The animation should be properly applied no matter how many times the button is clicked.", "attachment": [], "flagged": false, "summary": "Android: animate() called more than once on a view does not work", "creator": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "subtasks": [], "reporter": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "environment": null, "comment": { "comments": [ { "id": "437116", "author": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "body": "Currently working the same way on iOS too. Will have to discuss with the team if that is something which should be addressed in the future.", "updateAuthor": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "created": "2018-04-24T12:29:54.000+0000", "updated": "2018-04-24T12:29:54.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }