diff options
Diffstat (limited to 'android')
5 files changed, 10 insertions, 24 deletions
diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml index b1ef2bde46..993586e2fd 100644 --- a/android/gradle/libs.versions.toml +++ b/android/gradle/libs.versions.toml @@ -35,7 +35,7 @@ androidx-test = "1.6.1" androidx-testmonitor = "1.7.2" androidx-testorchestrator = "1.5.1" androidx-testrunner = "1.6.2" -androidx-uiautomator = "2.4.0-alpha03" +androidx-uiautomator = "2.4.0-alpha05" androidx-tv = "1.0.0" # Arrow diff --git a/android/gradle/verification-metadata.xml b/android/gradle/verification-metadata.xml index 97c1b353fb..8512f7c0db 100644 --- a/android/gradle/verification-metadata.xml +++ b/android/gradle/verification-metadata.xml @@ -2426,12 +2426,12 @@ <sha256 value="69893d87f3682a2abf95757bfa57c062a491d34f316cb55dc99a022e9c1dbbbe" origin="Generated by Gradle"/> </artifact> </component> - <component group="androidx.test.uiautomator" name="uiautomator" version="2.4.0-alpha03"> - <artifact name="uiautomator-2.4.0-alpha03.aar"> - <sha256 value="eec96451e0b35a23ebf32bafe3d6d7f8498e21c7f646c5d5e75e1020919cb045" origin="Generated by Gradle"/> + <component group="androidx.test.uiautomator" name="uiautomator" version="2.4.0-alpha05"> + <artifact name="uiautomator-2.4.0-alpha05.aar"> + <sha256 value="44933f7d78b436d34c8a1aab0297fd597fd0a58a8350613a30044868ff9a4a00" origin="Generated by Gradle"/> </artifact> - <artifact name="uiautomator-2.4.0-alpha03.module"> - <sha256 value="9a935084c738a01673987f82cfa0bc0c22bd409fa17c80d0b2e5628cb9acc281" origin="Generated by Gradle"/> + <artifact name="uiautomator-2.4.0-alpha05.module"> + <sha256 value="4f74d74883b9f4dc6b4ab11cb3359102bdd9f72e67e16dc834b02b662e05c208" origin="Generated by Gradle"/> </artifact> </component> <component group="androidx.tracing" name="tracing" version="1.0.0"> diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/extension/UiAutomatorExtensions.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/extension/UiAutomatorExtensions.kt index 37c2283962..11fc039be9 100644 --- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/extension/UiAutomatorExtensions.kt +++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/extension/UiAutomatorExtensions.kt @@ -2,14 +2,12 @@ package net.mullvad.mullvadvpn.test.common.extension import androidx.test.uiautomator.By import androidx.test.uiautomator.BySelector -import androidx.test.uiautomator.StableResult import androidx.test.uiautomator.StaleObjectException import androidx.test.uiautomator.UiDevice import androidx.test.uiautomator.UiObject2 import androidx.test.uiautomator.UiObject2Condition import androidx.test.uiautomator.Until import androidx.test.uiautomator.waitForAppToBeVisible -import androidx.test.uiautomator.waitForStableInActiveWindow import co.touchlab.kermit.Logger import java.lang.Thread.sleep import java.util.regex.Pattern @@ -114,15 +112,3 @@ fun UiDevice.acceptVpnPermissionDialog() { findObjectWithTimeout(By.text("OK")).click() waitForAppToBeVisible(currentPackageName) } - -fun UiDevice.waitForStableInActiveWindowSafe(): StableResult? = - try { - // Wait for stable is not very stable, but it is our best best to wait for animation to - // settle. For now we will just catch the exception and sleep for a bit and hope for the - // best. - waitForStableInActiveWindow() - } catch (e: Exception) { - Logger.e("waitForStableInActiveWindow failed", e) - sleep(1000) - null - } diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/Page.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/Page.kt index e01ab6dec7..c865fb0e50 100644 --- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/Page.kt +++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/Page.kt @@ -2,7 +2,7 @@ package net.mullvad.mullvadvpn.test.common.page import androidx.test.platform.app.InstrumentationRegistry import androidx.test.uiautomator.UiDevice -import net.mullvad.mullvadvpn.test.common.extension.waitForStableInActiveWindowSafe +import androidx.test.uiautomator.waitForStableInActiveWindow sealed class Page { val uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) @@ -14,7 +14,7 @@ inline fun <reified T : Page> on(scope: T.() -> Unit = {}) { val page = T::class.java.getConstructor().newInstance() // Wait for the screen to settle and so we don't proceed with actions too early. Otherwise, we // might start clicking on the screen before it is in a resumed state. - page.uiDevice.waitForStableInActiveWindowSafe() + page.uiDevice.waitForStableInActiveWindow() page.assertIsDisplayed() page.scope() diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/TooManyDevicesPage.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/TooManyDevicesPage.kt index 39ad3cd83a..2f5f8c4133 100644 --- a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/TooManyDevicesPage.kt +++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/TooManyDevicesPage.kt @@ -1,9 +1,9 @@ package net.mullvad.mullvadvpn.test.common.page import androidx.test.uiautomator.By +import androidx.test.uiautomator.waitForStableInActiveWindow import net.mullvad.mullvadvpn.test.common.extension.expectObjectToDisappearWithTimeout import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout -import net.mullvad.mullvadvpn.test.common.extension.waitForStableInActiveWindowSafe class TooManyDevicesPage internal constructor() : Page() { private val tooManyDevicesSelector = By.text("Too many devices") @@ -37,7 +37,7 @@ fun TooManyDevicesPage.removeDeviceFlow(deviceName: String) { clickRemoveDevice(deviceName) // Wait for the confirmation dialog to appear - uiDevice.waitForStableInActiveWindowSafe() + uiDevice.waitForStableInActiveWindow() // Confirm logout uiDevice.findObjectWithTimeout(By.text("Yes, log out device")).click() |
