diff options
Diffstat (limited to 'android/src/main')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt | 15 |
1 files changed, 14 insertions, 1 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 cdd90b0d3c..4a52e017a0 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/AccountCache.kt @@ -4,6 +4,7 @@ import kotlin.math.min import kotlinx.coroutines.delay import net.mullvad.mullvadvpn.model.GetAccountDataResult import net.mullvad.mullvadvpn.util.JobTracker +import net.mullvad.talpid.util.EventNotifier import org.joda.time.DateTime import org.joda.time.format.DateTimeFormat @@ -15,7 +16,19 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList private val jobTracker = JobTracker() private var accountNumber: String? = null + set(value) { + field = value + onAccountNumberChange.notify(value) + } + private var accountExpiry: DateTime? = null + set(value) { + field = value + onAccountExpiryChange.notify(value) + } + + val onAccountNumberChange = EventNotifier<String?>(null) + val onAccountExpiryChange = EventNotifier<DateTime?>(null) var onAccountDataChange: ((String?, DateTime?) -> Unit)? = null set(value) { @@ -48,7 +61,7 @@ class AccountCache(val daemon: MullvadDaemon, val settingsListener: SettingsList retryAttempt += 1 delay(calculateRetryFetchDelay(retryAttempt)) - } while (onAccountDataChange != null) + } while (onAccountDataChange != null || onAccountExpiryChange.hasListeners()) } } } |
