diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-05-22 19:35:11 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-05-28 18:03:44 +0000 |
| commit | 29c7be227ad4e7335190f0f9410a669ce0440c15 (patch) | |
| tree | 91e2f3ac75fa227ee37d4c76fc9788f52a16a01f /android/src/main | |
| parent | 4d96234a5aac5ba1c7dc628a729c8d68df9f3c8f (diff) | |
| download | mullvadvpn-29c7be227ad4e7335190f0f9410a669ce0440c15.tar.xz mullvadvpn-29c7be227ad4e7335190f0f9410a669ce0440c15.zip | |
Don't spawn job while updating data
Diffstat (limited to 'android/src/main')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt | 30 |
1 files changed, 16 insertions, 14 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 ffe4f3480e..4231ff1e40 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt @@ -37,23 +37,25 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList } fun fetchAccountExpiry() { - accountNumber?.let { account -> - jobTracker.newBackgroundJob("fetch") { - var retryAttempt = 0 + synchronized(this) { + accountNumber?.let { account -> + jobTracker.newBackgroundJob("fetch") { + var retryAttempt = 0 - do { - val result = daemon.getAccountData(account) + do { + val result = daemon.getAccountData(account) - if (result is GetAccountDataResult.Ok) { - handleNewExpiry(account, result.accountData.expiry) - break - } else if (result is GetAccountDataResult.InvalidAccount) { - break - } + if (result is GetAccountDataResult.Ok) { + handleNewExpiry(account, result.accountData.expiry) + break + } else if (result is GetAccountDataResult.InvalidAccount) { + break + } - retryAttempt += 1 - delay(calculateRetryFetchDelay(retryAttempt)) - } while (onAccountExpiryChange.hasListeners()) + retryAttempt += 1 + delay(calculateRetryFetchDelay(retryAttempt)) + } while (onAccountExpiryChange.hasListeners()) + } } } } |
