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

Commit c6cb35d9 authored by Sebastian Franco's avatar Sebastian Franco
Browse files

Send pointer up input even if there is an exception

Fix: 315525621
Test: atest TaplTestsQuickstep
Flag: NA
Change-Id: Ie0310ee8d4cf25435d752ed2b838ae79e7ce4a45
parent 4743cb3b
Loading
Loading
Loading
Loading
+23 −17
Original line number Diff line number Diff line
@@ -1749,9 +1749,13 @@ public final class LauncherInstrumentation {
        final long downTime = SystemClock.uptimeMillis();
        final Point start = new Point(startX, startY);
        final Point end = new Point(endX, endY);
        long endTime = downTime;
        sendPointer(downTime, downTime, MotionEvent.ACTION_DOWN, start, gestureScope);
        try {

            if (mTrackpadGestureType != TrackpadGestureType.NONE) {
            sendPointer(downTime, downTime, getPointerAction(MotionEvent.ACTION_POINTER_DOWN, 1),
                sendPointer(downTime, downTime,
                        getPointerAction(MotionEvent.ACTION_POINTER_DOWN, 1),
                        start, gestureScope);
                if (mTrackpadGestureType == TrackpadGestureType.THREE_FINGER
                        || mTrackpadGestureType == TrackpadGestureType.FOUR_FINGER) {
@@ -1765,7 +1769,7 @@ public final class LauncherInstrumentation {
                    }
                }
            }
        final long endTime = movePointer(
            endTime = movePointer(
                    start, end, steps, false, downTime, downTime, slowDown, gestureScope);
            if (mTrackpadGestureType != TrackpadGestureType.NONE) {
                for (int i = mPointerCount; i >= 2; i--) {
@@ -1774,8 +1778,10 @@ public final class LauncherInstrumentation {
                            start, gestureScope);
                }
            }
        } finally {
            sendPointer(downTime, endTime, MotionEvent.ACTION_UP, end, gestureScope);
        }
    }

    private static int getPointerAction(int action, int index) {
        return action + (index << MotionEvent.ACTION_POINTER_INDEX_SHIFT);