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/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
+ }
+}