diff --git a/tests/tapl/com/android/launcher3/tapl/Background.java b/tests/tapl/com/android/launcher3/tapl/Background.java index 75b87b7640..b290bb1c40 100644 --- a/tests/tapl/com/android/launcher3/tapl/Background.java +++ b/tests/tapl/com/android/launcher3/tapl/Background.java @@ -71,6 +71,10 @@ public class Background extends LauncherInstrumentation.VisibleContainer { return mLauncher.isTablet(); } + protected boolean zeroButtonToOverviewGestureStateTransitionWhileHolding() { + return false; + } + protected void goToOverviewUnchecked() { switch (mLauncher.getNavigationModel()) { case ZERO_BUTTON: { @@ -90,21 +94,32 @@ public class Background extends LauncherInstrumentation.VisibleContainer { mLauncher.sendPointer( downTime, downTime, MotionEvent.ACTION_DOWN, start, gestureScope); - mLauncher.executeAndWaitForLauncherEvent( - () -> mLauncher.movePointer( - downTime, - downTime, - ZERO_BUTTON_SWIPE_UP_GESTURE_DURATION, - start, - end, - gestureScope), - event -> TestProtocol.PAUSE_DETECTED_MESSAGE.equals(event.getClassName()), - () -> "Pause wasn't detected", "swiping and holding"); - mLauncher.runToState( - () -> mLauncher.sendPointer( - downTime, SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, end, - gestureScope), - OVERVIEW_STATE_ORDINAL, "sending UP event"); + Runnable swipeAndHold = () -> mLauncher.movePointer( + downTime, + downTime, + ZERO_BUTTON_SWIPE_UP_GESTURE_DURATION, + start, + end, + gestureScope); + String swipeAndHoldAction = "swiping and holding"; + Runnable up = () -> mLauncher.sendPointer( + downTime, SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, end, + gestureScope); + String upAction = "sending UP event"; + if (zeroButtonToOverviewGestureStateTransitionWhileHolding()) { + mLauncher.runToState(swipeAndHold, OVERVIEW_STATE_ORDINAL, swipeAndHoldAction); + try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(upAction)) { + up.run(); + } + } else { + mLauncher.executeAndWaitForLauncherEvent( + swipeAndHold, + event -> TestProtocol.PAUSE_DETECTED_MESSAGE.equals( + event.getClassName()), + () -> "Pause wasn't detected", + swipeAndHoldAction); + mLauncher.runToState(up, OVERVIEW_STATE_ORDINAL, upAction); + } break; } diff --git a/tests/tapl/com/android/launcher3/tapl/Home.java b/tests/tapl/com/android/launcher3/tapl/Home.java index 0060844ced..ee9dd1aca0 100644 --- a/tests/tapl/com/android/launcher3/tapl/Home.java +++ b/tests/tapl/com/android/launcher3/tapl/Home.java @@ -63,4 +63,8 @@ public abstract class Home extends Background { return true; } + @Override + protected boolean zeroButtonToOverviewGestureStateTransitionWhileHolding() { + return true; + } } \ No newline at end of file