[TIMOB-455] Tabs disappear after closing then re-opening tab group
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Medium |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2011-07-26T18:51:41.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Backlog |
Components | iOS |
Labels | defect, ios, tabGroup, tabgroup |
Reporter | Nolan Wright |
Assignee | Jeff Haynie |
Created | 2011-04-15T02:29:37.000+0000 |
Updated | 2011-07-26T18:51:41.000+0000 |
Description
Base UI => Tab Group
Okay, after looking at the source, there is some justification of the logic. That is, when a tab is closed, it closes its windows, losing the state of the stack. Closing is destructive. When the tab group is closed, similarly it removes the tabs its had so they they can close recursively. So that closing the tab group is destructive.
For the purposes of the test, it appears that the test should save the tabs, close, and when opening, move the tabs back in, since nondestructively closing a tabgroup should be a rare case.
In the event that closing a tab group should be nondestructive, the tabs themselves may not get a close event until the tab group is dealloced. There may be a retain loop that prevents the dealloc from happening.
fwiw this is a 3.1.2 issue, iOS4.0 does not show this issue
valid, has testcase
I have run into this issue also. I have tested it using latest builds of both 1.4.X and 1.5 master dated 6th Nov 2010, via the android emulator on ubuntu.
Note these other tickets describe very similar issues, and could possibly be closed and summarised here instead:
https://appcelerator.lighthouseapp.com/projects/32238-titanium-mobile/tickets/630"> #630 and https://appcelerator.lighthouseapp.com/projects/32238-titanium-mobile/tickets/2015"> #2015
To summarise the current status from a user/dev perspective, when the tabgroup is closed, a blank, black, screen is displayed. There is no way to return the UI to the user from this point onwards.
To test different scenarios, just comment/uncomment and re-order the commands in the click event of the button in https://gist.github.com/671413">this code.
Note this certainly affects android. Does it also affect iOS?
Just to add, this is the current tabgroup behaviour when opening a new window that is not attached to a tab:
As stated, if a tabgroup is closed you will just see a black blank screen, and you cannot recover from it.
If you create and open a window, then the new window will appear inside the active tab, with the tabgroup navigation showing above.
If you set the navBarHidden: true property on that window and then open it, it will fill the whole screen (covering the tabs).
We might want to circle around and look at the behavior. On most windows, once they're closed, they're closed. If they're reopenable, retention cycles may cause havoc with memory.
Please note that my comments in this ticket related to android, whereas I think most post refer to iOS. Please bear this in mind when reading my posts.
From what I understand, tabGroups behave differently natively on the two platforms (ie android doesn't not have a native way of removing a tab), so it is not surprising that there isn't consistent behavior at the Titanium level.
Still valid! Tested 1.6.0RC1 in KS->Base UI->Tab Groups->Close.
Bug Scrub: Invalid. Test Case exists in KitchenSink Tested On: TiMOB sdk version: 1.7.2 Studio version: 1.0.2 OS Version: Mac OSX Lion Device tested On - iPhone 4.2.9