Skip to content

Commit 253bd69

Browse files
committed
feat: Add more compatible setFilter method for FilterGroups
1 parent b1b90e6 commit 253bd69

File tree

1 file changed

+11
-7
lines changed
  • app/src/main/java/com/wmods/wppenhacer/xposed/features/customization

1 file changed

+11
-7
lines changed

app/src/main/java/com/wmods/wppenhacer/xposed/features/customization/FilterGroups.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -197,13 +197,17 @@ private void setFilter(int position) {
197197
var list = (List<Object>) ReflectionUtils.getField(listField, mFilterInstance);
198198
if (list == null) return;
199199
var name = position == 0 ? "CONTACTS_FILTER" : "GROUP_FILTER";
200-
var result = list.stream().filter(item -> {
201-
Object filterItem1 = XposedHelpers.getObjectField(item, "A01");
202-
Object filterItem2 = XposedHelpers.getObjectField(item, "A02");
203-
return Objects.equals(filterItem1, name) || Objects.equals(filterItem2, name);
204-
}).findFirst();
205-
if (result.isEmpty()) return;
206-
var index = list.indexOf(result.get());
200+
Object result = null;
201+
for (var item : list) {
202+
for (var field : item.getClass().getFields()) {
203+
if (Objects.equals(XposedHelpers.getObjectField(item, field.getName()), name)) {
204+
result = item;
205+
break;
206+
}
207+
}
208+
}
209+
if (result == null) return;
210+
var index = list.indexOf(result);
207211
ReflectionUtils.callMethod(methodSetFilter, mFilterInstance, index);
208212
} catch (Exception e) {
209213
logDebug(e);

0 commit comments

Comments
 (0)