We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 3164032 commit f72e4fcCopy full SHA for f72e4fc
sample/app/src/main/java/com/hoc081098/channeleventbus/sample/android/common/SafeSavedStateHandle.kt
@@ -10,7 +10,15 @@ class SavedStateHandleKey<T>(
10
val defaultValue: T,
11
)
12
13
-inline fun <T> SavedStateHandle.safeGet(key: SavedStateHandleKey<T>): T = get(key.key) ?: key.defaultValue
+inline fun <T> SavedStateHandle.safeGet(key: SavedStateHandleKey<T>): T {
14
+ return if (contains(key.key)) {
15
+ @Suppress("UNCHECKED_CAST", "RemoveExplicitTypeArguments")
16
+ get<T>(key.key) as T
17
+ } else {
18
+ safeSet(key, key.defaultValue)
19
+ key.defaultValue
20
+ }
21
+}
22
23
inline fun <T> SavedStateHandle.safeSet(key: SavedStateHandleKey<T>, value: T) = set(key.key, value)
24
0 commit comments