diff options
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() = |
