Merge pull request #56 from qamarelsafadi/fix/session-length-slider-issue

Fix: Session length slider issue in SettingsScreen.
This commit is contained in:
Nishant Mishra
2025-10-03 08:17:52 +05:30
committed by GitHub

View File

@@ -35,7 +35,7 @@ import org.nsh07.pomodoro.data.TimerRepository
@OptIn(FlowPreview::class, ExperimentalMaterial3Api::class) @OptIn(FlowPreview::class, ExperimentalMaterial3Api::class)
class SettingsViewModel( class SettingsViewModel(
private val preferenceRepository: AppPreferenceRepository, private val preferenceRepository: AppPreferenceRepository,
private val timerRepository: TimerRepository private val timerRepository: TimerRepository,
) : ViewModel() { ) : ViewModel() {
private val _preferencesState = MutableStateFlow(PreferencesState()) private val _preferencesState = MutableStateFlow(PreferencesState())
val preferencesState = _preferencesState.asStateFlow() val preferencesState = _preferencesState.asStateFlow()
@@ -50,12 +50,14 @@ class SettingsViewModel(
TextFieldState((timerRepository.longBreakTime / 60000).toString()) TextFieldState((timerRepository.longBreakTime / 60000).toString())
} }
val sessionsSliderState = SliderState( val sessionsSliderState by lazy {
value = timerRepository.sessionLength.toFloat(), SliderState(
steps = 4, value = timerRepository.sessionLength.toFloat(),
valueRange = 1f..6f, steps = 4,
onValueChangeFinished = ::updateSessionLength valueRange = 1f..6f,
) onValueChangeFinished = ::updateSessionLength
)
}
val currentAlarmSound = timerRepository.alarmSoundUri.toString() val currentAlarmSound = timerRepository.alarmSoundUri.toString()
@@ -203,9 +205,9 @@ class SettingsViewModel(
SettingsViewModel( SettingsViewModel(
preferenceRepository = appPreferenceRepository, preferenceRepository = appPreferenceRepository,
timerRepository = appTimerRepository timerRepository = appTimerRepository,
) )
} }
} }
} }
} }