fix(alarms): harden native playback and pre-notice actions

This commit is contained in:
Javier Bautista Fernández
2026-05-28 12:03:58 +02:00
parent 41bbd0ea17
commit 659e6da189
16 changed files with 1370 additions and 180 deletions
@@ -58,6 +58,23 @@ class ServicioProgramacionAlarmas {
return desde.add(Duration(minutes: seguro));
}
DateTime? calcularSiguienteDespuesDeEjecucion({
required AlarmaMusical alarma,
required DateTime ejecucion,
List<RangoVacaciones> vacaciones = const [],
List<ExcepcionAlarma> excepciones = const [],
}) {
if (!alarma.activa) return null;
if (alarma.tipoProgramacion == TipoProgramacionAlarma.unica) return null;
return calcularProxima(
alarma: alarma.copyWith(limpiarSnooze: true),
desde: ejecucion.add(const Duration(minutes: 1)),
vacaciones: vacaciones,
excepciones: excepciones,
);
}
bool estaEnVacaciones(DateTime fecha, List<RangoVacaciones> vacaciones) =>
vacaciones.any((rango) => rango.contiene(fecha));