diff options
| author | Albin <albin@mullvad.net> | 2023-03-16 16:29:51 +0100 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2023-03-16 16:29:58 +0100 |
| commit | c7d71aa52d1ec70c399fa0cd9125940def86e66c (patch) | |
| tree | b0448868d7a25b4fd8b5c2c39bff0e39f357ea86 /android | |
| parent | 38a9c3d9b706173e0a3bbfabc5bf9da5a6e205c9 (diff) | |
| download | mullvadvpn-c7d71aa52d1ec70c399fa0cd9125940def86e66c.tar.xz mullvadvpn-c7d71aa52d1ec70c399fa0cd9125940def86e66c.zip | |
Fix notification permission behavior and test
Diffstat (limited to 'android')
3 files changed, 9 insertions, 1 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt index 7852d0b9f6..7401ed9f68 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt @@ -114,7 +114,6 @@ open class MainActivity : FragmentActivity() { initializeStateHandlerAndServiceConnection( apiEndpointConfiguration = intent?.getApiEndpointConfigurationExtras() ) - checkForNotificationPermission() } else { openPrivacyDisclaimerFragment() } @@ -124,6 +123,7 @@ open class MainActivity : FragmentActivity() { apiEndpointConfiguration: ApiEndpointConfiguration? ) { launchDeviceStateHandler() + checkForNotificationPermission() serviceConnectionManager.bind( vpnPermissionRequestHandler = ::requestVpnPermission, apiEndpointConfiguration = apiEndpointConfiguration 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 cb953b920e..59905d72e2 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 @@ -36,6 +36,10 @@ fun UiDevice.findObjectWithTimeout( } } +fun UiDevice.clickAgreeOnPrivacyDisclaimer() { + findObjectWithTimeout(By.text("Agree and continue")).click() +} + fun UiDevice.clickAllowOnNotificationPermissionPromptIfApiLevel31AndAbove( timeout: Long = DEFAULT_INTERACTION_TIMEOUT ) { diff --git a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LoginMockApiTest.kt b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LoginMockApiTest.kt index ef118d35e2..c6a9c3478a 100644 --- a/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LoginMockApiTest.kt +++ b/android/test/mockapi/src/main/kotlin/net/mullvad/mullvadvpn/test/mockapi/LoginMockApiTest.kt @@ -2,6 +2,7 @@ package net.mullvad.mullvadvpn.test.mockapi import androidx.test.runner.AndroidJUnit4 import androidx.test.uiautomator.By +import net.mullvad.mullvadvpn.test.common.extension.clickAgreeOnPrivacyDisclaimer import net.mullvad.mullvadvpn.test.common.extension.clickAllowOnNotificationPermissionPromptIfApiLevel31AndAbove import net.mullvad.mullvadvpn.test.common.extension.findObjectWithTimeout import net.mullvad.mullvadvpn.test.mockapi.util.currentUtcTimeWithOffsetZero @@ -21,6 +22,7 @@ class LoginMockApiTest : MockApiTest() { app.launch(endpoint) // Act + device.clickAgreeOnPrivacyDisclaimer() device.clickAllowOnNotificationPermissionPromptIfApiLevel31AndAbove() app.waitForLoginPrompt() app.attemptLogin(validAccountToken) @@ -40,6 +42,7 @@ class LoginMockApiTest : MockApiTest() { // Act app.launch(endpoint) + device.clickAgreeOnPrivacyDisclaimer() device.clickAllowOnNotificationPermissionPromptIfApiLevel31AndAbove() app.waitForLoginPrompt() app.attemptLogin(validAccountToken) @@ -59,6 +62,7 @@ class LoginMockApiTest : MockApiTest() { // Act app.launch(endpoint) + device.clickAgreeOnPrivacyDisclaimer() device.clickAllowOnNotificationPermissionPromptIfApiLevel31AndAbove() app.waitForLoginPrompt() app.attemptLogin(validAccountToken) |
