diff --git a/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt b/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt index b921d111f9..9ced951328 100644 --- a/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +++ b/packages/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt @@ -161,6 +161,12 @@ class GestureHandlerOrchestrator( fun onHandlerStateChange(handler: GestureHandler, newState: Int, prevState: Int) { handlingChangeSemaphore += 1 + if (handler.isAwaiting && + (newState == GestureHandler.STATE_CANCELLED || newState == GestureHandler.STATE_FAILED) + ) { + handler.isAwaiting = false + } + if (isFinished(newState)) { // We have to loop through copy in order to avoid modifying collection // while iterating over its elements