@@ -21,24 +21,34 @@ public HideReceipt(ClassLoader loader, XSharedPreferences preferences) {
2121 public void doHook () throws Exception {
2222 var hideReceipt = prefs .getBoolean ("hidereceipt" , false );
2323 var ghostmode = WppCore .getPrivBoolean ("ghostmode" , false );
24+ var hideread = prefs .getBoolean ("hideread" , false );
25+
2426 var method = Unobfuscator .loadReceiptMethod (classLoader );
2527 logDebug ("hook method:" + Unobfuscator .getMethodDescriptor (method ));
2628 var method2 = Unobfuscator .loadReceiptOutsideChat (classLoader );
2729 logDebug ("Outside Chat: " + Unobfuscator .getMethodDescriptor (method2 ));
28- var method3 = Unobfuscator .loadReceiptInChat (classLoader );
29- logDebug ("In Chat: " + Unobfuscator .getMethodDescriptor (method3 ));
30+ var mInChat = Unobfuscator .loadReceiptInChat (classLoader );
31+ logDebug ("In Chat: " + Unobfuscator .getMethodDescriptor (mInChat ));
32+
3033 XposedBridge .hookMethod (method , new XC_MethodHook () {
3134 @ Override
3235 protected void beforeHookedMethod (MethodHookParam param ) throws Throwable {
33- if (!ReflectionUtils .isCalledFromMethod (method2 ) && !ReflectionUtils .isCalledFromMethod (method3 ))
36+ if (!ReflectionUtils .isCalledFromMethod (method2 ) && !ReflectionUtils .isCalledFromMethod (mInChat ))
3437 return ;
38+ logDebug ("HideReceipt 1:" + ReflectionUtils .isCalledFromMethod (method2 ));
39+ logDebug ("HideReceipt 2:" + ReflectionUtils .isCalledFromMethod (mInChat ));
3540 var messageKey = new FMessageWpp .Key (param .args [3 ]);
3641 var userJid = messageKey .remoteJid ;
3742 var rawJid = WppCore .getRawString (userJid );
3843 var number = WppCore .stripJID (rawJid );
3944 var privacy = CustomPrivacy .getJSON (number );
4045 var customHideReceipt = privacy .optBoolean ("HideReceipt" , hideReceipt );
46+ var customHideRead = privacy .optBoolean ("HideSeen" , hideread );
4147 if (param .args [4 ] != "sender" && (customHideReceipt || ghostmode )) {
48+ if (!ReflectionUtils .isCalledFromMethod (method2 ) && ReflectionUtils .isCalledFromMethod (mInChat ) && !customHideRead ) {
49+ log ("Called from In Chat" );
50+ return ;
51+ }
4252 param .args [4 ] = "inactive" ;
4353 }
4454 }
0 commit comments