@@ -16,6 +16,7 @@ import kotlinx.coroutines.flow.stateIn
16
16
import kotlinx.coroutines.launch
17
17
import net.mullvad.mullvadvpn.compose.state.WelcomeUiState
18
18
import net.mullvad.mullvadvpn.lib.common.util.isAfterNowInstant
19
+ import net.mullvad.mullvadvpn.lib.model.AccountNumber
19
20
import net.mullvad.mullvadvpn.lib.model.WebsiteAuthToken
20
21
import net.mullvad.mullvadvpn.lib.shared.AccountRepository
21
22
import net.mullvad.mullvadvpn.lib.shared.ConnectionProxy
@@ -39,12 +40,18 @@ class WelcomeViewModel(
39
40
val uiState =
40
41
combine(
41
42
connectionProxy.tunnelState,
42
- deviceRepository.deviceState.filterNotNull(),
43
+ deviceRepository.deviceState.filterNotNull().onEach {
44
+ viewModelScope.launch {
45
+ it.accountNumber()?.let { accountNumber ->
46
+ _uiSideEffect .send(UiSideEffect .StoreCredentialsRequest (accountNumber))
47
+ }
48
+ }
49
+ },
43
50
paymentUseCase.paymentAvailability,
44
51
) { tunnelState, accountState, paymentAvailability ->
45
52
WelcomeUiState (
46
53
tunnelState = tunnelState,
47
- accountNumber = accountState.token (),
54
+ accountNumber = accountState.accountNumber (),
48
55
deviceName = accountState.displayName(),
49
56
showSitePayment = ! isPlayBuild,
50
57
billingPaymentState = paymentAvailability?.toPaymentState(),
@@ -122,6 +129,8 @@ class WelcomeViewModel(
122
129
123
130
data object OpenConnectScreen : UiSideEffect
124
131
132
+ data class StoreCredentialsRequest (val accountNumber : AccountNumber ) : UiSideEffect
133
+
125
134
data object GenericError : UiSideEffect
126
135
}
127
136
0 commit comments