AlarmEvent.fromWire constructor

AlarmEvent.fromWire(
  1. AlarmEventWire wire
)

Builds the event described by wire.

Implementation

factory AlarmEvent.fromWire(AlarmEventWire wire) {
  final cause = switch (wire.cause) {
    AlarmEventCauseWire.snooze => AlarmEventCause.snooze,
    AlarmEventCauseWire.platformRefusal => AlarmEventCause.platformRefusal,
    AlarmEventCauseWire.staleAtBoot => AlarmEventCause.staleAtBoot,
  };
  final recordedAt =
      DateTime.fromMillisecondsSinceEpoch(wire.recordedAtMillis);
  final at = DateTime.fromMillisecondsSinceEpoch(wire.atMillis);

  return switch (wire.verb) {
    AlarmEventVerbWire.moved => AlarmMoved(
        id: wire.alarmId,
        cause: cause,
        recordedAt: recordedAt,
        nextRingAt: at,
      ),
    AlarmEventVerbWire.dropped => AlarmDropped(
        id: wire.alarmId,
        cause: cause,
        recordedAt: recordedAt,
        scheduledFor: at,
      ),
  };
}