diff options
Diffstat (limited to 'lib/control')
-rw-r--r-- | lib/control/universal_ble_scanner_controller.dart | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/control/universal_ble_scanner_controller.dart b/lib/control/universal_ble_scanner_controller.dart index e111f3b..7785088 100644 --- a/lib/control/universal_ble_scanner_controller.dart +++ b/lib/control/universal_ble_scanner_controller.dart @@ -27,11 +27,14 @@ class UniversalBleScannerController extends ScannerControllerImpl { StreamSubscription<BleDevice>? _subScan; StreamSubscription<AvailabilityState>? _subAvail; final List<BleDevice> _devices = []; + final int? rssiLimit; - UniversalBleScannerController() { + UniversalBleScannerController({this.rssiLimit}) { // fuck this limitation, I want an instance method to be called, which doesn't // work in an initializer. - _subScan = UniversalBle.scanStream.listen(_newDeviceAction); + _subScan = UniversalBle.scanStream + .where((d) => rssiLimit == null || (d.rssi ?? 0) > (rssiLimit!)) + .listen(_newDeviceAction); _subAvail = UniversalBle.availabilityStream.listen(_newAvailabilityAction); } |