From fa49c728359a20215a49f8ac1d9c7f127231a9f7 Mon Sep 17 00:00:00 2001 From: 21pages Date: Mon, 17 Feb 2025 17:36:47 +0800 Subject: [PATCH] fix, accessible peers filter considering device group name (#10809) Signed-off-by: 21pages --- flutter/lib/common/widgets/peers_view.dart | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) 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; } }