Skip to content

Commit acff81c

Browse files
committed
Fix chat filter default value and add call info error handling
1 parent 386db82 commit acff81c

File tree

1 file changed

+32
-30
lines changed
  • app/src/main/java/com/wmods/wppenhacer/xposed/features/general

1 file changed

+32
-30
lines changed

app/src/main/java/com/wmods/wppenhacer/xposed/features/general/Others.java

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public void doHook() throws Exception {
6363

6464
var menuWIcons = prefs.getBoolean("menuwicon", false);
6565
var newSettings = prefs.getBoolean("novaconfig", false);
66-
var filterChats = prefs.getString("chatfilter", null);
66+
var filterChats = prefs.getString("chatfilter", "2");
6767
var filterSeen = prefs.getBoolean("filterseen", false);
6868
var status_style = Integer.parseInt(prefs.getString("status_style", "0"));
6969
var disableMetaAI = prefs.getBoolean("metaai", false);
@@ -72,7 +72,7 @@ public void doHook() throws Exception {
7272
var showOnline = prefs.getBoolean("showonline", false);
7373
var floatingMenu = prefs.getBoolean("floatingmenu", false);
7474
var filter_items = prefs.getString("filter_items", null);
75-
var disable_defemojis = prefs.getBoolean("disable_defemojis", false);
75+
// var disable_defemojis = prefs.getBoolean("disable_defemojis", false);
7676
var autonext_status = prefs.getBoolean("autonext_status", false);
7777
var audio_type = Integer.parseInt(prefs.getString("audio_type", "0"));
7878
var audio_transcription = prefs.getBoolean("audio_transcription", false);
@@ -301,6 +301,7 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
301301
Object callinfo = XposedHelpers.callMethod(param.thisObject, "getCallInfo");
302302
if (callinfo == null) return;
303303
var userJid = XposedHelpers.callMethod(callinfo, "getPeerJid");
304+
304305
CompletableFuture.runAsync(() -> {
305306
try {
306307
showCallInformation(param.args[0], userJid);
@@ -617,37 +618,38 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
617618
}
618619
}
619620
});
620-
621-
Method addSeachBar = Unobfuscator.loadAddOptionSearchBarMethod(classLoader);
622-
623-
XposedBridge.hookMethod(addSeachBar, new XC_MethodHook() {
624-
private Object homeActivity;
625-
private Field pageIdField;
626-
private int originPageId;
627-
628-
@Override
629-
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
630-
if (!Objects.equals(filterChats, "1"))
631-
return;
632-
homeActivity = param.thisObject;
633-
if (Modifier.isStatic(param.method.getModifiers())) {
634-
homeActivity = param.args[0];
635-
}
636-
pageIdField = XposedHelpers.findField(homeActivity.getClass(), "A01");
637-
originPageId = 0;
638-
if (pageIdField.getType() == int.class) {
639-
originPageId = pageIdField.getInt(homeActivity);
640-
pageIdField.setInt(homeActivity, 1);
621+
try {
622+
Method addSeachBar = Unobfuscator.loadAddOptionSearchBarMethod(classLoader);
623+
XposedBridge.hookMethod(addSeachBar, new XC_MethodHook() {
624+
private Object homeActivity;
625+
private Field pageIdField;
626+
private int originPageId;
627+
628+
@Override
629+
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
630+
if (!Objects.equals(filterChats, "1"))
631+
return;
632+
homeActivity = param.thisObject;
633+
if (Modifier.isStatic(param.method.getModifiers())) {
634+
homeActivity = param.args[0];
635+
}
636+
pageIdField = XposedHelpers.findField(homeActivity.getClass(), "A01");
637+
originPageId = 0;
638+
if (pageIdField.getType() == int.class) {
639+
originPageId = pageIdField.getInt(homeActivity);
640+
pageIdField.setInt(homeActivity, 1);
641+
}
641642
}
642-
}
643643

644-
@Override
645-
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
646-
if (originPageId != 0) {
647-
pageIdField.setInt(homeActivity, originPageId);
644+
@Override
645+
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
646+
if (originPageId != 0) {
647+
pageIdField.setInt(homeActivity, originPageId);
648+
}
648649
}
649-
}
650-
});
650+
});
651+
} catch (Throwable ignored) {
652+
}
651653

652654
XposedHelpers.findAndHookMethod(WppCore.getHomeActivityClass(classLoader), "onPrepareOptionsMenu", Menu.class, new XC_MethodHook() {
653655
@Override

0 commit comments

Comments
 (0)