Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 60c547b4 authored by Ameer Armaly's avatar Ameer Armaly Committed by Android (Google) Code Review
Browse files

Merge "Require both fingers to move before starting two-finger passthrough."

parents 934e919a 9f26ae91
Loading
Loading
Loading
Loading
+17 −9
Original line number Diff line number Diff line
@@ -594,17 +594,25 @@ public class TouchExplorer extends BaseEventStreamTransformation
                    if (pointerIndex < 0) {
                        return;
                    }
                    // Require both fingers to have moved a certain amount before starting a drag.
                    for (int index = 0; index < event.getPointerCount(); ++index) {
                        int id = event.getPointerId(index);
                        if (!mReceivedPointerTracker.isReceivedPointerDown(id)) {
                            // Something is wrong with the event stream.
                            Slog.e(LOG_TAG, "Invalid pointer id: " + id);
                        }
                        final float deltaX =
                            mReceivedPointerTracker.getReceivedPointerDownX(pointerId)
                                    - rawEvent.getX(pointerIndex);
                                mReceivedPointerTracker.getReceivedPointerDownX(id)
                                        - rawEvent.getX(index);
                        final float deltaY =
                            mReceivedPointerTracker.getReceivedPointerDownY(pointerId)
                                    - rawEvent.getY(pointerIndex);
                                mReceivedPointerTracker.getReceivedPointerDownY(id)
                                        - rawEvent.getY(index);
                        final double moveDelta = Math.hypot(deltaX, deltaY);
                        if (moveDelta < mTouchSlop) {
                            return;
                        }
                    }
                }
                // More than one pointer so the user is not touch exploring
                // and now we have to decide whether to delegate or drag.
                // Remove move history before send injected non-move events