summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-06-26 16:50:55 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-07-01 20:22:02 +0000
commitbfef5315da85e2b3c6dc5c4d0f072e47067f3833 (patch)
treeafac9db67c486c758d0aed73f8140757345ba8d1 /android
parentd8cbd703261fc60c0864264a0bd632f3823c723e (diff)
downloadmullvadvpn-bfef5315da85e2b3c6dc5c4d0f072e47067f3833.tar.xz
mullvadvpn-bfef5315da85e2b3c6dc5c4d0f072e47067f3833.zip
Create `ChangeMonitor` property delegate helper
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/util/ChangeMonitor.kt18
1 files changed, 18 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/util/ChangeMonitor.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/util/ChangeMonitor.kt
new file mode 100644
index 0000000000..398177db99
--- /dev/null
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/util/ChangeMonitor.kt
@@ -0,0 +1,18 @@
+package net.mullvad.mullvadvpn.util
+
+import kotlin.properties.Delegates.observable
+
+class ChangeMonitor {
+ var changed = false
+ private set
+
+ fun <T> monitor(initialValue: T) = observable(initialValue) { _, oldValue, newValue ->
+ if (oldValue != newValue) {
+ changed = true
+ }
+ }
+
+ fun reset() {
+ changed = false
+ }
+}