track fileIDs, not size for similar files group
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user