fix(alarms): refresh next execution reliably
Build & Deploy Pluriwave / Build APK + AAB release (push) Failing after 1m0s
Build & Deploy Pluriwave / Análisis de código (push) Successful in 23s

This commit is contained in:
2026-05-22 18:41:57 +02:00
parent eb185231a1
commit a48dd6ddf9
5 changed files with 50 additions and 8 deletions
+3
View File
@@ -88,6 +88,9 @@ class EstadoAlarmas extends ChangeNotifier {
debugPrint('[PluriWave][alarmas] refrescar programacion');
final config = await servicio.recalcularTodas();
_aplicar(config);
debugPrint(
'[PluriWave][alarmas] proxima tras refrescar=${proximaAlarma?.id} ${proximaAlarma?.proximaEjecucion?.toIso8601String()}',
);
await _sincronizarTodas();
notifyListeners();
}
+5 -1
View File
@@ -60,6 +60,7 @@ class AlarmaMusical {
double? volumen,
SonidoInternoAlarma? sonidoInterno,
DateTime? proximaEjecucion,
bool limpiarProximaEjecucion = false,
DateTime? creadaEn,
DateTime? actualizadaEn,
}) {
@@ -78,7 +79,10 @@ class AlarmaMusical {
snoozeMinutos: snoozeMinutos ?? this.snoozeMinutos,
volumen: volumen ?? this.volumen,
sonidoInterno: sonidoInterno ?? this.sonidoInterno,
proximaEjecucion: proximaEjecucion ?? this.proximaEjecucion,
proximaEjecucion:
limpiarProximaEjecucion
? proximaEjecucion
: proximaEjecucion ?? this.proximaEjecucion,
creadaEn: creadaEn ?? this.creadaEn,
actualizadaEn: actualizadaEn ?? this.actualizadaEn,
);
+8 -6
View File
@@ -250,13 +250,15 @@ class ServicioAlarmas {
List<RangoVacaciones> vacaciones,
List<ExcepcionAlarma> excepciones,
) {
final proxima = _programacion.calcularProxima(
alarma: alarma,
desde: _reloj(),
vacaciones: vacaciones,
excepciones: excepciones,
);
return alarma.copyWith(
proximaEjecucion: _programacion.calcularProxima(
alarma: alarma,
desde: _reloj(),
vacaciones: vacaciones,
excepciones: excepciones,
),
proximaEjecucion: proxima,
limpiarProximaEjecucion: true,
);
}