summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2025-07-03 15:40:24 +0200
committerDavid Göransson <david.goransson@mullvad.net>2025-07-04 09:16:48 +0200
commit9b5764c6efa5589ac71a564be2e819f320eb8b54 (patch)
treeb90897c6f41cdbed6fcb887afdfca69c579a054c /android
parentfebb927e2eceaa5e1507f896b717c32efe6bd98f (diff)
downloadmullvadvpn-9b5764c6efa5589ac71a564be2e819f320eb8b54.tar.xz
mullvadvpn-9b5764c6efa5589ac71a564be2e819f320eb8b54.zip
Remove waitForStable workaround
Diffstat (limited to 'android')
-rw-r--r--android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/extension/UiAutomatorExtensions.kt14
-rw-r--r--android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/Page.kt4
-rw-r--r--android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/page/TooManyDevicesPage.kt4
3 files changed, 4 insertions, 18 deletions
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()