BluetoothPrinter constructor
BluetoothPrinter()
Implementation
BluetoothPrinter() {
_channel.setMethodCallHandler((call) async {
switch (call.method) {
case 'onDiscovered':
final dev = call.arguments;
final device = BluetoothDevice._internal(
name: dev['name'],
address: dev['address'],
type: dev['type'],
isConnected: dev['is_connected'],
printer: this,
);
if (!_devices.any((element) => element.address == device.address)) {
_devices.add(device);
_discoverController.sink.add(_devices);
}
break;
case 'onStateChanged':
int id = call.arguments['id'];
_stateController.sink.add(id);
break;
case 'onPrintingProgress':
int total = call.arguments['total'];
int progress = call.arguments['progress'];
_printingProgress.sink.add({
'total': total,
'progress': progress,
});
break;
default:
}
return true;
});
}