diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java new file mode 100644 index 0000000000..8f7cf92bf0 --- /dev/null +++ b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java @@ -0,0 +1,224 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.quickstep; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import android.content.Intent; +import android.os.RemoteException; + +import androidx.test.filters.LargeTest; +import androidx.test.runner.AndroidJUnit4; +import androidx.test.uiautomator.By; +import androidx.test.uiautomator.Until; + +import com.android.launcher3.Launcher; +import com.android.launcher3.LauncherState; +import com.android.launcher3.tapl.AllApps; +import com.android.launcher3.tapl.AllAppsFromOverview; +import com.android.launcher3.tapl.Background; +import com.android.launcher3.tapl.Overview; +import com.android.launcher3.tapl.OverviewTask; +import com.android.launcher3.tapl.TestHelpers; +import com.android.launcher3.ui.TaplTestsLauncher3; +import com.android.quickstep.QuickStepOnOffRule.QuickstepOnOff; +import com.android.quickstep.views.RecentsView; + +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TestWatcher; +import org.junit.runner.RunWith; + +@LargeTest +@RunWith(AndroidJUnit4.class) +public class TaplTestsQuickstep extends AbstractQuickStepTest { + @Rule + public TestWatcher mFailureWatcher = new TaplTestsLauncher3.FailureWatcher(mDevice); + + @Before + public void setUp() throws Exception { + super.setUp(); + + clearLauncherData(); + + mLauncher.pressHome(); + waitForState("Launcher internal state didn't switch to Home", LauncherState.NORMAL); + waitForResumed("Launcher internal state is still Background"); + } + + private void startTestApps() throws Exception { + startAppFast(resolveSystemApp(Intent.CATEGORY_APP_MESSAGING)); + startAppFast(resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR)); + startAppFast(resolveSystemApp(Intent.CATEGORY_APP_CONTACTS)); + + executeOnLauncher(launcher -> assertTrue( + "Launcher activity is the top activity; expecting another activity to be the top " + + "one", + isInBackground(launcher))); + } + + @Test + @PortraitLandscape + public void testPressRecentAppsLauncherAndGetOverview() throws RemoteException { + mDevice.pressRecentApps(); + waitForState("Launcher internal state didn't switch to Overview", LauncherState.OVERVIEW); + + assertNotNull("getOverview() returned null", mLauncher.getOverview()); + } + + @Test + @QuickstepOnOff + @PortraitLandscape + public void testWorkspaceSwitchToAllApps() { + assertNotNull("switchToAllApps() returned null", + mLauncher.getWorkspace().switchToAllApps()); + assertTrue("Launcher internal state is not All Apps", isInState(LauncherState.ALL_APPS)); + } + + @Test + public void testAllAppsFromOverview() throws Exception { + // Test opening all apps from Overview. + assertNotNull("switchToAllApps() returned null", + mLauncher.getWorkspace().switchToOverview().switchToAllApps()); + + TaplTestsLauncher3.runAllAppsTest(this, mLauncher.getAllAppsFromOverview()); + } + + @Test + @PortraitLandscape + public void testOverview() throws Exception { + startTestApps(); + Overview overview = mLauncher.pressHome().switchToOverview(); + assertTrue("Launcher internal state didn't switch to Overview", + isInState(LauncherState.OVERVIEW)); + executeOnLauncher( + launcher -> assertTrue("Don't have at least 3 tasks", getTaskCount(launcher) >= 3)); + + // Test flinging forward and backward. + executeOnLauncher(launcher -> assertEquals("Current task in Overview is not 0", + 0, getCurrentOverviewPage(launcher))); + + overview.flingForward(); + assertTrue("Launcher internal state is not Overview", isInState(LauncherState.OVERVIEW)); + final Integer currentTaskAfterFlingForward = getFromLauncher( + launcher -> getCurrentOverviewPage(launcher)); + executeOnLauncher(launcher -> assertTrue("Current task in Overview is still 0", + currentTaskAfterFlingForward > 0)); + + overview.flingBackward(); + assertTrue("Launcher internal state is not Overview", isInState(LauncherState.OVERVIEW)); + executeOnLauncher(launcher -> assertTrue("Flinging back in Overview did nothing", + getCurrentOverviewPage(launcher) < currentTaskAfterFlingForward)); + + // Test opening a task. + OverviewTask task = mLauncher.pressHome().switchToOverview().getCurrentTask(); + assertNotNull("overview.getCurrentTask() returned null (1)", task); + assertNotNull("OverviewTask.open returned null", task.open()); + assertTrue("Contacts app didn't open from Overview", mDevice.wait(Until.hasObject( + By.pkg(resolveSystemApp(Intent.CATEGORY_APP_CONTACTS)).depth(0)), + LONG_WAIT_TIME_MS)); + executeOnLauncher(launcher -> assertTrue( + "Launcher activity is the top activity; expecting another activity to be the top " + + "one", + isInBackground(launcher))); + + // Test dismissing a task. + overview = mLauncher.pressHome().switchToOverview(); + assertTrue("Launcher internal state didn't switch to Overview", + isInState(LauncherState.OVERVIEW)); + final Integer numTasks = getFromLauncher(launcher -> getTaskCount(launcher)); + task = overview.getCurrentTask(); + assertNotNull("overview.getCurrentTask() returned null (2)", task); + task.dismiss(); + executeOnLauncher( + launcher -> assertEquals("Dismissing a task didn't remove 1 task from Overview", + numTasks - 1, getTaskCount(launcher))); + + if (!TestHelpers.isInLauncherProcess() || + getFromLauncher(launcher -> !launcher.getDeviceProfile().isLandscape)) { + // Test switching to all apps and back. + final AllAppsFromOverview allApps = overview.switchToAllApps(); + assertNotNull("overview.switchToAllApps() returned null (1)", allApps); + assertTrue("Launcher internal state is not All Apps (1)", + isInState(LauncherState.ALL_APPS)); + + overview = allApps.switchBackToOverview(); + assertNotNull("allApps.switchBackToOverview() returned null", overview); + assertTrue("Launcher internal state didn't switch to Overview", + isInState(LauncherState.OVERVIEW)); + + // Test UIDevice.pressBack() + overview.switchToAllApps(); + assertNotNull("overview.switchToAllApps() returned null (2)", allApps); + assertTrue("Launcher internal state is not All Apps (2)", + isInState(LauncherState.ALL_APPS)); + mDevice.pressBack(); + mLauncher.getOverview(); + } + + // Test UIDevice.pressHome, once we are in AllApps. + mDevice.pressHome(); + waitForState("Launcher internal state didn't switch to Home", LauncherState.NORMAL); + } + + private int getCurrentOverviewPage(Launcher launcher) { + return launcher.getOverviewPanel().getCurrentPage(); + } + + private int getTaskCount(Launcher launcher) { + return launcher.getOverviewPanel().getTaskViewCount(); + } + + @Test + public void testAppIconLaunchFromAllAppsFromOverview() throws Exception { + final AllApps allApps = + mLauncher.getWorkspace().switchToOverview().switchToAllApps(); + assertTrue("Launcher internal state is not All Apps", isInState(LauncherState.ALL_APPS)); + + TaplTestsLauncher3.runIconLaunchFromAllAppsTest(this, allApps); + } + + @Test + @QuickstepOnOff + @PortraitLandscape + public void testSwitchToOverview() throws Exception { + assertNotNull("Workspace.switchToOverview() returned null", + mLauncher.pressHome().switchToOverview()); + assertTrue("Launcher internal state didn't switch to Overview", + isInState(LauncherState.OVERVIEW)); + } + + @Test + @QuickstepOnOff + @PortraitLandscape + public void testBackground() throws Exception { + startAppFast(resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR)); + final Background background = mLauncher.getBackground(); + assertNotNull("Launcher.getBackground() returned null", background); + executeOnLauncher(launcher -> assertTrue( + "Launcher activity is the top activity; expecting another activity to be the top " + + "one", + isInBackground(launcher))); + + assertNotNull("Background.switchToOverview() returned null", background.switchToOverview()); + assertTrue("Launcher internal state didn't switch to Overview", + isInState(LauncherState.OVERVIEW)); + } +} diff --git a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java index 1b345982f7..f2a8da5554 100644 --- a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java +++ b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java @@ -358,4 +358,17 @@ public abstract class AbstractLauncherUiTest { waitForLauncherCondition( "Launcher still active", launcher -> launcher == null, DEFAULT_UI_TIMEOUT); } + + protected boolean isInBackground(Launcher launcher) { + return !launcher.hasBeenResumed(); + } + + protected boolean isInState(LauncherState state) { + if (!TestHelpers.isInLauncherProcess()) return true; + return getFromLauncher(launcher -> launcher.getStateManager().getState() == state); + } + + protected int getAllAppsScroll(Launcher launcher) { + return launcher.getAppsView().getActiveRecyclerView().getCurrentScrollY(); + } } diff --git a/quickstep/tests/src/com/android/quickstep/TaplTests.java b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java similarity index 51% rename from quickstep/tests/src/com/android/quickstep/TaplTests.java rename to tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java index 347b7ac7cb..701e33b2bd 100644 --- a/quickstep/tests/src/com/android/quickstep/TaplTests.java +++ b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018 The Android Open Source Project + * Copyright (C) 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.quickstep; +package com.android.launcher3.ui; import static androidx.test.InstrumentationRegistry.getInstrumentation; @@ -25,30 +25,21 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import android.content.Intent; -import android.os.RemoteException; import android.util.Log; import androidx.test.filters.LargeTest; import androidx.test.runner.AndroidJUnit4; -import androidx.test.uiautomator.By; -import androidx.test.uiautomator.Until; +import androidx.test.uiautomator.UiDevice; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherState; import com.android.launcher3.tapl.AllApps; -import com.android.launcher3.tapl.AllAppsFromOverview; import com.android.launcher3.tapl.AppIcon; -import com.android.launcher3.tapl.Background; -import com.android.launcher3.tapl.Overview; -import com.android.launcher3.tapl.OverviewTask; -import com.android.launcher3.tapl.TestHelpers; import com.android.launcher3.tapl.Widgets; import com.android.launcher3.tapl.Workspace; import com.android.launcher3.views.OptionsPopupView; import com.android.launcher3.widget.WidgetsFullSheet; import com.android.launcher3.widget.WidgetsRecyclerView; -import com.android.quickstep.QuickStepOnOffRule.QuickstepOnOff; -import com.android.quickstep.views.RecentsView; import org.junit.Before; import org.junit.Rule; @@ -63,13 +54,18 @@ import java.io.IOException; @LargeTest @RunWith(AndroidJUnit4.class) -public class TaplTests extends AbstractQuickStepTest { - private static final String TAG = "TaplTests"; +public class TaplTestsLauncher3 extends AbstractLauncherUiTest { + private static final String TAG = "TaplTestsAosp"; private static int sScreenshotCount = 0; - @Rule - public TestWatcher mFailureWatcher = new TestWatcher() { + public static class FailureWatcher extends TestWatcher { + private UiDevice mDevice; + + public FailureWatcher(UiDevice device) { + this.mDevice = device; + } + private void dumpViewHierarchy() { final ByteArrayOutputStream stream = new ByteArrayOutputStream(); try { @@ -77,10 +73,10 @@ public class TaplTests extends AbstractQuickStepTest { stream.flush(); stream.close(); for (String line : stream.toString().split("\\r?\\n")) { - Log.e(TaplTests.TAG, line.trim()); + Log.e(TAG, line.trim()); } } catch (IOException e) { - Log.e(TaplTests.TAG, "error dumping XML to logcat", e); + Log.e(TAG, "error dumping XML to logcat", e); } } @@ -89,14 +85,17 @@ public class TaplTests extends AbstractQuickStepTest { if (mDevice == null) return; final String pathname = getInstrumentation().getTargetContext(). getFilesDir().getPath() + "/TaplTestScreenshot" + sScreenshotCount++ + ".png"; - Log.e(TaplTests.TAG, "Failed test " + description.getMethodName() + + Log.e(TAG, "Failed test " + description.getMethodName() + ", screenshot will be saved to " + pathname + ", track trace is below, UI object dump is further below:\n" + Log.getStackTraceString(e)); dumpViewHierarchy(); mDevice.takeScreenshot(new File(pathname)); } - }; + } + + @Rule + public TestWatcher mFailureWatcher = new FailureWatcher(mDevice); @Before public void setUp() throws Exception { @@ -109,13 +108,8 @@ public class TaplTests extends AbstractQuickStepTest { waitForResumed("Launcher internal state is still Background"); } - private boolean isInState(LauncherState state) { - if (!TestHelpers.isInLauncherProcess()) return true; - return getFromLauncher(launcher -> launcher.getStateManager().getState() == state); - } - // Please don't add negative test cases for methods that fail only after a long wait. - private void expectFail(String message, Runnable action) { + public static void expectFail(String message, Runnable action) { boolean failed = false; try { action.run(); @@ -129,21 +123,6 @@ public class TaplTests extends AbstractQuickStepTest { return launcher.getWorkspace().getPageCount() > 1; } - private boolean isInBackground(Launcher launcher) { - return !launcher.hasBeenResumed(); - } - - private void startTestApps() throws Exception { - startAppFast(resolveSystemApp(Intent.CATEGORY_APP_MESSAGING)); - startAppFast(resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR)); - startAppFast(resolveSystemApp(Intent.CATEGORY_APP_CONTACTS)); - - executeOnLauncher(launcher -> assertTrue( - "Launcher activity is the top activity; expecting another activity to be the top " - + "one", - isInBackground(launcher))); - } - private int getCurrentWorkspacePage(Launcher launcher) { return launcher.getWorkspace().getCurrentPage(); } @@ -161,34 +140,30 @@ public class TaplTests extends AbstractQuickStepTest { OptionsPopupView.getOptionsPopup(launcher) != null)); } - @Test - @PortraitLandscape - public void testPressRecentAppsLauncherAndGetOverview() throws RemoteException { - mDevice.pressRecentApps(); - waitForState("Launcher internal state didn't switch to Overview", LauncherState.OVERVIEW); - - assertNotNull("getOverview() returned null", mLauncher.getOverview()); - } - - private void runAllAppsTest(AllApps allApps) throws Exception { + public static void runAllAppsTest(AbstractLauncherUiTest test, AllApps allApps) { assertNotNull("allApps parameter is null", allApps); - assertTrue("Launcher internal state is not All Apps", isInState(LauncherState.ALL_APPS)); + assertTrue( + "Launcher internal state is not All Apps", test.isInState(LauncherState.ALL_APPS)); // Test flinging forward and backward. - executeOnLauncher(launcher -> assertEquals("All Apps started in already scrolled state", 0, - getAllAppsScroll(launcher))); + test.executeOnLauncher(launcher -> assertEquals( + "All Apps started in already scrolled state", 0, test.getAllAppsScroll(launcher))); allApps.flingForward(); - assertTrue("Launcher internal state is not All Apps", isInState(LauncherState.ALL_APPS)); - final Integer flingForwardY = getFromLauncher(launcher -> getAllAppsScroll(launcher)); - executeOnLauncher( + assertTrue("Launcher internal state is not All Apps", + test.isInState(LauncherState.ALL_APPS)); + final Integer flingForwardY = test.getFromLauncher( + launcher -> test.getAllAppsScroll(launcher)); + test.executeOnLauncher( launcher -> assertTrue("flingForward() didn't scroll App Apps", flingForwardY > 0)); allApps.flingBackward(); - assertTrue("Launcher internal state is not All Apps", isInState(LauncherState.ALL_APPS)); - final Integer flingBackwardY = getFromLauncher(launcher -> getAllAppsScroll(launcher)); - executeOnLauncher(launcher -> assertTrue("flingBackward() didn't scroll App Apps", + assertTrue( + "Launcher internal state is not All Apps", test.isInState(LauncherState.ALL_APPS)); + final Integer flingBackwardY = test.getFromLauncher( + launcher -> test.getAllAppsScroll(launcher)); + test.executeOnLauncher(launcher -> assertTrue("flingBackward() didn't scroll App Apps", flingBackwardY < flingForwardY)); // Test scrolling down to YouTube. @@ -200,11 +175,8 @@ public class TaplTests extends AbstractQuickStepTest { expectFail("All apps: could find a non-existing app", () -> allAppsFinal.getAppIcon("NO APP")); - assertTrue("Launcher internal state is not All Apps", isInState(LauncherState.ALL_APPS)); - } - - private int getAllAppsScroll(Launcher launcher) { - return launcher.getAppsView().getActiveRecyclerView().getCurrentScrollY(); + assertTrue( + "Launcher internal state is not All Apps", test.isInState(LauncherState.ALL_APPS)); } @Test @@ -214,7 +186,7 @@ public class TaplTests extends AbstractQuickStepTest { assertNotNull("switchToAllApps() returned null", mLauncher.getWorkspace().switchToAllApps()); - runAllAppsTest(mLauncher.getAllApps()); + runAllAppsTest(this, mLauncher.getAllApps()); // Testing pressHome. assertTrue("Launcher internal state is not All Apps", isInState(LauncherState.ALL_APPS)); @@ -224,7 +196,6 @@ public class TaplTests extends AbstractQuickStepTest { } @Test - @QuickstepOnOff @PortraitLandscape public void testWorkspaceSwitchToAllApps() { assertNotNull("switchToAllApps() returned null", @@ -232,15 +203,6 @@ public class TaplTests extends AbstractQuickStepTest { assertTrue("Launcher internal state is not All Apps", isInState(LauncherState.ALL_APPS)); } - @Test - public void testAllAppsFromOverview() throws Exception { - // Test opening all apps from Overview. - assertNotNull("switchToAllApps() returned null", - mLauncher.getWorkspace().switchToOverview().switchToAllApps()); - - runAllAppsTest(mLauncher.getAllAppsFromOverview()); - } - @Test public void testWorkspace() throws Exception { final Workspace workspace = mLauncher.getWorkspace(); @@ -286,99 +248,14 @@ public class TaplTests extends AbstractQuickStepTest { isInBackground(launcher))); } - @Test - @PortraitLandscape - public void testOverview() throws Exception { - startTestApps(); - Overview overview = mLauncher.pressHome().switchToOverview(); - assertTrue("Launcher internal state didn't switch to Overview", - isInState(LauncherState.OVERVIEW)); - executeOnLauncher( - launcher -> assertTrue("Don't have at least 3 tasks", getTaskCount(launcher) >= 3)); - - // Test flinging forward and backward. - executeOnLauncher(launcher -> assertEquals("Current task in Overview is not 0", - 0, getCurrentOverviewPage(launcher))); - - overview.flingForward(); - assertTrue("Launcher internal state is not Overview", isInState(LauncherState.OVERVIEW)); - final Integer currentTaskAfterFlingForward = getFromLauncher( - launcher -> getCurrentOverviewPage(launcher)); - executeOnLauncher(launcher -> assertTrue("Current task in Overview is still 0", - currentTaskAfterFlingForward > 0)); - - overview.flingBackward(); - assertTrue("Launcher internal state is not Overview", isInState(LauncherState.OVERVIEW)); - executeOnLauncher(launcher -> assertTrue("Flinging back in Overview did nothing", - getCurrentOverviewPage(launcher) < currentTaskAfterFlingForward)); - - // Test opening a task. - OverviewTask task = mLauncher.pressHome().switchToOverview().getCurrentTask(); - assertNotNull("overview.getCurrentTask() returned null (1)", task); - assertNotNull("OverviewTask.open returned null", task.open()); - assertTrue("Contacts app didn't open from Overview", mDevice.wait(Until.hasObject( - By.pkg(resolveSystemApp(Intent.CATEGORY_APP_CONTACTS)).depth(0)), - LONG_WAIT_TIME_MS)); - executeOnLauncher(launcher -> assertTrue( - "Launcher activity is the top activity; expecting another activity to be the top " - + "one", - isInBackground(launcher))); - - // Test dismissing a task. - overview = mLauncher.pressHome().switchToOverview(); - assertTrue("Launcher internal state didn't switch to Overview", - isInState(LauncherState.OVERVIEW)); - final Integer numTasks = getFromLauncher(launcher -> getTaskCount(launcher)); - task = overview.getCurrentTask(); - assertNotNull("overview.getCurrentTask() returned null (2)", task); - task.dismiss(); - executeOnLauncher( - launcher -> assertEquals("Dismissing a task didn't remove 1 task from Overview", - numTasks - 1, getTaskCount(launcher))); - - if (!TestHelpers.isInLauncherProcess() || - getFromLauncher(launcher -> !launcher.getDeviceProfile().isLandscape)) { - // Test switching to all apps and back. - final AllAppsFromOverview allApps = overview.switchToAllApps(); - assertNotNull("overview.switchToAllApps() returned null (1)", allApps); - assertTrue("Launcher internal state is not All Apps (1)", - isInState(LauncherState.ALL_APPS)); - - overview = allApps.switchBackToOverview(); - assertNotNull("allApps.switchBackToOverview() returned null", overview); - assertTrue("Launcher internal state didn't switch to Overview", - isInState(LauncherState.OVERVIEW)); - - // Test UIDevice.pressBack() - overview.switchToAllApps(); - assertNotNull("overview.switchToAllApps() returned null (2)", allApps); - assertTrue("Launcher internal state is not All Apps (2)", - isInState(LauncherState.ALL_APPS)); - mDevice.pressBack(); - mLauncher.getOverview(); - } - - // Test UIDevice.pressHome, once we are in AllApps. - mDevice.pressHome(); - waitForState("Launcher internal state didn't switch to Home", LauncherState.NORMAL); - } - - private int getCurrentOverviewPage(Launcher launcher) { - return launcher.getOverviewPanel().getCurrentPage(); - } - - private int getTaskCount(Launcher launcher) { - return launcher.getOverviewPanel().getTaskViewCount(); - } - - private void runIconLaunchFromAllAppsTest(AllApps allApps) throws Exception { + public static void runIconLaunchFromAllAppsTest(AbstractLauncherUiTest test, AllApps allApps) { final AppIcon app = allApps.getAppIcon("Calculator"); assertNotNull("AppIcon.launch returned null", app.launch( - resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR))); - executeOnLauncher(launcher -> assertTrue( + test.resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR))); + test.executeOnLauncher(launcher -> assertTrue( "Launcher activity is the top activity; expecting another activity to be the top " + "one", - isInBackground(launcher))); + test.isInBackground(launcher))); } @Test @@ -387,16 +264,7 @@ public class TaplTests extends AbstractQuickStepTest { final AllApps allApps = mLauncher.getWorkspace().switchToAllApps(); assertTrue("Launcher internal state is not All Apps", isInState(LauncherState.ALL_APPS)); - runIconLaunchFromAllAppsTest(allApps); - } - - @Test - public void testAppIconLaunchFromAllAppsFromOverview() throws Exception { - final AllApps allApps = - mLauncher.getWorkspace().switchToOverview().switchToAllApps(); - assertTrue("Launcher internal state is not All Apps", isInState(LauncherState.ALL_APPS)); - - runIconLaunchFromAllAppsTest(allApps); + runIconLaunchFromAllAppsTest(this, allApps); } @Test @@ -432,31 +300,4 @@ public class TaplTests extends AbstractQuickStepTest { private int getWidgetsScroll(Launcher launcher) { return getWidgetsView(launcher).getCurrentScrollY(); } - - @Test - @QuickstepOnOff - @PortraitLandscape - public void testSwitchToOverview() throws Exception { - assertNotNull("Workspace.switchToOverview() returned null", - mLauncher.pressHome().switchToOverview()); - assertTrue("Launcher internal state didn't switch to Overview", - isInState(LauncherState.OVERVIEW)); - } - - @Test - @QuickstepOnOff - @PortraitLandscape - public void testBackground() throws Exception { - startAppFast(resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR)); - final Background background = mLauncher.getBackground(); - assertNotNull("Launcher.getBackground() returned null", background); - executeOnLauncher(launcher -> assertTrue( - "Launcher activity is the top activity; expecting another activity to be the top " - + "one", - isInBackground(launcher))); - - assertNotNull("Background.switchToOverview() returned null", background.switchToOverview()); - assertTrue("Launcher internal state didn't switch to Overview", - isInState(LauncherState.OVERVIEW)); - } }