summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt10
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt6
2 files changed, 13 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 36e09b1721..f6ecf42566 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt
@@ -36,6 +36,16 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList
}
}
+ fun createNewAccount(): String? {
+ return daemon.createNewAccount()
+ }
+
+ fun login(account: String) {
+ if (account != accountNumber) {
+ daemon.setAccount(account)
+ }
+ }
+
fun fetchAccountExpiry() {
synchronized(this) {
accountNumber?.let { account ->
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt
index 5d103918d1..2f3efbf9b0 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt
@@ -95,7 +95,7 @@ class LoginFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) {
scrollToShow(loggingInStatus)
val accountToken = jobTracker.runOnBackground {
- daemon.createNewAccount()
+ accountCache.createNewAccount()
}
if (accountToken == null) {
@@ -135,7 +135,7 @@ class LoginFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) {
when (accountDataResult) {
is GetAccountDataResult.Ok -> {
- daemon.setAccount(accountToken)
+ accountCache.login(accountToken)
val expiryString = accountDataResult.accountData.expiry
val expiry = DateTime.parse(expiryString, AccountCache.EXPIRY_FORMAT)
@@ -147,7 +147,7 @@ class LoginFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) {
}
}
is GetAccountDataResult.RpcError -> {
- daemon.setAccount(accountToken)
+ accountCache.login(accountToken)
LoginResult.ExistingAccountWithTime
}
else -> null