bluetooth connectivity layer added
This commit is contained in:
@@ -12,13 +12,21 @@ class AppSettingsRepository {
|
||||
|
||||
static const _rowId = 0;
|
||||
|
||||
Future<({int? activeDroneProfileId, int? currentMissionId})> load() async {
|
||||
Future<
|
||||
({
|
||||
int? activeDroneProfileId,
|
||||
int? currentMissionId,
|
||||
String? connectionDeviceAddress,
|
||||
bool connectionAutoConnect,
|
||||
})> load() async {
|
||||
final row = await (_db.select(_db.appSettingsTable)
|
||||
..where((s) => s.id.equals(_rowId)))
|
||||
.getSingleOrNull();
|
||||
return (
|
||||
activeDroneProfileId: row?.activeDroneProfileId,
|
||||
currentMissionId: row?.currentMissionId,
|
||||
connectionDeviceAddress: row?.connectionDeviceAddress,
|
||||
connectionAutoConnect: row?.connectionAutoConnect ?? true,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -36,6 +44,26 @@ class AppSettingsRepository {
|
||||
));
|
||||
}
|
||||
|
||||
/// Gemerkte Bluetooth-MAC-Adresse (Doku Kommunikationsschicht 3.2a), oder
|
||||
/// null um die Erinnerung zu loeschen (z.B. nach "Geraet entkoppeln").
|
||||
Future<String?> loadConnectionDeviceAddress() async =>
|
||||
(await load()).connectionDeviceAddress;
|
||||
|
||||
Future<void> setConnectionDeviceAddress(String? address) async {
|
||||
await _upsert(AppSettingsTableCompanion(
|
||||
id: const Value(_rowId),
|
||||
connectionDeviceAddress: Value(address),
|
||||
));
|
||||
}
|
||||
|
||||
/// "Beim Wechsel in Fly automatisch verbinden" (Doku 7), Standard an.
|
||||
Future<void> setConnectionAutoConnect(bool value) async {
|
||||
await _upsert(AppSettingsTableCompanion(
|
||||
id: const Value(_rowId),
|
||||
connectionAutoConnect: Value(value),
|
||||
));
|
||||
}
|
||||
|
||||
Future<void> _upsert(AppSettingsTableCompanion companion) async {
|
||||
await _db.into(_db.appSettingsTable).insertOnConflictUpdate(companion);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user