From 829c0d31e46e874f11ebd7a90b3b91d197df37df Mon Sep 17 00:00:00 2001 From: uvok Date: Sat, 2 Aug 2025 11:46:51 +0200 Subject: fpb: Implement adapter availability --- lib/control/flutter_blue_plus_scanner_controller.dart | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'lib/control') diff --git a/lib/control/flutter_blue_plus_scanner_controller.dart b/lib/control/flutter_blue_plus_scanner_controller.dart index a7f34b6..1c93cf6 100644 --- a/lib/control/flutter_blue_plus_scanner_controller.dart +++ b/lib/control/flutter_blue_plus_scanner_controller.dart @@ -24,6 +24,18 @@ import 'package:logger/logger.dart'; var logger = Logger(); class FlutterBluePlusScannerController extends ScannerControllerImpl { + late final StreamSubscription _availSubs; + + FlutterBluePlusScannerController() { + _availSubs = FlutterBluePlus.adapterState.listen( + (d) => super.setAvailability( + d == BluetoothAdapterState.on + ? ScanAvailability.available + : ScanAvailability.unavailable, + ), + ); + } + @override Future startScan({ Duration timeout = const Duration(seconds: 5), @@ -66,6 +78,7 @@ class FlutterBluePlusScannerController extends ScannerControllerImpl { @override void dispose() { stopScan().ignore(); + _availSubs.cancel().ignore(); super.dispose(); } } -- cgit v1.2.3