diff --git a/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/Utils.kt b/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/Utils.kt index dc353ccb8..494e451d0 100644 --- a/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/Utils.kt +++ b/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/Utils.kt @@ -16,6 +16,9 @@ package com.google.samples.apps.nowinandroid +import androidx.test.uiautomator.Direction +import androidx.test.uiautomator.UiDevice +import androidx.test.uiautomator.UiObject2 import com.google.samples.apps.nowinandroid.benchmarks.BuildConfig /** @@ -26,3 +29,12 @@ val PACKAGE_NAME = buildString { append(BuildConfig.APP_FLAVOR_SUFFIX) append(BuildConfig.APP_BUILD_TYPE_SUFFIX) } + +fun UiDevice.flingElementDownUp(element: UiObject2) { + // Set some margin from the sides to prevent triggering system navigation + element.setGestureMargin(displayWidth / 5) + + element.fling(Direction.DOWN) + waitForIdle() + element.fling(Direction.UP) +} diff --git a/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/bookmarks/BookmarksActions.kt b/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/bookmarks/BookmarksActions.kt index f5cde3795..b2e99d8cc 100644 --- a/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/bookmarks/BookmarksActions.kt +++ b/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/bookmarks/BookmarksActions.kt @@ -18,11 +18,9 @@ package com.google.samples.apps.nowinandroid.bookmarks import androidx.benchmark.macro.MacrobenchmarkScope import androidx.test.uiautomator.By -import androidx.test.uiautomator.Direction +import com.google.samples.apps.nowinandroid.flingElementDownUp fun MacrobenchmarkScope.bookmarksScrollFeedDownUp() { val feedList = device.findObject(By.res("bookmarks:feed")) - feedList.fling(Direction.DOWN) - device.waitForIdle() - feedList.fling(Direction.UP) + device.flingElementDownUp(feedList) } diff --git a/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/foryou/ForYouActions.kt b/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/foryou/ForYouActions.kt index 257b7e910..abdf9e6be 100644 --- a/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/foryou/ForYouActions.kt +++ b/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/foryou/ForYouActions.kt @@ -18,8 +18,8 @@ package com.google.samples.apps.nowinandroid.foryou import androidx.benchmark.macro.MacrobenchmarkScope import androidx.test.uiautomator.By -import androidx.test.uiautomator.Direction import androidx.test.uiautomator.Until +import com.google.samples.apps.nowinandroid.flingElementDownUp fun MacrobenchmarkScope.forYouWaitForContent() { // Wait until content is loaded @@ -38,7 +38,5 @@ fun MacrobenchmarkScope.forYouSelectAuthors() { fun MacrobenchmarkScope.forYouScrollFeedDownUp() { val feedList = device.findObject(By.res("forYou:feed")) - feedList.fling(Direction.DOWN) - device.waitForIdle() - feedList.fling(Direction.UP) + device.flingElementDownUp(feedList) } diff --git a/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/interests/InterestsActions.kt b/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/interests/InterestsActions.kt index 3ee8a442e..b68dfea26 100644 --- a/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/interests/InterestsActions.kt +++ b/benchmarks/src/main/java/com/google/samples/apps/nowinandroid/interests/InterestsActions.kt @@ -18,21 +18,17 @@ package com.google.samples.apps.nowinandroid.interests import androidx.benchmark.macro.MacrobenchmarkScope import androidx.test.uiautomator.By -import androidx.test.uiautomator.Direction import androidx.test.uiautomator.Until +import com.google.samples.apps.nowinandroid.flingElementDownUp fun MacrobenchmarkScope.interestsScrollTopicsDownUp() { val topicsList = device.findObject(By.res("interests:topics")) - topicsList.fling(Direction.DOWN) - device.waitForIdle() - topicsList.fling(Direction.UP) + device.flingElementDownUp(topicsList) } fun MacrobenchmarkScope.interestsScrollPeopleDownUp() { val peopleList = device.findObject(By.res("interests:people")) - peopleList.fling(Direction.DOWN) - device.waitForIdle() - peopleList.fling(Direction.UP) + device.flingElementDownUp(peopleList) } fun MacrobenchmarkScope.interestsWaitForTopics() {