diff --git a/app/lib/use_case/scan_dir_offline.dart b/app/lib/use_case/scan_dir_offline.dart index 1b289a30..ad246e94 100644 --- a/app/lib/use_case/scan_dir_offline.dart +++ b/app/lib/use_case/scan_dir_offline.dart @@ -21,14 +21,17 @@ class ScanDirOffline { AppDbFile2Entry.toStrippedPathIndexLowerKeyForDir(account, root), AppDbFile2Entry.toStrippedPathIndexUpperKeyForDir(account, root), ); - return await index - .openCursor(range: range, autoAdvance: true) - .map((c) => c.value) - .cast() - .map( - (e) => AppDbFile2Entry.fromJson(e.cast()).file) - .where((f) => file_util.isSupportedFormat(f)) - .toList(); + final product = []; + await for (final c + in index.openCursor(range: range, autoAdvance: false)) { + final e = AppDbFile2Entry.fromJson( + (c.value as Map).cast()); + if (file_util.isSupportedFormat(e.file)) { + product.add(e.file); + } + c.next(); + } + return product; }, ); }