fix: update the fix to take the sessionLength when sessionsSliderState being called.
This commit is contained in:
@@ -52,12 +52,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()
|
||||||
|
|
||||||
@@ -81,11 +83,6 @@ class SettingsViewModel(
|
|||||||
val blackTheme = preferenceRepository.getBooleanPreference("black_theme")
|
val blackTheme = preferenceRepository.getBooleanPreference("black_theme")
|
||||||
?: preferenceRepository.saveBooleanPreference("black_theme", false)
|
?: 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 ->
|
_preferencesState.update { currentState ->
|
||||||
currentState.copy(
|
currentState.copy(
|
||||||
theme = theme,
|
theme = theme,
|
||||||
@@ -94,7 +91,6 @@ class SettingsViewModel(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
observeCurrentFocusCount()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateSessionLength() {
|
private fun updateSessionLength() {
|
||||||
@@ -202,14 +198,6 @@ class SettingsViewModel(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun observeCurrentFocusCount() {
|
|
||||||
viewModelScope.launch {
|
|
||||||
_timerState.collect {
|
|
||||||
sessionsSliderState.value = it.currentFocusCount.toFloat()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val Factory: ViewModelProvider.Factory = viewModelFactory {
|
val Factory: ViewModelProvider.Factory = viewModelFactory {
|
||||||
initializer {
|
initializer {
|
||||||
|
|||||||
Reference in New Issue
Block a user