From 57e8eb7c038d63a2b8a35714d55e4f3feb7b0f3c Mon Sep 17 00:00:00 2001 From: laurenspriem Date: Thu, 16 Jan 2025 17:55:39 +0530 Subject: [PATCH] [mob][photos] Force clustering on unclustered face --- mobile/lib/services/machine_learning/ml_service.dart | 7 +++++-- mobile/lib/ui/viewer/file_details/face_widget.dart | 3 +++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/mobile/lib/services/machine_learning/ml_service.dart b/mobile/lib/services/machine_learning/ml_service.dart index 7559e5508a..74d6685d94 100644 --- a/mobile/lib/services/machine_learning/ml_service.dart +++ b/mobile/lib/services/machine_learning/ml_service.dart @@ -237,8 +237,11 @@ class MLService { } } - Future clusterAllImages({bool clusterInBuckets = true}) async { - if (!_canRunMLFunction(function: "Clustering")) return; + Future clusterAllImages({ + bool clusterInBuckets = true, + bool force = false, + }) async { + if (!_canRunMLFunction(function: "Clustering") && !force) return; if (_clusteringIsHappening) { _logger.info("clusterAllImages() is already running, returning"); return; diff --git a/mobile/lib/ui/viewer/file_details/face_widget.dart b/mobile/lib/ui/viewer/file_details/face_widget.dart index c4d6395053..06784105e8 100644 --- a/mobile/lib/ui/viewer/file_details/face_widget.dart +++ b/mobile/lib/ui/viewer/file_details/face_widget.dart @@ -1,3 +1,4 @@ +import "dart:async"; import "dart:developer" show log; import "dart:typed_data"; @@ -13,6 +14,7 @@ import "package:photos/models/ml/face/person.dart"; import "package:photos/services/machine_learning/face_ml/face_detection/detection.dart"; import "package:photos/services/machine_learning/face_ml/face_filtering/face_filtering_constants.dart"; import "package:photos/services/machine_learning/face_ml/feedback/cluster_feedback.dart"; +import "package:photos/services/machine_learning/ml_service.dart"; import "package:photos/services/search_service.dart"; import "package:photos/theme/ente_theme.dart"; import "package:photos/ui/viewer/file/no_thumbnail_widget.dart"; @@ -121,6 +123,7 @@ class _FaceWidgetState extends State { context, S.of(context).faceNotClusteredYet, ); + unawaited(MLService.instance.clusterAllImages(force: true)); return; } if (widget.person != null) {