diff options
| author | Kalle Lindström <karl.lindstrom@mullvad.net> | 2025-08-14 10:37:25 +0200 |
|---|---|---|
| committer | Kalle Lindström <karl.lindstrom@mullvad.net> | 2025-08-14 10:37:25 +0200 |
| commit | a4d9c4627ab91bc98d783b5a56f5c72b487ebe5f (patch) | |
| tree | 4cbbae079b6f14ae2d03842fd31c41d6ef639371 /android | |
| parent | fe53ad976eb77fffbc845710804e0abd53e99904 (diff) | |
| parent | 3c6e9d367e93740dc9483fb3dee2ec3beeefb0ce (diff) | |
| download | mullvadvpn-a4d9c4627ab91bc98d783b5a56f5c72b487ebe5f.tar.xz mullvadvpn-a4d9c4627ab91bc98d783b5a56f5c72b487ebe5f.zip | |
Merge branch 'set-relay-selection-to-current-country-on-first-start-droid-2063'
Diffstat (limited to 'android')
| -rw-r--r-- | android/CHANGELOG.md | 1 | ||||
| -rw-r--r-- | android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/DefaultLocationTest.kt | 44 |
2 files changed, 45 insertions, 0 deletions
diff --git a/android/CHANGELOG.md b/android/CHANGELOG.md index 0c6b82b3c8..1afbf7c5e8 100644 --- a/android/CHANGELOG.md +++ b/android/CHANGELOG.md @@ -25,6 +25,7 @@ Line wrap the file at 100 chars. Th ### Added - Add list of recent server selections in the select location view. - Add support for devices with 16KB page size. +- Set default server based on the current location when the app is started for the first time. ## [android/2025.6] - 2025-08-12 diff --git a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/DefaultLocationTest.kt b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/DefaultLocationTest.kt new file mode 100644 index 0000000000..935e1a28a5 --- /dev/null +++ b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/DefaultLocationTest.kt @@ -0,0 +1,44 @@ +package net.mullvad.mullvadvpn.test.e2e + +import java.io.File +import net.mullvad.mullvadvpn.test.common.page.ConnectPage +import net.mullvad.mullvadvpn.test.common.page.LoginPage +import net.mullvad.mullvadvpn.test.common.page.on +import net.mullvad.mullvadvpn.test.e2e.misc.AccountTestRule +import org.json.JSONObject +import org.junit.jupiter.api.Assertions.assertFalse +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.extension.RegisterExtension + +class DefaultLocationTest : EndToEndTest() { + + @RegisterExtension @JvmField val accountTestRule = AccountTestRule() + + @Test + fun testUpdateDefaultLocationFlag() { + app.launchAndEnsureOnLoginPage() + + // The update_default_location flag should be set to true when first starting the app + assert(readUpdateDefaultLocationKeyFromSettings()) + + on<LoginPage> { + enterAccountNumber(accountTestRule.validAccountNumber) + clickLoginButton() + } + + on<ConnectPage>() + + // After we have logged in the daemon will have set the new default location so the + // flag should be false. + assertFalse(readUpdateDefaultLocationKeyFromSettings()) + } + + private fun readUpdateDefaultLocationKeyFromSettings(): Boolean { + val settings = File(targetApplication.filesDir, "settings.json") + if (!settings.isFile()) error("settings.json does not exist") + + val text = settings.readText() + val json = JSONObject(text) + return json.getBoolean("update_default_location") + } +} |
