From f91c1dc27fd08b4830bf890c042ce458297bc7f2 Mon Sep 17 00:00:00 2001 From: mlykotom Date: Mon, 21 Nov 2022 10:47:59 +0100 Subject: [PATCH] Fix fling gestures --- .../com/google/samples/apps/nowinandroid/Utils.kt | 12 ++++++++++++ .../apps/nowinandroid/bookmarks/BookmarksActions.kt | 6 ++---- .../apps/nowinandroid/foryou/ForYouActions.kt | 6 ++---- .../apps/nowinandroid/interests/InterestsActions.kt | 10 +++------- 4 files changed, 19 insertions(+), 15 deletions(-) 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() {