UCameraDevice.fromMap constructor
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(),
);
}