summaryrefslogtreecommitdiffhomepage
path: root/android/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'android/src/main')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/AppVersionInfoCache.kt30
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