Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 108cc51e authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "include integration test for open settings menu from workspace" into ub-launcher3-master

parents 0fd48b51 e94baee9
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -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
 */
+14 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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;
@@ -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 {
+2 −11
Original line number Diff line number Diff line
@@ -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;
@@ -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
+10 −0
Original line number Diff line number Diff line
@@ -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");
+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