summaryrefslogtreecommitdiffhomepage
path: root/android/app/src
diff options
context:
space:
mode:
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() =