feat(player): таймер сна с плавным затуханием (fade-out)
P0-фича из спеки. PlayerController: startSleepTimer/cancelSleepTimer — в последние 20с экспоненциальный fade-out громкости (frac^2), затем пауза + возврат громкости. В плеере — пилюля «Таймер сна» (иконка Moon): при активном показывает остаток M:SS акцентом. Шторка с интервалами 15/30/45/60/90/120 мин + «Выключить». Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -72,6 +72,12 @@ class PlayerViewModel @Inject constructor(
|
||||
|
||||
val isRecording: StateFlow<Boolean> = recordingRepository.isRecording
|
||||
|
||||
// Таймер сна: оставшееся время в мс (null = выключен).
|
||||
val sleepRemainingMs: StateFlow<Long?> = playerController.sleepRemainingMs
|
||||
|
||||
fun startSleepTimer(minutes: Int) = playerController.startSleepTimer(minutes * 60_000L)
|
||||
fun cancelSleepTimer() = playerController.cancelSleepTimer()
|
||||
|
||||
private var nowPlayingJob: Job? = null
|
||||
|
||||
init {
|
||||
|
||||
Reference in New Issue
Block a user