• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.android.launcher3.ui;
2 
3 import android.support.test.uiautomator.By;
4 import android.support.test.uiautomator.UiObject2;
5 import android.support.test.uiautomator.Until;
6 import android.test.suitebuilder.annotation.LargeTest;
7 
8 import com.android.launcher3.compat.LauncherActivityInfoCompat;
9 import com.android.launcher3.compat.LauncherAppsCompat;
10 import com.android.launcher3.compat.UserHandleCompat;
11 import com.android.launcher3.util.Condition;
12 import com.android.launcher3.util.Wait;
13 
14 /**
15  * Test for dragging an icon from all-apps to homescreen.
16  */
17 @LargeTest
18 public class AllAppsIconToHomeTest extends LauncherInstrumentationTestCase {
19 
20     private LauncherActivityInfoCompat mSettingsApp;
21 
22     @Override
setUp()23     protected void setUp() throws Exception {
24         super.setUp();
25 
26         mSettingsApp = LauncherAppsCompat.getInstance(mTargetContext)
27                 .getActivityList("com.android.settings", UserHandleCompat.myUserHandle()).get(0);
28     }
29 
testDragIcon_portrait()30     public void testDragIcon_portrait() throws Throwable {
31         lockRotation(true);
32         performTest();
33     }
34 
testDragIcon_landscape()35     public void testDragIcon_landscape() throws Throwable {
36         lockRotation(false);
37         performTest();
38     }
39 
performTest()40     private void performTest() throws Throwable {
41         clearHomescreen();
42         startLauncher();
43 
44         // Open all apps and wait for load complete.
45         final UiObject2 appsContainer = openAllApps();
46         assertTrue(Wait.atMost(Condition.minChildCount(appsContainer, 2), DEFAULT_UI_TIMEOUT));
47 
48         // Drag icon to homescreen.
49         UiObject2 icon = scrollAndFind(appsContainer, By.text(mSettingsApp.getLabel().toString()));
50         dragToWorkspace(icon);
51 
52         // Verify that the icon works on homescreen.
53         mDevice.findObject(By.text(mSettingsApp.getLabel().toString())).click();
54         assertTrue(mDevice.wait(Until.hasObject(By.pkg(
55                 mSettingsApp.getComponentName().getPackageName()).depth(0)), DEFAULT_UI_TIMEOUT));
56     }
57 }
58