summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt17
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