diff options
Diffstat (limited to 'tests/src/com/android/launcher3/ui/ShortcutsLaunchTest.java')
-rw-r--r-- | tests/src/com/android/launcher3/ui/ShortcutsLaunchTest.java | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/src/com/android/launcher3/ui/ShortcutsLaunchTest.java b/tests/src/com/android/launcher3/ui/ShortcutsLaunchTest.java new file mode 100644 index 000000000..f892e6349 --- /dev/null +++ b/tests/src/com/android/launcher3/ui/ShortcutsLaunchTest.java @@ -0,0 +1,68 @@ +package com.android.launcher3.ui; + +import android.graphics.Point; +import android.support.test.uiautomator.By; +import android.support.test.uiautomator.UiObject2; +import android.support.test.uiautomator.Until; +import android.test.suitebuilder.annotation.LargeTest; +import android.view.MotionEvent; + +import com.android.launcher3.R; +import com.android.launcher3.compat.LauncherActivityInfoCompat; +import com.android.launcher3.compat.LauncherAppsCompat; +import com.android.launcher3.compat.UserHandleCompat; +import com.android.launcher3.util.Condition; +import com.android.launcher3.util.Wait; + +/** + * Test for verifying that shortcuts are shown and can be launched after long pressing an app + */ +@LargeTest +public class ShortcutsLaunchTest extends LauncherInstrumentationTestCase { + + private LauncherActivityInfoCompat mSettingsApp; + + @Override + protected void setUp() throws Exception { + super.setUp(); + + mSettingsApp = LauncherAppsCompat.getInstance(mTargetContext) + .getActivityList("com.android.settings", UserHandleCompat.myUserHandle()).get(0); + } + + public void testAppLauncher_portrait() throws Exception { + lockRotation(true); + performTest(); + } + + public void testAppLauncher_landscape() throws Exception { + lockRotation(false); + performTest(); + } + + private void performTest() throws Exception { + startLauncher(); + + // Open all apps and wait for load complete + final UiObject2 appsContainer = openAllApps(); + assertTrue(Wait.atMost(Condition.minChildCount(appsContainer, 2), DEFAULT_UI_TIMEOUT)); + + // Find settings app and verify shortcuts appear when long pressed + UiObject2 icon = scrollAndFind(appsContainer, By.text(mSettingsApp.getLabel().toString())); + // Press icon center until shortcuts appear + Point iconCenter = icon.getVisibleCenter(); + sendPointer(MotionEvent.ACTION_DOWN, iconCenter); + UiObject2 deepShortcutsContainer = findViewById(R.id.deep_shortcuts_container); + assertNotNull(deepShortcutsContainer); + sendPointer(MotionEvent.ACTION_UP, iconCenter); + + // Verify that launching a shortcut opens a page with the same text + assertTrue(deepShortcutsContainer.getChildCount() > 0); + UiObject2 shortcut = deepShortcutsContainer.getChildren().get(0) + .findObject(getSelectorForId(R.id.deep_shortcut)); + shortcut.click(); + assertTrue(mDevice.wait(Until.hasObject(By.pkg( + mSettingsApp.getComponentName().getPackageName()) + .text(shortcut.getText())), DEFAULT_UI_TIMEOUT)); + } +} |