From 42636b95ed8539267f1ab1f611efb7f6d94cc532 Mon Sep 17 00:00:00 2001 From: Vadim Tryshev Date: Tue, 19 Dec 2023 18:45:15 -0800 Subject: [PATCH] Waiting for Launcher activity to stop when starting a Launchable into split screen Bug: 313926097 Flag: N/A Test: presubmit Change-Id: I7619b5572625ffd78fefd371e4d78b1496db8962 --- .../android/launcher3/tapl/Launchable.java | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/tests/tapl/com/android/launcher3/tapl/Launchable.java b/tests/tapl/com/android/launcher3/tapl/Launchable.java index fe927b3fd0..b68fc4ed30 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 @@ public abstract class Launchable { + 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 @@ public abstract class Launchable { } } + 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 @@ public abstract class Launchable { 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);