From 91cab4a0620c0a5dc0537c89abb6d46ae299d63b Mon Sep 17 00:00:00 2001 From: qamarelsafadi Date: Thu, 2 Oct 2025 22:38:02 +0300 Subject: [PATCH] fix: update the fix to take the sessionLength when sessionsSliderState being called. --- .../viewModel/SettingsViewModel.kt | 28 ++++++------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/viewModel/SettingsViewModel.kt b/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/viewModel/SettingsViewModel.kt index cc05034..9a6034a 100644 --- a/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/viewModel/SettingsViewModel.kt +++ b/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/viewModel/SettingsViewModel.kt @@ -52,12 +52,14 @@ class SettingsViewModel( TextFieldState((timerRepository.longBreakTime / 60000).toString()) } - val sessionsSliderState = SliderState( - value = timerRepository.sessionLength.toFloat(), - steps = 4, - valueRange = 1f..6f, - onValueChangeFinished = ::updateSessionLength - ) + val sessionsSliderState by lazy { + SliderState( + value = timerRepository.sessionLength.toFloat(), + steps = 4, + valueRange = 1f..6f, + onValueChangeFinished = ::updateSessionLength + ) + } val currentAlarmSound = timerRepository.alarmSoundUri.toString() @@ -81,11 +83,6 @@ class SettingsViewModel( val blackTheme = preferenceRepository.getBooleanPreference("black_theme") ?: preferenceRepository.saveBooleanPreference("black_theme", false) - // Load session length from preferences and update slider - val sessionLength = preferenceRepository.getIntPreference("session_length") - ?: timerRepository.sessionLength - sessionsSliderState.value = sessionLength.toFloat() - _preferencesState.update { currentState -> currentState.copy( theme = theme, @@ -94,7 +91,6 @@ class SettingsViewModel( ) } } - observeCurrentFocusCount() } private fun updateSessionLength() { @@ -202,14 +198,6 @@ class SettingsViewModel( } } - private fun observeCurrentFocusCount() { - viewModelScope.launch { - _timerState.collect { - sessionsSliderState.value = it.currentFocusCount.toFloat() - } - } - } - companion object { val Factory: ViewModelProvider.Factory = viewModelFactory { initializer {