This commit is contained in:
Neeraj Gupta
2025-04-17 15:30:40 +05:30
parent f6419caf5c
commit 1c68f0bb60
3 changed files with 2 additions and 56 deletions

View File

@@ -1,15 +1,12 @@
import 'package:collection/collection.dart';
import 'package:flutter/foundation.dart';
import 'package:logging/logging.dart';
import 'package:photo_manager/photo_manager.dart';
import 'package:photos/db/files_db.dart';
import 'package:photos/models/backup_status.dart';
import 'package:photos/models/device_collection.dart';
import 'package:photos/models/file/file.dart';
import 'package:photos/models/file_load_result.dart';
import 'package:photos/models/upload_strategy.dart';
import 'package:sqflite/sqlite_api.dart';
import 'package:tuple/tuple.dart';
extension DeviceFiles on FilesDB {
static final Logger _logger = Logger("DeviceFilesDB");
@@ -121,35 +118,6 @@ extension DeviceFiles on FilesDB {
return;
}
Future<FileLoadResult> getFilesInDeviceCollection(
DeviceCollection deviceCollection,
int? ownerID,
int startTime,
int endTime, {
int? limit,
bool? asc,
}) async {
final db = await sqliteAsyncDB;
final order = (asc ?? false ? 'ASC' : 'DESC');
final String rawQuery = '''
SELECT *
FROM ${FilesDB.filesTable}
WHERE ${FilesDB.columnLocalID} IS NOT NULL AND
${FilesDB.columnCreationTime} >= $startTime AND
${FilesDB.columnCreationTime} <= $endTime AND
(${FilesDB.columnOwnerID} IS NULL OR ${FilesDB.columnOwnerID} =
$ownerID ) AND
${FilesDB.columnLocalID} IN
(SELECT id FROM device_files where path_id = '${deviceCollection.id}' )
ORDER BY ${FilesDB.columnCreationTime} $order , ${FilesDB.columnModificationTime} $order
''' +
(limit != null ? ' limit $limit;' : ';');
final results = await db.getAll(rawQuery);
final files = convertToFiles(results);
final dedupe = deduplicateByLocalID(files);
return FileLoadResult(dedupe, files.length == limit);
}
Future<BackedUpFileIDs> getBackedUpForDeviceCollection(
String pathID,
int ownerID,

View File

@@ -734,23 +734,6 @@ class FilesDB with SqlDbBase {
return FileLoadResult(filteredFiles, files.length == limit);
}
List<EnteFile> deduplicateByLocalID(List<EnteFile> files) {
final localIDs = <String>{};
final List<EnteFile> deduplicatedFiles = [];
for (final file in files) {
final id = file.localID;
if (id == null) {
continue;
}
if (localIDs.contains(id)) {
continue;
}
localIDs.add(id);
deduplicatedFiles.add(file);
}
return deduplicatedFiles;
}
Future<FileLoadResult> getFilesInCollection(
int collectionID,
int startTime,

View File

@@ -196,13 +196,8 @@ class _BackupHeaderWidgetState extends State<BackupHeaderWidget> {
}
Future<List<EnteFile>> _filesInDeviceCollection() async {
return (await FilesDB.instance.getFilesInDeviceCollection(
widget.deviceCollection,
Configuration.instance.getUserID(),
galleryLoadStartTime,
galleryLoadEndTime,
))
.files;
return await LocalImportService.instance
.getAlbumFiles(widget.deviceCollection.id);
}
Future<bool> _hasIgnoredFiles(