Loading src/com/android/launcher3/views/OptionsPopupView.java +0 −1 Original line number Diff line number Diff line Loading @@ -47,7 +47,6 @@ import com.android.launcher3.widget.WidgetsFullSheet; import java.util.ArrayList; import java.util.List; /** * Popup shown on long pressing an empty space in launcher */ Loading tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java +14 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,9 @@ package com.android.launcher3.ui; import static androidx.test.InstrumentationRegistry.getInstrumentation; import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL; import static com.android.launcher3.util.rule.TestStabilityRule.UNBUNDLED_POSTSUBMIT; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; Loading @@ -36,6 +39,7 @@ import com.android.launcher3.tapl.AppIconMenu; import com.android.launcher3.tapl.AppIconMenuItem; import com.android.launcher3.tapl.Widgets; import com.android.launcher3.tapl.Workspace; import com.android.launcher3.util.rule.TestStabilityRule.Stability; import com.android.launcher3.views.OptionsPopupView; import com.android.launcher3.widget.WidgetsFullSheet; import com.android.launcher3.widget.WidgetsRecyclerView; Loading Loading @@ -100,6 +104,16 @@ public class TaplTestsLauncher3 extends AbstractLauncherUiTest { mLauncher.pressHome(); } // b/146432215: remove @Stability after 1/1/2020 if this test doesn't flake @Test @Stability(flavors = LOCAL | UNBUNDLED_POSTSUBMIT) public void testOpenHomeSettingsFromWorkspace() { mDevice.pressMenu(); mDevice.waitForIdle(); mLauncher.getWorkspace().getMenu().getMenuItem("Home settings").launch( "com.google.android.apps.nexuslauncher"); } @Test @Ignore public void testPressHomeOnAllAppsContextMenu() throws Exception { Loading tests/tapl/com/android/launcher3/tapl/AppIcon.java +2 −11 Original line number Diff line number Diff line Loading @@ -16,9 +16,6 @@ package com.android.launcher3.tapl; import android.graphics.Point; import android.os.SystemClock; import android.view.MotionEvent; import android.widget.TextView; import androidx.test.uiautomator.By; Loading @@ -41,14 +38,8 @@ public final class AppIcon extends Launchable { * Long-clicks the icon to open its menu. */ public AppIconMenu openMenu() { final Point iconCenter = mObject.getVisibleCenter(); final long downTime = SystemClock.uptimeMillis(); mLauncher.sendPointer(downTime, downTime, MotionEvent.ACTION_DOWN, iconCenter); final UiObject2 deepShortcutsContainer = mLauncher.waitForLauncherObject( "deep_shortcuts_container"); mLauncher.sendPointer( downTime, SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, iconCenter); return new AppIconMenu(mLauncher, deepShortcutsContainer); return new AppIconMenu(mLauncher, mLauncher.clickAndGet( mObject, "deep_shortcuts_container")); } @Override Loading tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java +10 −0 Original line number Diff line number Diff line Loading @@ -989,6 +989,16 @@ public final class LauncherInstrumentation { return getSystemIntegerRes(context, "config_navBarInteractionMode"); } @NonNull public UiObject2 clickAndGet(@NonNull final UiObject2 target, @NonNull String resName) { final Point targetCenter = target.getVisibleCenter(); final long downTime = SystemClock.uptimeMillis(); sendPointer(downTime, downTime, MotionEvent.ACTION_DOWN, targetCenter); final UiObject2 result = waitForLauncherObject(resName); sendPointer(downTime, SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, targetCenter); return result; } private static int getSystemIntegerRes(Context context, String resName) { Resources res = context.getResources(); int resId = res.getIdentifier(resName, "integer", "android"); Loading tests/tapl/com/android/launcher3/tapl/OptionsPopupMenu.java 0 → 100644 +43 −0 Original line number Diff line number Diff line /* * 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. * 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.launcher3.tapl; import androidx.annotation.NonNull; import androidx.test.uiautomator.UiObject2; public class OptionsPopupMenu { private final LauncherInstrumentation mLauncher; private final UiObject2 mDeepShortcutsContainer; OptionsPopupMenu(LauncherInstrumentation launcher, UiObject2 deepShortcutsContainer) { mLauncher = launcher; mDeepShortcutsContainer = deepShortcutsContainer; } /** * Returns a menu item with a given label. Fails if it doesn't exist. */ @NonNull public OptionsPopupMenuItem getMenuItem(@NonNull final String label) { final UiObject2 obj = mLauncher .getObjectsInContainer(mDeepShortcutsContainer, "bubble_text").stream() .filter(menuItem -> label.equals(menuItem.getText())).findFirst().orElseThrow(() -> new IllegalStateException("Cannot find option with label: " + label)); return new OptionsPopupMenuItem(mLauncher, obj); } } Loading
src/com/android/launcher3/views/OptionsPopupView.java +0 −1 Original line number Diff line number Diff line Loading @@ -47,7 +47,6 @@ import com.android.launcher3.widget.WidgetsFullSheet; import java.util.ArrayList; import java.util.List; /** * Popup shown on long pressing an empty space in launcher */ Loading
tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java +14 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,9 @@ package com.android.launcher3.ui; import static androidx.test.InstrumentationRegistry.getInstrumentation; import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL; import static com.android.launcher3.util.rule.TestStabilityRule.UNBUNDLED_POSTSUBMIT; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; Loading @@ -36,6 +39,7 @@ import com.android.launcher3.tapl.AppIconMenu; import com.android.launcher3.tapl.AppIconMenuItem; import com.android.launcher3.tapl.Widgets; import com.android.launcher3.tapl.Workspace; import com.android.launcher3.util.rule.TestStabilityRule.Stability; import com.android.launcher3.views.OptionsPopupView; import com.android.launcher3.widget.WidgetsFullSheet; import com.android.launcher3.widget.WidgetsRecyclerView; Loading Loading @@ -100,6 +104,16 @@ public class TaplTestsLauncher3 extends AbstractLauncherUiTest { mLauncher.pressHome(); } // b/146432215: remove @Stability after 1/1/2020 if this test doesn't flake @Test @Stability(flavors = LOCAL | UNBUNDLED_POSTSUBMIT) public void testOpenHomeSettingsFromWorkspace() { mDevice.pressMenu(); mDevice.waitForIdle(); mLauncher.getWorkspace().getMenu().getMenuItem("Home settings").launch( "com.google.android.apps.nexuslauncher"); } @Test @Ignore public void testPressHomeOnAllAppsContextMenu() throws Exception { Loading
tests/tapl/com/android/launcher3/tapl/AppIcon.java +2 −11 Original line number Diff line number Diff line Loading @@ -16,9 +16,6 @@ package com.android.launcher3.tapl; import android.graphics.Point; import android.os.SystemClock; import android.view.MotionEvent; import android.widget.TextView; import androidx.test.uiautomator.By; Loading @@ -41,14 +38,8 @@ public final class AppIcon extends Launchable { * Long-clicks the icon to open its menu. */ public AppIconMenu openMenu() { final Point iconCenter = mObject.getVisibleCenter(); final long downTime = SystemClock.uptimeMillis(); mLauncher.sendPointer(downTime, downTime, MotionEvent.ACTION_DOWN, iconCenter); final UiObject2 deepShortcutsContainer = mLauncher.waitForLauncherObject( "deep_shortcuts_container"); mLauncher.sendPointer( downTime, SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, iconCenter); return new AppIconMenu(mLauncher, deepShortcutsContainer); return new AppIconMenu(mLauncher, mLauncher.clickAndGet( mObject, "deep_shortcuts_container")); } @Override Loading
tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java +10 −0 Original line number Diff line number Diff line Loading @@ -989,6 +989,16 @@ public final class LauncherInstrumentation { return getSystemIntegerRes(context, "config_navBarInteractionMode"); } @NonNull public UiObject2 clickAndGet(@NonNull final UiObject2 target, @NonNull String resName) { final Point targetCenter = target.getVisibleCenter(); final long downTime = SystemClock.uptimeMillis(); sendPointer(downTime, downTime, MotionEvent.ACTION_DOWN, targetCenter); final UiObject2 result = waitForLauncherObject(resName); sendPointer(downTime, SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, targetCenter); return result; } private static int getSystemIntegerRes(Context context, String resName) { Resources res = context.getResources(); int resId = res.getIdentifier(resName, "integer", "android"); Loading
tests/tapl/com/android/launcher3/tapl/OptionsPopupMenu.java 0 → 100644 +43 −0 Original line number Diff line number Diff line /* * 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. * 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.launcher3.tapl; import androidx.annotation.NonNull; import androidx.test.uiautomator.UiObject2; public class OptionsPopupMenu { private final LauncherInstrumentation mLauncher; private final UiObject2 mDeepShortcutsContainer; OptionsPopupMenu(LauncherInstrumentation launcher, UiObject2 deepShortcutsContainer) { mLauncher = launcher; mDeepShortcutsContainer = deepShortcutsContainer; } /** * Returns a menu item with a given label. Fails if it doesn't exist. */ @NonNull public OptionsPopupMenuItem getMenuItem(@NonNull final String label) { final UiObject2 obj = mLauncher .getObjectsInContainer(mDeepShortcutsContainer, "bubble_text").stream() .filter(menuItem -> label.equals(menuItem.getText())).findFirst().orElseThrow(() -> new IllegalStateException("Cannot find option with label: " + label)); return new OptionsPopupMenuItem(mLauncher, obj); } }