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/ui/SettingsFragment.kt22
1 files changed, 13 insertions, 9 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SettingsFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SettingsFragment.kt
index db0cfa15ed..e4955a44d0 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SettingsFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SettingsFragment.kt
@@ -13,7 +13,6 @@ import android.widget.TextView
import net.mullvad.mullvadvpn.R
import net.mullvad.mullvadvpn.dataproxy.AppVersionInfoCache
import net.mullvad.mullvadvpn.service.AccountCache
-import org.joda.time.DateTime
class SettingsFragment : ServiceAwareFragment() {
private lateinit var accountMenu: View
@@ -102,16 +101,26 @@ class SettingsFragment : ServiceAwareFragment() {
override fun onPause() {
active = false
versionInfoCache?.onUpdate = null
- accountCache?.onAccountDataChange = null
+
+ accountCache?.apply {
+ onAccountNumberChange.unsubscribe(this@SettingsFragment)
+ onAccountExpiryChange.unsubscribe(this@SettingsFragment)
+ }
super.onPause()
}
private fun configureListeners() {
accountCache?.apply {
- onAccountDataChange = { account, expiry ->
+ onAccountNumberChange.subscribe(this@SettingsFragment) { account ->
+ jobTracker.newUiJob("updateLoggedInStatus") {
+ updateLoggedInStatus(account != null)
+ }
+ }
+
+ onAccountExpiryChange.subscribe(this@SettingsFragment) { expiry ->
jobTracker.newUiJob("updateAccountInfo") {
- updateAccountInfo(account != null, expiry)
+ remainingTimeLabel.accountExpiry = expiry
}
}
@@ -145,11 +154,6 @@ class SettingsFragment : ServiceAwareFragment() {
startActivity(intent)
}
- private fun updateAccountInfo(loggedIn: Boolean, expiry: DateTime?) {
- updateLoggedInStatus(loggedIn)
- remainingTimeLabel.accountExpiry = expiry
- }
-
private fun updateLoggedInStatus(loggedIn: Boolean) {
val visibility = if (loggedIn) {
View.VISIBLE