Search in sources :

Example 51 with TaplTestsLauncher3.getAppPackageName

use of com.android.launcher3.ui.TaplTestsLauncher3.getAppPackageName in project android_packages_apps_Trebuchet by LineageOS.

the class RequestPinItemTest method runTest.

private void runTest(String activityMethod, boolean isWidget, ItemOperator itemMatcher, Intent... commandIntents) throws Throwable {
    if (!Utilities.ATLEAST_OREO) {
        return;
    }
    clearHomescreen();
    mDevice.pressHome();
    // Open Pin item activity
    BlockingBroadcastReceiver openMonitor = new BlockingBroadcastReceiver(RequestPinItemActivity.class.getName());
    mLauncher.getWorkspace().switchToAllApps().getAppIcon("Test Pin Item").launch(getAppPackageName());
    assertNotNull(openMonitor.blockingGetExtraIntent());
    // Set callback
    PendingIntent callback = PendingIntent.getBroadcast(mTargetContext, 0, new Intent(mCallbackAction), PendingIntent.FLAG_ONE_SHOT);
    mTargetContext.sendBroadcast(RequestPinItemActivity.getCommandIntent(RequestPinItemActivity.class, "setCallback").putExtra(RequestPinItemActivity.EXTRA_PARAM + "0", callback));
    for (Intent command : commandIntents) {
        mTargetContext.sendBroadcast(command);
    }
    // call the requested method to start the flow
    mTargetContext.sendBroadcast(RequestPinItemActivity.getCommandIntent(RequestPinItemActivity.class, activityMethod));
    final AddToHomeScreenPrompt addToHomeScreenPrompt = mLauncher.getAddToHomeScreenPrompt();
    // Accept confirmation:
    BlockingBroadcastReceiver resultReceiver = new BlockingBroadcastReceiver(mCallbackAction);
    addToHomeScreenPrompt.addAutomatically();
    Intent result = resultReceiver.blockingGetIntent();
    assertNotNull(result);
    mAppWidgetId = result.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, -1);
    if (isWidget) {
        assertNotSame(-1, mAppWidgetId);
    }
    // Go back to home
    mLauncher.pressHome();
    Wait.atMost("", new ItemSearchCondition(itemMatcher), DEFAULT_ACTIVITY_TIMEOUT, mLauncher);
}
Also used : AddToHomeScreenPrompt(com.android.launcher3.tapl.AddToHomeScreenPrompt) Intent(android.content.Intent) PendingIntent(android.app.PendingIntent) PendingIntent(android.app.PendingIntent) RequestPinItemActivity(com.android.launcher3.testcomponent.RequestPinItemActivity)

Example 52 with TaplTestsLauncher3.getAppPackageName

use of com.android.launcher3.ui.TaplTestsLauncher3.getAppPackageName in project android_packages_apps_Trebuchet by LineageOS.

the class TaplTestsLauncher3 method testLaunchMenuItem.

@Test
@PortraitLandscape
public void testLaunchMenuItem() throws Exception {
    final AllApps allApps = mLauncher.getWorkspace().switchToAllApps();
    allApps.freeze();
    try {
        final AppIconMenu menu = allApps.getAppIcon(APP_NAME).openMenu();
        executeOnLauncher(launcher -> assertTrue("Launcher internal state didn't switch to Showing Menu", isOptionsPopupVisible(launcher)));
        menu.getMenuItem(1).launch(getAppPackageName());
    } finally {
        allApps.unfreeze();
    }
}
Also used : AllApps(com.android.launcher3.tapl.AllApps) AppIconMenu(com.android.launcher3.tapl.AppIconMenu) Test(org.junit.Test) LargeTest(androidx.test.filters.LargeTest)

Example 53 with TaplTestsLauncher3.getAppPackageName

use of com.android.launcher3.ui.TaplTestsLauncher3.getAppPackageName in project android_packages_apps_Trebuchet by LineageOS.

the class TaplTestsLauncher3 method testDragAppIcon.

@Test
@PortraitLandscape
public void testDragAppIcon() throws Throwable {
    // 1. Open all apps and wait for load complete.
    // 2. Drag icon to homescreen.
    // 3. Verify that the icon works on homescreen.
    final AllApps allApps = mLauncher.getWorkspace().switchToAllApps();
    allApps.freeze();
    try {
        allApps.getAppIcon(APP_NAME).dragToWorkspace(false, false);
        mLauncher.getWorkspace().getWorkspaceAppIcon(APP_NAME).launch(getAppPackageName());
    } finally {
        allApps.unfreeze();
    }
    executeOnLauncher(launcher -> assertTrue("Launcher activity is the top activity; expecting another activity to be the top " + "one", isInBackground(launcher)));
}
Also used : AllApps(com.android.launcher3.tapl.AllApps) Test(org.junit.Test) LargeTest(androidx.test.filters.LargeTest)

Example 54 with TaplTestsLauncher3.getAppPackageName

use of com.android.launcher3.ui.TaplTestsLauncher3.getAppPackageName in project android_packages_apps_Trebuchet by LineageOS.

the class TaplTestsLauncher3 method runIconLaunchFromAllAppsTest.

public static void runIconLaunchFromAllAppsTest(AbstractLauncherUiTest test, AllApps allApps) {
    allApps.freeze();
    try {
        final AppIcon app = allApps.getAppIcon("TestActivity7");
        assertNotNull("AppIcon.launch returned null", app.launch(getAppPackageName()));
        test.executeOnLauncher(launcher -> assertTrue("Launcher activity is the top activity; expecting another activity to be the " + "top " + "one", test.isInBackground(launcher)));
    } finally {
        allApps.unfreeze();
    }
}
Also used : AppIcon(com.android.launcher3.tapl.AppIcon)

Example 55 with TaplTestsLauncher3.getAppPackageName

use of com.android.launcher3.ui.TaplTestsLauncher3.getAppPackageName in project android_packages_apps_Trebuchet by LineageOS.

the class TaplTestsQuickstep method testOverview.

@Test
@PortraitLandscape
public void testOverview() throws Exception {
    startTestAppsWithCheck();
    // mLauncher.pressHome() also tests an important case of pressing home while in background.
    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("Test activity didn't open from Overview", mDevice.wait(Until.hasObject(By.pkg(getAppPackageName()).text("TestActivity2")), DEFAULT_UI_TIMEOUT));
    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 (mLauncher.hasAllAppsInOverview() && (!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);
    // Test dismissing all tasks.
    mLauncher.getWorkspace().switchToOverview().dismissAllTasks();
    waitForState("Launcher internal state didn't switch to Home", () -> LauncherState.NORMAL);
    executeOnLauncher(launcher -> assertEquals("Still have tasks after dismissing all", 0, getTaskCount(launcher)));
}
Also used : AndroidJUnit4(androidx.test.runner.AndroidJUnit4) Background(com.android.launcher3.tapl.Background) Overview(com.android.launcher3.tapl.Overview) TaplTestsLauncher3(com.android.launcher3.ui.TaplTestsLauncher3) RunWith(org.junit.runner.RunWith) OverviewActions(com.android.launcher3.tapl.OverviewActions) Intent(android.content.Intent) By(androidx.test.uiautomator.By) TestHelpers(com.android.launcher3.tapl.TestHelpers) AllAppsFromOverview(com.android.launcher3.tapl.AllAppsFromOverview) NavigationModel(com.android.launcher3.tapl.LauncherInstrumentation.NavigationModel) After(org.junit.After) AllApps(com.android.launcher3.tapl.AllApps) LargeTest(androidx.test.filters.LargeTest) Until(androidx.test.uiautomator.Until) Before(org.junit.Before) OverviewTask(com.android.launcher3.tapl.OverviewTask) Launcher(com.android.launcher3.Launcher) Assert.assertNotNull(org.junit.Assert.assertNotNull) TaplTestsLauncher3.getAppPackageName(com.android.launcher3.ui.TaplTestsLauncher3.getAppPackageName) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) LauncherState(com.android.launcher3.LauncherState) RecentsView(com.android.quickstep.views.RecentsView) Assert.assertEquals(org.junit.Assert.assertEquals) NavigationModeSwitch(com.android.quickstep.NavigationModeSwitchRule.NavigationModeSwitch) OverviewTask(com.android.launcher3.tapl.OverviewTask) Overview(com.android.launcher3.tapl.Overview) AllAppsFromOverview(com.android.launcher3.tapl.AllAppsFromOverview) AllAppsFromOverview(com.android.launcher3.tapl.AllAppsFromOverview) LargeTest(androidx.test.filters.LargeTest) Test(org.junit.Test)

Aggregations

LargeTest (androidx.test.filters.LargeTest)55 Test (org.junit.Test)55 AllApps (com.android.launcher3.tapl.AllApps)33 OverviewTask (com.android.launcher3.tapl.OverviewTask)13 AppIconMenu (com.android.launcher3.tapl.AppIconMenu)12 AppIconMenuItem (com.android.launcher3.tapl.AppIconMenuItem)12 Overview (com.android.launcher3.tapl.Overview)11 Intent (android.content.Intent)9 Ignore (org.junit.Ignore)9 PendingIntent (android.app.PendingIntent)7 AddToHomeScreenPrompt (com.android.launcher3.tapl.AddToHomeScreenPrompt)7 AppIcon (com.android.launcher3.tapl.AppIcon)7 Widget (com.android.launcher3.tapl.Widget)7 RequestPinItemActivity (com.android.launcher3.testcomponent.RequestPinItemActivity)7 AbstractLauncherUiTest (com.android.launcher3.ui.AbstractLauncherUiTest)7 LauncherAppWidgetInfo (com.android.launcher3.model.data.LauncherAppWidgetInfo)6 BaseOverview (com.android.launcher3.tapl.BaseOverview)6 SessionInfo (android.content.pm.PackageInstaller.SessionInfo)5 Process.myUserHandle (android.os.Process.myUserHandle)5 UserHandle (android.os.UserHandle)5