Fixing pressHome when a context menu is visible
Bug: 132460627
Change-Id: I78064166fccd3a29bcb3fa6175bd4937ae032a98
diff --git a/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java
index d4cfe3a..4e4ba73 100644
--- a/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java
+++ b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java
@@ -100,6 +100,14 @@
executeOnLauncher(
launcher -> assertTrue("Launcher internal state didn't switch to Showing Menu",
OptionsPopupView.getOptionsPopup(launcher) != null));
+ // Check that pressHome works when the menu is shown.
+ mLauncher.pressHome();
+ }
+
+ @Test
+ public void testPressHomeOnAllAppsContextMenu() throws Exception {
+ mLauncher.getWorkspace().switchToAllApps().getAppIcon("TestActivity7").openMenu();
+ mLauncher.pressHome();
}
public static void runAllAppsTest(AbstractLauncherUiTest test, AllApps allApps) {
diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
index a442e2b..f7befd1 100644
--- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
+++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
@@ -400,13 +400,22 @@
// accessibility events prior to pressing Home.
final String action;
if (getNavigationModel() == NavigationModel.ZERO_BUTTON) {
+ final Point displaySize = getRealDisplaySize();
+
+ if (hasLauncherObject("deep_shortcuts_container")) {
+ linearGesture(
+ displaySize.x / 2, displaySize.y - 1,
+ displaySize.x / 2, 0,
+ ZERO_BUTTON_STEPS_FROM_BACKGROUND_TO_HOME);
+ assertTrue("Context menu is still visible afterswiping up to home",
+ !hasLauncherObject("deep_shortcuts_container"));
+ }
if (hasLauncherObject(WORKSPACE_RES_ID)) {
log(action = "already at home");
} else {
log(action = "swiping up to home");
final int finalState = mDevice.hasObject(By.pkg(getLauncherPackageName()))
? NORMAL_STATE_ORDINAL : BACKGROUND_APP_STATE_ORDINAL;
- final Point displaySize = getRealDisplaySize();
swipeToState(
displaySize.x / 2, displaySize.y - 1,