diff --git a/mobile/lib/face/model/person.dart b/mobile/lib/face/model/person.dart index e93bebe4e7..cedec7a0dc 100644 --- a/mobile/lib/face/model/person.dart +++ b/mobile/lib/face/model/person.dart @@ -56,6 +56,9 @@ class PersonData { bool hasAvatar() => avatarFaceId != null; + bool get isIgnored => + (name.isEmpty || name == '(hidden)' || name == '(ignored)'); + PersonData({ required this.name, this.assigned, diff --git a/mobile/lib/services/machine_learning/face_ml/feedback/cluster_feedback.dart b/mobile/lib/services/machine_learning/face_ml/feedback/cluster_feedback.dart index c9303c3071..5f88f2e4d3 100644 --- a/mobile/lib/services/machine_learning/face_ml/feedback/cluster_feedback.dart +++ b/mobile/lib/services/machine_learning/face_ml/feedback/cluster_feedback.dart @@ -294,8 +294,7 @@ class ClusterFeedbackService { } Future ignoreCluster(int clusterID) async { - await PersonService.instance - .addPerson('(ignored)', clusterID, isHidden: true); + await PersonService.instance.addPerson('', clusterID); Bus.instance.fire(PeopleChangedEvent()); return; } diff --git a/mobile/lib/services/search_service.dart b/mobile/lib/services/search_service.dart index fe7781e9cd..e82958944c 100644 --- a/mobile/lib/services/search_service.dart +++ b/mobile/lib/services/search_service.dart @@ -787,7 +787,7 @@ class SearchService { continue; } final PersonEntity p = personIdToPerson[personID]!; - if (p.data.isHidden) continue; + if (p.data.isIgnored) continue; facesResult.add( GenericSearchResult( ResultType.faces, diff --git a/mobile/lib/ui/viewer/file_details/face_widget.dart b/mobile/lib/ui/viewer/file_details/face_widget.dart index 5e5c99665a..03d6dbce3a 100644 --- a/mobile/lib/ui/viewer/file_details/face_widget.dart +++ b/mobile/lib/ui/viewer/file_details/face_widget.dart @@ -202,7 +202,9 @@ class _FaceWidgetState extends State { const SizedBox(height: 8), if (widget.person != null) Text( - widget.person!.data.name.trim(), + widget.person!.data.isIgnored + ? '(ignored)' + : widget.person!.data.name.trim(), style: Theme.of(context).textTheme.bodySmall, overflow: TextOverflow.ellipsis, maxLines: 1, diff --git a/mobile/lib/ui/viewer/file_details/faces_item_widget.dart b/mobile/lib/ui/viewer/file_details/faces_item_widget.dart index a2ed10e122..8bfa91fb10 100644 --- a/mobile/lib/ui/viewer/file_details/faces_item_widget.dart +++ b/mobile/lib/ui/viewer/file_details/faces_item_widget.dart @@ -123,9 +123,9 @@ class _FacesItemWidgetState extends State { // Make sure hidden faces are last faces.sort((Face a, Face b) { final aIsHidden = - persons[faceIdToPersonID[a.faceID]]?.data.isHidden ?? false; + persons[faceIdToPersonID[a.faceID]]?.data.isIgnored ?? false; final bIsHidden = - persons[faceIdToPersonID[b.faceID]]?.data.isHidden ?? false; + persons[faceIdToPersonID[b.faceID]]?.data.isIgnored ?? false; if (aIsHidden && !bIsHidden) { return 1; } else if (!aIsHidden && bIsHidden) { diff --git a/mobile/lib/ui/viewer/people/add_person_action_sheet.dart b/mobile/lib/ui/viewer/people/add_person_action_sheet.dart index e00851be6b..ad11e102ae 100644 --- a/mobile/lib/ui/viewer/people/add_person_action_sheet.dart +++ b/mobile/lib/ui/viewer/people/add_person_action_sheet.dart @@ -294,7 +294,7 @@ class _PersonActionSheetState extends State { }) async { final persons = await PersonService.instance.getPersons(); if (excludeHidden) { - persons.removeWhere((person) => person.data.isHidden); + persons.removeWhere((person) => person.data.isIgnored); } return persons; } diff --git a/mobile/lib/ui/viewer/people/people_app_bar.dart b/mobile/lib/ui/viewer/people/people_app_bar.dart index 0755dcf0ba..4b85a74dac 100644 --- a/mobile/lib/ui/viewer/people/people_app_bar.dart +++ b/mobile/lib/ui/viewer/people/people_app_bar.dart @@ -27,7 +27,7 @@ class PeopleAppBar extends StatefulWidget { final SelectedFiles selectedFiles; final PersonEntity person; - bool get isHidden => person.data.isHidden; + bool get isIgnored => person.data.isIgnored; const PeopleAppBar( this.type, @@ -143,7 +143,7 @@ class _AppBarWidgetState extends State { final List> items = []; - if (!widget.isHidden) { + if (!widget.isIgnored) { items.addAll( [ PopupMenuItem(