Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-28410] Android: ListView causes ArrayIndexOutOfBoundsException in production

GitHub Issuen/a
TypeBug
PriorityCritical
StatusClosed
ResolutionFixed
Resolution Date2021-04-06T13:45:29.000+0000
Affected Version/sRelease 9.3.2
Fix Version/sRelease 10.0.0
ComponentsAndroid
Labelsandroid, crash, listview, regression
ReporterHans Knöchel
AssigneeGary Mathews
Created2021-03-31T14:14:18.000+0000
Updated2021-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)

Comments

  1. Gary Mathews 2021-04-01

    master: https://github.com/appcelerator/titanium_mobile/pull/12682
  2. Christopher Williams 2021-04-06

    merged to master and 10_0_X

JSON Source