From 60736653b91e4a6370a74cade24f10dd8630a136 Mon Sep 17 00:00:00 2001 From: Kshitij Gupta Date: Sat, 27 Mar 2021 00:28:56 +0530 Subject: [PATCH 1/2] Lawnchair: Fix lawnfeed signature for 11 --- lawnchair/res/values/bridge.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lawnchair/res/values/bridge.xml b/lawnchair/res/values/bridge.xml index f8163c6c04..536e69c0b6 100644 --- a/lawnchair/res/values/bridge.xml +++ b/lawnchair/res/values/bridge.xml @@ -2,5 +2,5 @@ 0xB662CC2F v3 - 0x7F7A957A + 0x60E8FB7D From 464413d5e9322cf40cb00c675428e64500c6dbaa Mon Sep 17 00:00:00 2001 From: Kshitij Gupta Date: Sat, 27 Mar 2021 02:12:29 +0530 Subject: [PATCH 2/2] DirectionalGestureListener: MotionEvents may be null - Fatal crash on swipe to minus_one: 03-27 01:52:38.606 5589 5589 D AndroidRuntime: Shutting down VM 03-27 01:52:38.608 5589 5589 E AndroidRuntime: FATAL EXCEPTION: main 03-27 01:52:38.608 5589 5589 E AndroidRuntime: Process: app.lawnchair, PID: 5589 03-27 01:52:38.608 5589 5589 E AndroidRuntime: java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter e1 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at app.lawnchair.gestures.DirectionalGestureListener.onFling(Unknown Source:2) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.GestureDetector.onTouchEvent(GestureDetector.java:773) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at app.lawnchair.gestures.DirectionalGestureListener.onTouch(DirectionalGestureListener.kt:17) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at com.android.launcher3.touch.WorkspaceTouchListener.onTouch(WorkspaceTouchListener.java:88) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.View.dispatchTouchEvent(View.java:14305) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3112) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2785) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at com.android.launcher3.views.BaseDragLayer.dispatchTouchEvent(BaseDragLayer.java:321) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at com.android.launcher3.dragndrop.DragLayer.dispatchTouchEvent(DragLayer.java:227) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:488) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1871) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.app.Activity.dispatchTouchEvent(Activity.java:4125) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at com.android.launcher3.Launcher.dispatchTouchEvent(Launcher.java:1839) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:446) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.View.dispatchPointerEvent(View.java:14568) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.processPointerEvent(ViewRootImpl.java:6022) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.onProcess(ViewRootImpl.java:5825) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.deliver(ViewRootImpl.java:5316) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.onDeliverToNext(ViewRootImpl.java:5373) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.forward(ViewRootImpl.java:5339) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.forward(ViewRootImpl.java:5491) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.apply(ViewRootImpl.java:5347) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.apply(ViewRootImpl.java:5548) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.deliver(ViewRootImpl.java:5320) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.onDeliverToNext(ViewRootImpl.java:5373) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.forward(ViewRootImpl.java:5339) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.apply(ViewRootImpl.java:5347) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.deliver(ViewRootImpl.java:5320) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8086) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8037) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7998) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.ViewRootImpl.onInputEvent(ViewRootImpl.java:8209) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:220) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.os.MessageQueue.nativePollOnce(Native Method) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.os.MessageQueue.next(MessageQueue.java:335) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.os.Looper.loop(Looper.java:183) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7660) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at com.android.internal.os.RuntimeInit.run(RuntimeInit.java:594) 03-27 01:52:38.608 5589 5589 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) --- .../src/app/lawnchair/gestures/DirectionalGestureListener.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lawnchair/src/app/lawnchair/gestures/DirectionalGestureListener.kt b/lawnchair/src/app/lawnchair/gestures/DirectionalGestureListener.kt index 1ae10abda1..c7ac47563e 100644 --- a/lawnchair/src/app/lawnchair/gestures/DirectionalGestureListener.kt +++ b/lawnchair/src/app/lawnchair/gestures/DirectionalGestureListener.kt @@ -29,7 +29,8 @@ open class DirectionalGestureListener(ctx: Context?) : OnTouchListener { private fun shouldReactToSwipe(diff: Float, velocity: Float): Boolean = abs(diff) > SWIPE_THRESHOLD && abs(velocity) > SWIPE_VELOCITY_THRESHOLD - override fun onFling(e1: MotionEvent, e2: MotionEvent, velocityX: Float, velocityY: Float): Boolean { + override fun onFling(e1: MotionEvent?, e2: MotionEvent?, velocityX: Float, velocityY: Float): Boolean { + if (e1 == null || e2 == null) return false return try { val diffY = e2.y - e1.y val diffX = e2.x - e1.x