feat(ui): refine navigation and sleep timer
Build & Deploy Pluriwave / Análisis de código (push) Successful in 21s
Build & Deploy Pluriwave / Build APK + AAB release (push) Successful in 2m19s

This commit is contained in:
2026-05-22 13:12:50 +02:00
parent 0edad1bfcb
commit e1d1d6c639
11 changed files with 755 additions and 124 deletions
+20 -2
View File
@@ -1,7 +1,20 @@
import 'dart:async';
import 'servicio_audio.dart';
/// Opciones predefinidas de timer en minutos.
/// Opciones predefinidas de timer en segundos.
const opcionesTimerSegundos = [
180,
300,
600,
900,
1800,
3600,
5400,
7200,
10800,
];
/// Compatibilidad con el reproductor completo, que aún muestra minutos.
const opcionesTimer = [3, 5, 10, 15, 30, 60, 90, 120, 180];
/// Servicio de auto-apagado de la radio.
@@ -34,8 +47,13 @@ class ServicioTimer {
/// Inicia el timer para [minutos] minutos.
void iniciar(int minutos) {
iniciarDuracion(Duration(minutes: minutos));
}
/// Inicia el timer para una duración exacta.
void iniciarDuracion(Duration duracion) {
if (duracion <= Duration.zero) return;
unawaited(cancelar());
final duracion = Duration(minutes: minutos);
_finAt = DateTime.now().add(duracion);
_tiempoRestante = duracion;
_activo = true;