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

Commit 1824b562 authored by vadimt's avatar vadimt
Browse files

Using model-time for Overview.switchToAllApps

Change-Id: I35efcc2f04d4d31f9b2a8d42a3fce29c481951f5
parent e60e2bab
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -114,7 +114,7 @@ public class AllApps extends LauncherInstrumentation.VisibleContainer {
                        "Exceeded max scroll attempts: " + MAX_SCROLL_ATTEMPTS,
                        "Exceeded max scroll attempts: " + MAX_SCROLL_ATTEMPTS,
                        ++attempts <= MAX_SCROLL_ATTEMPTS);
                        ++attempts <= MAX_SCROLL_ATTEMPTS);


                mLauncher.scrollWithModelTime(allAppsContainer, Direction.UP, 1, margins, 50);
                mLauncher.scroll(allAppsContainer, Direction.UP, 1, margins, 50);
            }
            }


            try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer("scrolled up")) {
            try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer("scrolled up")) {
@@ -134,7 +134,7 @@ public class AllApps extends LauncherInstrumentation.VisibleContainer {
            // Try to figure out how much percentage of the container needs to be scrolled in order
            // Try to figure out how much percentage of the container needs to be scrolled in order
            // to reveal the app icon to have the MIN_INTERACT_SIZE
            // to reveal the app icon to have the MIN_INTERACT_SIZE
            final float pct = Math.max(((float) (MIN_INTERACT_SIZE - appHeight)) / mHeight, 0.2f);
            final float pct = Math.max(((float) (MIN_INTERACT_SIZE - appHeight)) / mHeight, 0.2f);
            mLauncher.scrollWithModelTime(allAppsContainer, Direction.DOWN, pct, null, 10);
            mLauncher.scroll(allAppsContainer, Direction.DOWN, pct, null, 10);
            try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
            try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
                    "scrolled an icon in all apps to make it visible - and then")) {
                    "scrolled an icon in all apps to make it visible - and then")) {
                mLauncher.waitForIdle();
                mLauncher.waitForIdle();
@@ -151,7 +151,7 @@ public class AllApps extends LauncherInstrumentation.VisibleContainer {
                     mLauncher.addContextLayer("want to fling forward in all apps")) {
                     mLauncher.addContextLayer("want to fling forward in all apps")) {
            final UiObject2 allAppsContainer = verifyActiveContainer();
            final UiObject2 allAppsContainer = verifyActiveContainer();
            // Start the gesture in the center to avoid starting at elements near the top.
            // Start the gesture in the center to avoid starting at elements near the top.
            mLauncher.scrollWithModelTime(
            mLauncher.scroll(
                    allAppsContainer, Direction.DOWN, 1, new Rect(0, 0, 0, mHeight / 2), 10);
                    allAppsContainer, Direction.DOWN, 1, new Rect(0, 0, 0, mHeight / 2), 10);
            verifyActiveContainer();
            verifyActiveContainer();
        }
        }
@@ -165,7 +165,7 @@ public class AllApps extends LauncherInstrumentation.VisibleContainer {
                     mLauncher.addContextLayer("want to fling backward in all apps")) {
                     mLauncher.addContextLayer("want to fling backward in all apps")) {
            final UiObject2 allAppsContainer = verifyActiveContainer();
            final UiObject2 allAppsContainer = verifyActiveContainer();
            // Start the gesture in the center, for symmetry with forward.
            // Start the gesture in the center, for symmetry with forward.
            mLauncher.scrollWithModelTime(
            mLauncher.scroll(
                    allAppsContainer, Direction.UP, 1, new Rect(0, mHeight / 2, 0, 0), 10);
                    allAppsContainer, Direction.UP, 1, new Rect(0, mHeight / 2, 0, 0), 10);
            verifyActiveContainer();
            verifyActiveContainer();
        }
        }
+7 −9
Original line number Original line Diff line number Diff line
@@ -365,10 +365,10 @@ public final class LauncherInstrumentation {
                        ? NORMAL_STATE_ORDINAL : BACKGROUND_APP_STATE_ORDINAL;
                        ? NORMAL_STATE_ORDINAL : BACKGROUND_APP_STATE_ORDINAL;
                final Point displaySize = getRealDisplaySize();
                final Point displaySize = getRealDisplaySize();


                swipeWithModelTime(
                swipeToState(
                        displaySize.x / 2, displaySize.y - 1,
                        displaySize.x / 2, displaySize.y - 1,
                        displaySize.x / 2, 0,
                        displaySize.x / 2, 0,
                        finalState, ZERO_BUTTON_STEPS_FROM_BACKGROUND_TO_HOME);
                        ZERO_BUTTON_STEPS_FROM_BACKGROUND_TO_HOME, finalState);
            }
            }
        } else {
        } else {
            log(action = "clicking home button");
            log(action = "clicking home button");
@@ -565,14 +565,12 @@ public final class LauncherInstrumentation {
                () -> mDevice.swipe(startX, startY, endX, endY, steps));
                () -> mDevice.swipe(startX, startY, endX, endY, steps));
    }
    }


    void swipeWithModelTime(
    void swipeToState(int startX, int startY, int endX, int endY, int steps, int expectedState) {
            int startX, int startY, int endX, int endY, int expectedState, int steps) {
        changeStateViaGesture(startX, startY, endX, endY, expectedState,
        changeStateViaGesture(startX, startY, endX, endY, expectedState,
                () -> swipeWithModelTime(startX, startY, endX, endY, steps));
                () -> linearGesture(startX, startY, endX, endY, steps));
    }
    }


    void scrollWithModelTime(
    void scroll(UiObject2 container, Direction direction, float percent, Rect margins, int steps) {
            UiObject2 container, Direction direction, float percent, Rect margins, int steps) {
        final Rect rect = container.getVisibleBounds();
        final Rect rect = container.getVisibleBounds();
        if (margins != null) {
        if (margins != null) {
            rect.left += margins.left;
            rect.left += margins.left;
@@ -609,7 +607,7 @@ public final class LauncherInstrumentation {
        }
        }


        executeAndWaitForEvent(
        executeAndWaitForEvent(
                () -> swipeWithModelTime(startX, startY, endX, endY, steps),
                () -> linearGesture(startX, startY, endX, endY, steps),
                event -> TestProtocol.SCROLL_FINISHED_MESSAGE.equals(event.getClassName()),
                event -> TestProtocol.SCROLL_FINISHED_MESSAGE.equals(event.getClassName()),
                "Didn't receive a scroll end message: " + startX + ", " + startY
                "Didn't receive a scroll end message: " + startX + ", " + startY
                        + ", " + endX + ", " + endY);
                        + ", " + endX + ", " + endY);
@@ -617,7 +615,7 @@ public final class LauncherInstrumentation {


    // Inject a swipe gesture. Inject exactly 'steps' motion points, incrementing event time by a
    // Inject a swipe gesture. Inject exactly 'steps' motion points, incrementing event time by a
    // fixed interval each time.
    // fixed interval each time.
    void swipeWithModelTime(int startX, int startY, int endX, int endY, int steps) {
    private void linearGesture(int startX, int startY, int endX, int endY, int steps) {
        final long downTime = SystemClock.uptimeMillis();
        final long downTime = SystemClock.uptimeMillis();
        final Point start = new Point(startX, startY);
        final Point start = new Point(startX, startY);
        final Point end = new Point(endX, endY);
        final Point end = new Point(endX, endY);
+2 −2
Original line number Original line Diff line number Diff line
@@ -52,10 +52,10 @@ public final class Overview extends BaseOverview {
            // Swipe from the prediction row to the top.
            // Swipe from the prediction row to the top.
            LauncherInstrumentation.log("Overview.switchToAllApps before swipe");
            LauncherInstrumentation.log("Overview.switchToAllApps before swipe");
            final UiObject2 predictionRow = mLauncher.waitForLauncherObject("prediction_row");
            final UiObject2 predictionRow = mLauncher.waitForLauncherObject("prediction_row");
            mLauncher.swipe(mLauncher.getDevice().getDisplayWidth() / 2,
            mLauncher.swipeToState(mLauncher.getDevice().getDisplayWidth() / 2,
                    predictionRow.getVisibleBounds().centerY(),
                    predictionRow.getVisibleBounds().centerY(),
                    mLauncher.getDevice().getDisplayWidth() / 2,
                    mLauncher.getDevice().getDisplayWidth() / 2,
                    0, ALL_APPS_STATE_ORDINAL);
                    0, 50, ALL_APPS_STATE_ORDINAL);


            try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
            try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
                    "swiped all way up from overview")) {
                    "swiped all way up from overview")) {
+3 −3
Original line number Original line Diff line number Diff line
@@ -66,13 +66,13 @@ public final class Workspace extends Home {
                    "switchToAllApps: swipeHeight = " + swipeHeight + ", slop = "
                    "switchToAllApps: swipeHeight = " + swipeHeight + ", slop = "
                            + mLauncher.getTouchSlop());
                            + mLauncher.getTouchSlop());


            mLauncher.swipeWithModelTime(
            mLauncher.swipeToState(
                    start.x,
                    start.x,
                    start.y,
                    start.y,
                    start.x,
                    start.x,
                    start.y - swipeHeight - mLauncher.getTouchSlop(),
                    start.y - swipeHeight - mLauncher.getTouchSlop(),
                    ALL_APPS_STATE_ORDINAL
                    60,
            );
                    ALL_APPS_STATE_ORDINAL);


            try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
            try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
                    "swiped to all apps")) {
                    "swiped to all apps")) {