diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/SettingsFragment.kt | 22 |
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 |
