summaryrefslogtreecommitdiff
path: root/app/src/main/java/org/the_jk/cleversync/LiveDataUtils.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/org/the_jk/cleversync/LiveDataUtils.kt')
-rw-r--r--app/src/main/java/org/the_jk/cleversync/LiveDataUtils.kt14
1 files changed, 14 insertions, 0 deletions
diff --git a/app/src/main/java/org/the_jk/cleversync/LiveDataUtils.kt b/app/src/main/java/org/the_jk/cleversync/LiveDataUtils.kt
new file mode 100644
index 0000000..7f6ab1f
--- /dev/null
+++ b/app/src/main/java/org/the_jk/cleversync/LiveDataUtils.kt
@@ -0,0 +1,14 @@
+package org.the_jk.cleversync
+
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.Observer
+
+fun <T> LiveData<T>.safeValue(): T? {
+ if (this.hasActiveObservers())
+ return value
+ var ret: T? = null
+ val observer = Observer<T> { value -> ret = value }
+ this.observeForever(observer)
+ this.removeObserver(observer)
+ return ret
+}