summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-05-22 19:35:11 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-05-28 18:03:44 +0000
commit29c7be227ad4e7335190f0f9410a669ce0440c15 (patch)
tree91e2f3ac75fa227ee37d4c76fc9788f52a16a01f /android/src
parent4d96234a5aac5ba1c7dc628a729c8d68df9f3c8f (diff)
downloadmullvadvpn-29c7be227ad4e7335190f0f9410a669ce0440c15.tar.xz
mullvadvpn-29c7be227ad4e7335190f0f9410a669ce0440c15.zip
Don't spawn job while updating data
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt30
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())
+ }
}
}
}