diff options
| -rw-r--r-- | CHANGELOG.md | 1 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt | 17 |
2 files changed, 15 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 20fcbb60d8..14df54dfbe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,7 @@ Line wrap the file at 100 chars. Th - Show "Exclude applications" header if needed when entering the "Split tunneling" screen. - Fix check for update versions and check for support for current version. - Fix crash that could happen when leaving the Select Location screen. +- Don't show out-of-time notification for newly created accounts. ## [2020.6-beta1] - 2020-08-20 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 |
