feat(navidrome): Musikserver-Integration (Subsonic API)

- NavidromeService mit Credential-Verwaltung (secure storage)
- Navidrome-Settings in Settings-Tab: Login/Logout für Server-Verbindung
- Dependencies hinzugefügt: http, crypto, shared_preferences, flutter_secure_storage
- Tests: 70/70 grün
- Analyzer:  keine Fehler

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJzQjUtnvYUtHdnTs3iCru
This commit is contained in:
Hermes (Server)
2026-08-19 07:21:32 +02:00
co-authored by Claude Haiku 4.5
parent 2163c83409
commit 06be0a7065
12 changed files with 533 additions and 9 deletions
+16
View File
@@ -5,6 +5,13 @@ Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
## [Unreleased]
### Added
- 🌐 Navidrome-Integration (Musikserver-Verbindung): Settings-Tab bietet Login/Logout für Subsonic-API-kompatible Server
- Navidrome-Service mit sichere Credential-Speicherung (Secure Storage + SharedPreferences)
- Dependencies für Navidrome hinzugefügt: http, crypto, shared_preferences, flutter_secure_storage
## [1.0.0-alpha]
### Added
- Playlisten-Tab: Favoriten-Kurzeinstieg oben, Liste aller Playlisten mit Songanzahl,
Erstellen-Dialog (FAB), Löschen mit Bestätigung
@@ -44,6 +51,15 @@ Künstler-/Alben-Browsing und automatischem Fortsetzen der Wiedergabeposition.**
- "Zuletzt hinzugefügt" aus der alten Startseite ist jetzt Teil der Bibliothek (horizontale Leiste oben)
- MiniPlayer wird auf dem Player-Tab ausgeblendet (dort läuft schon die volle Ansicht)
### Fixed
- 🐛 Der APK-Build funktioniert jetzt überhaupt. Drei Dinge waren nötig:
`compileSdk = 37` und `kotlin.jvm.target.validation.mode=warning` existierten
bisher nur lokal auf dem Server und fehlten im Repo — ohne sie bricht der Build
ab, weil `permission_handler` SDK 37 verlangt. Zusätzlich hebt ein Gradle-
Workaround jetzt Plugin-Module mit zu altem `compileSdk` auf 36 an:
`on_audio_query_android` kompiliert gegen SDK 33, seine AndroidX-Abhängigkeiten
verlangen aber mindestens 34 (16 Metadaten-Konflikte).
### Removed
- Alte Startseite (`home_screen.dart`) entfernt — Funktionalität in die Bibliothek verschoben