fix(alarm): add due alarm watchdog
This commit is contained in:
@@ -50,6 +50,7 @@ class _PaginaPrincipalState extends State<_PaginaPrincipal> {
|
||||
int _indice = 0;
|
||||
StreamSubscription<String>? _errorSubscription;
|
||||
StreamSubscription<EventoAlarmaAndroid>? _alarmaSubscription;
|
||||
StreamSubscription<AlarmaMusical>? _alarmaVencidaSubscription;
|
||||
EstadoRadio? _estadoSuscrito;
|
||||
bool _alarmaInicialProcesada = false;
|
||||
|
||||
@@ -129,6 +130,12 @@ class _PaginaPrincipalState extends State<_PaginaPrincipal> {
|
||||
if (!mounted) return;
|
||||
_abrirAlarmaSonando(evento);
|
||||
});
|
||||
_alarmaVencidaSubscription ??= alarmas.alarmasVencidasStream.listen((
|
||||
alarma,
|
||||
) {
|
||||
if (!mounted) return;
|
||||
_abrirAlarmaDirecta(alarma);
|
||||
});
|
||||
if (!_alarmaInicialProcesada) {
|
||||
_alarmaInicialProcesada = true;
|
||||
unawaited(_procesarAlarmaInicial(alarmas));
|
||||
@@ -139,6 +146,7 @@ class _PaginaPrincipalState extends State<_PaginaPrincipal> {
|
||||
void dispose() {
|
||||
_errorSubscription?.cancel();
|
||||
_alarmaSubscription?.cancel();
|
||||
_alarmaVencidaSubscription?.cancel();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@@ -223,6 +231,15 @@ class _PaginaPrincipalState extends State<_PaginaPrincipal> {
|
||||
);
|
||||
}
|
||||
|
||||
Future<void> _abrirAlarmaDirecta(AlarmaMusical alarma) async {
|
||||
await Navigator.of(context).push(
|
||||
MaterialPageRoute<void>(
|
||||
builder: (_) => PantallaAlarmaSonando(alarma: alarma),
|
||||
fullscreenDialog: true,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
void _mostrarTimerDialog(BuildContext context) {
|
||||
final estado = context.read<EstadoRadio>();
|
||||
showModalBottomSheet(
|
||||
|
||||
Reference in New Issue
Block a user