summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-08-20 21:20:44 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-08-25 13:13:48 +0000
commit2195c7bc191d1f6c31f74c879890a38d6afc8295 (patch)
tree45834ec189031171a3f4b3c55d2c76de0000ed9d /android
parent6197f55f95390ebe05ec8b97502c56c30805a930 (diff)
downloadmullvadvpn-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.kt17
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