summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-05-13 17:54:34 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-05-14 18:51:00 +0000
commit2625faf829df6fc768d0edcdfdca237af56dc081 (patch)
tree49e1680c11cdefa0f4fa886d55c8fd355a461009 /android/src
parent65b957623a04bff6a9c5b246635225ff0317c819 (diff)
downloadmullvadvpn-2625faf829df6fc768d0edcdfdca237af56dc081.tar.xz
mullvadvpn-2625faf829df6fc768d0edcdfdca237af56dc081.zip
Refactor expiry fetch in `AccountCache`
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt29
1 files changed, 13 insertions, 16 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 07fa7911fc..86e1b0c95a 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt
@@ -27,24 +27,12 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList
}
fun fetchAccountExpiry() {
- accountNumber?.let { accountNumberUsedForFetch ->
+ accountNumber?.let { account ->
jobTracker.newBackgroundJob("fetch") {
- val accountData = accountNumberUsedForFetch?.let { account ->
- val result = daemon.getAccountData(account)
+ val result = daemon.getAccountData(account)
- when (result) {
- is GetAccountDataResult.Ok -> result.accountData
- else -> null
- }
- }
-
- synchronized(this@AccountCache) {
- if (this@AccountCache.accountNumber === accountNumberUsedForFetch) {
- accountData?.expiry?.let { expiry ->
- accountExpiry = DateTime.parse(expiry, EXPIRY_FORMAT)
- notifyChange()
- }
- }
+ if (result is GetAccountDataResult.Ok) {
+ handleNewExpiry(account, result.accountData.expiry)
}
}
}
@@ -65,6 +53,15 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList
}
}
+ private fun handleNewExpiry(accountNumberUsedForFetch: String, expiryString: String) {
+ synchronized(this) {
+ if (accountNumber === accountNumberUsedForFetch) {
+ accountExpiry = DateTime.parse(expiryString, EXPIRY_FORMAT)
+ notifyChange()
+ }
+ }
+ }
+
private fun notifyChange() {
onAccountDataChange?.invoke(accountNumber, accountExpiry)
}