track fileIDs, not size for similar files group

This commit is contained in:
laurenspriem
2025-08-07 11:12:47 +05:30
parent 019141ef3b
commit 2a407b5928
2 changed files with 10 additions and 6 deletions

View File

@@ -2,16 +2,23 @@ import "package:photos/models/file/file.dart";
class SimilarFiles {
final List<EnteFile> files;
final int totalSize;
final Set<int> 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);
}
}

View File

@@ -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);