diff options
Diffstat (limited to 'android/src/main')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/AppVersionInfoCache.kt | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/AppVersionInfoCache.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/AppVersionInfoCache.kt index 2ac54297d5..6bac1f20ee 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/AppVersionInfoCache.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/AppVersionInfoCache.kt @@ -1,6 +1,7 @@ package net.mullvad.mullvadvpn.ui.serviceconnection import android.content.Context +import kotlin.properties.Delegates.observable import net.mullvad.mullvadvpn.ipc.DispatchingHandler import net.mullvad.mullvadvpn.ipc.Event import net.mullvad.mullvadvpn.model.AppVersionInfo @@ -14,13 +15,9 @@ class AppVersionInfoCache( val LEGACY_SHARED_PREFERENCES = "app_version_info_cache" } - private var appVersionInfo: AppVersionInfo? = null - set(value) { - synchronized(this) { - field = value - onUpdate?.invoke() - } - } + private var appVersionInfo by observable<AppVersionInfo?>(null) { _, _, _ -> + onUpdate?.invoke() + } val isSupported get() = appVersionInfo?.supported ?: true @@ -31,19 +28,16 @@ class AppVersionInfoCache( val upgradeVersion get() = appVersionInfo?.suggestedUpgrade - var onUpdate: (() -> Unit)? = null - set(value) { - field = value - value?.invoke() - } + var onUpdate by observable<(() -> Unit)?>(null) { _, _, callback -> + callback?.invoke() + } - var showBetaReleases = false - private set(value) { - if (field != value) { - field = value - onUpdate?.invoke() - } + var showBetaReleases by observable(false) { _, wasShowing, shouldShow -> + if (shouldShow != wasShowing) { + onUpdate?.invoke() } + } + private set var version: String? = null private set |
