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

Commit 5917a376 authored by Riley Jones's avatar Riley Jones
Browse files

Cleanup of pointerUpMotionEventInTouchExploration

Bug: 439923871
Test: presubmit
Flag: EXEMPT flag cleanup
Change-Id: If8cd7d9ccad7b7b0e9c47381f227bd4be5fe701f
parent a5a53920
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -124,16 +124,6 @@ flag {
    }
}

flag {
    name: "pointer_up_motion_event_in_touch_exploration"
    namespace: "accessibility"
    description: "Allows POINTER_UP motionEvents to trigger during touch exploration."
    bug: "374930391"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    name: "send_a11y_events_based_on_state"
    namespace: "accessibility"
+3 −12
Original line number Diff line number Diff line
@@ -414,15 +414,9 @@ public class TouchExplorer extends BaseEventStreamTransformation
            mSendTouchExplorationEndDelayed.forceSendAndRemove();
        }

        if (!Flags.pointerUpMotionEventInTouchExploration()) {
            // Announce the end of a new touch interaction.
            mDispatcher.sendAccessibilityEvent(TYPE_TOUCH_INTERACTION_END);
        } else {
            // If there are no pointers left on screen, announce the end of the touch interaction.
        if (mReceivedPointerTracker.getReceivedPointerDownCount() == 0) {
            mDispatcher.sendAccessibilityEvent(TYPE_TOUCH_INTERACTION_END);
        }
        }
        mSendTouchInteractionEndDelayed.cancel();
        // Try to use the standard accessibility API to click
        if (!mAms.performActionOnAccessibilityFocusedItem(
@@ -660,12 +654,9 @@ public class TouchExplorer extends BaseEventStreamTransformation
                handleActionUp(event, rawEvent, policyFlags);
                break;
            case ACTION_POINTER_UP:
                if (com.android.server.accessibility.Flags
                        .pointerUpMotionEventInTouchExploration()) {
                if (mState.isServiceDetectingGestures()) {
                    mAms.sendMotionEventToListeningServices(rawEvent);
                }
                }
                break;
            default:
                break;
+3 −8
Original line number Diff line number Diff line
@@ -223,17 +223,12 @@ public class TouchState {
            case AccessibilityEvent.TYPE_TOUCH_INTERACTION_END:
                // When interaction ends, check if there are still down pointers.
                // If there are any down pointers, go directly to TouchExploring instead.
                if (com.android.server.accessibility.Flags
                        .pointerUpMotionEventInTouchExploration()) {
                if (mReceivedPointerTracker.mReceivedPointersDown > 0) {
                    startTouchExploring();
                } else {
                    setState(STATE_CLEAR);
                    // We will clear when we actually handle the next ACTION_DOWN.
                }
                } else {
                    setState(STATE_CLEAR);
                }
                break;
            case AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START:
                startTouchExploring();
+0 −20
Original line number Diff line number Diff line
@@ -37,7 +37,6 @@ import static com.google.common.truth.Truth.assertThat;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

@@ -47,8 +46,6 @@ import android.content.Context;
import android.graphics.PointF;
import android.os.Looper;
import android.os.SystemClock;
import android.platform.test.annotations.DisableFlags;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.testing.DexmakerShareClassLoaderRule;
import android.view.InputDevice;
@@ -62,7 +59,6 @@ import androidx.test.runner.AndroidJUnit4;
import com.android.server.accessibility.AccessibilityManagerService;
import com.android.server.accessibility.AccessibilityTraceManager;
import com.android.server.accessibility.EventStreamTransformation;
import com.android.server.accessibility.Flags;
import com.android.server.accessibility.utils.GestureLogParser;
import com.android.server.testutils.OffsettableClock;

@@ -496,22 +492,6 @@ public class TouchExplorerTest {
    }

    @Test
    @DisableFlags(Flags.FLAG_POINTER_UP_MOTION_EVENT_IN_TOUCH_EXPLORATION)
    public void handleMotionEventStateTouchExploring_pointerUp_doesNotSendToManager() {
        mTouchExplorer.getState().setServiceDetectsGestures(true);
        mTouchExplorer.getState().clear();

        mLastEvent = pointerDownEvent();
        mTouchExplorer.getState().startTouchExploring();
        MotionEvent event = fromTouchscreen(pointerUpEvent());

        mTouchExplorer.onMotionEvent(event, event, /*policyFlags=*/0);

        verify(mMockAms, never()).sendMotionEventToListeningServices(event);
    }

    @Test
    @EnableFlags(Flags.FLAG_POINTER_UP_MOTION_EVENT_IN_TOUCH_EXPLORATION)
    public void handleMotionEventStateTouchExploring_pointerUp_sendsToManager() {
        mTouchExplorer.getState().setServiceDetectsGestures(true);
        mTouchExplorer.getState().clear();
+0 −12
Original line number Diff line number Diff line
@@ -23,15 +23,12 @@ import static com.android.server.accessibility.gestures.TouchState.STATE_TOUCH_E

import static com.google.common.truth.Truth.assertThat;

import android.platform.test.annotations.DisableFlags;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.view.Display;

import androidx.test.runner.AndroidJUnit4;

import com.android.server.accessibility.AccessibilityManagerService;
import com.android.server.accessibility.Flags;

import org.junit.Before;
import org.junit.Rule;
@@ -52,7 +49,6 @@ public class TouchStateTest {
        mTouchState = new TouchState(Display.DEFAULT_DISPLAY, mMockAms);
    }

    @EnableFlags(Flags.FLAG_POINTER_UP_MOTION_EVENT_IN_TOUCH_EXPLORATION)
    @Test
    public void injectedEvent_interactionEnd_pointerDown_startsTouchExploring() {
        mTouchState.mReceivedPointerTracker.mReceivedPointersDown = 1;
@@ -60,18 +56,10 @@ public class TouchStateTest {
        assertThat(mTouchState.getState()).isEqualTo(STATE_TOUCH_EXPLORING);
    }

    @EnableFlags(Flags.FLAG_POINTER_UP_MOTION_EVENT_IN_TOUCH_EXPLORATION)
    @Test
    public void injectedEvent_interactionEnd_pointerUp_clears() {
        mTouchState.mReceivedPointerTracker.mReceivedPointersDown = 0;
        mTouchState.onInjectedAccessibilityEvent(TYPE_TOUCH_INTERACTION_END);
        assertThat(mTouchState.getState()).isEqualTo(STATE_CLEAR);
    }

    @DisableFlags(Flags.FLAG_POINTER_UP_MOTION_EVENT_IN_TOUCH_EXPLORATION)
    @Test
    public void injectedEvent_interactionEnd_clears() {
        mTouchState.onInjectedAccessibilityEvent(TYPE_TOUCH_INTERACTION_END);
        assertThat(mTouchState.getState()).isEqualTo(STATE_CLEAR);
    }
}