BluetoothScanResult.fromMap constructor
BluetoothScanResult.fromMap(
- Map<String, dynamic> map
)
Implementation
factory BluetoothScanResult.fromMap(Map<String, dynamic> map) {
// device 필드가 Map<Object?, Object?> 타입일 수 있으므로 안전하게 변환
final deviceMap = map['device'];
Map<String, dynamic> safeDeviceMap;
if (deviceMap is Map<String, dynamic>) {
safeDeviceMap = deviceMap;
} else if (deviceMap is Map<Object?, Object?>) {
safeDeviceMap = Map<String, dynamic>.from(deviceMap);
} else {
throw ArgumentError('Invalid device map type: ${deviceMap.runtimeType}');
}
return BluetoothScanResult(
device: BluetoothDevice.fromMap(safeDeviceMap),
timestamp: DateTime.fromMillisecondsSinceEpoch(
map['timestamp'] as int? ?? 0,
),
isFirstScan: map['isFirstScan'] as bool? ?? false,
);
}