diff options
Diffstat (limited to 'android/src')
| -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()) + } } } } |
