{ "id": "155414", "key": "AC-879", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2016-03-05T06:29:58.000+0000", "created": "2016-03-04T17:49:28.000+0000", "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "shossain", "key": "shossain", "displayName": "Shak Hossain", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2016-03-08T07:37:10.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": "14548", "name": "Titanium SDK & CLI", "description": "Please enter tickets related to the MobileSDK here." } ], "description": "Before expanding the views, the child view’s top values are set to -200 to be hidden from the interface. Upon header view click, we set the top values to the necessary values in order to expand and display the child views. Upon minimizing the views, we set the top values back to -200. You can see that the expansion does not cause any delays, but in minimizing, part of the child views are still visible. There are still visible until the user makes a gesture on the app. Upon research, it seems that it may be because postInvalidate() is called in the Ti.UI.View after “top” value is changed and it seems that invalidate() should be called instead. We investigated TiUIView.java as well, and only found postInvalidate() calls, rather than invalidate() calls.\r\n\r\nPlease see the following video for a visual reproduction of the issue: https://youtu.be/bW9uzULWb6c", "attachment": [], "flagged": false, "summary": "Delay in View Re-layout / Invalidation (Android)", "creator": { "name": "Yrkh8trnoy", "key": "yrkh8trnoy", "displayName": "Kiley Williams", "active": true, "timeZone": "America/Vancouver" }, "subtasks": [], "reporter": { "name": "Yrkh8trnoy", "key": "yrkh8trnoy", "displayName": "Kiley Williams", "active": true, "timeZone": "America/Vancouver" }, "environment": null, "comment": { "comments": [ { "id": "378786", "author": { "name": "Yrkh8trnoy", "key": "yrkh8trnoy", "displayName": "Kiley Williams", "active": true, "timeZone": "America/Vancouver" }, "body": "The video shows a side-by-side comparison of how it works correctly on iOS, and how it has an issue on Android.", "updateAuthor": { "name": "Yrkh8trnoy", "key": "yrkh8trnoy", "displayName": "Kiley Williams", "active": true, "timeZone": "America/Vancouver" }, "created": "2016-03-04T17:50:14.000+0000", "updated": "2016-03-04T18:06:40.000+0000" }, { "id": "378809", "author": { "name": "Yrkh8trnoy", "key": "yrkh8trnoy", "displayName": "Kiley Williams", "active": true, "timeZone": "America/Vancouver" }, "body": "This was found to be not a bug, and rather a missed accounting for the way Android handles child views on the part of the developer. Thanks! This can be closed.", "updateAuthor": { "name": "Yrkh8trnoy", "key": "yrkh8trnoy", "displayName": "Kiley Williams", "active": true, "timeZone": "America/Vancouver" }, "created": "2016-03-05T04:24:55.000+0000", "updated": "2016-03-05T04:24:55.000+0000" }, { "id": "378819", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~Yrkh8trnoy] could you elaborate a bit on this?\r\n\r\n{quote}missed accounting for the way Android handles child views on the part of the developer{quote}", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-03-05T13:57:49.000+0000", "updated": "2016-03-05T13:57:49.000+0000" }, { "id": "378834", "author": { "name": "melissa7mb", "key": "melissa7mb", "displayName": "Melissa Chan", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hi, so I was creating some test code as some other developers from TiSlack was willing to help. While I was creating the test code, I was adding more properties than I usually would because I was stripping it from its giant code that it came from. The test code didn’t run into any of the relayout issues in either the android and ios. So I’ve applied the extra properties to my original code and that have fixed the properties. It seems that at least for the android, parent views do not position themselves the same way as ios and you need to explicitly position them. Sorry for any inconvenience.", "updateAuthor": { "name": "melissa7mb", "key": "melissa7mb", "displayName": "Melissa Chan", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-03-05T22:58:21.000+0000", "updated": "2016-03-05T22:58:21.000+0000" }, { "id": "379051", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Thanks [~melissa7mb]. Still, I'd love to hear what properties were missing that triggered this unexpected behaviour for Android. It still could be a valid parity bug.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-03-07T20:00:30.000+0000", "updated": "2016-03-07T20:00:30.000+0000" }, { "id": "379061", "author": { "name": "melissa7mb", "key": "melissa7mb", "displayName": "Melissa Chan", "active": true, "timeZone": "America/Los_Angeles" }, "body": "So the property that altered this for the Android was setting the \"top\" value for the views to 0 manually. For iOS, on a vertical layout I did not need to the top values for the children or parent views and it relayed out fine. When I had created the test code, I had actually manually set the top value of a all children and parent views on a vertical layout to 0. This had no affect for iOS, but manually setting the values for Android had solved the layout issue.", "updateAuthor": { "name": "melissa7mb", "key": "melissa7mb", "displayName": "Melissa Chan", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-03-07T21:18:17.000+0000", "updated": "2016-03-07T21:18:17.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }