mirror of
https://github.com/jonasbark/swiftcontrol.git
synced 2026-02-18 00:17:40 +01:00
64 lines
1.5 KiB
Dart
64 lines
1.5 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:keypress_simulator/keypress_simulator.dart';
|
|
import 'package:swift_control/pages/scan.dart';
|
|
import 'package:swift_control/utils/requirements/platform.dart';
|
|
import 'package:universal_ble/universal_ble.dart';
|
|
|
|
class KeyboardRequirement extends PlatformRequirement {
|
|
KeyboardRequirement() : super('Keyboard access');
|
|
|
|
@override
|
|
Future<void> call() async {
|
|
await keyPressSimulator.requestAccess();
|
|
}
|
|
|
|
@override
|
|
Future<void> getStatus() async {
|
|
status = await keyPressSimulator.isAccessAllowed();
|
|
}
|
|
}
|
|
|
|
class BluetoothTurnedOn extends PlatformRequirement {
|
|
BluetoothTurnedOn() : super('Bluetooth turned on');
|
|
|
|
@override
|
|
Future<void> call() async {
|
|
await UniversalBle.enableBluetooth();
|
|
}
|
|
|
|
@override
|
|
Future<void> getStatus() async {
|
|
final currentState = await UniversalBle.getBluetoothAvailabilityState();
|
|
status = currentState == AvailabilityState.poweredOn;
|
|
}
|
|
}
|
|
|
|
class UnsupportedPlatform extends PlatformRequirement {
|
|
UnsupportedPlatform() : super('Unsupported platform :(') {
|
|
status = false;
|
|
}
|
|
|
|
@override
|
|
Future<void> call() async {}
|
|
|
|
@override
|
|
Future<void> getStatus() async {}
|
|
}
|
|
|
|
class BluetoothScanning extends PlatformRequirement {
|
|
BluetoothScanning() : super('Bluetooth Scanning') {
|
|
status = false;
|
|
}
|
|
|
|
@override
|
|
Future<void> call() async {}
|
|
|
|
@override
|
|
Future<void> getStatus() async {}
|
|
|
|
@override
|
|
Widget? build(BuildContext context, VoidCallback onUpdate) {
|
|
return ScanWidget();
|
|
}
|
|
}
|