diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-08-20 21:20:44 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-08-25 13:13:48 +0000 |
| commit | 2195c7bc191d1f6c31f74c879890a38d6afc8295 (patch) | |
| tree | 45834ec189031171a3f4b3c55d2c76de0000ed9d /android | |
| parent | 6197f55f95390ebe05ec8b97502c56c30805a930 (diff) | |
| download | mullvadvpn-2195c7bc191d1f6c31f74c879890a38d6afc8295.tar.xz mullvadvpn-2195c7bc191d1f6c31f74c879890a38d6afc8295.zip | |
Fix when account is marked as not new
Diffstat (limited to 'android')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt | 17 |
1 files changed, 14 insertions, 3 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 82db7bc6f2..ac7965de96 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt @@ -31,6 +31,7 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList private var accountNumber by onAccountNumberChange.notifiable() private var accountExpiry by onAccountExpiryChange.notifiable() + private var createdAccountExpiry: DateTime? = null private var oldAccountExpiry: DateTime? = null init { @@ -41,13 +42,14 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList fun createNewAccount(): String? { newlyCreatedAccount = true + createdAccountExpiry = null return daemon.createNewAccount() } fun login(account: String) { if (account != accountNumber) { - newlyCreatedAccount = false + markAccountAsNotNew() daemon.setAccount(account) } } @@ -91,6 +93,11 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList jobTracker.cancelAllJobs() } + private fun markAccountAsNotNew() { + newlyCreatedAccount = false + createdAccountExpiry = null + } + private fun handleNewAccountNumber(newAccountNumber: String?) { synchronized(this) { accountExpiry = null @@ -116,8 +123,12 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList accountExpiry = newAccountExpiry oldAccountExpiry = null - if (accountExpiry != null) { - newlyCreatedAccount = false + if (accountExpiry != null && newlyCreatedAccount) { + if (createdAccountExpiry == null) { + createdAccountExpiry = accountExpiry + } else if (accountExpiry != createdAccountExpiry) { + markAccountAsNotNew() + } } return true |
