startScan method
Implementation
void startScan(Duration timeout) async {
_scanResults.add(<PrinterBluetooth>[]);
_bluetoothManager.startScan(timeout: timeout);
_scanResultsSubscription = _bluetoothManager.scanResults.listen((devices) {
_scanResults.add(devices.map((d) => PrinterBluetooth(d)).toList());
});
_isScanningSubscription =
_bluetoothManager.isScanning.listen((isScanningCurrent) async {
// If isScanning value changed (scan just stopped)
if (_isScanning.value! && !isScanningCurrent) {
_scanResultsSubscription!.cancel();
_isScanningSubscription!.cancel();
}
_isScanning.add(isScanningCurrent);
});
}