Waiting for Launcher activity to stop when starting a Launchable into split screen
Bug: 313926097
Flag: N/A
Test: presubmit
Change-Id: I7619b5572625ffd78fefd371e4d78b1496db8962
diff --git a/tests/tapl/com/android/launcher3/tapl/Launchable.java b/tests/tapl/com/android/launcher3/tapl/Launchable.java
index fe927b3..b68fc4e 100644
--- a/tests/tapl/com/android/launcher3/tapl/Launchable.java
+++ b/tests/tapl/com/android/launcher3/tapl/Launchable.java
@@ -16,8 +16,6 @@
package com.android.launcher3.tapl;
-import static android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED;
-
import static com.android.launcher3.testing.shared.TestProtocol.SPRING_LOADED_STATE_ORDINAL;
import android.graphics.Point;
@@ -64,13 +62,7 @@
+ mObject.getVisibleCenter() + " in "
+ mLauncher.getVisibleBounds(mObject));
- if (launcherStopsAfterLaunch()) {
- mLauncher.executeAndWaitForLauncherStop(
- () -> mLauncher.clickLauncherObject(mObject),
- "clicking the launchable");
- } else {
- mLauncher.clickLauncherObject(mObject);
- }
+ performClick();
try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer("clicked")) {
expectActivityStartEvents();
@@ -80,6 +72,16 @@
}
}
+ private void performClick() {
+ if (launcherStopsAfterLaunch()) {
+ mLauncher.executeAndWaitForLauncherStop(
+ () -> mLauncher.clickLauncherObject(mObject),
+ "clicking the launchable");
+ } else {
+ mLauncher.clickLauncherObject(mObject);
+ }
+ }
+
protected abstract void expectActivityStartEvents();
protected abstract String launchableType();
@@ -97,12 +99,8 @@
LauncherInstrumentation.log("Launchable.launch before click "
+ mObject.getVisibleCenter() + " in " + mLauncher.getVisibleBounds(
mObject));
- mLauncher.executeAndWaitForLauncherEvent(
- () -> mLauncher.clickLauncherObject(mObject),
- accessibilityEvent ->
- accessibilityEvent.getEventType() == TYPE_WINDOW_STATE_CHANGED,
- () -> "Unable to click object to launch split",
- "Click launcher object to launch split");
+
+ performClick();
try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer("clicked")) {
mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, OverviewTask.SPLIT_START_EVENT);