diff options
| author | David Göransson <david.goransson@mullvad.net> | 2025-05-14 11:55:28 +0200 |
|---|---|---|
| committer | David Göransson <david.goransson@mullvad.net> | 2025-05-14 17:22:37 +0200 |
| commit | 8deaeb5f916edfdfa6a2d7a4097639727e89729a (patch) | |
| tree | b4433adffe841e3989b66e4e9ab6b25cd5195efe /android/app/src | |
| parent | 90b42c8d08717f54fcc2d9a3ee7135002f3cef50 (diff) | |
| download | mullvadvpn-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.kt | 13 |
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() = |
