Skip to content
This repository has been archived by the owner on Sep 15, 2024. It is now read-only.

Commit

Permalink
fix: adapt to 12.56.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mkx173 committed Mar 1, 2024
1 parent bad2686 commit c54bf1e
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 18 deletions.
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ android {
minSdk 28
targetSdk sdk
versionCode gitCommitCount
versionName '2.9.5'
buildConfigField "String", "TARGET_VERSION", "\"12.53.1.0\""
versionName '2.9.6'
buildConfigField "String", "TARGET_VERSION", "\"12.56.1.0\""

testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
externalNativeBuild {
Expand Down
16 changes: 14 additions & 2 deletions app/src/main/java/gm/tieba/tabswitch/hooker/auto/FrsTab.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,20 @@ public void beforeHookedMethod(final MethodHookParam param) throws Throwable {
XposedBridge.hookMethod(targetMethod, new XC_MethodHook() {
@Override
public void afterHookedMethod(MethodHookParam param) throws Throwable {
Class<?> customViewPager = XposedHelpers.findClass("com.baidu.tbadk.widget.CustomViewPager", sClassLoader);
final Object viewPager = XposedHelpers.findFirstFieldByExactType(param.args[1].getClass(), customViewPager).get(param.args[1]);
Object viewPager;
try {
viewPager = XposedHelpers.findFirstFieldByExactType(
param.args[1].getClass(),
XposedHelpers.findClass("com.baidu.tbadk.widget.CustomViewPager",
sClassLoader)
).get(param.args[1]);
} catch (NoSuchFieldError e) { // 12.56+
viewPager = XposedHelpers.findFirstFieldByExactType(
param.args[1].getClass(),
XposedHelpers.findClass("androidx.viewpager.widget.ViewPager",
sClassLoader)
).get(param.args[1]);
}
XposedHelpers.callMethod(viewPager, "setCurrentItem", mPosition);
}
});
Expand Down
32 changes: 18 additions & 14 deletions app/src/main/java/gm/tieba/tabswitch/hooker/eliminate/Purge.java
Original file line number Diff line number Diff line change
Expand Up @@ -99,22 +99,26 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable {
}
break;
case "bottom_bubble_config": // 底部导航栏活动图标
XposedHelpers.findAndHookMethod(clazz, sClassLoader, method, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
JSONObject syncData = (JSONObject) ReflectUtils.getObjectField(param.thisObject, JSONObject.class);
syncData.put("bottom_bubble_config", null);
}
});
if (method.equals("invoke")) {
XposedHelpers.findAndHookMethod(clazz, sClassLoader, method, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
JSONObject syncData = (JSONObject) ReflectUtils.getObjectField(param.thisObject, JSONObject.class);
syncData.put("bottom_bubble_config", null);
}
});
}
break;
case "top_level_navi": // 首页活动背景
XposedHelpers.findAndHookMethod(clazz, sClassLoader, method, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
JSONObject syncData = (JSONObject) ReflectUtils.getObjectField(param.thisObject, JSONObject.class);
syncData.put("top_level_navi", null);
}
});
if (method.equals("invoke")) {
XposedHelpers.findAndHookMethod(clazz, sClassLoader, method, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
JSONObject syncData = (JSONObject) ReflectUtils.getObjectField(param.thisObject, JSONObject.class);
syncData.put("top_level_navi", null);
}
});
}
break;
case "index_tab_info": // 首页活动Tab
if (method.equals("invoke")) {
Expand Down
16 changes: 16 additions & 0 deletions app/src/main/java/gm/tieba/tabswitch/hooker/eliminate/PurgeMy.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package gm.tieba.tabswitch.hooker.eliminate;

import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;

Expand Down Expand Up @@ -87,5 +88,20 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable {
break;
}
});

// 12.56+
Class<?> personCenterMemberCardViewClass = XposedHelpers.findClassIfExists("com.baidu.tieba.personCenter.view.PersonCenterMemberCardView", sClassLoader);
if (personCenterMemberCardViewClass != null) {
XposedBridge.hookAllConstructors(
personCenterMemberCardViewClass,
new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
View mView = ReflectUtils.getObjectField(param.thisObject, View.class);
((ViewGroup) mView.getParent()).removeView(mView);
}
}
);
}
}
}

0 comments on commit c54bf1e

Please sign in to comment.