diff --git a/flutter/lib/common/widgets/peers_view.dart b/flutter/lib/common/widgets/peers_view.dart index 3393921b2..751c67477 100644 --- a/flutter/lib/common/widgets/peers_view.dart +++ b/flutter/lib/common/widgets/peers_view.dart @@ -562,21 +562,24 @@ class MyGroupPeerView extends BasePeersView { ); static bool filter(Peer peer) { - if (gFFI.groupModel.searchAccessibleItemNameText.isNotEmpty) { - if (!peer.loginName - .contains(gFFI.groupModel.searchAccessibleItemNameText)) { + final model = gFFI.groupModel; + if (model.searchAccessibleItemNameText.isNotEmpty) { + final text = model.searchAccessibleItemNameText.value; + final searchPeersOfUser = peer.loginName.contains(text) && + model.users.any((user) => user.name == peer.loginName); + final searchPeersOfDeviceGroup = peer.device_group_name.contains(text) && + model.deviceGroups.any((g) => g.name == peer.device_group_name); + if (!searchPeersOfUser && !searchPeersOfDeviceGroup) { return false; } } - if (gFFI.groupModel.selectedAccessibleItemName.isNotEmpty) { - if (gFFI.groupModel.isSelectedDeviceGroup.value) { - if (gFFI.groupModel.selectedAccessibleItemName.value != - peer.device_group_name) { + if (model.selectedAccessibleItemName.isNotEmpty) { + if (model.isSelectedDeviceGroup.value) { + if (model.selectedAccessibleItemName.value != peer.device_group_name) { return false; } } else { - if (gFFI.groupModel.selectedAccessibleItemName.value != - peer.loginName) { + if (model.selectedAccessibleItemName.value != peer.loginName) { return false; } }