refactor: use SSoT for playback speed

This commit is contained in:
2026-07-03 13:54:25 +02:00
parent d2283ae347
commit bd25dee1f0
4 changed files with 27 additions and 11 deletions
@@ -62,7 +62,6 @@ class PlayerViewModel(
if (alreadyLoadedRecord != null) {
logger.debug("Record $recordId already loaded")
playbackRepository.load(record = alreadyLoadedRecord)
applyCurrentSpeed()
return@launch
}
@@ -73,16 +72,10 @@ class PlayerViewModel(
}
playbackRepository.load(record = loadedRecord)
applyCurrentSpeed()
record.value = loadedRecord
}
}
private suspend fun applyCurrentSpeed() {
val playbackPreferences = preferencesRepository.playbackPreferences.firstOrNull() ?: return
playbackRepository.setSpeed(playbackPreferences.speed)
}
fun performMainPlayAction() {
when (uiState.value.playerState.playbackState) {
PlaybackState.PLAYING -> playbackRepository.pause()
@@ -113,9 +106,9 @@ class PlayerViewModel(
PlaybackPreferences.MIN_SPEED,
PlaybackPreferences.MAX_SPEED,
)
viewModelScope.launch {
preferencesRepository.setPlaybackSpeed(clampedSpeed)
playbackRepository.setSpeed(clampedSpeed)
}
}