summaryrefslogtreecommitdiffhomepage
path: root/android/app
diff options
context:
space:
mode:
Diffstat (limited to 'android/app')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModel.kt6
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModel.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt10
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModel.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt2
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModelTest.kt4
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt4
7 files changed, 19 insertions, 11 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 {
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModelTest.kt
index 7a6b756bf5..26fc228729 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AccountViewModelTest.kt
@@ -2,9 +2,11 @@ package net.mullvad.mullvadvpn.viewmodel
import app.cash.turbine.test
import arrow.core.right
+import io.mockk.Runs
import io.mockk.coEvery
import io.mockk.coVerify
import io.mockk.every
+import io.mockk.just
import io.mockk.mockk
import io.mockk.unmockkAll
import java.time.ZonedDateTime
@@ -61,7 +63,7 @@ class AccountViewModelTest {
every { mockAccountRepository.accountData } returns accountExpiryState
every { mockDeviceRepository.deviceState } returns deviceState
coEvery { mockPaymentUseCase.paymentAvailability } returns paymentAvailability
- coEvery { mockAccountRepository.getAccountData() } returns null
+ coEvery { mockAccountRepository.refreshAccountData(any()) } just Runs
viewModel =
AccountViewModel(
diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt
index 7e3f966dbb..d3c95690bf 100644
--- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt
+++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/AddTimeViewModelTest.kt
@@ -56,7 +56,7 @@ class AddTimeViewModelTest {
VerificationResult.NothingToVerify.right()
coEvery { mockPaymentUseCase.queryPaymentAvailability() } just Runs
coEvery { mockPaymentUseCase.resetPurchaseResult() } just Runs
- coEvery { mockAccountRepository.getAccountData() } returns null
+ coEvery { mockAccountRepository.refreshAccountData(any()) } just Runs
viewModel =
AddTimeViewModel(
@@ -151,7 +151,7 @@ class AddTimeViewModelTest {
purchaseResult.emit(purchaseResultData)
// Assert
- coVerify { mockAccountRepository.getAccountData() }
+ coVerify { mockAccountRepository.refreshAccountData(ignoreTimeout = true) }
}
@Test