fix: don't depend on FaceFilter for fetching personId
This commit is contained in:
@@ -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<GenericSearchResult>.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");
|
||||
|
||||
@@ -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<PeopleSectionAllWidget> {
|
||||
|
||||
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(),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user