mymuseum-visitapp/lib/Helpers/requirement_state_controller.dart

60 lines
1.5 KiB
Dart

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<bool> get startBroadcastStream {
return _startBroadcasting.stream;
}
Stream<bool> get startStream {
return _startScanning.stream;
}
Stream<bool> get pauseStream {
return _pauseScanning.stream;
}
}