import 'package:flutter_beacon/flutter_beacon.dart'; import 'package:get/get.dart'; class RequirementStateController extends GetxController { var bluetoothState = BluetoothState.stateOff.obs; var authorizationStatus = AuthorizationStatus.notDetermined.obs; var locationService = false.obs; var _startBroadcasting = false.obs; var _startScanning = false.obs; var _pauseScanning = false.obs; bool get bluetoothEnabled => bluetoothState.value == BluetoothState.stateOn; bool get authorizationStatusOk => authorizationStatus.value == AuthorizationStatus.allowed || authorizationStatus.value == AuthorizationStatus.always; bool get locationServiceEnabled => locationService.value; updateBluetoothState(BluetoothState state) { bluetoothState.value = state; } updateAuthorizationStatus(AuthorizationStatus status) { authorizationStatus.value = status; } updateLocationService(bool flag) { locationService.value = flag; } startBroadcasting() { _startBroadcasting.value = true; } stopBroadcasting() { _startBroadcasting.value = false; } startScanning() { _startScanning.value = true; _pauseScanning.value = false; } pauseScanning() { _startScanning.value = false; _pauseScanning.value = true; } Stream get startBroadcastStream { return _startBroadcasting.stream; } Stream get startStream { return _startScanning.stream; } Stream get pauseStream { return _pauseScanning.stream; } }