UCameraDevice.fromMap constructor

UCameraDevice.fromMap(
  1. Map<Object?, Object?> map
)

Implementation

factory UCameraDevice.fromMap(Map<Object?, Object?> map) {
  final Object? rawFormats = map["formats"];
  final Object? rawPhysical = map["physicalDeviceIds"];
  final Object? rawFocal = map["focalLengths"];
  return UCameraDevice(
    id: (map["id"] as String?) ?? "",
    name: (map["name"] as String?) ?? "",
    facing: UCameraFacing.values.firstWhere((UCameraFacing f) => f.name == map["facing"], orElse: () => UCameraFacing.unspecified),
    lens: UCameraLens.values.firstWhere((UCameraLens l) => l.name == map["lens"], orElse: () => UCameraLens.unknown),
    sensorOrientation: ((map["sensorOrientation"] as num?) ?? 0).toInt(),
    hasFlash: map["hasFlash"] == true,
    isLogical: map["isLogical"] == true,
    physicalDeviceIds: rawPhysical is List<Object?> ? rawPhysical.whereType<String>().toList(growable: false) : const <String>[],
    focalLengths: rawFocal is List<Object?> ? rawFocal.whereType<num>().map((num v) => v.toDouble()).toList(growable: false) : const <double>[],
    minFocusDistance: ((map["minFocusDistance"] as num?) ?? 0).toDouble(),
    formats: rawFormats is List<Object?> ? rawFormats.whereType<Map<Object?, Object?>>().map(UCameraFormat.fromMap).toList(growable: false) : const <UCameraFormat>[],
    minZoom: ((map["minZoom"] as num?) ?? 1).toDouble(),
    maxZoom: ((map["maxZoom"] as num?) ?? 1).toDouble(),
    neutralZoom: ((map["neutralZoom"] as num?) ?? 1).toDouble(),
  );
}