From ae3b78446313fb3c4ce19b013d4527c69c2f5534 Mon Sep 17 00:00:00 2001 From: ashilkn Date: Thu, 7 Nov 2024 19:59:14 +0530 Subject: [PATCH] [mob][photos] Improvements on PeopleBanner shown in hierarchical search --- .../gallery/hierarchical_search_gallery.dart | 33 +++++++------------ 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/mobile/lib/ui/viewer/gallery/hierarchical_search_gallery.dart b/mobile/lib/ui/viewer/gallery/hierarchical_search_gallery.dart index 6c9d1433ea..d2771eaf3b 100644 --- a/mobile/lib/ui/viewer/gallery/hierarchical_search_gallery.dart +++ b/mobile/lib/ui/viewer/gallery/hierarchical_search_gallery.dart @@ -10,7 +10,6 @@ import "package:photos/models/file_load_result.dart"; import "package:photos/models/ml/face/person.dart"; import "package:photos/models/search/hierarchical/face_filter.dart"; import "package:photos/models/search/hierarchical/hierarchical_search_filter.dart"; -import "package:photos/models/search/hierarchical/only_them_filter.dart"; import "package:photos/models/selected_files.dart"; import "package:photos/ui/common/loading_widget.dart"; import "package:photos/ui/viewer/gallery/gallery.dart"; @@ -45,7 +44,7 @@ class _HierarchicalSearchGalleryState extends State { List _filterdFiles = []; int _filteredFilesVersion = 0; final _isLoading = ValueNotifier(false); - String? _firstUnnamedAppliedClusterID; + FaceFilter? _firstUnnamedAppliedFaceFilter; @override void initState() { @@ -103,25 +102,14 @@ class _HierarchicalSearchGalleryState extends State { } void _setUnnamedFaceFilter(List filters) { - bool hasUnnamedFaceFilter = false; for (HierarchicalSearchFilter filter in filters) { if (filter is FaceFilter && filter.clusterId != null) { - _firstUnnamedAppliedClusterID = filter.clusterId; - hasUnnamedFaceFilter = true; + if (filters.last == filter) { + _firstUnnamedAppliedFaceFilter = filter; + } break; } - if (filter is OnlyThemFilter) { - for (final filter in filter.faceFilters) { - if (filter.clusterId != null) { - _firstUnnamedAppliedClusterID = filter.clusterId; - hasUnnamedFaceFilter = true; - break; - } - } - } - if (!hasUnnamedFaceFilter) { - _firstUnnamedAppliedClusterID = null; - } + _firstUnnamedAppliedFaceFilter = null; } } @@ -178,12 +166,14 @@ class _HierarchicalSearchGalleryState extends State { EventType.hide, }, selectedFiles: widget.selectedFiles, - header: _firstUnnamedAppliedClusterID != null + header: _firstUnnamedAppliedFaceFilter != null ? PeopleBanner( type: PeopleBannerType.addName, faceWidget: PersonFaceWidget( - _filterdFiles.first, - clusterID: _firstUnnamedAppliedClusterID, + _firstUnnamedAppliedFaceFilter!.faceFile, + clusterID: + _firstUnnamedAppliedFaceFilter!.clusterId, + thumbnailFallback: false, ), actionIcon: Icons.add_outlined, text: S.of(context).addAName, @@ -191,7 +181,8 @@ class _HierarchicalSearchGalleryState extends State { onTap: () async { final result = await showAssignPersonAction( context, - clusterID: _firstUnnamedAppliedClusterID!, + clusterID: + _firstUnnamedAppliedFaceFilter!.clusterId!, ); if (result != null && result is (PersonEntity, EnteFile)) {