[TIMOB-28410] Android: ListView causes ArrayIndexOutOfBoundsException in production
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Critical |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2021-04-06T13:45:29.000+0000 |
Affected Version/s | Release 9.3.2 |
Fix Version/s | Release 10.0.0 |
Components | Android |
Labels | android, crash, listview, regression |
Reporter | Hans Knöchel |
Assignee | Gary Mathews |
Created | 2021-03-31T14:14:18.000+0000 |
Updated | 2021-04-06T13:45:29.000+0000 |
Description
From Google Play:
java.lang.ArrayIndexOutOfBoundsException:
at java.util.ArrayList.get (ArrayList.java:439)
at ti.modules.titanium.ui.widget.listview.TiListView$4$1.getSelectionKey (TiListView.java:189)
at androidx.recyclerview.selection.ItemDetailsLookup$ItemDetails.hasSelectionKey (ItemDetailsLookup.java:185)
at androidx.recyclerview.selection.TouchInputHandler.onSingleTapUp (TouchInputHandler.java:88)
at androidx.recyclerview.selection.GestureRouter.onSingleTapUp (GestureRouter.java:86)
at android.view.GestureDetector.onTouchEvent (GestureDetector.java:640)
at androidx.recyclerview.selection.GestureDetectorWrapper.onInterceptTouchEvent (GestureDetectorWrapper.java:54)
at androidx.recyclerview.widget.RecyclerView.findInterceptingOnItemTouchListener (RecyclerView.java:3151)
at androidx.recyclerview.widget.RecyclerView.onInterceptTouchEvent (RecyclerView.java:3170)
at ti.modules.titanium.ui.widget.listview.TiNestedRecyclerView.onInterceptTouchEvent (TiNestedRecyclerView.java:119)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2522)
at ti.modules.titanium.ui.widget.listview.TiNestedRecyclerView.dispatchTouchEvent (TiNestedRecyclerView.java:109)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2981)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2668)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2981)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2668)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2981)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2668)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2981)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2668)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2981)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2668)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2981)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2668)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2981)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2668)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2981)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2668)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2981)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2668)
at com.android.internal.policy.DecorView.superDispatchTouchEvent (DecorView.java:555)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1894)
at android.app.Activity.dispatchTouchEvent (Activity.java:3508)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:69)
at com.android.internal.policy.DecorView.dispatchTouchEvent (DecorView.java:508)
at android.view.View.dispatchPointerEvent (View.java:12082)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:5463)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (ViewRootImpl.java:5247)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4737)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4790)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4756)
at android.view.ViewRootImpl$AsyncInputStage.forward (ViewRootImpl.java:4887)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4764)
at android.view.ViewRootImpl$AsyncInputStage.apply (ViewRootImpl.java:4944)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4737)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4790)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4756)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4764)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4737)
at android.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:7363)
at android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:7337)
at android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:7295)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:7514)
at android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:193)
at android.os.MessageQueue.nativePollOnce (Native Method)
at android.os.MessageQueue.next (MessageQueue.java:379)
at android.os.Looper.loop (Looper.java:144)
at android.app.ActivityThread.main (ActivityThread.java:7555)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:469)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:963)
master: https://github.com/appcelerator/titanium_mobile/pull/12682
merged to master and 10_0_X