Issue description
Attempting to open a window (app running over TabGroup) results on abnormal Legacy Window behaviour.
-
http://docs.appcelerator.com/titanium/3.0/#!/guide/tiapp.xml_and_timodule.xml_Reference-section-29004921_tiapp.xmlandtimodule.xmlReference-Android-specificapplicationproperties
Simple Code
Grab app.js and just click the image of sample below:
tiapp.xml
Add support for Legacy Window mode:
<property name="ti.android.useLegacyWindow">true</property>
Test results
Window opens inside TabGroup
Sony Play - 4.0.4
Nexus 7 - 4.4.2
Nexus 4 - 4.4.2
Window opens as FullScreen:
Moto Razr 4.4.2
Droid Razr 2.3.6
ZTE V793 -
http://www.handsetdetection.com/properties/vendormodel/ZTE/V793
LW windows are removed starting 3.3.0.GA so that flag doesn't do anything with current master.
http://docs.appcelerator.com/titanium/release-notes/?version=3.2.1.B#lightweight
Marking as won't fix as we are removing support for lightweight windows in 3.3.0
This is really a killer, and will require lots of rewrites on many apps that don't want to open a new activity for each window. We need fragments as LW windows ASAP.
[~mokesmokes] are you referring to the removal of lightweight windows in 3.3.0?
@Ingo - yup. The issue is that in Android if you open a new top level Activity the previous one goes into the "paused" state. This can easily get you in trouble if, for example you want to do I/O (e.g. you have HTTPClient requests in your tab group code) while you have a daughter window open. That's an app crash waiting to happen. The other issue is if you want to maintain Action Bar state, since each new Activity has its own. So the way to avoid this trouble in 3.3.0 is to convert all lightweight windows to views. This is what I did in my app, and it's not a trivial task since of course the view API is different (e.g. no close event, etc). I'm sure you had your reasons to remove LW windows, but it really would have been good if we had a new, alternative mechanism in place at this time (i.e. fragments).
Closing ticket as "Won't Fix".