summaryrefslogtreecommitdiffhomepage
path: root/android/app/src
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2025-05-14 11:55:28 +0200
committerDavid Göransson <david.goransson@mullvad.net>2025-05-14 17:22:37 +0200
commit8deaeb5f916edfdfa6a2d7a4097639727e89729a (patch)
treeb4433adffe841e3989b66e4e9ab6b25cd5195efe /android/app/src
parent90b42c8d08717f54fcc2d9a3ee7135002f3cef50 (diff)
downloadmullvadvpn-8deaeb5f916edfdfa6a2d7a4097639727e89729a.tar.xz
mullvadvpn-8deaeb5f916edfdfa6a2d7a4097639727e89729a.zip
Fix save account prompted multiple times
Diffstat (limited to 'android/app/src')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt13
1 files changed, 6 insertions, 7 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt
index e22055cba7..7e41c05286 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt
@@ -8,6 +8,7 @@ import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.filter
import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.merge
import kotlinx.coroutines.flow.onEach
@@ -40,13 +41,7 @@ class WelcomeViewModel(
val uiState =
combine(
connectionProxy.tunnelState,
- deviceRepository.deviceState.filterNotNull().onEach {
- viewModelScope.launch {
- it.accountNumber()?.let { accountNumber ->
- _uiSideEffect.send(UiSideEffect.StoreCredentialsRequest(accountNumber))
- }
- }
- },
+ deviceRepository.deviceState.filterNotNull(),
paymentUseCase.paymentAvailability,
) { tunnelState, accountState, paymentAvailability ->
WelcomeUiState(
@@ -69,6 +64,10 @@ class WelcomeViewModel(
verifyPurchases()
fetchPaymentAvailability()
viewModelScope.launch { deviceRepository.updateDevice() }
+ viewModelScope.launch {
+ val accountNumber = uiState.map { it.accountNumber }.filterNotNull().first()
+ _uiSideEffect.send(UiSideEffect.StoreCredentialsRequest(accountNumber))
+ }
}
private fun hasAddedTimeEffect() =