splitwise / TokenAutoComplete

Gmail style MultiAutoCompleteTextView for Android
Apache License 2.0
1.3k stars 384 forks source link

TokenCompleteTextView onTouchEvent crash #451

Open RcAdamLi opened 6 months ago

RcAdamLi commented 6 months ago

crash: // CRASH: xxxxxxxxxxxxxxxxxxx (pid 28369) (dump time: 2024-01-11 06:59:48 // Version: // Long Msg: java.lang.IndexOutOfBoundsException: 3, 0 // at android.text.PackedIntVector.getValue(PackedIntVector.java:75) // at android.text.DynamicLayout.getLineStart(DynamicLayout.java:1028) // at android.text.Layout.getLineEnd(Layout.java:1675) // at android.text.Layout.getOffsetForHorizontal(Layout.java:1544) // at android.text.Layout.getOffsetForHorizontal(Layout.java:1529) // at android.widget.TextView.getOffsetAtCoordinate(TextView.java:12988) // at android.widget.Editor$InsertionPointCursorController.positionCursorDuringDrag(Editor.java:6164) // at android.widget.Editor$InsertionPointCursorController.performCursorDrag(Editor.java:6240) // at android.widget.Editor$InsertionPointCursorController.onTouchEvent(Editor.java:6143) // at android.widget.Editor.onTouchEvent(Editor.java:1648) // at android.widget.TextView.onTouchEvent(TextView.java:11018) // at com.tokenautocomplete.TokenCompleteTextView.onTouchEvent(TokenCompleteTextView.java:950) // at android.view.View.dispatchTouchEvent(View.java:14309) // at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118) // at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799) // at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118) // at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799) // at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118) // at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799) // at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118) // at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799) // at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118) // at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799) // at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118) // at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799) // at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118) // at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799) // at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118) // at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799) // at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118) // at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799) // at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:488) // at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1871) // at android.app.Activity.dispatchTouchEvent(Activity.java:4125) // at xxxxxxxxxxxxxxxxxxxxxx.AbstractContactSelectionActivity.dispatchTouchEvent(AbstractContactSelectionActivity.kt:130) // at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69) // at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:446) // at android.view.View.dispatchPointerEvent(View.java:14568) // at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6022) // at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5825) // at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5316) // at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5373) // at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5339) // at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5491) // at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5347) // at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5548) // at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5320) // at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5373) // at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5339) // at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5347) // at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5320) // at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8086) // at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8037) // at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7998) // at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8209) // at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:220) // at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) // at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:200) // at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:8166) // at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:8248) // at android.view.Choreographer$CallbackRecord.run(Choreographer.java:972) // at android.view.Choreographer.doCallbacks(Choreographer.java:796) // at android.view.Choreographer.doFrame(Choreographer.java:724) // at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957) // at android.os.Handler.handleCallback(Handler.java:938) // at android.os.Handler.dispatchMessage(Handler.java:99) // at android.os.Looper.loop(Looper.java:223) // at android.app.ActivityThread.main(ActivityThread.java:7660) // at java.lang.reflect.Method.invoke(Native Method) // at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) // at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) // crashend