Politur: Wischen, wandernde Cover, Alphabet-Sprung, Mehrfachauswahl
Die P2-Liste aus dem Review — Kleinigkeiten, die man einzeln nicht vermisst und zusammen sofort merkt. - Das Coverbild wandert beim Oeffnen der Vollbild-Wiedergabe an seinen Platz, statt dass ein neuer Bildschirm aufspringt. - Wischen am Mini-Player: nach oben oeffnen, seitwaerts Titelwechsel. Mit Schwelle, weil der Mini-Player zugleich ein Knopf ist und der Finger beim Tippen fast immer ein paar Pixel wandert. Nach unten bewusst unbelegt, damit niemand die Wiedergabe versehentlich wegschiebt. - Kuenstlerliste mit Bildern und Albenzahl; dahinter eine Kuenstlerseite mit seinen Alben und darunter allen Titeln (dafuer neu: groupByAlbum). Bei nur einem Album entfaellt die Zwischenstufe. - Alphabet-Sprung am rechten Rand, nur bei Namenssortierung und ab 30 Titeln. Umlaute zaehlen zu ihrem Grundbuchstaben, Ziffern und Zeichen unter "#" — dieselbe Regel wie die Sortierung. - Mehrfachauswahl per langem Druck, mit "Zur Warteschlange" und "Zu Wiedergabeliste". - Abgeschaltete Systemanimationen gelten jetzt ueberall, nicht nur bei den Lauf-Balken. - Querformat und Tablet: der Player legt Cover und Bedienung nebeneinander und begrenzt die Textbreite. Beim Bauen gefunden: der Alphabet-Sprung landete bei absteigender Sortierung am Ende eines Buchstaben-Blocks statt an seinem Anfang. Aus dem Code-Review nachgebessert, sieben Punkte: die Alphabet-Leiste wurde breiter, je weniger Buchstaben sie hatte (bei einem einzigen 528 dp — die Songliste waere verschwunden); die neue Kuenstlerseite baute alle Titel sofort und oeffnete damit bei 300 Titeln ebenso viele Abos; die Bildlauf-Animation im Songtext stuerzte bei abgeschalteten Systemanimationen ab; die feste Zeilenhoehe war 64 statt 72 und die Schriftskalierung an 1.0 statt an einer echten Groesse gemessen; bereits enthaltene Titel wurden in Wiedergabelisten verschoben statt uebersprungen und trotzdem mitgezaehlt; ein Fehler im Stapel brach still ab; und die Zurueck-Geste verliess den Bildschirm, statt die Auswahl zu beenden. Selbst gefunden: in der Kuenstlerliste hing der Datenbank-Strom an CategoryService und wurde bei jeder Kategorie-Meldung neu aufgesetzt. Nebenbei aufgeklaert, warum ein neuer Widget-Test endlos hing: Aufbau in setUp laeuft ausserhalb der Testzone, die drift-Stroeme liefen dort in echter Zeit, waehrend pumpAndSettle in Testzeit auf sie wartete. Aufbau in den Testkoerper verschoben. Der aeltere Haenger im BACKLOG hat eine andere Ursache (db.close() dort nachweislich ausgeschlossen); die Spur ist notiert. 500 Tests gruen (vorher 457), flutter analyze ohne Befund, Release-APK gebaut. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013xAHJTJM6UUqmjUgk1PUEd
This commit is contained in:
co-authored by
Claude Opus 5
parent
0d76d8cc58
commit
490e73ce41
@@ -5,6 +5,94 @@ Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### ✨ Politur: Wischen, wandernde Cover, Alphabet-Sprung, Mehrfachauswahl (2026-08-24)
|
||||
|
||||
Die P2-Liste aus dem Review — lauter Kleinigkeiten, die man einzeln nicht
|
||||
vermisst und zusammen sofort merkt.
|
||||
|
||||
- 🎞️ **Das Coverbild wandert.** Beim Öffnen der Vollbild-Wiedergabe springt
|
||||
kein neuer Bildschirm auf; das Bild aus der Leiste wächst an seinen Platz.
|
||||
- 👆 **Wischen am Mini-Player.** Nach oben öffnet die Wiedergabe, seitwärts
|
||||
wechselt den Titel. Mit Schwelle: der Mini-Player ist zugleich ein Knopf,
|
||||
und beim Antippen wandert der Finger fast immer ein paar Pixel — ohne
|
||||
Schwelle spränge bei jedem zweiten Tipp der Titel. Nach unten ist bewusst
|
||||
unbelegt, damit niemand die Wiedergabe aus Versehen wegschiebt.
|
||||
- 🎨 **Die Künstlerliste hat Bilder** und nennt die Zahl der Alben. Dahinter
|
||||
jetzt eine Künstlerseite mit seinen Alben, darunter alle Titel — vorher
|
||||
stand bei einem Künstler mit acht Alben alles ungeordnet untereinander.
|
||||
Bei nur einem Album entfällt die Zwischenstufe.
|
||||
- 🔤 **Alphabet-Sprung am rechten Rand.** Erscheint nur, wo er stimmt: bei
|
||||
Sortierung nach Namen und ab 30 Titeln. Bei „Zuletzt hinzugefügt" stünden
|
||||
die Buchstaben in willkürlicher Reihenfolge. Umlaute zählen zu ihrem
|
||||
Grundbuchstaben, Ziffern und Zeichen sammeln sich unter „#" — dieselbe
|
||||
Regel wie die Sortierung selbst.
|
||||
- ☑️ **Mehrfachauswahl.** Langes Drücken wählt aus, danach wählt jeder Tipp
|
||||
weitere Titel. Oben stehen „Zur Warteschlange" und „Zu Wiedergabeliste".
|
||||
Wer zwanzig Lieder in eine Liste wollte, tippte vorher sechzig Mal.
|
||||
- ♿ **Abgeschaltete Systemanimationen gelten jetzt überall.** Bisher hielt
|
||||
sich nur die Balken-Animation daran; Reiterwechsel, Songtext und
|
||||
Mini-Player zogen weiter durch.
|
||||
- 📱 **Querformat und Tablet.** Der Player legt Cover und Bedienung
|
||||
nebeneinander, statt vom Cover einen Streifen übrig zu lassen oder die
|
||||
Knöpfe aus dem Bild zu schieben. Auf breiten Schirmen bekommt der Text eine
|
||||
Obergrenze, statt über die ganze Breite zu zerren.
|
||||
|
||||
- 🐛 **Beim Bauen gefunden:** Der Alphabet-Sprung landete bei absteigender
|
||||
Sortierung am **Ende** eines Buchstaben-Blocks statt an seinem Anfang. Der
|
||||
Index wird jetzt direkt auf der angezeigten Reihenfolge gebaut, mit Test
|
||||
für beide Richtungen.
|
||||
|
||||
- 🔍 **Und ein hängender Test aufgeklärt.** Der neue Auswahl-Test kam nie
|
||||
zurück — dieselbe Signatur wie der seit dem 21.8. übersprungene Test im
|
||||
BACKLOG. Ursache: **Aufbau in `setUp`.** Das läuft außerhalb der Testzone,
|
||||
also liefen Datenbank und Dienste in echter Zeit, während der Test in
|
||||
Testzeit auf sie wartete. Aufbau in den Testkörper verschoben → fünf Tests
|
||||
in einer Sekunde. Der alte Fall im BACKLOG hat eine andere Ursache
|
||||
(nachgeprüft: `db.close()` ist es dort nicht), aber die Spur ist dort
|
||||
notiert.
|
||||
|
||||
- 🔍 **Aus dem Code-Review nachgebessert — sieben Punkte, einer davon schwer:**
|
||||
**(1)** Die Alphabet-Leiste wurde **breiter, je weniger Buchstaben** sie
|
||||
hatte. Jeder Buchstabe skalierte auf die volle Höhe seines Platzes. Bei
|
||||
einem Album mit 40 Titeln „Track 01…40" gäbe es genau einen Buchstaben —
|
||||
die Leiste wäre 528 dp breit geworden und die Songliste vollständig
|
||||
verschwunden. Feste Breite jetzt, und ab drei verschiedenen Buchstaben
|
||||
überhaupt erst sichtbar.
|
||||
**(2)** Die neue Künstlerseite baute **alle** Titel sofort. Jede Zeile hört
|
||||
auf den Player und öffnet für ihr Herz eine eigene Abfrage — bei einem
|
||||
Künstler mit 300 Titeln wären das 300 Abos beim Öffnen. Vorher war die
|
||||
Liste faul; das war ein Rückschritt von mir.
|
||||
**(3)** Wer Systemanimationen abgeschaltet hat, hätte beim mitlaufenden
|
||||
Songtext einen Absturz bekommen: die Bildlauf-Animation verträgt keine
|
||||
Dauer null. Jetzt wird gesprungen — das ist ohnehin, was die Einstellung
|
||||
meint.
|
||||
**(4)** Die feste Zeilenhöhe war mit 64 zu klein (ein `ListTile` mit
|
||||
Untertitel ist 72). Sobald der Schnellzugriff aktiv wurde, schrumpften alle
|
||||
Zeilen sichtbar gegenüber jeder anderen Liste. Außerdem wird die
|
||||
Schriftskalierung jetzt an einer echten Schriftgröße gemessen statt an 1.0
|
||||
— Android skaliert seit Version 14 nichtlinear.
|
||||
**(5)** Titel, die schon in der Zielliste waren, wurden **verschoben** statt
|
||||
übersprungen, und die Meldung zählte sie trotzdem mit. Jetzt: „7 hinzugefügt
|
||||
· 3 waren schon drin".
|
||||
**(6)** Ein Fehler mitten im Stapel brach still ab. Jetzt wird gesagt, wie
|
||||
weit es kam.
|
||||
**(7)** Die Zurück-Geste verließ den Bildschirm, statt die Auswahl zu
|
||||
beenden — zwanzig markierte Titel mit einer Geste weg, die überall sonst
|
||||
„einen Schritt zurück" heißt.
|
||||
|
||||
- 🧹 **Selbst gefunden:** In der Künstlerliste hing der Datenbank-Strom an
|
||||
`CategoryService` und wurde bei **jeder** Kategorie-Meldung neu aufgesetzt
|
||||
— während eines Scans also laufend. Derselbe Fehler, den der Review mir
|
||||
eine Runde zuvor bei der Suche gezeigt hatte.
|
||||
|
||||
- ✅ **Getestet:** 500 Tests grün (vorher 457), `flutter analyze` ohne Befund,
|
||||
Release-APK gebaut. Neu: 8 Tests für die Wisch-Schwellen, 10 für den
|
||||
Alphabet-Index, 5 für die Breite der Leiste (inklusive des Falls mit einem
|
||||
einzigen Buchstaben), 11 für die Auswahl-Regeln und Meldungen, 5
|
||||
Widget-Tests für den Auswahl-Modus, 3 für die Album-Gruppierung und 3 für
|
||||
die Künstler-Zeile.
|
||||
|
||||
|
||||
### 🧩 Die letzten vier Punkte aus dem Review (2026-08-23)
|
||||
|
||||
**G2 — Server-Bereich.** Ein Tipp auf ein Album spielte sofort das ganze
|
||||
|
||||
Reference in New Issue
Block a user