Automatische Erkennung: neue Dateien auf dem Geraet und neue Alben am Server
- AutoScan: beim Zurueckkehren in die App wird die Zahl der Musikdateien mit der Bibliothek verglichen; nur bei Abweichung laeuft ein Scan, und hoechstens alle 5 Minuten. Gleich viele Loeschungen wie Neuzugaenge bleiben unbemerkt - dafuer gibt es den Scan von Hand. - ServerNeuheiten: meldet neu auf Navidrome aufgetauchte Alben im Online-Tab. Der erste Abruf meldet bewusst nichts, sonst waere die ganze Sammlung "neu"; er nutzt die ohnehin geladenen Alben statt eines zweiten Serveraufrufs. - Neu: MeloDb.countSongs(), countAndroidMediaStoreSongs(). 189 Tests gruen, flutter analyze ohne Befund. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018NLW1q1hzEC9goDQ1dJ98d
This commit is contained in:
co-authored by
Claude Opus 5
parent
6200c77614
commit
15e3d44453
@@ -11,6 +11,14 @@ import 'database.dart';
|
||||
|
||||
const _uuid = Uuid();
|
||||
|
||||
/// Zählt die Musikdateien, die der MediaStore kennt. Grundlage für die
|
||||
/// automatische Erkennung: weicht die Zahl von der Bibliothek ab, ist etwas
|
||||
/// dazugekommen oder verschwunden.
|
||||
Future<int> countAndroidMediaStoreSongs() async {
|
||||
final all = await OnAudioQuery().querySongs(uriType: UriType.EXTERNAL);
|
||||
return all.where((s) => s.isMusic ?? true).length;
|
||||
}
|
||||
|
||||
/// Android-Scan über MediaStore (der einzige zuverlässige Weg ab Android 11,
|
||||
/// da Scoped Storage direkten Dateizugriff blockiert). Findet automatisch alle
|
||||
/// Musik auf dem Gerät. Schreibt in dieselbe DB wie der Desktop-Scan,
|
||||
|
||||
Reference in New Issue
Block a user