From 2a407b59287c7cf1b03ab35c6438f1ae9dc94c7e Mon Sep 17 00:00:00 2001 From: laurenspriem Date: Thu, 7 Aug 2025 11:12:47 +0530 Subject: [PATCH] track fileIDs, not size for similar files group --- mobile/apps/photos/lib/models/similar_files.dart | 13 ++++++++++--- .../machine_learning/similar_images_service.dart | 3 --- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/mobile/apps/photos/lib/models/similar_files.dart b/mobile/apps/photos/lib/models/similar_files.dart index 8f11340b6e..727ce03682 100644 --- a/mobile/apps/photos/lib/models/similar_files.dart +++ b/mobile/apps/photos/lib/models/similar_files.dart @@ -2,16 +2,23 @@ import "package:photos/models/file/file.dart"; class SimilarFiles { final List files; - final int totalSize; + final Set fileIds; final double furthestDistance; SimilarFiles( this.files, - this.totalSize, this.furthestDistance, - ); + ) : fileIds = files.map((file) => file.uploadedFileID!).toSet(); + + int get totalSize => + files.fold(0, (sum, file) => sum + (file.fileSize ?? 0)); @override String toString() => 'SimilarFiles(files: $files, size: $totalSize, distance: $furthestDistance)'; + + void removeFile(EnteFile file) { + files.remove(file); + fileIds.remove(file.uploadedFileID); + } } diff --git a/mobile/apps/photos/lib/services/machine_learning/similar_images_service.dart b/mobile/apps/photos/lib/services/machine_learning/similar_images_service.dart index f87375f6ba..284ea7b4fa 100644 --- a/mobile/apps/photos/lib/services/machine_learning/similar_images_service.dart +++ b/mobile/apps/photos/lib/services/machine_learning/similar_images_service.dart @@ -117,14 +117,11 @@ class SimilarImagesService { } if (similarFilesList.isNotEmpty) { similarFilesList.add(firstLoopFile); - int totalSize = 0; for (final file in similarFilesList) { alreadyUsedFileIDs.add(file.uploadedFileID!); - totalSize += file.fileSize ?? 0; } final similarFiles = SimilarFiles( similarFilesList, - totalSize, furthestDistance, ); allSimilarFiles.add(similarFiles);