[TIMOB-17322] Android: KS crashes when the developer option "do not keep activities" turns on
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | High |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2014-09-04T18:48:40.000+0000 |
Affected Version/s | Release 3.2.3, Release 3.3.0, Release 3.4.0 |
Fix Version/s | Release 3.4.0 |
Components | Android |
Labels | module_android, qe-manualtest, qe-testadded, regression |
Reporter | Ping Wang |
Assignee | Ingo Muschenetz |
Created | 2014-07-11T22:20:04.000+0000 |
Updated | 2014-11-17T21:52:54.000+0000 |
Description
This is a regression on 3.2.3.GA. The issue does not happen on 3.2.2.GA.
To reproduce:
1. Turn on the developer option "do not keep activities".
2. Run KS.
3. Click any test, eg "Slider".
4. Click the BACK button.
Expected behavior: the app is closed without crash.
Actual behavior: the app crashes.
Here is the crash log:
E/TiApplication( 1172): (main) [13,29380] Sending event: exception on thread: main msg:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.appcelerator.kitchensink/org.appcelerator.titanium.TiActivity}: android.app.Fragment$InstantiationException: Unable to instantiate fragment ti.modules.titanium.ui.widget.tabgroup.TiUIActionBarTab$TabFragment: make sure class name exists, is public, and has an empty constructor that is public; Titanium 3.2.3,2014/04/22 10:17,b958a70
E/TiApplication( 1172): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.appcelerator.kitchensink/org.appcelerator.titanium.TiActivity}: android.app.Fragment$InstantiationException: Unable to instantiate fragment ti.modules.titanium.ui.widget.tabgroup.TiUIActionBarTab$TabFragment: make sure class name exists, is public, and has an empty constructor that is public
E/TiApplication( 1172): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
E/TiApplication( 1172): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
E/TiApplication( 1172): at android.app.ActivityThread.access$600(ActivityThread.java:123)
E/TiApplication( 1172): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
E/TiApplication( 1172): at android.os.Handler.dispatchMessage(Handler.java:99)
E/TiApplication( 1172): at android.os.Looper.loop(Looper.java:137)
E/TiApplication( 1172): at android.app.ActivityThread.main(ActivityThread.java:4424)
E/TiApplication( 1172): at java.lang.reflect.Method.invokeNative(Native Method)
E/TiApplication( 1172): at java.lang.reflect.Method.invoke(Method.java:511)
E/TiApplication( 1172): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
E/TiApplication( 1172): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
E/TiApplication( 1172): at dalvik.system.NativeStart.main(Native Method)
E/TiApplication( 1172): Caused by: android.app.Fragment$InstantiationException: Unable to instantiate fragment ti.modules.titanium.ui.widget.tabgroup.TiUIActionBarTab$TabFragment: make sure class name exists, is public, and has an empty constructor that is public
E/TiApplication( 1172): at android.app.Fragment.instantiate(Fragment.java:585)
E/TiApplication( 1172): at android.app.FragmentState.instantiate(Fragment.java:96)
E/TiApplication( 1172): at android.app.FragmentManagerImpl.restoreAllState(FragmentManager.java:1682)
E/TiApplication( 1172): at android.app.Activity.onCreate(Activity.java:861)
E/TiApplication( 1172): at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:204)
E/TiApplication( 1172): at org.appcelerator.titanium.TiBaseActivity.onCreate(TiBaseActivity.java:520)
E/TiApplication( 1172): at org.appcelerator.titanium.TiActivity.onCreate(TiActivity.java:18)
E/TiApplication( 1172): at android.app.Activity.performCreate(Activity.java:4465)
E/TiApplication( 1172): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
E/TiApplication( 1172): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
E/TiApplication( 1172): ... 11 more
E/TiApplication( 1172): Caused by: java.lang.InstantiationException: can't instantiate class ti.modules.titanium.ui.widget.tabgroup.TiUIActionBarTab$TabFragment; no empty constructor
E/TiApplication( 1172): at java.lang.Class.newInstanceImpl(Native Method)
E/TiApplication( 1172): at java.lang.Class.newInstance(Class.java:1319)
E/TiApplication( 1172): at android.app.Fragment.instantiate(Fragment.java:574)
E/TiApplication( 1172): ... 20 more
This regression is caused by TIMOB-13864
3.4.0 is moved forward, and 3.5.0 is taking its place in the calendar.
Issue reproduces in Titanium SDK version 3.4.0 master, 3.3.0.GA, 3.2.3.GA but works fine in Titanium SDK version 3.2.2.GA Titanium Studio, build: 3.3.0.201407100905 Titanium Command-Line Interface CLI version 3.3.0, Android device : Motorola Moto G, Android version : 4.4.4
The issue is reproducible with SDK 3.3.0.GA, 3.2.3.GA but not with latest 3.4.0 (3.4.0.v20140903121714). Environment: Appc Studio : 3.4.0.201409032106 Ti SDK : 3.4.0.v20140903121714 Mac OSX : 10.9.4 Alloy : 1.5.0-beta CLI - 3.4.0-beta Code Processor: 1.1.1 Nexus 5 - android 4.4.4 Galaxy Nexus - android 4.2.2 KS Version : 3.3.0 & 3.3.1
Reopening to put in tester