Skip to content

Commit af5dc8c

Browse files
committed
feat: Add 2.25.14.xx support
1 parent 1ba1947 commit af5dc8c

File tree

5 files changed

+36
-3
lines changed

5 files changed

+36
-3
lines changed

app/src/main/java/com/wmods/wppenhacer/xposed/core/WppCore.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ public class WppCore {
6161
private static SQLiteDatabase mWaDatabase;
6262
public static BaseClient client;
6363
private static Object mCachedMessageStore;
64+
private static Class<?> mSettingsNotificationsClass;
6465

6566

6667
public static void Initialize(ClassLoader loader, XSharedPreferences pref) throws Exception {
@@ -77,6 +78,9 @@ public static void Initialize(ClassLoader loader, XSharedPreferences pref) throw
7778
convChatField = Unobfuscator.loadAntiRevokeConvChatField(loader);
7879
chatJidField = Unobfuscator.loadAntiRevokeChatJidField(loader);
7980

81+
// Settings notifications activity (required for ActivityController.EXPORTED_ACTIVITY)
82+
mSettingsNotificationsClass = getSettingsNotificationsActivityClass(loader);
83+
8084
// StartUpPrefs
8185
var startPrefsConfig = Unobfuscator.loadStartPrefsConfig(loader);
8286
XposedBridge.hookMethod(startPrefsConfig, new XC_MethodHook() {
@@ -231,6 +235,33 @@ public synchronized static Class getViewOnceViewerActivityClass(@NonNull ClassLo
231235
: XposedHelpers.findClass("com.whatsapp.viewonce.ui.messaging.ViewOnceViewerActivity", loader);
232236
}
233237

238+
public synchronized static Class getAboutActivityClass(@NonNull ClassLoader loader) {
239+
Class oldClass = XposedHelpers.findClassIfExists("com.whatsapp.settings.About", loader);
240+
241+
return oldClass != null
242+
? oldClass
243+
: XposedHelpers.findClass("com.whatsapp.settings.ui.About", loader);
244+
}
245+
246+
public synchronized static Class getSettingsNotificationsActivityClass(@NonNull ClassLoader loader) {
247+
if (mSettingsNotificationsClass != null)
248+
return mSettingsNotificationsClass;
249+
250+
Class oldClass = XposedHelpers.findClassIfExists("com.whatsapp.settings.SettingsNotifications", loader);
251+
252+
return oldClass != null
253+
? oldClass
254+
: XposedHelpers.findClass("com.whatsapp.settings.ui.SettingsNotifications", loader);
255+
}
256+
257+
public synchronized static Class getDataUsageActivityClass(@NonNull ClassLoader loader) {
258+
Class oldClass = XposedHelpers.findClassIfExists("com.whatsapp.settings.SettingsDataUsageActivity", loader);
259+
260+
return oldClass != null
261+
? oldClass
262+
: XposedHelpers.findClass("com.whatsapp.settings.ui.SettingsDataUsageActivity", loader);
263+
}
264+
234265
// public static Activity getActivityBySimpleName(String name) {
235266
// for (var activity : activities) {
236267
// if (activity.getClass().getSimpleName().equals(name)) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable {
7777
}
7878
});
7979

80-
XposedHelpers.findAndHookMethod("com.whatsapp.settings.About", classLoader, "onCreate", classLoader.loadClass("android.os.Bundle"),
80+
XposedHelpers.findAndHookMethod(WppCore.getAboutActivityClass(classLoader), "onCreate", classLoader.loadClass("android.os.Bundle"),
8181
new XC_MethodHook() {
8282
@SuppressLint("SetTextI18n")
8383
@Override

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,7 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
558558
private void hookProps() throws Exception {
559559
var methodPropsBoolean = Unobfuscator.loadPropsBooleanMethod(classLoader);
560560
logDebug(Unobfuscator.getMethodDescriptor(methodPropsBoolean));
561-
var dataUsageActivityClass = XposedHelpers.findClass("com.whatsapp.settings.SettingsDataUsageActivity", classLoader);
561+
var dataUsageActivityClass = WppCore.getDataUsageActivityClass(classLoader);
562562
XposedBridge.hookMethod(methodPropsBoolean, new XC_MethodHook() {
563563
@Override
564564
protected void afterHookedMethod(MethodHookParam param) throws Throwable {

app/src/main/java/com/wmods/wppenhacer/xposed/features/others/ActivityController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
public class ActivityController extends Feature {
3232

33-
public static final String EXPORTED_ACTIVITY = "com.whatsapp.settings.SettingsNotifications";
33+
public static final String EXPORTED_ACTIVITY = WppCore.getSettingsNotificationsActivityClass(ClassLoader.getSystemClassLoader()).getName();
3434
private static String Key;
3535

3636
public ActivityController(@NonNull ClassLoader classLoader, @NonNull XSharedPreferences preferences) {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@
128128
<item>2.25.11.xx</item>
129129
<item>2.25.12.xx</item>
130130
<item>2.25.13.xx</item>
131+
<item>2.25.14.xx</item>
131132
</string-array>
132133
<string-array name="supported_versions_business">
133134
<item>2.25.5.xx</item>
@@ -139,6 +140,7 @@
139140
<item>2.25.11.xx</item>
140141
<item>2.25.12.xx</item>
141142
<item>2.25.13.xx</item>
143+
<item>2.25.14.xx</item>
142144
</string-array>
143145
<string-array name="image_picker">
144146
<item>image/*</item>

0 commit comments

Comments
 (0)