@@ -25,7 +25,7 @@ import '../device_registry.dart';
2525import '../firmware_update.dart' ;
2626import '../logging_wrappers.dart' ;
2727import '../sensors.dart' ;
28- import 'bluetooth_manager .dart' ;
28+ import 'known_devices .dart' ;
2929import 'bluetooth_message.dart' ;
3030
3131part 'bluetooth_manager_plus.g.dart' ;
@@ -505,15 +505,15 @@ class Scan extends _$Scan {
505505 ScanReason build () {
506506 isScanningStreamSubscription = FlutterBluePlus .isScanning.listen (onIsScanningChange);
507507
508- ref.listen (isAllKnownGearConnectedProvider, isAllKnownGearConnectedProviderListener);
509-
510508 Hive .box (settings).listenable (keys: [hasCompletedOnboarding])
511509 ..removeListener (isAllGearConnectedListener)
512510 ..addListener (isAllGearConnectedListener);
513511 isBluetoothEnabled
514512 ..removeListener (isAllGearConnectedListener)
515513 ..addListener (isAllGearConnectedListener);
516-
514+ KnownDevices .instance
515+ ..removeListener (isAllGearConnectedListener)
516+ ..addListener (isAllGearConnectedListener);
517517 // Has to be delayed so the provider initializes before calling the listener. Otherwise we can't call ref or set state in other methods
518518 Future .delayed (Duration (milliseconds: 1 ), () => isAllGearConnectedListener ());
519519
@@ -524,12 +524,6 @@ class Scan extends _$Scan {
524524 return ScanReason .notScanning;
525525 }
526526
527- void isAllKnownGearConnectedProviderListener (bool ? previous, bool next) {
528- if (ref.mounted) {
529- isAllGearConnectedListener ();
530- }
531- }
532-
533527 void onIsScanningChange (bool isScanning) {
534528 if (state != ScanReason .notScanning && ! isScanning) {
535529 state = ScanReason .notScanning;
@@ -561,7 +555,7 @@ class Scan extends _$Scan {
561555 }
562556
563557 void isAllGearConnectedListener () {
564- bool allConnected = ref. read (isAllKnownGearConnectedProvider) ;
558+ bool allConnected = KnownDevices .instance.isAllGearConnected ;
565559 bool isInOnboarding = HiveProxy .getOrDefault (settings, hasCompletedOnboarding, defaultValue: hasCompletedOnboardingDefault) < hasCompletedOnboardingVersionToAgree;
566560 if ((! allConnected || isInOnboarding) && isBluetoothEnabled.value) {
567561 beginScan (scanReason: ScanReason .background);
@@ -574,7 +568,7 @@ class Scan extends _$Scan {
574568enum ScanReason { background, addGear, notScanning }
575569
576570Future <void > sendMessage (BaseStatefulDevice device, List <int > message, {bool withoutResponse = false }) async {
577- if (! _didInitFlutterBluePlus) {
571+ if (! _didInitFlutterBluePlus || device.baseStoredDevice.btMACAddress. startsWith ( "DEV" ) ) {
578572 return ;
579573 }
580574 BluetoothDevice ? bluetoothDevice = FlutterBluePlus .connectedDevices.firstWhereOrNull ((element) => element.remoteId.str == device.baseStoredDevice.btMACAddress);
0 commit comments