FirmwareUpdateEvent.fromMap constructor

FirmwareUpdateEvent.fromMap(
  1. Map<String, dynamic> map
)

Implementation

factory FirmwareUpdateEvent.fromMap(Map<String, dynamic> map) {
  FirmwareUpdateSource parseSource(String? value) {
    return FirmwareUpdateSource.values.firstWhere(
      (entry) => entry.name == value,
      orElse: () => FirmwareUpdateSource.unknown,
    );
  }

  FirmwareUpdatePhase parsePhase(String? value) {
    return FirmwareUpdatePhase.values.firstWhere(
      (entry) => entry.name == value,
      orElse: () => FirmwareUpdatePhase.unknown,
    );
  }

  FirmwareUpdateType parseType(String? value) {
    return FirmwareUpdateType.values.firstWhere(
      (entry) => entry.name == value,
      orElse: () => FirmwareUpdateType.unknown,
    );
  }

  final deviceInfoValue = map['deviceInfo'];
  return FirmwareUpdateEvent(
    source: parseSource(map['source'] as String?),
    phase: parsePhase(map['phase'] as String?),
    updateType: parseType(map['updateType'] as String?),
    statusCode: map['statusCode'] as String?,
    description: map['description'] as String?,
    progressPercent: (map['progressPercent'] as num?)?.toDouble(),
    rawProgress: map['rawProgress'],
    deviceInfo: deviceInfoValue is Map
        ? Map<String, dynamic>.from(deviceInfoValue)
        : const <String, dynamic>{},
    isBlockingUi: map['isBlockingUi'] as bool? ?? false,
    isTerminal: map['isTerminal'] as bool? ?? false,
    rawData: Map<String, dynamic>.from(map),
  );
}