fix(alarms): harden native playback and pre-notice actions
This commit is contained in:
@@ -21,6 +21,9 @@ class AlarmaMusical {
|
||||
this.volumen = 0.85,
|
||||
this.sonidoInterno = SonidoInternoAlarma.amanecer,
|
||||
this.proximaEjecucion,
|
||||
this.snoozeHasta,
|
||||
this.snoozeOrigen,
|
||||
this.ultimaEjecucionGestionada,
|
||||
this.creadaEn,
|
||||
this.actualizadaEn,
|
||||
});
|
||||
@@ -40,6 +43,9 @@ class AlarmaMusical {
|
||||
final double volumen;
|
||||
final SonidoInternoAlarma sonidoInterno;
|
||||
final DateTime? proximaEjecucion;
|
||||
final DateTime? snoozeHasta;
|
||||
final DateTime? snoozeOrigen;
|
||||
final DateTime? ultimaEjecucionGestionada;
|
||||
final DateTime? creadaEn;
|
||||
final DateTime? actualizadaEn;
|
||||
|
||||
@@ -61,6 +67,11 @@ class AlarmaMusical {
|
||||
SonidoInternoAlarma? sonidoInterno,
|
||||
DateTime? proximaEjecucion,
|
||||
bool limpiarProximaEjecucion = false,
|
||||
DateTime? snoozeHasta,
|
||||
DateTime? snoozeOrigen,
|
||||
bool limpiarSnooze = false,
|
||||
DateTime? ultimaEjecucionGestionada,
|
||||
bool limpiarUltimaEjecucionGestionada = false,
|
||||
DateTime? creadaEn,
|
||||
DateTime? actualizadaEn,
|
||||
}) {
|
||||
@@ -83,11 +94,20 @@ class AlarmaMusical {
|
||||
limpiarProximaEjecucion
|
||||
? proximaEjecucion
|
||||
: proximaEjecucion ?? this.proximaEjecucion,
|
||||
snoozeHasta: limpiarSnooze ? snoozeHasta : snoozeHasta ?? this.snoozeHasta,
|
||||
snoozeOrigen:
|
||||
limpiarSnooze ? snoozeOrigen : snoozeOrigen ?? this.snoozeOrigen,
|
||||
ultimaEjecucionGestionada:
|
||||
limpiarUltimaEjecucionGestionada
|
||||
? ultimaEjecucionGestionada
|
||||
: ultimaEjecucionGestionada ?? this.ultimaEjecucionGestionada,
|
||||
creadaEn: creadaEn ?? this.creadaEn,
|
||||
actualizadaEn: actualizadaEn ?? this.actualizadaEn,
|
||||
);
|
||||
}
|
||||
|
||||
DateTime? get proximaProgramable => snoozeHasta ?? proximaEjecucion;
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
'id': id,
|
||||
'nombre': nombre,
|
||||
@@ -104,6 +124,9 @@ class AlarmaMusical {
|
||||
'volumen': volumen,
|
||||
'sonidoInterno': sonidoInterno.name,
|
||||
'proximaEjecucion': proximaEjecucion?.toIso8601String(),
|
||||
'snoozeHasta': snoozeHasta?.toIso8601String(),
|
||||
'snoozeOrigen': snoozeOrigen?.toIso8601String(),
|
||||
'ultimaEjecucionGestionada': ultimaEjecucionGestionada?.toIso8601String(),
|
||||
'creadaEn': creadaEn?.toIso8601String(),
|
||||
'actualizadaEn': actualizadaEn?.toIso8601String(),
|
||||
};
|
||||
@@ -137,6 +160,11 @@ class AlarmaMusical {
|
||||
SonidoInternoAlarma.amanecer,
|
||||
),
|
||||
proximaEjecucion: _dateFromJson(json['proximaEjecucion']),
|
||||
snoozeHasta: _dateFromJson(json['snoozeHasta']),
|
||||
snoozeOrigen: _dateFromJson(json['snoozeOrigen']),
|
||||
ultimaEjecucionGestionada: _dateFromJson(
|
||||
json['ultimaEjecucionGestionada'],
|
||||
),
|
||||
creadaEn: _dateFromJson(json['creadaEn']),
|
||||
actualizadaEn: _dateFromJson(json['actualizadaEn']),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user