From 9ee52b5deea6129ea274a5f8c65cd1b780056fee Mon Sep 17 00:00:00 2001 From: Prateek Sunal Date: Tue, 3 Jun 2025 09:43:06 +0530 Subject: [PATCH] fix: don't depend on FaceFilter for fetching personId --- mobile/lib/services/people_home_widget_service.dart | 8 +++----- .../ui/viewer/search/result/people_section_all_page.dart | 7 +++---- mobile/lib/ui/viewer/search_tab/people_section.dart | 5 ++--- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/mobile/lib/services/people_home_widget_service.dart b/mobile/lib/services/people_home_widget_service.dart index ee758caac0..39eddd0694 100644 --- a/mobile/lib/services/people_home_widget_service.dart +++ b/mobile/lib/services/people_home_widget_service.dart @@ -7,7 +7,7 @@ import 'package:logging/logging.dart'; import 'package:photos/db/files_db.dart'; import 'package:photos/models/file/file.dart'; import "package:photos/models/search/generic_search_result.dart"; -import "package:photos/models/search/hierarchical/face_filter.dart"; +import "package:photos/models/search/search_constants.dart"; import "package:photos/models/search/search_types.dart"; import 'package:photos/service_locator.dart'; import 'package:photos/services/home_widget_service.dart'; @@ -292,16 +292,14 @@ class PeopleHomeWidgetService { // Search Filter with face and pick top two faces final searchFilter = await SectionType.face.getData(null).then( (value) => List.from(value).where( - (element) => - (element.hierarchicalSearchFilter as FaceFilter).personId != - null, + (element) => (element.params[kPersonParamID] as String?) != null, ), ); if (searchFilter.isNotEmpty) { peopleIds = searchFilter .take(2) - .map((e) => (e.hierarchicalSearchFilter as FaceFilter).personId!) + .map((e) => e.params[kPersonParamID] as String) .toList(); } else { _logger.warning("No selected people found"); diff --git a/mobile/lib/ui/viewer/search/result/people_section_all_page.dart b/mobile/lib/ui/viewer/search/result/people_section_all_page.dart index a24e02d63b..5237a62890 100644 --- a/mobile/lib/ui/viewer/search/result/people_section_all_page.dart +++ b/mobile/lib/ui/viewer/search/result/people_section_all_page.dart @@ -5,7 +5,7 @@ import "package:flutter_animate/flutter_animate.dart"; import "package:photos/events/event.dart"; import "package:photos/generated/l10n.dart"; import "package:photos/models/search/generic_search_result.dart"; -import "package:photos/models/search/hierarchical/face_filter.dart"; +import "package:photos/models/search/search_constants.dart"; import "package:photos/models/search/search_types.dart"; import "package:photos/models/selected_people.dart"; import "package:photos/theme/ente_theme.dart"; @@ -70,14 +70,13 @@ class _PeopleSectionAllWidgetState extends State { if (widget.namedOnly) { results.removeWhere( - (element) => - (element.hierarchicalSearchFilter as FaceFilter).personId == null, + (element) => element.params[kPersonParamID] == null, ); if (widget.selectedPeople?.personIds.isEmpty ?? false) { widget.selectedPeople!.select( results .take(2) - .map((e) => (e.hierarchicalSearchFilter as FaceFilter).personId!) + .map((e) => e.params[kPersonParamID] as String) .toSet(), ); } diff --git a/mobile/lib/ui/viewer/search_tab/people_section.dart b/mobile/lib/ui/viewer/search_tab/people_section.dart index b90b5d1efa..4bd45e2889 100644 --- a/mobile/lib/ui/viewer/search_tab/people_section.dart +++ b/mobile/lib/ui/viewer/search_tab/people_section.dart @@ -203,9 +203,8 @@ class PersonSearchExample extends StatelessWidget { }); void toggleSelection() { - selectedPeople?.toggleSelection( - (searchResult.hierarchicalSearchFilter as FaceFilter).personId!, - ); + selectedPeople + ?.toggleSelection(searchResult.params[kPersonParamID]! as String); } @override