From b7e67f6ad26f6590fee8ce39f796a96408f8688e Mon Sep 17 00:00:00 2001 From: gmerino Date: Fri, 15 Oct 2021 13:37:08 +0200 Subject: [PATCH] Fixing default values --- .../tweak/domain/TweaksBusinessLogic.kt | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/library/src/enabled/java/com/gmerinojimenez/tweak/domain/TweaksBusinessLogic.kt b/library/src/enabled/java/com/gmerinojimenez/tweak/domain/TweaksBusinessLogic.kt index 8cb661a..7c6f8e5 100644 --- a/library/src/enabled/java/com/gmerinojimenez/tweak/domain/TweaksBusinessLogic.kt +++ b/library/src/enabled/java/com/gmerinojimenez/tweak/domain/TweaksBusinessLogic.kt @@ -42,8 +42,10 @@ class TweaksBusinessLogic @Inject constructor( } @Suppress("UNCHECKED_CAST") - fun getValue(key: String): Flow = tweaksDataStore.data - .map { preferences -> preferences[buildKey(keyToEntryValueMap[key] as TweakEntry)] } + fun getValue(key: String): Flow { + val tweakEntry = keyToEntryValueMap[key] as TweakEntry + return getValue(tweakEntry) + } fun getValue(entry: TweakEntry): Flow = when (entry as Modifiable) { is ReadOnly<*> -> (entry as ReadOnly).value @@ -54,13 +56,10 @@ class TweaksBusinessLogic @Inject constructor( private fun getEditableValue(entry: TweakEntry): Flow { val editableCasted = entry as Editable val defaultValue = editableCasted.defaultValue - return if (defaultValue != null) { - defaultValue.combine(getFromStorage(entry)) { default, storage -> - storage ?: default - } - } else { - getFromStorage(entry) + return defaultValue?.combine(getFromStorage(entry)) { default, storage -> + storage ?: default } + ?: getFromStorage(entry) } private fun getFromStorage(entry: TweakEntry) =