From 057cfefb6495886045e4b3c80c393c526e648901 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ensar=20Saraj=C4=8Di=C4=87?= Date: Thu, 5 Oct 2023 12:39:40 +0200 Subject: [PATCH] Use `stateIn` to move default values to viewModel --- .../flashlight/activities/MainActivity.kt | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt index 8d385ae..9b0f881 100644 --- a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt @@ -177,22 +177,18 @@ class MainActivity : ComponentActivity() { } }, slidersSection = { - val brightnessBarVisible by viewModel.brightnessBarVisible.collectAsStateWithLifecycle(false) + val brightnessBarVisible by viewModel.brightnessBarVisible.collectAsStateWithLifecycle() val brightnessBarValue by viewModel.brightnessBarValue.collectAsStateWithLifecycle() - val stroboscopeBarVisible by viewModel.stroboscopeBarVisible.collectAsStateWithLifecycle(false) + val stroboscopeBarVisible by viewModel.stroboscopeBarVisible.collectAsStateWithLifecycle() val stroboscopeBarValue by viewModel.stroboscopeBarValue.collectAsStateWithLifecycle() MainScreenSlidersSection( showBrightnessBar = brightnessBarVisible, brightnessBarValue = brightnessBarValue, - onBrightnessBarValueChange = { - viewModel.updateBrightnessBarValue(it) - }, + onBrightnessBarValueChange = viewModel::updateBrightnessBarValue, showStroboscopeBar = stroboscopeBarVisible, stroboscopeBarValue = stroboscopeBarValue, - onStroboscopeBarValueChange = { - viewModel.updateStroboscopeBarValue(it) - }, + onStroboscopeBarValueChange = viewModel::updateStroboscopeBarValue, ) }, sleepTimer = { @@ -430,7 +426,7 @@ class MainActivity : ComponentActivity() { val brightnessBarVisible = flashlightOn.map { it && camera.supportsBrightnessControl() - } + }.stateIn(viewModelScope, SharingStarted.Lazily, false) private val _sosActive: MutableStateFlow = MutableStateFlow(false) val sosActive = _sosActive.asStateFlow() @@ -441,7 +437,7 @@ class MainActivity : ComponentActivity() { private val _stroboscopeActive: MutableStateFlow = MutableStateFlow(false) val stroboscopeActive = _stroboscopeActive.asStateFlow() - val stroboscopeBarVisible = stroboscopeActive.map { it } + val stroboscopeBarVisible = stroboscopeActive private val _stroboscopeBarValue: MutableStateFlow = MutableStateFlow(0f) val stroboscopeBarValue = _stroboscopeBarValue.asStateFlow()