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