From 4d06f01680bf67f1dcc87535b8eb837493a4bb28 Mon Sep 17 00:00:00 2001 From: gmerino Date: Wed, 24 Nov 2021 19:22:04 +0100 Subject: [PATCH] fixing an error with default values --- .../gmerinojimenez/tweaks/demo/TweakDemoApplication.kt | 4 ++-- .../tweaks/domain/TweaksBusinessLogic.kt | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/gmerinojimenez/tweaks/demo/TweakDemoApplication.kt b/app/src/main/java/com/gmerinojimenez/tweaks/demo/TweakDemoApplication.kt index bc80089..dcf5ef4 100644 --- a/app/src/main/java/com/gmerinojimenez/tweaks/demo/TweakDemoApplication.kt +++ b/app/src/main/java/com/gmerinojimenez/tweaks/demo/TweakDemoApplication.kt @@ -46,13 +46,13 @@ class TweakDemoApplication : Application() { editableBoolean( key = "value2", name = "Value 2", + defaultValue = true, ) editableLong( key = "value4", name = "Value 4", - defaultValue = 0L, + defaultValue = 42L, ) - button( key = "button1", name = "Demo button" diff --git a/library/src/enabled/java/com/gmerinojimenez/tweaks/domain/TweaksBusinessLogic.kt b/library/src/enabled/java/com/gmerinojimenez/tweaks/domain/TweaksBusinessLogic.kt index 7f47e81..50ac2d3 100644 --- a/library/src/enabled/java/com/gmerinojimenez/tweaks/domain/TweaksBusinessLogic.kt +++ b/library/src/enabled/java/com/gmerinojimenez/tweaks/domain/TweaksBusinessLogic.kt @@ -66,7 +66,15 @@ class TweaksBusinessLogic @Inject constructor( val defaultValueFlow: StateFlow? = editableCasted.defaultValue val initialValue = defaultValueFlow?.value - val mergedFlow: Flow = if (defaultValueFlow != null) merge(getFromStorage(entry), defaultValueFlow) else getFromStorage(entry) + val mergedFlow: Flow = if (defaultValueFlow != null) { + merge( + getFromStorage(entry) + .filter { it != null }, + defaultValueFlow + ) + } else { + getFromStorage(entry) + } return mergedFlow.stateIn( scope = CoroutineScope(Dispatchers.Default),