getUsbPrinters method
Implementation
@override
Future<List<PrinterDeviceInfo>> getUsbPrinters() async {
try {
final List<dynamic>? list =
await methodChannel.invokeMethod<List<dynamic>>('getUsbPrinters');
if (list == null) return const [];
// Parseo defensivo: una entrada malformada del lado nativo no debe
// tirar abajo el listado completo (ni crashear la app).
final printers = <PrinterDeviceInfo>[];
for (final e in list) {
if (e is! Map) continue;
final info = PrinterDeviceInfo.fromMap(Map<String, dynamic>.from(e));
if (info.hasInstanceId) printers.add(info);
}
return printers;
} on PlatformException {
return const [];
} on MissingPluginException {
return const [];
}
}