fix(android): Zählfehler im Downloader — halb geladene Gruppen galten als vollständig

Der Worker startete done bei group.downloadedTracks und zählte dieselben
fertigen Titel beim Überspringen nochmal: 412 fertige wurden zu 824.
Übersteigt der Wert totalTracks, gilt die Gruppe als vollständig, der
Fortschrittsbalken verschwindet und der Herunterladen-Knopf wird
unantastbar, obwohl Titel fehlen.

Der Fehler ist älter, fiel aber kaum auf, solange Fortsetzen nur von Hand
passierte — mit der automatischen Wiederholung aus 1.9 hätte er bei jedem
Lauf zugeschlagen. Zähler beginnt jetzt bei 0.

Dazu: beim Überspringen wurde der unveränderte Fortschritt geschrieben,
1900 überflüssige DB-Writes je Lauf. Jetzt nur nach echtem Versuch und
einmal beim Abbruch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
marcandClaude Opus 5 committed 2026-09-15 20:22:18 +02:00
1 parent 8bc03da88e
commit e2e7b2490f
3 files changed
+27 -6

No files matched your search

+13 -1
View File
@@ -76,7 +76,8 @@ Die Android-App zählt eigenständig weiter (mehrere APKs pro Release). Welche d
## [2.6] — 2026-09-12
**Android:** 1.9 (versionCode 12) — Besitzer geteilter Playlists.
**Android:** 1.9 (versionCode 12) → 1.10 (versionCode 13). 1.9 brachte den Besitzer geteilter
Playlists und die Offline-Korrekturen, 1.10 den Zählfehler im Downloader.
### Fixed
- **Zurück und Vorwärts gingen im installierten Fenster am PC gar nicht (Web)** — im Browser-Tab
@@ -108,6 +109,17 @@ Die Android-App zählt eigenständig weiter (mehrere APKs pro Release). Welche d
toter Zurück-Druck gleich zu Beginn. Vorwärts funktioniert unverändert (mitgetestet).
### Fixed
- **Halb geladene Gruppen meldeten sich als „Vollständig" (Android)** — der Worker startete seinen
Zähler bei `group.downloadedTracks` und zählte dieselben fertigen Titel beim Überspringen **gleich
noch einmal**: nach einem Fortsetzen mit 412 fertigen Titeln meldete die Gruppe 824. Überschreitet
der Wert `totalTracks`, gilt sie als vollständig — der Fortschrittsbalken verschwindet und der
Herunterladen-Knopf wird unantastbar, obwohl Titel fehlen. Der Fehler steckte schon länger drin,
fiel aber kaum auf, solange Fortsetzen nur von Hand passierte; mit der automatischen Wiederholung
hätte er bei jedem Lauf zugeschlagen. Der Zähler beginnt jetzt bei 0 und zählt jeden fertigen Titel
genau einmal.
- Nebenbei: beim Überspringen wurde der Fortschritt in die Datenbank geschrieben, obwohl er sich
nicht ändert — 1900 überflüssige Schreibzugriffe je Lauf. Geschrieben wird jetzt nur nach einem
tatsächlichen Versuch und einmal beim Abbruch.
- **Große Offline-Downloads liefen nie zu Ende (Android)** — WorkManager räumt einem
Hintergrund-Worker rund **10 Minuten** ein und stoppt ihn dann. Ein Vordergrunddienst ist keine
Option, `FOREGROUND_SERVICE_TYPE_DATA_SYNC` bringt die App unter Android 15 zum Absturz. Der