diff options
| -rw-r--r-- | services/accessibility/accessibility.aconfig | 7 | ||||
| -rw-r--r-- | services/accessibility/java/com/android/server/accessibility/gestures/TouchExplorer.java | 7 |
2 files changed, 12 insertions, 2 deletions
diff --git a/services/accessibility/accessibility.aconfig b/services/accessibility/accessibility.aconfig index 993b2544f110..44682e2088f4 100644 --- a/services/accessibility/accessibility.aconfig +++ b/services/accessibility/accessibility.aconfig @@ -45,6 +45,13 @@ flag { } flag { + name: "fix_drag_pointer_when_ending_drag" + namespace: "accessibility" + description: "Send the correct pointer id when transitioning from dragging to delegating states." + bug: "300002193" +} + +flag { name: "pinch_zoom_zero_min_span" namespace: "accessibility" description: "Whether to set min span of ScaleGestureDetector to zero." diff --git a/services/accessibility/java/com/android/server/accessibility/gestures/TouchExplorer.java b/services/accessibility/java/com/android/server/accessibility/gestures/TouchExplorer.java index c4184854e690..3086ce1ceb40 100644 --- a/services/accessibility/java/com/android/server/accessibility/gestures/TouchExplorer.java +++ b/services/accessibility/java/com/android/server/accessibility/gestures/TouchExplorer.java @@ -1466,8 +1466,11 @@ public class TouchExplorer extends BaseEventStreamTransformation int policyFlags = mState.getLastReceivedPolicyFlags(); if (mState.isDragging()) { // Send an event to the end of the drag gesture. - mDispatcher.sendMotionEvent( - event, ACTION_UP, rawEvent, ALL_POINTER_ID_BITS, policyFlags); + int pointerIdBits = ALL_POINTER_ID_BITS; + if (Flags.fixDragPointerWhenEndingDrag()) { + pointerIdBits = 1 << mDraggingPointerId; + } + mDispatcher.sendMotionEvent(event, ACTION_UP, rawEvent, pointerIdBits, policyFlags); } mState.startDelegating(); // Deliver all pointers to the view hierarchy. |