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:
@@ -23,3 +23,28 @@ Wechsel? titelWechsel(double geschwindigkeit) {
|
||||
/// Wiedergabe aus Versehen wegschiebt.
|
||||
bool oeffnetVollbild(double geschwindigkeit) =>
|
||||
geschwindigkeit < -wischSchwelle;
|
||||
|
||||
/// Ab welcher zurückgelegten Strecke (in Pixeln) eine langsame, aber
|
||||
/// eindeutige Wischbewegung auch ohne Schwung zählt.
|
||||
///
|
||||
/// Ohne diese Schwelle bekam ein bedächtiges, aber weites Wischen (unter
|
||||
/// [wischSchwelle] Pixel pro Sekunde) überhaupt keine Reaktion — für den
|
||||
/// Nutzer sah das aus wie ein nicht reagierender Bildschirm statt "zu
|
||||
/// langsam gewischt".
|
||||
const wischStreckeSchwelle = 80.0;
|
||||
|
||||
/// Wie [titelWechsel], aber eine ausreichend weite Bewegung zählt zusätzlich
|
||||
/// auch bei geringem Schwung.
|
||||
Wechsel? titelWechselMitStrecke(double strecke, double geschwindigkeit) {
|
||||
final ausSchwung = titelWechsel(geschwindigkeit);
|
||||
if (ausSchwung != null) return ausSchwung;
|
||||
if (strecke.abs() <= wischStreckeSchwelle) return null;
|
||||
return strecke < 0 ? Wechsel.naechster : Wechsel.vorheriger;
|
||||
}
|
||||
|
||||
/// Wie [oeffnetVollbild], aber eine ausreichend weite Bewegung nach oben
|
||||
/// zählt zusätzlich auch bei geringem Schwung.
|
||||
bool oeffnetVollbildMitStrecke(double strecke, double geschwindigkeit) {
|
||||
if (oeffnetVollbild(geschwindigkeit)) return true;
|
||||
return strecke < -wischStreckeSchwelle;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user