use of com.android.launcher3.testing.TestProtocol.OVERVIEW_STATE_ORDINAL in project android_packages_apps_Launcher3 by ArrowOS.
the class Background method quickSwitch.
@NonNull
private void quickSwitch(boolean toRight) {
try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
LauncherInstrumentation.Closable c = mLauncher.addContextLayer("want to quick switch to the previous app")) {
verifyActiveContainer();
final boolean launcherWasVisible = mLauncher.isLauncherVisible();
boolean transposeInLandscape = false;
switch(mLauncher.getNavigationModel()) {
case TWO_BUTTON:
transposeInLandscape = true;
// Fall through, zero button and two button modes behave the same.
case ZERO_BUTTON:
{
final int startX;
final int startY;
final int endX;
final int endY;
final int cornerRadius = (int) Math.ceil(mLauncher.getWindowCornerRadius());
if (toRight) {
if (mLauncher.getDevice().isNaturalOrientation() || !transposeInLandscape) {
// Swipe from the bottom left to the bottom right of the screen.
startX = cornerRadius;
startY = getSwipeStartY();
endX = mLauncher.getDevice().getDisplayWidth() - cornerRadius;
endY = startY;
} else {
// Swipe from the bottom right to the top right of the screen.
startX = getSwipeStartX();
startY = mLauncher.getRealDisplaySize().y - 1 - cornerRadius;
endX = startX;
endY = cornerRadius;
}
} else {
if (mLauncher.getDevice().isNaturalOrientation() || !transposeInLandscape) {
// Swipe from the bottom right to the bottom left of the screen.
startX = mLauncher.getDevice().getDisplayWidth() - cornerRadius;
startY = getSwipeStartY();
endX = cornerRadius;
endY = startY;
} else {
// Swipe from the bottom left to the top left of the screen.
startX = getSwipeStartX();
startY = cornerRadius;
endX = startX;
endY = mLauncher.getRealDisplaySize().y - 1 - cornerRadius;
}
}
final boolean isZeroButton = mLauncher.getNavigationModel() == LauncherInstrumentation.NavigationModel.ZERO_BUTTON;
LauncherInstrumentation.GestureScope gestureScope = launcherWasVisible && isZeroButton ? LauncherInstrumentation.GestureScope.INSIDE_TO_OUTSIDE : LauncherInstrumentation.GestureScope.OUTSIDE_WITH_PILFER;
mLauncher.executeAndWaitForEvent(() -> mLauncher.linearGesture(startX, startY, endX, endY, 20, false, gestureScope), event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED, () -> "Quick switch gesture didn't change window state", "swiping");
break;
}
case THREE_BUTTON:
// Double press the recents button.
UiObject2 recentsButton = mLauncher.waitForNavigationUiObject("recent_apps");
if (mLauncher.isTablet()) {
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, LauncherInstrumentation.EVENT_TOUCH_DOWN);
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, LauncherInstrumentation.EVENT_TOUCH_UP);
}
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, SQUARE_BUTTON_EVENT);
mLauncher.runToState(() -> recentsButton.click(), OVERVIEW_STATE_ORDINAL, "clicking Recents button for the first time");
mLauncher.getOverview();
if (mLauncher.isTablet()) {
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, LauncherInstrumentation.EVENT_TOUCH_DOWN);
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, LauncherInstrumentation.EVENT_TOUCH_UP);
}
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, SQUARE_BUTTON_EVENT);
mLauncher.executeAndWaitForEvent(() -> recentsButton.click(), event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED, () -> "Pressing recents button didn't change window state", "clicking Recents button for the second time");
break;
}
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, TASK_START_EVENT);
return;
}
}
use of com.android.launcher3.testing.TestProtocol.OVERVIEW_STATE_ORDINAL in project android_packages_apps_Launcher3 by AOSPA.
the class Background method quickSwitch.
@NonNull
private void quickSwitch(boolean toRight) {
try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck();
LauncherInstrumentation.Closable c = mLauncher.addContextLayer("want to quick switch to the previous app")) {
verifyActiveContainer();
final boolean launcherWasVisible = mLauncher.isLauncherVisible();
boolean transposeInLandscape = false;
switch(mLauncher.getNavigationModel()) {
case TWO_BUTTON:
transposeInLandscape = true;
// Fall through, zero button and two button modes behave the same.
case ZERO_BUTTON:
{
final int startX;
final int startY;
final int endX;
final int endY;
final int cornerRadius = (int) Math.ceil(mLauncher.getWindowCornerRadius());
if (toRight) {
if (mLauncher.getDevice().isNaturalOrientation() || !transposeInLandscape) {
// Swipe from the bottom left to the bottom right of the screen.
startX = cornerRadius;
startY = getSwipeStartY();
endX = mLauncher.getDevice().getDisplayWidth() - cornerRadius;
endY = startY;
} else {
// Swipe from the bottom right to the top right of the screen.
startX = getSwipeStartX();
startY = mLauncher.getRealDisplaySize().y - 1 - cornerRadius;
endX = startX;
endY = cornerRadius;
}
} else {
if (mLauncher.getDevice().isNaturalOrientation() || !transposeInLandscape) {
// Swipe from the bottom right to the bottom left of the screen.
startX = mLauncher.getDevice().getDisplayWidth() - cornerRadius;
startY = getSwipeStartY();
endX = cornerRadius;
endY = startY;
} else {
// Swipe from the bottom left to the top left of the screen.
startX = getSwipeStartX();
startY = cornerRadius;
endX = startX;
endY = mLauncher.getRealDisplaySize().y - 1 - cornerRadius;
}
}
final boolean isZeroButton = mLauncher.getNavigationModel() == LauncherInstrumentation.NavigationModel.ZERO_BUTTON;
LauncherInstrumentation.GestureScope gestureScope = launcherWasVisible && isZeroButton ? LauncherInstrumentation.GestureScope.INSIDE_TO_OUTSIDE : LauncherInstrumentation.GestureScope.OUTSIDE_WITH_PILFER;
mLauncher.executeAndWaitForEvent(() -> mLauncher.linearGesture(startX, startY, endX, endY, 20, false, gestureScope), event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED, () -> "Quick switch gesture didn't change window state", "swiping");
break;
}
case THREE_BUTTON:
// Double press the recents button.
UiObject2 recentsButton = mLauncher.waitForNavigationUiObject("recent_apps");
if (mLauncher.isTablet()) {
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, LauncherInstrumentation.EVENT_TOUCH_DOWN);
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, LauncherInstrumentation.EVENT_TOUCH_UP);
}
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, SQUARE_BUTTON_EVENT);
mLauncher.runToState(() -> recentsButton.click(), OVERVIEW_STATE_ORDINAL, "clicking Recents button for the first time");
mLauncher.getOverview();
if (mLauncher.isTablet()) {
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, LauncherInstrumentation.EVENT_TOUCH_DOWN);
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, LauncherInstrumentation.EVENT_TOUCH_UP);
}
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, SQUARE_BUTTON_EVENT);
mLauncher.executeAndWaitForEvent(() -> recentsButton.click(), event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED, () -> "Pressing recents button didn't change window state", "clicking Recents button for the second time");
break;
}
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, TASK_START_EVENT);
return;
}
}
Aggregations