Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42636b95 authored by Vadim Tryshev's avatar Vadim Tryshev
Browse files

Waiting for Launcher activity to stop when starting a Launchable into split screen

Bug: 313926097
Flag: N/A
Test: presubmit
Change-Id: I7619b5572625ffd78fefd371e4d78b1496db8962
parent c42e7ffd
Loading
Loading
Loading
Loading
+13 −15
Original line number Diff line number Diff line
@@ -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);