fix(alarms): harden native playback and pre-notice actions
This commit is contained in:
@@ -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));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user