fix: code-review #2 — dedup MagicBytes, auth für check_corrupted, UI-Flag, merged player streams, jq-JSON

This commit is contained in:
Dustin
2026-08-01 16:48:45 +02:00
parent 2d4c7c8b98
commit f00fd445f5
5 changed files with 57 additions and 90 deletions
+1 -11
View File
@@ -15,7 +15,6 @@ class PlayerService {
final List<Song> _warteschlange = [];
int _aktuellerIndex = -1;
StreamSubscription<PlayerState>? _autoNextSub;
StreamSubscription<PlayerState>? _fehlerSub;
AudioPlayer get _p {
if (_player == null) {
@@ -23,14 +22,7 @@ class PlayerService {
_autoNextSub = _player!.playerStateStream.listen((state) {
if (state.processingState == ProcessingState.completed) {
naechstes();
}
});
// ── Playback-Fehler abfangen → Song als korrupt markieren ──
_fehlerSub = _player!.playerStateStream.listen((state) {
if (state.processingState == ProcessingState.completed) return; // bereits behandelt
// PlayerState hat kein explizites "failure"-Feld, aber wir prüfen ob
// die Quelle nicht geladen werden konnte (idle nach Fehlversuch)
if (state.processingState == ProcessingState.idle &&
} else if (state.processingState == ProcessingState.idle &&
_aktuellerIndex >= 0 &&
_aktuellerIndex < _warteschlange.length) {
final song = _warteschlange[_aktuellerIndex];
@@ -39,7 +31,6 @@ class PlayerService {
_markiereAlsKorrupt(song);
}
}
});
}
return _player!;
}
@@ -122,7 +113,6 @@ class PlayerService {
void dispose() {
_autoNextSub?.cancel();
_fehlerSub?.cancel();
_player?.dispose();
_player = null;
_songWechsel.close();