Waiting for NexusLauncher to go away after swiping up from menu
Swiping up can temporarily bring Nexus Launcher if the
current launcher is a Launcher3 one. Wait for the
current launcher to reappear.
Test: presubmit
Bug: 183615088
Change-Id: Iff6eaf3bf27f7ddca445fab86780f8cf82f97352
diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
index 475a4ff..cf935f3 100644
--- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
+++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
@@ -365,7 +365,7 @@
if (hasSystemUiObject("keyguard_status_view")) return "Phone is locked";
- if (!mDevice.wait(Until.hasObject(By.textStartsWith("")), WAIT_TIME_MS)) {
+ if (!mDevice.wait(Until.hasObject(getAnyObjectSelector()), WAIT_TIME_MS)) {
return "Screen is empty";
}
@@ -388,7 +388,7 @@
}
private String getVisiblePackages() {
- return mDevice.findObjects(By.textStartsWith(""))
+ return mDevice.findObjects(getAnyObjectSelector())
.stream()
.map(LauncherInstrumentation::getApplicationPackageSafe)
.distinct()
@@ -692,6 +692,9 @@
try (LauncherInstrumentation.Closable c = addContextLayer(
"Swiped up from context menu to home")) {
waitUntilLauncherObjectGone(CONTEXT_MENU_RES_ID);
+ // Swiping up can temporarily bring Nexus Launcher if the current
+ // Launcher is a Launcher3 one. Wait for the current launcher to reappear.
+ waitForLauncherObject(getAnyObjectSelector());
}
}
if (hasLauncherObject(WORKSPACE_RES_ID)) {
@@ -736,9 +739,13 @@
}
}
+ private static BySelector getAnyObjectSelector() {
+ return By.textStartsWith("");
+ }
+
boolean isLauncherVisible() {
mDevice.waitForIdle();
- return hasLauncherObject(By.textStartsWith(""));
+ return hasLauncherObject(getAnyObjectSelector());
}
/**