Skip to content

Commit 82862ab

Browse files
committed
Improve DebugUtils
Signed-off-by: Dev4Mod <[email protected]>
1 parent 351337c commit 82862ab

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

app/src/main/java/com/wmods/wppenhacer/xposed/utils/DebugUtils.java

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package com.wmods.wppenhacer.xposed.utils;
22

3+
import java.nio.charset.StandardCharsets;
34
import java.util.Arrays;
5+
import java.util.List;
6+
import java.util.Map;
47

58
import de.robv.android.xposed.XC_MethodHook;
69
import de.robv.android.xposed.XposedBridge;
@@ -62,10 +65,38 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable {
6265

6366
public static void debugArgs(Object[] args) {
6467
for (var i = 0; i < args.length; i++) {
65-
XposedBridge.log("ARG[" + i + "]: " + (args[i] == null ? null : args[i].getClass().getName()) + " -> VALUE: " + args[i]);
68+
XposedBridge.log("ARG[" + i + "]: " + (args[i] == null ? null : args[i].getClass().getName()) + " -> VALUE: " + parseValue(args[i]));
6669
}
6770
}
6871

72+
public static String parseValue(Object value) {
73+
StringBuilder sb = new StringBuilder();
74+
if (value == null)
75+
return "null";
76+
if (value instanceof List list) {
77+
sb.append("List[");
78+
for (var item : list) {
79+
sb.append(parseValue(item)).append(", ");
80+
}
81+
sb.append("]");
82+
} else if (value instanceof Map<?, ?> map) {
83+
var keys = map.keySet();
84+
sb.append("Map[");
85+
for (var key : keys) {
86+
sb.append(key).append(": ").append(parseValue(map.get(key))).append(" ");
87+
}
88+
sb.append("]");
89+
} else if (value instanceof byte[] bytes) {
90+
try {
91+
sb.append(new String(bytes, StandardCharsets.UTF_8));
92+
} catch (Exception ignored) {
93+
}
94+
} else {
95+
sb.append(value);
96+
}
97+
return sb.toString();
98+
}
99+
69100

70101
public static void debugMethods(Class<?> cls, Object thisObject) {
71102
XposedBridge.log("DEBUG METHODS: Class " + cls.getName());

0 commit comments

Comments
 (0)