diff options
Diffstat (limited to 'android/app/src/main')
5 files changed, 14 insertions, 8 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModel.kt index 08a99a8aef..ba7e843c6d 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModel.kt @@ -54,10 +54,10 @@ class AccountViewModel( ) .toLc<Unit, AccountUiState>() } - .stateIn(viewModelScope, SharingStarted.WhileSubscribed(), Lc.Loading(Unit)) + .onStart { viewModelScope.launch { updateAccountExpiry() } } + .stateIn(viewModelScope, SharingStarted.WhileSubscribed(5_000), Lc.Loading(Unit)) init { - updateAccountExpiry() verifyPurchases() } @@ -88,7 +88,7 @@ class AccountViewModel( } private fun updateAccountExpiry() { - viewModelScope.launch { accountRepository.getAccountData() } + viewModelScope.launch { accountRepository.refreshAccountData() } } private fun verifyPurchases() { diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModel.kt index 36e6864a80..e96162c858 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModel.kt @@ -105,7 +105,7 @@ class AddTimeViewModel( } private fun updateAccountExpiry() { - viewModelScope.launch { accountRepository.getAccountData() } + viewModelScope.launch { accountRepository.refreshAccountData() } } private fun PurchaseResult.toPurchaseState() = diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt index e836acb844..4ed52d4c63 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt @@ -13,6 +13,7 @@ import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.filterIsInstance import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.merge +import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch @@ -110,12 +111,17 @@ class ConnectViewModel( isPlayBuild = isPlayBuild, ) } - .stateIn(viewModelScope, SharingStarted.WhileSubscribed(), ConnectUiState.INITIAL) + .onStart { + viewModelScope.launch { + accountRepository.refreshAccountData(ignoreTimeout = false) + } + } + .stateIn(viewModelScope, SharingStarted.WhileSubscribed(5_0000), ConnectUiState.INITIAL) init { viewModelScope.launch { if (paymentUseCase.verifyPurchases().isSuccess()) { - accountRepository.getAccountData() + accountRepository.refreshAccountData() } } viewModelScope.launch { deviceRepository.updateDevice() } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModel.kt index ace068304d..1ac414e725 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModel.kt @@ -84,7 +84,7 @@ class OutOfTimeViewModel( } private suspend fun updateAccountExpiry() { - accountRepository.getAccountData() + accountRepository.refreshAccountData() } private fun notOutOfTimeEffect() = 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 334a360cfd..d8ea161787 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 @@ -105,7 +105,7 @@ class WelcomeViewModel( } private suspend fun updateAccountExpiry() { - accountRepository.getAccountData() + accountRepository.refreshAccountData() } sealed interface UiSideEffect { |
