diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-09-22 07:27:57 -0300 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-09-22 07:27:57 -0300 |
| commit | bb1e50525c97f7e597860a6ecfc6d2af82f35dc4 (patch) | |
| tree | 8e2cd9e54dc5935435cbf2475af39b48a7c1985d /android | |
| parent | e8d6ab89a0d366af194ce252f9f4588d2014611c (diff) | |
| parent | 5667956f2b03d966a3c9bab8c284e7b2ba836216 (diff) | |
| download | mullvadvpn-bb1e50525c97f7e597860a6ecfc6d2af82f35dc4.tar.xz mullvadvpn-bb1e50525c97f7e597860a6ecfc6d2af82f35dc4.zip | |
Merge branch 'account-history-in-account-cache'
Diffstat (limited to 'android')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt | 9 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt | 16 |
2 files changed, 15 insertions, 10 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 ac7965de96..6154956610 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt @@ -22,6 +22,7 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList val onAccountNumberChange = EventNotifier<String?>(null) val onAccountExpiryChange = EventNotifier<DateTime?>(null) + val onAccountHistoryChange = EventNotifier<ArrayList<String>>(ArrayList()) var newlyCreatedAccount = false private set @@ -30,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 accountHistory by onAccountHistoryChange.notifiable() private var createdAccountExpiry: DateTime? = null private var oldAccountExpiry: DateTime? = null @@ -93,6 +95,12 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList jobTracker.cancelAllJobs() } + private fun fetchAccountHistory() { + jobTracker.newBackgroundJob("fetchHistory") { + accountHistory = daemon.getAccountHistory() + } + } + private fun markAccountAsNotNew() { newlyCreatedAccount = false createdAccountExpiry = null @@ -104,6 +112,7 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList accountNumber = newAccountNumber fetchAccountExpiry() + fetchAccountHistory() } } 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 85f2da5e61..e19909a0cf 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt @@ -59,7 +59,6 @@ class LoginFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) { accountLogin.clearFocus() } - fetchHistory() scrollToShow(accountLogin) return view @@ -74,11 +73,16 @@ class LoginFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) { } } - fetchHistory() + accountCache.onAccountHistoryChange.subscribe(this) { history -> + jobTracker.newUiJob("updateHistory") { + accountLogin.accountHistory = history + } + } } override fun onSafelyStop() { jobTracker.cancelJob("advanceToNextScreen") + accountCache.onAccountHistoryChange.unsubscribe(this) } private fun scrollToShow(view: View) { @@ -125,14 +129,6 @@ class LoginFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) { performLogin(accountToken) } - private fun fetchHistory() { - jobTracker.newUiJob("fetchHistory") { - accountLogin.accountHistory = jobTracker.runOnBackground() { - daemon.getAccountHistory() - } - } - } - private fun performLogin(accountToken: String) { jobTracker.newUiJob("login") { val loginResult = jobTracker.runOnBackground { |
