Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash when dragging an icon from last row #662

Open
donmerendolo opened this issue Nov 23, 2021 · 10 comments
Open

Crash when dragging an icon from last row #662

donmerendolo opened this issue Nov 23, 2021 · 10 comments

Comments

@donmerendolo
Copy link

General Information

  • OpenLauncher Version: 0.7.4
  • Android Version: 11
  • Custom ROM: LineageOS
  • Install Source: F-Droid

Description

OpenLauncher crashes when dragging an icon from the bottom row of the app drawer.

Log

Build version: 0.7.4
Build date: 1979-11-30 01:00:00
Current date: 2021-11-23 05:36:51
Device: Xiaomi Redmi Note 7

Stack trace:
java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
at com.benny.openlauncher.widget.CellContainer.peekItemAndSwap(CellContainer.java:248)
at com.benny.openlauncher.widget.Dock.updateIconProjection(Dock.java:84)
at com.benny.openlauncher.activity.homeparts.HpDragOption$4.onMove(HpDragOption.java:290)
at com.benny.openlauncher.widget.ItemOptionView.handleMovement(ItemOptionView.java:432)
at com.benny.openlauncher.widget.ItemOptionView.onTouchEvent(ItemOptionView.java:328)
at android.view.View.dispatchTouchEvent(View.java:14309)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3112)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2785)
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:1873)
at android.app.Activity.dispatchTouchEvent(Activity.java:4125)
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:7664)
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)

This is only needed for crashes or other issues you notice in your system logs from OpenLauncher.

@beaver4
Copy link
Contributor

beaver4 commented Apr 27, 2022

I can't reproduce this bug. What settings do you have in App Drawer menu? How many apps do you have? How likely is this bug to happen?

@donmerendolo
Copy link
Author

I have 57 apps, these are my drawer settings:

I've changed my phone to a different lavender since I posted the issue, and still having the problem. Reproducing the error now, I've found that the crash only happens when dragging any app (desktop or drawer) to the bottom row of the desktop. The last row just happens to be there so I have to move the icon fast to avoid the crash. These are my desktop and dock settings:

@beaver4
Copy link
Contributor

beaver4 commented Apr 27, 2022

@donmerendolo, and what device and Android version are you using now?

@donmerendolo
Copy link
Author

Redmi Note 7 and Android 11

@beaver4
Copy link
Contributor

beaver4 commented Apr 27, 2022

Does the crash happen every time you move an icon to the bottom of the desktop?

@donmerendolo
Copy link
Author

Yes

@beaver4
Copy link
Contributor

beaver4 commented Apr 27, 2022

It doesn't happen to me. I'll try to explore this bug later.

@donmerendolo
Copy link
Author

I can record a video if that's helpful. The log seems to be the same. Will try with a different phone too.

@beaver4
Copy link
Contributor

beaver4 commented Apr 27, 2022

I can record a video if that's helpful.

Ok, do it if you want.
And post one more stack trace please.

@donmerendolo
Copy link
Author

`Build version: 0.7.4
Build date: 1979-11-30 01:00:00
Current date: 2022-04-27 18:51:38
Device: Xiaomi Redmi Note 7

Stack trace:
java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
at com.benny.openlauncher.widget.CellContainer.peekItemAndSwap(CellContainer.java:248)
at com.benny.openlauncher.widget.Dock.updateIconProjection(Dock.java:84)
at com.benny.openlauncher.activity.homeparts.HpDragOption$4.onMove(HpDragOption.java:290)
at com.benny.openlauncher.widget.ItemOptionView.handleMovement(ItemOptionView.java:432)
at com.benny.openlauncher.widget.ItemOptionView.onTouchEvent(ItemOptionView.java:328)
at android.view.View.dispatchTouchEvent(View.java:14309)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3112)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2785)
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:1873)
at android.app.Activity.dispatchTouchEvent(Activity.java:4125)
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:7664)
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)`

crash0.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants