Problem
Windows in tabgroup do not get any event anymore. Specifically the android:back is not caught.
The same code works as expected on 1.7.5 (same device)
Test case
Here is a sample app.js to reproduce :
var win1 =Ti.UI.createWindow({
backgroundColor: '#FFFFFF',
title: 'Win1',
fullscreen: false,
navBarHidden: true
});
var tab1 = Ti.UI.createTab({
title: 'Tab1',
window: win1
});
var win2 =Ti.UI.createWindow({
backgroundColor: '#000000',
title: 'Win2',
fullscreen: false,
navBarHidden: true
});
var tab2 = Ti.UI.createTab({
title: 'Tab2',
window: win2
});
var tabGroup = Ti.UI.createTabGroup();
tabGroup.addTab(tab1);
tabGroup.addTab(tab2);
tabGroup.open();
win1.addEventListener('android:back', function(){
Ti.API.info('Win 1 caught android:back');
});
win2.addEventListener('android:back', function(){
Ti.API.info('Win 2 caught android:back');
});
win1.addEventListener('android:search', function(){
Ti.API.info('Win 1 caught android:search');
});
win1.addEventListener('android:voldown', function(){
Ti.API.info('Win 1 caught android:voldown');
});
Note that for standard heavyweight windows (without the tabgroup), it works *as expected* on both 1.8.0.1 and 1.7.5:
var win1 =Ti.UI.createWindow({
backgroundColor: '#FFFFFF',
title: 'Win1',
fullscreen: false,
navBarHidden: true
});
win1.open();
win1.addEventListener('android:back', function(){
Ti.API.info('Win 1 caught android:back');
});
win1.addEventListener('android:search', function(){
Ti.API.info('Win 1 caught android:search');
});
win1.addEventListener('android:voldown', function(){
Ti.API.info('Win 1 caught android:voldown');
});
"TabGroup" component does not support "android:back", could be useful to have that event supported because then we wouldn't have to add "android:back" event to every window in tab group.
I have tested this and can confirm that it works as expected in 1.7.5 but not in 1.8.0.1 RC3. A standard heavyweight window works as expected for both versions.
David Thanks for the ticket. Please note the changes I made, to bring it in line with the [JIRA Ticket Checklist](https://wiki.appcelerator.org/display/guides/How+to+Submit+a+Bug+Report#HowtoSubmitaBugReport-JIRATicketChecklist). Cheers
Bug is still persistant on: SDK build: 1.8.0.1.v20111221194633 Runtime: V8, Rhino Titanium Studio, build: 1.0.7.201112152014 Device: Nexus S (2.3.6) Note: Was not able to reproduce bug in 1.7.5 on Nexus S (2.3.6). And, the standard heavyweight windows code works as expected on 1.8.0.1.v20111221194633 (V8/Rhino) on Nexus S (2.3.6).
Verified fix on: SDK build: 1.8.0.1.v20111222130907 Runtime: V8, Rhino Titanium Studio, build: 1.0.7.201112152014 Device: Nexus S (2.3.6) Note: * The heavyweight windows code still works as expected on 1.8.0.1.v20111222130907 * Will not close bug until verified in 1.9.0
Thanks for the incredibly fast fix, you guys are amazing. Sorry about the initial ticket formatting, I wasn't aware of your JIRA checklist... I'll comply with it in the future. Happy holidays !
I'm continue experimenting same problem with nightly build SDK build: 1.9.0.v20111228180134 Runtime: V8, Rhino Titanium Studio, build: 1.0.7.201112152014 My first window is a modal window with four buttons. If I open a normal window and go back, android:back button works fine. If I open a tabgroup window and go back, android:back button doesn't work and say me "dialog activity is destroyed, unable to show dialog with message". So If I open a tabgroup window and go back, previous activity is destroyed. I have no problem with 1.7.5.
Hi Lorenzo, Could you please provide an app.js and reproducible steps on the problem you are seeing? I've created a model window that opens a tab group, and back works fine for me. Thanks, Allen
Ok, here is a simple code of error doing a android:back event after open a tabgroup (fails with 1.8.0.1, and 1.9, works fine with 1.7.5 and early versions of 1.8.0):
Closing bug. Already verified in 1.8.0.1.
In 1.8.1 version itsn't fixed. Same problem. If you open a heavyweight window after a normal window. Android back event itn's fired. Refer to my example in the third post up.