Skip to content

Commit 45616fe

Browse files
authored
Merge pull request #134 from frknkrc44/feat-20-xx-support
feat: Add initial 20.xx support
2 parents 109282d + ab20b40 commit 45616fe

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

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

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -890,11 +890,22 @@ public synchronized static Method loadOnChangeStatus(ClassLoader loader) throws
890890
});
891891
}
892892

893+
public synchronized static Class<?> loadViewHolder(ClassLoader loader) throws Exception {
894+
Class<?> classViewHolder = XposedHelpers.findClassIfExists("com.whatsapp.conversationslist.ViewHolder", loader);
895+
896+
// for 20.xx, the current implementation returns null
897+
if (classViewHolder == null) {
898+
Method method = findFirstMethodUsingStrings(loader, StringMatchType.Contains, "conversations/click/jid ");
899+
classViewHolder = method.getParameterTypes()[0];
900+
}
901+
902+
return classViewHolder;
903+
}
904+
893905
public synchronized static Field loadViewHolderField1(ClassLoader loader) throws Exception {
894906
return UnobfuscatorCache.getInstance().getField(loader, () -> {
895907
Class<?> class1 = loadOnChangeStatus(loader).getDeclaringClass().getSuperclass();
896-
Class<?> classViewHolder = XposedHelpers.findClass("com.whatsapp.conversationslist.ViewHolder", loader);
897-
return ReflectionUtils.getFieldByType(class1, classViewHolder);
908+
return ReflectionUtils.getFieldByType(class1, loadViewHolder(loader));
898909
});
899910
}
900911

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public void doHook() throws Throwable {
4646
var showOnlineIcon = prefs.getBoolean("dotonline", false);
4747
if (!showOnlineText && !showOnlineIcon) return;
4848

49-
var classViewHolder = XposedHelpers.findClass("com.whatsapp.conversationslist.ViewHolder", classLoader);
49+
var classViewHolder = Unobfuscator.loadViewHolder(classLoader);
5050
XposedBridge.hookAllConstructors(classViewHolder, new XC_MethodHook() {
5151
@SuppressLint("ResourceType")
5252
@Override

app/src/main/res/values/arrays.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@
119119
<item>2.24.17.xx</item>
120120
<item>2.24.18.xx</item>
121121
<item>2.24.19.xx</item>
122+
<item>2.24.20.xx</item>
122123
</string-array>
123124
<string-array name="supported_versions_business">
124125
<item>2.24.16.xx</item>

0 commit comments

Comments
 (0)