From 7028b10c547445f0ea05ce395edc54944e93a6a7 Mon Sep 17 00:00:00 2001 From: vadimt Date: Thu, 26 Sep 2019 14:17:44 -0700 Subject: Removing magic constant 0.8f from AllApps Bug: 123904290 Change-Id: I52aeb3c0452175ba37b2524d632e8069ba0911c9 Merged-in: I91ff4d4f962eefea787989362c32d987f546e84d --- tests/tapl/com/android/launcher3/tapl/AllApps.java | 7 ++++- .../launcher3/tapl/LauncherInstrumentation.java | 33 ++++++++++++++++++++ tests/tapl/com/android/launcher3/tapl/Widgets.java | 36 +++------------------- 3 files changed, 43 insertions(+), 33 deletions(-) (limited to 'tests') diff --git a/tests/tapl/com/android/launcher3/tapl/AllApps.java b/tests/tapl/com/android/launcher3/tapl/AllApps.java index f070280ea..f63612dd1 100644 --- a/tests/tapl/com/android/launcher3/tapl/AllApps.java +++ b/tests/tapl/com/android/launcher3/tapl/AllApps.java @@ -90,6 +90,7 @@ public class AllApps extends LauncherInstrumentation.VisibleContainer { final UiObject2 allAppsContainer = verifyActiveContainer(); final UiObject2 appListRecycler = mLauncher.waitForObjectInContainer(allAppsContainer, "apps_list_view"); + final UiObject2 searchBox = getSearchBox(allAppsContainer); allAppsContainer.setGestureMargins( 0, getSearchBox(allAppsContainer).getVisibleBounds().bottom + 1, @@ -103,7 +104,11 @@ public class AllApps extends LauncherInstrumentation.VisibleContainer { int scroll = getScroll(allAppsContainer); try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer("scrolled")) { while (!hasClickableIcon(allAppsContainer, appListRecycler, appIconSelector)) { - mLauncher.scroll(allAppsContainer, Direction.DOWN, 0.8f, null, 50); + mLauncher.scrollToLastVisibleRow( + allAppsContainer, + mLauncher.getObjectsInContainer(allAppsContainer, "icon"), + searchBox.getVisibleBounds().bottom - + allAppsContainer.getVisibleBounds().top); final int newScroll = getScroll(allAppsContainer); if (newScroll == scroll) break; diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java index 306fe4870..1c8f92e91 100644 --- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java +++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java @@ -59,6 +59,7 @@ import androidx.test.uiautomator.UiDevice; import androidx.test.uiautomator.UiObject2; import androidx.test.uiautomator.Until; +import com.android.launcher3.ResourceUtils; import com.android.launcher3.testing.TestProtocol; import com.android.systemui.shared.system.QuickStepContract; @@ -67,6 +68,8 @@ import org.junit.Assert; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.lang.ref.WeakReference; +import java.util.Collection; +import java.util.Collections; import java.util.Deque; import java.util.LinkedList; import java.util.List; @@ -765,6 +768,36 @@ public final class LauncherInstrumentation { TestProtocol.stateOrdinalToString(parcel.getInt(TestProtocol.STATE_FIELD))); } + int getBottomGestureSize() { + return ResourceUtils.getNavbarSize( + ResourceUtils.NAVBAR_BOTTOM_GESTURE_SIZE, getResources()) + 1; + } + + int getBottomGestureMargin(UiObject2 container) { + return container.getVisibleBounds().bottom - getRealDisplaySize().y + + getBottomGestureSize(); + } + + void scrollToLastVisibleRow(UiObject2 container, Collection items, int topPadding) { + final UiObject2 lowestItem = Collections.max(items, (i1, i2) -> + Integer.compare(i1.getVisibleBounds().top, i2.getVisibleBounds().top)); + + final int gestureStart = lowestItem.getVisibleBounds().top + getTouchSlop(); + final int distance = gestureStart - container.getVisibleBounds().top - topPadding; + final int bottomMargin = container.getVisibleBounds().height() - distance; + + scroll( + container, + Direction.DOWN, + 1f, + new Rect( + 0, + 0, + 0, + Math.max(bottomMargin, getBottomGestureMargin(container))), + 150); + } + void scroll(UiObject2 container, Direction direction, float percent, Rect margins, int steps) { final Rect rect = container.getVisibleBounds(); if (margins != null) { diff --git a/tests/tapl/com/android/launcher3/tapl/Widgets.java b/tests/tapl/com/android/launcher3/tapl/Widgets.java index 39cb0bf7a..aabcac282 100644 --- a/tests/tapl/com/android/launcher3/tapl/Widgets.java +++ b/tests/tapl/com/android/launcher3/tapl/Widgets.java @@ -24,10 +24,7 @@ import androidx.test.uiautomator.BySelector; import androidx.test.uiautomator.Direction; import androidx.test.uiautomator.UiObject2; -import com.android.launcher3.ResourceUtils; - import java.util.Collection; -import java.util.Collections; /** * All widgets container. @@ -52,7 +49,7 @@ public final class Widgets extends LauncherInstrumentation.VisibleContainer { widgetsContainer, Direction.DOWN, 1f, - new Rect(0, 0, 0, getBottomGestureMargin(widgetsContainer)), + new Rect(0, 0, 0, mLauncher.getBottomGestureMargin(widgetsContainer)), FLING_STEPS); try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer("flung forward")) { verifyActiveContainer(); @@ -61,16 +58,6 @@ public final class Widgets extends LauncherInstrumentation.VisibleContainer { } } - private int getBottomGestureMargin(UiObject2 widgetsContainer) { - return widgetsContainer.getVisibleBounds().bottom - mLauncher.getRealDisplaySize().y + - getBottomGestureSize(); - } - - private int getBottomGestureSize() { - return ResourceUtils.getNavbarSize( - ResourceUtils.NAVBAR_BOTTOM_GESTURE_SIZE, mLauncher.getResources()) + 1; - } - /** * Flings backward (up) and waits the fling's end. */ @@ -117,29 +104,14 @@ public final class Widgets extends LauncherInstrumentation.VisibleContainer { "com.android.launcher3.widget.WidgetCell", widget.getClassName()); - if (widget.getVisibleBounds().bottom <= displaySize.y - getBottomGestureSize()) { + if (widget.getVisibleBounds().bottom <= + displaySize.y - mLauncher.getBottomGestureSize()) { return new Widget(mLauncher, widget); } } mLauncher.assertTrue("Too many attempts", ++i <= 40); - final UiObject2 lowestCell = Collections.max(cells, (c1, c2) -> - Integer.compare(c1.getVisibleBounds().top, c2.getVisibleBounds().top)); - - final int gestureStart = lowestCell.getVisibleBounds().top + mLauncher.getTouchSlop(); - final int distance = gestureStart - widgetsContainer.getVisibleBounds().top; - final int bottomMargin = widgetsContainer.getVisibleBounds().height() - distance; - - mLauncher.scroll( - widgetsContainer, - Direction.DOWN, - 1f, - new Rect( - 0, - 0, - 0, - Math.max(bottomMargin, getBottomGestureMargin(widgetsContainer))), - 150); + mLauncher.scrollToLastVisibleRow(widgetsContainer, cells, 0); } } } -- cgit v1.2.3