PowerStateChangeEvent.fromMap constructor

PowerStateChangeEvent.fromMap(
  1. JsonMap map
)

Creates from a map.

Implementation

factory PowerStateChangeEvent.fromMap(JsonMap map) {
  final previousData = map['previous'];
  final currentData = map['current'];

  return PowerStateChangeEvent(
    previous: previousData is Map
        ? PowerState.fromMap(Map<String, dynamic>.from(previousData))
        : PowerState.unknown,
    current: currentData is Map
        ? PowerState.fromMap(Map<String, dynamic>.from(currentData))
        : PowerState.unknown,
    changeType: PowerStateChangeType.values.firstWhere(
      (e) => e.name == map['changeType'],
      orElse: () => PowerStateChangeType.batteryLevel,
    ),
    timestamp: map['timestamp'] is String
        ? DateTime.tryParse(map['timestamp'] as String) ?? DateTime.now()
        : DateTime.now(),
  );
}