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:
@@ -1,4 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:package_info_plus/package_info_plus.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
import '../downloads/downloads_liste_screen.dart';
|
||||
@@ -32,11 +33,20 @@ class _SettingsScreenState extends State<SettingsScreen> {
|
||||
late final CacheManager _cache = CacheManager();
|
||||
int _cacheSize = 0;
|
||||
|
||||
/// "1.2.3 (45)" — leer, solange noch nicht geladen. Praktisch beim Melden
|
||||
/// von Bugs oder um zu prüfen, ob ein Update angekommen ist.
|
||||
String _version = '';
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_navidrome.ladeGespeicherteZugangsdaten();
|
||||
_cache.init().then((_) => _updateCacheSize());
|
||||
PackageInfo.fromPlatform().then((info) {
|
||||
if (mounted) {
|
||||
setState(() => _version = '${info.version} (${info.buildNumber})');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Future<void> _updateCacheSize() async {
|
||||
@@ -293,10 +303,12 @@ class _SettingsScreenState extends State<SettingsScreen> {
|
||||
),
|
||||
const Divider(height: 1),
|
||||
const _SectionLabel('Über Melo'),
|
||||
const ListTile(
|
||||
leading: Icon(Icons.info_outline),
|
||||
title: Text('Melo'),
|
||||
subtitle: Text('Deine Musik. Offline. Kein Abo.'),
|
||||
ListTile(
|
||||
leading: const Icon(Icons.info_outline),
|
||||
title: const Text('Melo'),
|
||||
subtitle: Text(_version.isEmpty
|
||||
? 'Deine Musik. Offline. Kein Abo.'
|
||||
: 'Deine Musik. Offline. Kein Abo. · Version $_version'),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user