From 6a562d8cbe540a2cedad17375c7b8e1ff197b189 Mon Sep 17 00:00:00 2001 From: vadimt Date: Tue, 13 Apr 2021 11:22:03 -0700 Subject: [PATCH] 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 --- .../launcher3/tapl/LauncherInstrumentation.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java index 475a4ff374..cf935f382a 100644 --- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java +++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java @@ -365,7 +365,7 @@ public final class LauncherInstrumentation { 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 @@ public final class LauncherInstrumentation { } private String getVisiblePackages() { - return mDevice.findObjects(By.textStartsWith("")) + return mDevice.findObjects(getAnyObjectSelector()) .stream() .map(LauncherInstrumentation::getApplicationPackageSafe) .distinct() @@ -692,6 +692,9 @@ public final class LauncherInstrumentation { 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 @@ public final class LauncherInstrumentation { } } + private static BySelector getAnyObjectSelector() { + return By.textStartsWith(""); + } + boolean isLauncherVisible() { mDevice.waitForIdle(); - return hasLauncherObject(By.textStartsWith("")); + return hasLauncherObject(getAnyObjectSelector()); } /**