diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-08-25 10:43:34 -0300 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-08-25 10:43:34 -0300 |
| commit | 5b91ca23cb65cdd92cb04af2b665d8b37712e716 (patch) | |
| tree | e39718e3dea37cbb5da37646d2ce3e1e9e44b432 /android | |
| parent | 6197f55f95390ebe05ec8b97502c56c30805a930 (diff) | |
| parent | fdd9935efb06c2cce896b525ae5c7b638e20679d (diff) | |
| download | mullvadvpn-5b91ca23cb65cdd92cb04af2b665d8b37712e716.tar.xz mullvadvpn-5b91ca23cb65cdd92cb04af2b665d8b37712e716.zip | |
Merge branch 'fix-new-account-notification'
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 |
