Skip to content

Commit 351337c

Browse files
committed
Fix bug in Delete Status
Signed-off-by: Dev4Mod <[email protected]>
1 parent 9617f42 commit 351337c

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

app/src/main/java/com/wmods/wppenhacer/xposed/core/devkit/Unobfuscator.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.luckypray.dexkit.DexKitBridge;
2626
import org.luckypray.dexkit.query.FindClass;
2727
import org.luckypray.dexkit.query.FindMethod;
28+
import org.luckypray.dexkit.query.enums.OpCodeMatchType;
2829
import org.luckypray.dexkit.query.enums.StringMatchType;
2930
import org.luckypray.dexkit.query.matchers.ClassMatcher;
3031
import org.luckypray.dexkit.query.matchers.MethodMatcher;
@@ -1113,7 +1114,8 @@ public synchronized static Method loadGetEditMessageMethod(ClassLoader loader) t
11131114
public synchronized static Field loadSetEditMessageField(ClassLoader loader) throws Exception {
11141115
return UnobfuscatorCache.getInstance().getField(loader, () -> {
11151116
var method = findFirstMethodUsingStrings(loader, StringMatchType.Contains, "CoreMessageStore/updateCheckoutMessageWithTransactionInfo");
1116-
if (method == null) method = findFirstMethodUsingStrings(loader, StringMatchType.Contains, "UPDATE_MESSAGE_ADD_ON_FLAGS_MAIN_SQL");
1117+
if (method == null)
1118+
method = findFirstMethodUsingStrings(loader, StringMatchType.Contains, "UPDATE_MESSAGE_ADD_ON_FLAGS_MAIN_SQL");
11171119
var classData = dexkit.getClassData(loadFMessageClass(loader));
11181120
var methodData = dexkit.getMethodData(DexSignUtil.getMethodDescriptor(method));
11191121
var usingFields = methodData.getUsingFields();
@@ -1552,7 +1554,12 @@ public synchronized static Method loadShowDialogStatusMethod(ClassLoader classLo
15521554
return UnobfuscatorCache.getInstance().getMethod(classLoader, () -> {
15531555
var clazz = loadFragmentLoader(classLoader);
15541556
var frag = classLoader.loadClass("androidx.fragment.app.DialogFragment");
1555-
var result = dexkit.findMethod(new FindMethod().matcher(new MethodMatcher().paramCount(2).addParamType(frag).addParamType(clazz).returnType(void.class).modifiers(Modifier.PUBLIC | Modifier.STATIC)));
1557+
var result = dexkit.findMethod(FindMethod.create().matcher(
1558+
MethodMatcher.create().paramCount(2).addParamType(frag).addParamType(clazz)
1559+
.returnType(void.class).modifiers(Modifier.PUBLIC | Modifier.STATIC)
1560+
.opNames(List.of("iget-boolean", "if-nez"), OpCodeMatchType.Contains)
1561+
)
1562+
);
15561563
if (result.isEmpty()) throw new RuntimeException("showDialogStatus not found");
15571564
return result.get(0).getMethodInstance(classLoader);
15581565
});

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
public class DeleteStatus extends Feature {
2323

2424

25-
2625
public DeleteStatus(@NonNull ClassLoader classLoader, @NonNull XSharedPreferences preferences) {
2726
super(classLoader, preferences);
2827
}
@@ -51,11 +50,10 @@ public void onClick(MenuItem item, Object fragmentInstance, FMessageWpp fMessage
5150
var key = fMessage.getKey();
5251
var bundle = getBundle(key);
5352
WppCore.setPrivBoolean(key.messageID + "_delpass", true);
54-
log(key.messageID);
5553
fieldBundle.set(status, bundle);
56-
showDialogStatus.invoke(status, status, fragmentInstance);
54+
showDialogStatus.invoke(null, status, fragmentInstance);
5755
} catch (Exception e) {
58-
log(e);
56+
logDebug(e);
5957
}
6058
}
6159
};

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ public void doHook() throws Throwable {
4343
XposedBridge.hookMethod(menuStatusMethod, new XC_MethodHook() {
4444
@Override
4545
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
46-
logDebug("MenuStatus method called");
4746
var fieldObjects = Arrays.stream(param.method.getDeclaringClass().getDeclaredFields()).map(field -> ReflectionUtils.getObjectField(field, param.thisObject)).filter(Objects::nonNull).collect(Collectors.toList());
4847

4948
Object fragmentInstance;
@@ -52,7 +51,6 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable {
5251
} else {
5352
fragmentInstance = fieldObjects.stream().filter(StatusPlaybackBaseFragmentClass::isInstance).findFirst().orElse(null);
5453
}
55-
5654
Menu menu;
5755
if (param.args.length > 0 && param.args[0] instanceof Menu) {
5856
menu = (Menu) param.args[0];

0 commit comments

Comments
 (0)