autoconnect on fly mode (does not work yet)

This commit is contained in:
Constantin Leue
2026-08-02 08:25:23 +02:00
parent 5e9ef43f2f
commit 607dbb6584
13 changed files with 430 additions and 29 deletions
@@ -23,6 +23,7 @@ class AppSettingsRepository {
String? connectionWifiHost,
int connectionWifiPort,
String connectionWifiSsidPrefix,
String? connectionWifiLastSsid,
})> load() async {
final row = await (_db.select(_db.appSettingsTable)
..where((s) => s.id.equals(_rowId)))
@@ -40,6 +41,7 @@ class AppSettingsRepository {
connectionWifiPort: row?.connectionWifiPort ?? kDefaultWifiPort,
connectionWifiSsidPrefix:
row?.connectionWifiSsidPrefix ?? kDefaultWifiSsidPrefix,
connectionWifiLastSsid: row?.connectionWifiLastSsid,
);
}
@@ -119,6 +121,18 @@ class AppSettingsRepository {
));
}
/// Exakte SSID der zuletzt erfolgreich verbundenen mLRS-Bruecke (Doku
/// Abschnitt 8), oder null solange noch nie erfolgreich verbunden wurde.
Future<String?> loadConnectionWifiLastSsid() async =>
(await load()).connectionWifiLastSsid;
Future<void> setConnectionWifiLastSsid(String? ssid) async {
await _upsert(AppSettingsTableCompanion(
id: const Value(_rowId),
connectionWifiLastSsid: Value(ssid),
));
}
Future<void> _upsert(AppSettingsTableCompanion companion) async {
await _db.into(_db.appSettingsTable).insertOnConflictUpdate(companion);
}