55 lines
1.5 KiB
Dart
55 lines
1.5 KiB
Dart
|
|
import 'dart:async';
|
|
|
|
import 'package:flutter_reactive_ble/flutter_reactive_ble.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:star_lock/tools/baseGetXController.dart';
|
|
|
|
import '../../../tools/reactiveBlueTool/getx_ble.dart';
|
|
import 'nearbyLock_state.dart';
|
|
|
|
class NearbyLockLogic extends BaseGetXController{
|
|
|
|
// StreamSubscription<DiscoveredDevice>? _streamSubscription;
|
|
// StreamSubscription<ConnectionStateUpdate>? _connectionStreamSubscription;
|
|
// final flutterReactiveBle = FlutterReactiveBle();
|
|
// List<DiscoveredDevice> deviceList = [];
|
|
|
|
final NearbyLockState state = NearbyLockState();
|
|
final logicGetxBle = Get.put(GetxBle());
|
|
|
|
final StreamController<BleScannerState> _stateStreamController = StreamController();
|
|
late StreamSubscription<BleScannerState> _streamSubscription;
|
|
void _initScheduleSubscription() {
|
|
_streamSubscription= _stateStreamController.stream.listen((BleScannerState) {
|
|
print("页面B接收到数据 $BleScannerState");
|
|
});
|
|
|
|
}
|
|
|
|
@override
|
|
void onReady() {
|
|
// TODO: implement onReady
|
|
super.onReady();
|
|
_initScheduleSubscription();
|
|
}
|
|
|
|
@override
|
|
void onInit() {
|
|
// TODO: implement onInit
|
|
super.onInit();
|
|
logicGetxBle.scanner.startScan((List<DiscoveredDevice> devices){
|
|
// print("zzzzzzzzz:$devices");
|
|
// print("ccccccccc:${state.devices}");
|
|
bool isHave = state.devices.any((element) => element.id == devices[0].id);
|
|
if (isHave == false){
|
|
state.devices.addAll(devices);
|
|
}
|
|
|
|
});
|
|
}
|
|
|
|
|
|
}
|
|
|