mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Fix issue https://github.com/flutter/flutter/issues/169486 ## Problem After [PR #178015](https://github.com/flutter/flutter/pull/178015) was merged, Android platform views experience gesture blocking after multi-touch operations (e.g., pinch-to-zoom). The issue occurs because: 1. PR #178015 changed framework behavior to encode original pointer count in events 2. Framework now sends events with **different actions** than the original MotionEvent - Example: Framework sends `ACTION_MOVE (2)` while original event is `ACTION_POINTER_UP (6)` 3. The existing engine code only checked **pointer count**, not action 4. This caused the engine to use original event with wrong action → gesture blocked ### Logs Showing the Issue trackedEvent.pointerCount=2, touch.pointerCount=2, trackedEvent.action=6 (ACTION_POINTER_UP), touch.action=2 (ACTION_MOVE) → Pointer counts MATCH, using original event → WebView receives ACTION_POINTER_UP but expects ACTION_MOVE → Gesture blocked! ❌