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

Commit 0531f1f6 authored by Alex Chau's avatar Alex Chau Committed by Android (Google) Code Review
Browse files

Merge "Re-land "Update Tapl tests for enable_grid_only_overview"" into main

parents 29ac20ba 9c07fc13
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -92,7 +92,7 @@ public class TaplOverviewIconTest extends AbstractLauncherUiTest {
        startTestActivity(2);
        startTestActivity(2);
        startTestActivity(3);
        startTestActivity(3);


        if (mLauncher.isTablet()) {
        if (mLauncher.isTablet() && !mLauncher.isGridOnlyOverviewEnabled()) {
            mLauncher.goHome().switchToOverview().getOverviewActions()
            mLauncher.goHome().switchToOverview().getOverviewActions()
                    .clickSplit()
                    .clickSplit()
                    .getTestActivityTask(2)
                    .getTestActivityTask(2)
+16 −11
Original line number Original line Diff line number Diff line
@@ -179,6 +179,8 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest {
    @PortraitLandscape
    @PortraitLandscape
    @PlatinumTest(focusArea = "launcher")
    @PlatinumTest(focusArea = "launcher")
    public void testOverviewActions() throws Exception {
    public void testOverviewActions() throws Exception {
        assumeFalse("Skipping Overview Actions tests for grid only overview",
                mLauncher.isTablet() && mLauncher.isGridOnlyOverviewEnabled());
        // Experimenting for b/165029151:
        // Experimenting for b/165029151:
        final Overview overview = mLauncher.goHome().switchToOverview();
        final Overview overview = mLauncher.goHome().switchToOverview();
        if (overview.hasTasks()) overview.dismissAllTasks();
        if (overview.hasTasks()) overview.dismissAllTasks();
@@ -377,7 +379,9 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest {
        // Test opening the task.
        // Test opening the task.
        overview.getCurrentTask().open();
        overview.getCurrentTask().open();
        assertTrue("Test activity didn't open from Overview",
        assertTrue("Test activity didn't open from Overview",
                mDevice.wait(Until.hasObject(By.pkg(getAppPackageName()).text("TestActivity10")),
                mDevice.wait(Until.hasObject(By.pkg(getAppPackageName()).text(
                                mLauncher.isGridOnlyOverviewEnabled() ? "TestActivity12"
                                        : "TestActivity13")),
                        DEFAULT_UI_TIMEOUT));
                        DEFAULT_UI_TIMEOUT));


        // Scroll the task offscreen as it is now first
        // Scroll the task offscreen as it is now first
@@ -398,16 +402,17 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest {
                (Math.abs(getTopRowTaskCountForTablet(launcher) - getBottomRowTaskCountForTablet(
                (Math.abs(getTopRowTaskCountForTablet(launcher) - getBottomRowTaskCountForTablet(
                        launcher)) <= 1)));
                        launcher)) <= 1)));


        // Test dismissing more tasks.
        // TODO(b/308841019): Re-enable after fixing Overview jank when dismiss
        assertTrue("Launcher internal state didn't remain in Overview",
//        // Test dismissing more tasks.
                isInState(() -> LauncherState.OVERVIEW));
//        assertTrue("Launcher internal state didn't remain in Overview",
        overview.getCurrentTask().dismiss();
//                isInState(() -> LauncherState.OVERVIEW));
        assertTrue("Launcher internal state didn't remain in Overview",
//        overview.getCurrentTask().dismiss();
                isInState(() -> LauncherState.OVERVIEW));
//        assertTrue("Launcher internal state didn't remain in Overview",
        overview.getCurrentTask().dismiss();
//                isInState(() -> LauncherState.OVERVIEW));
        executeOnLauncher(launcher -> assertTrue("Grid did not rebalance after multiple dismissals",
//        overview.getCurrentTask().dismiss();
                (Math.abs(getTopRowTaskCountForTablet(launcher) - getBottomRowTaskCountForTablet(
//        executeOnLauncher(launcher -> assertTrue("Grid did not rebalance after multiple dismissals",
                        launcher)) <= 1)));
//                (Math.abs(getTopRowTaskCountForTablet(launcher) - getBottomRowTaskCountForTablet(
//                        launcher)) <= 1)));


        // Test dismissing all tasks.
        // Test dismissing all tasks.
        mLauncher.goHome().switchToOverview().dismissAllTasks();
        mLauncher.goHome().switchToOverview().dismissAllTasks();
+1 −1
Original line number Original line Diff line number Diff line
@@ -143,7 +143,7 @@ public class TaplTestsSplitscreen extends AbstractQuickStepTest {
        startTestActivity(2);
        startTestActivity(2);
        startTestActivity(3);
        startTestActivity(3);


        if (mLauncher.isTablet()) {
        if (mLauncher.isTablet() && !mLauncher.isGridOnlyOverviewEnabled()) {
            mLauncher.goHome().switchToOverview().getOverviewActions()
            mLauncher.goHome().switchToOverview().getOverviewActions()
                    .clickSplit()
                    .clickSplit()
                    .getTestActivityTask(2)
                    .getTestActivityTask(2)
+11 −9
Original line number Original line Diff line number Diff line
@@ -25,6 +25,7 @@ import androidx.test.uiautomator.Direction;
import androidx.test.uiautomator.UiObject2;
import androidx.test.uiautomator.UiObject2;


import java.util.Collections;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Collectors;


@@ -201,7 +202,8 @@ public class BaseOverview extends LauncherInstrumentation.VisibleContainer {
            OverviewTask task = getCurrentTask();
            OverviewTask task = getCurrentTask();
            mLauncher.assertNotNull("current task is null", task);
            mLauncher.assertNotNull("current task is null", task);
            mLauncher.scrollLeftByDistance(verifyActiveContainer(),
            mLauncher.scrollLeftByDistance(verifyActiveContainer(),
                    task.getVisibleWidth() + mLauncher.getOverviewPageSpacing());
                    mLauncher.getRealDisplaySize().x - task.getUiObject().getVisibleBounds().left
                            + mLauncher.getOverviewPageSpacing());


            try (LauncherInstrumentation.Closable c2 =
            try (LauncherInstrumentation.Closable c2 =
                         mLauncher.addContextLayer("scrolled task off screen")) {
                         mLauncher.addContextLayer("scrolled task off screen")) {
@@ -231,14 +233,14 @@ public class BaseOverview extends LauncherInstrumentation.VisibleContainer {
        final List<UiObject2> taskViews = getTasks();
        final List<UiObject2> taskViews = getTasks();
        mLauncher.assertNotEquals("Unable to find a task", 0, taskViews.size());
        mLauncher.assertNotEquals("Unable to find a task", 0, taskViews.size());


        // taskViews contains up to 3 task views: the 'main' (having the widest visible part) one
        final List<OverviewTask> overviewTasks = taskViews.stream().map(
        // in the center, and parts of its right and left siblings. Find the main task view by
                task -> new OverviewTask(mLauncher, task, this)).toList();
        // its width.
        // The widest, and most top-right task should be the current task
        final UiObject2 widestTask = Collections.max(taskViews,
        return Collections.max(overviewTasks,
                (t1, t2) -> Integer.compare(mLauncher.getVisibleBounds(t1).width(),
                Comparator.comparingInt(OverviewTask::getVisibleWidth)
                        mLauncher.getVisibleBounds(t2).width()));
                        .thenComparingInt(OverviewTask::getTaskCenterX)

                        .thenComparing(
        return new OverviewTask(mLauncher, widestTask, this);
                                Comparator.comparing(OverviewTask::getTaskCenterY).reversed()));
    }
    }


    /** Returns an overview task matching TestActivity {@param activityNumber}. */
    /** Returns an overview task matching TestActivity {@param activityNumber}. */
+7 −4
Original line number Original line Diff line number Diff line
@@ -1608,8 +1608,11 @@ public final class LauncherInstrumentation {
        scroll(
        scroll(
                container,
                container,
                Direction.LEFT,
                Direction.LEFT,
                new Rect(leftGestureMargin, 0,
                new Rect(leftGestureMargin,
                        containerRect.width() - distance - rightGestureMarginInContainer, 0),
                        0,
                        Math.max(containerRect.width() - distance - leftGestureMargin,
                                rightGestureMarginInContainer),
                        0),
                10,
                10,
                true);
                true);
    }
    }
@@ -1782,7 +1785,7 @@ public final class LauncherInstrumentation {
                TestProtocol.TEST_INFO_RESPONSE_FIELD);
                TestProtocol.TEST_INFO_RESPONSE_FIELD);
    }
    }


    boolean isGridOnlyOverviewEnabled() {
    public boolean isGridOnlyOverviewEnabled() {
        return getTestInfo(TestProtocol.REQUEST_FLAG_ENABLE_GRID_ONLY_OVERVIEW).getBoolean(
        return getTestInfo(TestProtocol.REQUEST_FLAG_ENABLE_GRID_ONLY_OVERVIEW).getBoolean(
                TestProtocol.TEST_INFO_RESPONSE_FIELD);
                TestProtocol.TEST_INFO_RESPONSE_FIELD);
    }
    }
@@ -2225,7 +2228,7 @@ public final class LauncherInstrumentation {
            int bottomBound = Math.min(
            int bottomBound = Math.min(
                    containerBounds.bottom,
                    containerBounds.bottom,
                    getRealDisplaySize().y - getImeInsets().bottom);
                    getRealDisplaySize().y - getImeInsets().bottom);
            int y = (bottomBound - containerBounds.top) / 2;
            int y = (bottomBound + containerBounds.top) / 2;
            // Do not tap in the status bar.
            // Do not tap in the status bar.
            y = Math.max(y, getWindowInsets().top);
            y = Math.max(y, getWindowInsets().top);


Loading