From a09ffdcf759526c11dbd563445b33401f4033db8 Mon Sep 17 00:00:00 2001 From: MrSluffy Date: Tue, 19 Dec 2023 10:34:02 +0800 Subject: [PATCH] Add null check Lawnchair (Debug) bug report Dec 19, 2023 7:07:10 AM version: 14 Dev (#171) (14) commit: 577084d build.brand: motorola build.device: rhode build.display: S1SRS32.38-132-15 build.fingerprint: motorola/rhode_g/rhode:12/S1SRS32.38-132-15/dac4a3-3e3fe:user/release-keys build.hardware: qcom build.id: S1SRS32.38-132-15 build.manufacturer: motorola build.model: moto g52 build.security.level: 2023-09-01 build.product: rhode_g build.type: user version.codename: REL version.incremental: dac4a3-3e3fe version.release: 12 version.sdk_int: 31 display.density_dpi: 446 isRecentsEnabled: false error: Uncaught exception java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getScrollX()' on a null object reference at com.android.launcher3.Utilities.mapCoordInSelfToDescendant(Utilities.java:335) at com.android.launcher3.Workspace.updateIsBeingDraggedOnTouchDown(Workspace.java:1236) at com.android.launcher3.PagedView.onInterceptTouchEvent(PagedView.java:1081) at com.android.launcher3.Workspace.onInterceptTouchEvent(Workspace.java:1168) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2652) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2744) at com.android.launcher3.views.BaseDragLayer.dispatchTouchEvent(BaseDragLayer.java:303) at com.android.launcher3.dragndrop.DragLayer.dispatchTouchEvent(DragLayer.java:225) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2744) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2744) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2744) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3120) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2744) at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:535) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1925) at android.app.Activity.dispatchTouchEvent(Activity.java:4298) at com.android.launcher3.Launcher.dispatchTouchEvent(Launcher.java:2189) at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:493) at android.view.View.dispatchPointerEvent(View.java:14884) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6595) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6396) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5874) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5931) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5897) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6062) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5905) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6119) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5878) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5931) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5897) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5905) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5878) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8891) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8807) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8776) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:9027) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:266) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:342) at android.os.Looper.loopOnce(Looper.java:182) at android.os.Looper.loop(Looper.java:357) at android.app.ActivityThread.main(ActivityThread.java:8089) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1026) --- src/com/android/launcher3/views/BaseDragLayer.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/com/android/launcher3/views/BaseDragLayer.java b/src/com/android/launcher3/views/BaseDragLayer.java index e4df413489..c83ac67a91 100644 --- a/src/com/android/launcher3/views/BaseDragLayer.java +++ b/src/com/android/launcher3/views/BaseDragLayer.java @@ -433,8 +433,10 @@ public abstract class BaseDragLayer public void mapCoordInSelfToDescendant(View descendant, int[] coord) { mTmpXY[0] = coord[0]; mTmpXY[1] = coord[1]; - Utilities.mapCoordInSelfToDescendant(descendant, this, mTmpXY); - Utilities.roundArray(mTmpXY, coord); + if (descendant != null) { + Utilities.mapCoordInSelfToDescendant(descendant, this, mTmpXY); + Utilities.roundArray(mTmpXY, coord); + } } public void getViewRectRelativeToSelf(View v, Rect r) {