UX-Simulation, Teil 3: Abbrechen, Badge, Versionsnummer, Wisch-Strecke
Die vier zuletzt zurückgestellten Punkte aus der UX-Simulation: - Abbrechen-Knopf für hängende YouTube-Downloads (Future.any gegen ein Abbruch-Signal, Anfrage läuft im Hintergrund aus statt die App zu blockieren) - Punkt am inaktiven Download-Unterreiter, wenn dort etwas im Hintergrund läuft (SubTabs bekommt einen optionalen badges-Parameter) - Versionsnummer unter "Über Melo" (neue Abhängigkeit: package_info_plus) - Mini-Player führt beim Wischen jetzt sichtbar mit und wertet zusätzlich zum Schwung auch die zurückgelegte Strecke aus — ein langsames, aber weites Wischen wurde vorher komplett ignoriert Dabei drei bestehende Widget-Tests korrigiert, die den Download-Tab ohne Provider<DownloadService> aufbauten (hauptmenue_test.dart, home_shell_test.dart, online_screen_test.dart) — lief bisher nur, weil niemand danach fragte; das neue Badge tut das jetzt app-weit. 550 Tests grün (vorher 539), flutter analyze ohne Befund.
This commit is contained in:
@@ -5,6 +5,41 @@ Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### 🧑🤝🧑 UX-Simulation, Teil 3: die zurückgestellten Punkte (2026-08-25)
|
||||
|
||||
Die vier Punkte aus Teil 2, die als "eigenes kleines Vorhaben" zurückgestellt
|
||||
waren, sind jetzt auch erledigt:
|
||||
|
||||
- ⏹️ **Abbrechen-Knopf für YouTube-Downloads.** Ein hängender Download (bis
|
||||
zu zwei mal 180s) ließ sich vorher nur durch Schließen der App stoppen.
|
||||
`YtDownloadService` wartet jetzt mit `Future.any` gegen ein Abbruch-Signal
|
||||
— die Netzwerk-Anfrage läuft im Hintergrund aus, die App wartet aber
|
||||
nicht mehr darauf und meldet sich sofort zurück.
|
||||
- 🔴 **Punkt am inaktiven Download-Unterreiter,** wenn dort im Hintergrund
|
||||
ein Download läuft — man sah vorher nicht, dass beim Wechsel zu
|
||||
YouTube/Server nebenan noch etwas passiert. `SubTabs` kann das jetzt für
|
||||
jeden Reiter einzeln (neuer, optionaler `badges`-Parameter).
|
||||
- 🔢 **Versionsnummer unter "Über Melo"** — dafür kam `package_info_plus`
|
||||
als neue Abhängigkeit dazu (federated plugin, kein zusätzliches
|
||||
Manifest nötig).
|
||||
- 👆 **Mini-Player folgt jetzt dem Finger.** Vorher zählte nur ein kräftiger
|
||||
Schwung (≥ 300 px/s); wer langsam, aber weit genug wischte, bekam gar
|
||||
keine Reaktion — wie ein hängender Bildschirm statt "zu langsam
|
||||
gewischt". Der Player führt die Bewegung jetzt sichtbar mit
|
||||
(`AnimatedContainer.transform`) und entscheidet beim Loslassen über
|
||||
Schwung **oder** zurückgelegte Strecke; ohne Wirkung schnappt er sichtbar
|
||||
zurück. Nach unten bleibt weiterhin unbelegt (Absicht, unverändert).
|
||||
- 🔧 **Nebenbei gefunden:** Drei bestehende Widget-Tests
|
||||
(`hauptmenue_test.dart`, `home_shell_test.dart`,
|
||||
`online_screen_test.dart`) bauten den Download-Tab ohne
|
||||
`Provider<DownloadService>` auf — funktionierte bisher nur, weil niemand
|
||||
ihn dort abfragte. Das Badge tut das jetzt app-weit; die drei
|
||||
Test-Aufbauten sind entsprechend ergänzt.
|
||||
- ✅ **Getestet:** 550 Tests grün (vorher 539), `flutter analyze` ohne
|
||||
Befund. Neu: Abbruch-Test für den YouTube-Download (hängende Anfrage per
|
||||
`Completer`), zwei Tests für das SubTabs-Badge, vier für die
|
||||
streckenbasierten Wisch-Funktionen.
|
||||
|
||||
### 🧑🤝🧑 UX-Simulation, Teil 2: Player-Feinschliff, Downloads, Einstellungen (2026-08-25)
|
||||
|
||||
Zweiter Block derselben 39 Funde:
|
||||
|
||||
Reference in New Issue
Block a user