A longtime user has reported that the app has started crashing on his Samsung Galaxy Stratosphere 2 running Android 4.1.
I have combed the code for any relevant (or irrelevant) change in the most recent release and have come up empty. The only major difference is that the most recent release has updated to using 3.2.3 GA from 3.2.2.
The crash is: Java.lang.ClassCastException: java.lang.String cannot be cast to android.text.Spannable
in android.widget.TextView.setEnabled
.
(One problem in debugging is that there is not, at startup, any TextView being constructed. Making it hard to even begin tracking down the problem.)
Vague information, I know, but has anyone else seen anything like this?
Stack trace follows:
java.lang.RuntimeException: Unable to start activity ComponentInfo{[...]/org.appcelerator.titanium.TiActivity}: java.lang.ClassCastException: java.lang.String cannot be cast to android.text.Spannable at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135) at android.app.ActivityThread.access$700(ActivityThread.java:143) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4962) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to android.text.Spannable at android.widget.TextView.setEnabled(TextView.java:1432) at org.appcelerator.titanium.view.TiUIView.registerForTouch(TiUIView.java:1470) at org.appcelerator.titanium.view.TiUIView.registerForTouch(TiUIView.java:1284) at org.appcelerator.titanium.proxy.TiViewProxy.handleGetView(TiViewProxy.java:472) at org.appcelerator.titanium.proxy.TiViewProxy.getOrCreateView(TiViewProxy.java:449) at org.appcelerator.titanium.proxy.TiViewProxy.realizeViews(TiViewProxy.java:487) at org.appcelerator.titanium.proxy.TiViewProxy.handleGetView(TiViewProxy.java:471) at org.appcelerator.titanium.proxy.TiViewProxy.getOrCreateView(TiViewProxy.java:449) at org.appcelerator.titanium.proxy.TiViewProxy.handleAdd(TiViewProxy.java:566) at org.appcelerator.titanium.proxy.TiViewProxy.handleMessage(TiViewProxy.java:218) at org.appcelerator.titanium.proxy.TiWindowProxy.handleMessage(TiWindowProxy.java:100) at ti.modules.titanium.ui.WindowProxy.handleMessage(WindowProxy.java:443) at android.os.Handler.dispatchMessage(Handler.java:95) at org.appcelerator.kroll.common.TiMessenger.dispatchMessage(TiMessenger.java:389) at org.appcelerator.kroll.common.TiMessenger.dispatchPendingMessages(TiMessenger.java:374) at org.appcelerator.kroll.common.TiMessenger$2.getResult(TiMessenger.java:252) at org.appcelerator.kroll.common.TiMessenger.sendBlockingMessage(TiMessenger.java:286) at org.appcelerator.kroll.common.TiMessenger.sendBlockingRuntimeMessage(TiMessenger.java:202) at org.appcelerator.kroll.KrollProxy.fireSyncEvent(KrollProxy.java:784) at org.appcelerator.titanium.TiBaseActivity.onStart(TiBaseActivity.java:1087) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1178) at android.app.Activity.performStart(Activity.java:5170) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2083) ... 11 more