From 68c216b196b21094eb4efd58ccd6a12e58dff30e Mon Sep 17 00:00:00 2001 From: Jakub Piasecki Date: Fri, 9 May 2025 09:35:03 +0200 Subject: [PATCH] Fix buttons getting stuck in scroll views --- .../com/swmansion/gesturehandler/core/GestureHandler.kt | 2 ++ .../gesturehandler/core/NativeViewGestureHandler.kt | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt b/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt index 688d0eee93..4b3ae9351e 100644 --- a/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt +++ b/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandler.kt @@ -685,6 +685,7 @@ open class GestureHandler() { } } - override fun onCancel() { + private fun dispatchCancelEventToView() { val time = SystemClock.uptimeMillis() val event = MotionEvent.obtain(time, time, MotionEvent.ACTION_CANCEL, 0f, 0f, 0).apply { action = MotionEvent.ACTION_CANCEL @@ -159,6 +159,10 @@ class NativeViewGestureHandler : GestureHandler() { event.recycle() } + override fun onCancel() = dispatchCancelEventToView() + + override fun onFail() = dispatchCancelEventToView() + override fun onReset() { this.hook = defaultHook }