{ "id": "173988", "key": "TIMOB-27316", "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": "20832", "name": "Release 8.3.0", "archived": false, "released": true, "releaseDate": "2019-11-25" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2019-10-30T15:27:33.000+0000", "created": "2019-08-07T14:33:24.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "NavigationWindow", "TabGroup", "android", "parity" ], "versions": [ { "id": "19882", "name": "Release 8.0.0", "archived": false, "released": true, "releaseDate": "2019-03-14" } ], "issuelinks": [ { "id": "59075", "type": { "id": "10122", "name": "Gantt: start-finish", "inward": "is triggered by", "outward": "is triggering" }, "outwardIssue": { "id": "175938", "key": "ALOY-1744", "fields": { "summary": "Allow TabGroup as a child of a NavigationWindow", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "updated": "2021-01-04T14:11:09.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\nCurrently, Android's {{NavigationWindow}} only supports opening {{Ti.UI.Window}} objects. It does *not* currently support opening a {{TabGroup}} like iOS. We should add {{TabGroup}} support for parity.\r\n\r\n*Test Code:*\r\nThe [^NavWindowTabGroupTest.js] file sets up a {{TabGroup}} as the 1st window in a {{NavigationWindow}} and can launch a child {{Window}} from each tab. (Currently crashes with an exception.)\r\n\r\nThe [^NavWindowChildTabsTest.js] has a {{Window}} as the 1st window in a {{NavigationWindow}} which opens a {{TabGroup}} as a child. This is a separate test case is needed since the open handling is different. (Currently shows a blank tab group with no tabs.)\r\n\r\n*Note:*\r\niOS does not currently support displaying a {{TabGroup}} \"title\" in the {{NavigationWindow}} title bar. This is because our {{TabGroup}} does not currently support a \"title\" property. On Android, {{TabGroup}} does have an undocumented \"title\" property which would allow this to work. (Perhaps we should add \"title\" property support to iOS in the future.)\r\n", "attachment": [ { "id": "66811", "filename": "NavWindowChildTabsTest.js", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-08-08T23:26:53.000+0000", "size": 1567, "mimeType": "application/x-javascript" }, { "id": "66810", "filename": "NavWindowTabGroupTest.js", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-08-08T23:26:53.000+0000", "size": 1281, "mimeType": "application/x-javascript" } ], "flagged": false, "summary": "Android: Add TabGroup support to NavigationWindow", "creator": { "name": "bhouse", "key": "bhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "subtasks": [], "reporter": { "name": "bhouse", "key": "bhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "environment": null, "comment": { "comments": [ { "id": "450436", "author": { "name": "bhouse", "key": "bhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "body": "[~ybanev] - Currently the biggest issue is that currentTab.open() opens a window on top of everything instead of inside the currentTab window (like iOS). This way, it would also have nav stack and history (like iOS) so you have back button capability. I just want to make sure that this ticket still reflects this.", "updateAuthor": { "name": "bhouse", "key": "bhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "created": "2019-08-13T14:48:41.000+0000", "updated": "2019-08-13T14:48:41.000+0000" }, { "id": "450437", "author": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "body": "[~bhouse] If I get it right this will happen regardless of the TabGroup being a part of a NavigationWindow, right? If this is the case we may better keep the different scenarios in different tickets. Do we have one for what you mentioned?", "updateAuthor": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "created": "2019-08-13T14:53:59.000+0000", "updated": "2019-08-13T14:54:20.000+0000" }, { "id": "450438", "author": { "name": "bhouse", "key": "bhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "body": "[~ybanev] - You can take a look at the history of this ticket", "updateAuthor": { "name": "bhouse", "key": "bhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "created": "2019-08-13T14:54:59.000+0000", "updated": "2019-08-13T14:54:59.000+0000" }, { "id": "450455", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~bhouse], that should be a separate ticket since it's not related to {{NavigationWindow}}.\r\n\r\nFrom looking at [TIMOB-13409], it looks like we've never supported {{currentTab.open()}}. This is not a new issue.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-08-13T17:56:56.000+0000", "updated": "2019-08-13T18:03:43.000+0000" }, { "id": "450463", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "After chatting with Brenton, I now realize that I misunderstood the original issue this ticket originally described. (Note that I rewrote this ticket's description which refers to an entirely different issue, but is still relevant and needs to be addressed as well.)\r\n\r\nOn Android, the {{Tab.open(Ti.UI.Window)}} method opens the window as an activity which is shown fully on top of the parent {{TabGroup}} activity.\r\n\r\nOn iOS, the {{Tab.open(Ti.UI.Window)}} method opens a window *+within+* the {{TabGroup}} and the top title bar shows a back button to navigate back to the tab. So, the tab acts as a container for another window. The bottom tabs are still shown. This is the behavior Brenton is after.\r\n\r\nIn my opinion, I think we should accept the platform behavior difference in this case. But that said, this behavior can be replicated via {{TabbedBar}} and {{ScrollableView}} instead of using a {{TabGroup}}. The key thing here is to use {{Views}} instead of {{Windows}}. Perhaps we should write up a \"Story\" ticket that provides sample code on how to do this.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-08-13T22:18:48.000+0000", "updated": "2019-08-13T22:18:48.000+0000" }, { "id": "450721", "author": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/11166", "updateAuthor": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "created": "2019-08-22T13:21:52.000+0000", "updated": "2019-08-22T13:21:52.000+0000" }, { "id": "452345", "author": { "name": "ssekhri", "key": "ssekhri", "displayName": "Satyam Sekhri", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed. TabGroup works fine in NavigationWindow on Android.", "updateAuthor": { "name": "ssekhri", "key": "ssekhri", "displayName": "Satyam Sekhri", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-10-29T20:53:10.000+0000", "updated": "2019-10-29T20:53:10.000+0000" }, { "id": "452367", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket. Improvement verified in SDK version {{8.3.0.v20191030041914}}.\r\n\r\nTest and other information can be found at: \r\nhttps://github.com/appcelerator/titanium_mobile/pull/11166", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-10-30T15:27:27.000+0000", "updated": "2019-10-30T15:27:27.000+0000" }, { "id": "457959", "author": { "name": "bhouse", "key": "bhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "body": "This PR seems to be related to this ticket: https://github.com/appcelerator/alloy/pull/1067", "updateAuthor": { "name": "bhouse", "key": "bhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "created": "2020-12-30T17:26:05.000+0000", "updated": "2020-12-30T17:26:05.000+0000" } ], "maxResults": 12, "total": 12, "startAt": 0 } } }