Doppelten Scan-Button auf Android entfernen (Musik scannen und Erneut scannen taten dasselbe)
This commit is contained in:
@@ -13,6 +13,13 @@ import 'scan_service.dart';
|
||||
String get addMusicLabel =>
|
||||
Platform.isAndroid ? 'Musik scannen' : 'Musikordner hinzufügen';
|
||||
|
||||
/// Ob der "Erneut scannen"-Button zusätzlich zum [addMusicLabel]-Button
|
||||
/// angezeigt wird. Auf Android tun [LibraryService.pickFolderAndScan] und
|
||||
/// [LibraryService.rescan] dasselbe (kompletter MediaStore-Scan) — dort
|
||||
/// reicht ein Button. Pure Funktion statt direkter [Platform.isAndroid]-
|
||||
/// Abfrage, damit sie unabhängig von der echten Plattform testbar ist.
|
||||
bool zeigeErneutScannenButton(bool isAndroid) => !isAndroid;
|
||||
|
||||
/// Koordiniert Ordnerwahl und Scans; hält den Scan-Fortschritt für die UI.
|
||||
/// Android scannt automatisch über MediaStore (Scoped Storage lässt keinen
|
||||
/// direkten Dateizugriff zu); Desktop scannt vom Nutzer gewählte Ordner.
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:package_info_plus/package_info_plus.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
@@ -103,16 +105,17 @@ class _SettingsScreenState extends State<SettingsScreen> {
|
||||
enabled: !lib.scanning,
|
||||
onTap: lib.pickFolderAndScan,
|
||||
),
|
||||
ListTile(
|
||||
leading: const Icon(Icons.refresh),
|
||||
title: const Text('Erneut scannen'),
|
||||
subtitle: lib.scanning
|
||||
? Text('Scanne … ${lib.scanDone}'
|
||||
'${lib.scanTotal > 0 ? ' / ${lib.scanTotal}' : ''}')
|
||||
: const Text('Bekannte Ordner neu einlesen'),
|
||||
enabled: !lib.scanning,
|
||||
onTap: lib.rescan,
|
||||
),
|
||||
if (zeigeErneutScannenButton(Platform.isAndroid))
|
||||
ListTile(
|
||||
leading: const Icon(Icons.refresh),
|
||||
title: const Text('Erneut scannen'),
|
||||
subtitle: lib.scanning
|
||||
? Text('Scanne … ${lib.scanDone}'
|
||||
'${lib.scanTotal > 0 ? ' / ${lib.scanTotal}' : ''}')
|
||||
: const Text('Bekannte Ordner neu einlesen'),
|
||||
enabled: !lib.scanning,
|
||||
onTap: lib.rescan,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user