diff --git a/quickstep/tests/src/com/android/quickstep/AbstractTaplTestsTaskbar.java b/quickstep/tests/src/com/android/quickstep/AbstractTaplTestsTaskbar.java index fc757b44c9..ca5fb70bea 100644 --- a/quickstep/tests/src/com/android/quickstep/AbstractTaplTestsTaskbar.java +++ b/quickstep/tests/src/com/android/quickstep/AbstractTaplTestsTaskbar.java @@ -55,7 +55,7 @@ public class AbstractTaplTestsTaskbar extends AbstractQuickStepTest { "com.android.launcher3.testcomponent.BaseTestingActivity"); mLauncherLayout = TestUtil.setLauncherDefaultLayout(mTargetContext, layoutBuilder); AbstractLauncherUiTest.initialize(this); - startAppFast(CALCULATOR_APP_PACKAGE); + startAppFastInFullscreen(CALCULATOR_APP_PACKAGE); mLauncher.enableBlockTimeout(true); mLauncher.showTaskbarIfHidden(); } diff --git a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java index 99e15ba8aa..9c289d6f8c 100644 --- a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java +++ b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java @@ -15,7 +15,10 @@ */ package com.android.launcher3.ui; +import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD; +import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; import static android.platform.test.flag.junit.SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT; +import static android.view.Display.DEFAULT_DISPLAY; import static androidx.test.InstrumentationRegistry.getInstrumentation; @@ -26,6 +29,7 @@ import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import android.app.ActivityOptions; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; @@ -571,6 +575,21 @@ public abstract class AbstractLauncherUiTest { true /* newTask */); } + /** alternative of startAppFast where app is guaranteed to launch in fullscreen mode */ + public static void startAppFastInFullscreen(String packageName) { + ActivityOptions options = ActivityOptions.makeBasic(); + options.setLaunchWindowingMode(WINDOWING_MODE_FULLSCREEN); + options.setLaunchDisplayId(DEFAULT_DISPLAY); + options.setLaunchActivityType(ACTIVITY_TYPE_STANDARD); + + startIntent( + getInstrumentation().getContext().getPackageManager().getLaunchIntentForPackage( + packageName), + By.pkg(packageName).depth(0), + true /* newTask */, + options); + } + public static void startTestActivity(String activityName, String activityLabel) { final String packageName = getAppPackageName(); final Intent intent = getInstrumentation().getContext().getPackageManager(). @@ -606,7 +625,8 @@ public abstract class AbstractLauncherUiTest { false /* newTask */); } - private static void startIntent(Intent intent, BySelector selector, boolean newTask) { + private static void startIntent( + Intent intent, BySelector selector, boolean newTask, ActivityOptions options) { intent.addCategory(Intent.CATEGORY_LAUNCHER); if (newTask) { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); @@ -614,7 +634,12 @@ public abstract class AbstractLauncherUiTest { intent.addFlags( Intent.FLAG_ACTIVITY_MULTIPLE_TASK | Intent.FLAG_ACTIVITY_NEW_DOCUMENT); } - getInstrumentation().getTargetContext().startActivity(intent); + + if (options != null) { + getInstrumentation().getTargetContext().startActivity(intent, options.toBundle()); + } else { + getInstrumentation().getTargetContext().startActivity(intent); + } assertTrue("App didn't start: " + selector, TestHelpers.wait(Until.hasObject(selector), DEFAULT_UI_TIMEOUT)); @@ -625,6 +650,10 @@ public abstract class AbstractLauncherUiTest { DEFAULT_ACTIVITY_TIMEOUT, launcherInstrumentation); } + private static void startIntent(Intent intent, BySelector selector, boolean newTask) { + startIntent(intent, selector, newTask, null); + } + public static ActivityInfo resolveSystemAppInfo(String category) { return getInstrumentation().getContext().getPackageManager().resolveActivity( new Intent(Intent.ACTION_MAIN).addCategory(category),