v2.51.4 — Review-Fix MED-2: „Trennen“ (Musikserver) persistiert jetzt

## MED-2 (navidrome_service.dart + home_screen.dart)
- Neues NavidromeService.loescheZugangsdaten(): löscht In-Memory-Zustand
  UND persistierte Credentials (SharedPreferences navidrome_url/user +
  SecureStorage navidrome_pass)
- _zeigeServerBrowser() ist async und ruft loescheZugangsdaten() beim
  Trennen auf — Chip bleibt nach App-Neustart rot statt wieder grün
This commit is contained in:
Dustin
2026-08-05 08:10:30 +02:00
parent 148ff4f21b
commit a24875726f
2 changed files with 25 additions and 4 deletions
+20
View File
@@ -111,6 +111,26 @@ class NavidromeService {
}
}
/// Trennt die Verbindung dauerhaft: In-Memory-Zustand UND persistierte
/// Zugangsdaten (SharedPreferences + SecureStorage) werden gelöscht.
/// Sonst lädt `ladeGespeicherteZugangsdaten()` beim nächsten App-Start
/// die alten Daten wieder und der Musikserver-Chip wäre wieder grün.
Future<void> loescheZugangsdaten() async {
_serverUrl = '';
_user = '';
_password = '';
_salt = '';
_token = null;
try {
final prefs = await SharedPreferences.getInstance();
await prefs.remove('navidrome_url');
await prefs.remove('navidrome_user');
await _secure.delete(key: 'navidrome_pass');
} catch (e) {
debugPrint('Fehler beim Löschen der Navidrome-Zugangsdaten: $e');
}
}
bool get istVerbunden => _serverUrl.isNotEmpty && _user.isNotEmpty;
Uri _uri(String endpoint, [Map<String, String>? extra]) {