diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-12-16 17:36:46 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-03-31 14:36:30 +0000 |
| commit | 4ec53fbb79dd369d6ee89f35295b8d873feeaab3 (patch) | |
| tree | 1af09c0462b3d38dfc55d61aaa1dd05611e8c159 /android/src/main | |
| parent | 0c1b8060860f8917e031a48d6a271f847a51b4b0 (diff) | |
| download | mullvadvpn-4ec53fbb79dd369d6ee89f35295b8d873feeaab3.tar.xz mullvadvpn-4ec53fbb79dd369d6ee89f35295b8d873feeaab3.zip | |
Use an intermittent daemon in `AccountCache`
Diffstat (limited to 'android/src/main')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt | 20 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/ServiceInstance.kt | 2 |
2 files changed, 13 insertions, 9 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt index 2bc50ab461..950710374c 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt @@ -4,12 +4,16 @@ import kotlinx.coroutines.delay import net.mullvad.mullvadvpn.model.GetAccountDataResult import net.mullvad.mullvadvpn.service.endpoint.SettingsListener import net.mullvad.mullvadvpn.util.ExponentialBackoff +import net.mullvad.mullvadvpn.util.Intermittent import net.mullvad.mullvadvpn.util.JobTracker import net.mullvad.talpid.util.EventNotifier import org.joda.time.DateTime import org.joda.time.format.DateTimeFormat -class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsListener) { +class AccountCache( + val settingsListener: SettingsListener, + val daemon: Intermittent<MullvadDaemon> +) { companion object { public val EXPIRY_FORMAT = DateTimeFormat.forPattern("YYYY-MM-dd HH:mm:ss z") @@ -43,17 +47,17 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList } } - fun createNewAccount(): String? { + suspend fun createNewAccount(): String? { newlyCreatedAccount = true createdAccountExpiry = null - return daemon.createNewAccount() + return daemon.await().createNewAccount() } - fun login(account: String) { + suspend fun login(account: String) { if (account != accountNumber) { markAccountAsNotNew() - daemon.setAccount(account) + daemon.await().setAccount(account) } } @@ -66,7 +70,7 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList } do { - val result = daemon.getAccountData(account) + val result = daemon.await().getAccountData(account) if (result is GetAccountDataResult.Ok) { val expiry = result.accountData.expiry @@ -97,7 +101,7 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList fun removeAccountFromHistory(accountToken: String) { jobTracker.newBackgroundJob("removeAccountFromHistory $accountToken") { - daemon.removeAccountFromHistory(accountToken) + daemon.await().removeAccountFromHistory(accountToken) fetchAccountHistory() } } @@ -113,7 +117,7 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList private fun fetchAccountHistory() { jobTracker.newBackgroundJob("fetchHistory") { - daemon.getAccountHistory()?.let { history -> + daemon.await().getAccountHistory()?.let { history -> accountHistory = history } } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ServiceInstance.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ServiceInstance.kt index 251802dce9..73b3909aac 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ServiceInstance.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ServiceInstance.kt @@ -13,7 +13,7 @@ class ServiceInstance( val settingsListener: SettingsListener, val splitTunneling: SplitTunneling ) { - val accountCache = AccountCache(daemon, settingsListener) + val accountCache = AccountCache(settingsListener, intermittentDaemon) fun onDestroy() { accountCache.onDestroy() |
