{ "id": "122572", "key": "TIMOB-15769", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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": "16092", "description": "2014 Sprint 08", "name": "2014 Sprint 08", "archived": true, "released": true, "releaseDate": "2014-04-24" }, { "id": "16093", "description": "2014 Sprint 08 SDK", "name": "2014 Sprint 08 SDK", "archived": true, "released": true, "releaseDate": "2014-04-24" }, { "id": "15422", "description": "Release 3.3.0", "name": "Release 3.3.0", "archived": false, "released": true, "releaseDate": "2014-07-16" } ], "resolution": { "id": "2", "description": "The problem described is an issue which will never be fixed.", "name": "Won't Fix" }, "resolutiondate": "2014-04-22T21:11:04.000+0000", "created": "2013-11-16T12:56:48.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "activity", "android", "axe", "events", "triage", "windows" ], "versions": [], "issuelinks": [], "assignee": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-29T19:29:03.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": "Following the discussion in TIMOB-15105 I want to request a new {{render}} (or whatever we name it) event for {{Ti.UI.Window}} objects that would fire when the window is (first) visible/rendered.\r\n\r\nAs discussed the {{open}} event fires when the (on Android) activity is created and proxy element(s) are set up. If you listen to this event and then create another window, this will create a new activity, pausing the activity of the first window, causing it never to be visible at all.\r\n\r\nIf we would have a {{render}} event and wait for that to fire, this would solve the problem and make the windows behave like expected.\r\n\r\n*Use case:* Windows used as loading indicators not showing because they are paused by the next window/activity created.", "attachment": [], "flagged": false, "summary": "Android: Add new 'render' event that fires when a window actually shows", "creator": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "subtasks": [], "reporter": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "environment": "SDK master\r\nCLI master", "comment": { "comments": [ { "id": "280504", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Priority {{None}}? Without this event it is now impossible the actually do something *after* a windows shows without running the risk of the user not seeing the window at all because its activity is paused by following operations.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2013-11-21T06:56:56.000+0000", "updated": "2013-11-21T06:56:56.000+0000" }, { "id": "280529", "author": { "name": "core13", "key": "core13", "displayName": "Malcolm Hollingsworth", "active": true, "timeZone": "Europe/London" }, "body": "Now I am experiencing this as well.", "updateAuthor": { "name": "core13", "key": "core13", "displayName": "Malcolm Hollingsworth", "active": true, "timeZone": "Europe/London" }, "created": "2013-11-21T12:10:35.000+0000", "updated": "2013-11-21T12:10:35.000+0000" }, { "id": "280560", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~fokke] We do not immediately assign a priority to all new tickets, especially ones that fall under the \"New Feature\" category. We will discuss this in triage.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-11-21T16:54:26.000+0000", "updated": "2013-11-21T16:54:26.000+0000" }, { "id": "280704", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~ingo], just consider my comment a contribution to triage then ;)\r\n\r\nBy the way, I see it is labeled Android, but I would like to have this event on all platforms, even if this means it is fired at the exact same moment as {{open}} is for those platforms. Otherwise you will have ugly platform switch-code everywhere:\r\n\r\n{code}\r\nmyWindow.addEventListener(OS_ANDROID ? 'render' : 'open', myCallback);\r\n{code}", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2013-11-22T07:11:15.000+0000", "updated": "2013-11-22T07:11:15.000+0000" }, { "id": "301949", "author": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This is not necessary. 'postLayout' event does the same thing for Android.", "updateAuthor": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-04-21T21:08:09.000+0000", "updated": "2014-04-21T21:08:09.000+0000" }, { "id": "302195", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~hpham] Have you ever used {{postlayout}} yourself? It fires for every layout change in the hierarchy, so if you listen to that event on the window the events pile up while you only need it once. It requires bloated code to remove the event listener on its first call and then still leaves you with a polluted bridge. I think **that** shouldn't be necessary :)", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2014-04-23T14:39:24.000+0000", "updated": "2014-04-23T14:39:24.000+0000" }, { "id": "416208", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as \"Won't Fix\", with reference to previous comments.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-29T17:44:37.000+0000", "updated": "2017-03-29T17:44:37.000+0000" }, { "id": "416230", "author": { "name": "core13", "key": "core13", "displayName": "Malcolm Hollingsworth", "active": true, "timeZone": "Europe/London" }, "body": "[~lmorris] does this mean you are closing the ticket based on the previous comments that show the 'postLayout' does NOT achieve the objective? \r\n\r\nSo you have chosen not to fix something that is still 'broken' and has no current work-around noted by anyone and certainly not in 'the comments'.\r\n\r\nIf you do NOT WANT to fix that is one thing - but it is improper to suggest that the decision is based on ANYTHING noted in this ticket. Honesty is a great policy I am told.", "updateAuthor": { "name": "core13", "key": "core13", "displayName": "Malcolm Hollingsworth", "active": true, "timeZone": "Europe/London" }, "created": "2017-03-29T19:29:03.000+0000", "updated": "2017-03-29T19:29:03.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }