diff --git a/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.kt b/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.kt index 965c8fa941..7d7f5456b6 100644 --- a/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.kt +++ b/android/lib/src/main/java/com/swmansion/gesturehandler/PinchGestureHandler.kt @@ -13,6 +13,8 @@ class PinchGestureHandler : GestureHandler() { private set val focalPointX: Float get() = scaleGestureDetector?.focusX ?: Float.NaN + var activePointers = 0 + private set val focalPointY: Float get() = scaleGestureDetector?.focusY ?: Float.NaN @@ -60,11 +62,11 @@ class PinchGestureHandler : GestureHandler() { begin() } scaleGestureDetector?.onTouchEvent(event) - var activePointers = event.pointerCount + activePointers = event.pointerCount if (event.actionMasked == MotionEvent.ACTION_POINTER_UP) { activePointers -= 1 } - if (state == STATE_ACTIVE && activePointers < 2) { + if (state == STATE_ACTIVE && event.actionMasked == MotionEvent.ACTION_UP) { end() } else if (event.actionMasked == MotionEvent.ACTION_UP) { fail() diff --git a/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt b/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt index 0f15e35be6..a7700e257f 100644 --- a/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +++ b/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt @@ -248,6 +248,7 @@ class RNGestureHandlerModule(reactContext: ReactApplicationContext?) putDouble("focalX", PixelUtil.toDIPFromPixel(handler.focalPointX).toDouble()) putDouble("focalY", PixelUtil.toDIPFromPixel(handler.focalPointY).toDouble()) putDouble("velocity", handler.velocity) + putDouble("numberOfPointers", handler.activePointers.toDouble()) } } }