diff --git a/app/build.gradle b/app/build.gradle index ae028f02..dd5d0297 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -19,7 +19,7 @@ android { minSdkVersion 24 targetSdkVersion 30 versionCode gitCommitCount - versionName "2.6.1-beta" + versionName "2.6.1" testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' multiDexEnabled false diff --git a/app/src/main/java/gm/tieba/tabswitch/XposedWrapper.java b/app/src/main/java/gm/tieba/tabswitch/XposedContext.java similarity index 85% rename from app/src/main/java/gm/tieba/tabswitch/XposedWrapper.java rename to app/src/main/java/gm/tieba/tabswitch/XposedContext.java index c5a245d2..cdbfbeca 100644 --- a/app/src/main/java/gm/tieba/tabswitch/XposedWrapper.java +++ b/app/src/main/java/gm/tieba/tabswitch/XposedContext.java @@ -5,13 +5,13 @@ import java.lang.ref.WeakReference; -public abstract class XposedWrapper { +public abstract class XposedContext { protected static WeakReference sContextRef; protected static ClassLoader sClassLoader; protected static Resources sRes; public static String sPath; - protected XposedWrapper() { + protected XposedContext() { } protected static Context getContext() { diff --git a/app/src/main/java/gm/tieba/tabswitch/XposedInit.java b/app/src/main/java/gm/tieba/tabswitch/XposedInit.java index d68e1ee1..fe8877a5 100644 --- a/app/src/main/java/gm/tieba/tabswitch/XposedInit.java +++ b/app/src/main/java/gm/tieba/tabswitch/XposedInit.java @@ -55,7 +55,7 @@ import gm.tieba.tabswitch.hooker.minus.SwitchManager; import gm.tieba.tabswitch.widget.TbDialog; -public class XposedInit extends XposedWrapper implements IXposedHookLoadPackage, IXposedHookZygoteInit { +public class XposedInit extends XposedContext implements IXposedHookLoadPackage, IXposedHookZygoteInit { @SuppressLint("DiscouragedPrivateApi") @Override public void initZygote(IXposedHookZygoteInit.StartupParam startupParam) throws Throwable { diff --git a/app/src/main/java/gm/tieba/tabswitch/dao/Adp.java b/app/src/main/java/gm/tieba/tabswitch/dao/Adp.java index dc3fe708..dfd4e2ea 100644 --- a/app/src/main/java/gm/tieba/tabswitch/dao/Adp.java +++ b/app/src/main/java/gm/tieba/tabswitch/dao/Adp.java @@ -14,9 +14,9 @@ import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedHelpers; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; -public class Adp extends XposedWrapper { +public class Adp extends XposedContext { private static Adp sAdp; public String BDUSS; public String tbs; diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/AntiConfusion.java b/app/src/main/java/gm/tieba/tabswitch/hooker/AntiConfusion.java index 0c17a921..ed0ba877 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/AntiConfusion.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/AntiConfusion.java @@ -31,12 +31,12 @@ import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.Preferences; import gm.tieba.tabswitch.dao.RulesDbHelper; import gm.tieba.tabswitch.util.FileUtils; -public class AntiConfusion extends XposedWrapper implements IHooker { +public class AntiConfusion extends XposedContext implements IHooker { private static final String SPRINGBOARD_ACTIVITY = "com.baidu.tieba.tblauncher.MainTabActivity"; private Activity mActivity; private TextView mMessage; diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/TSPreference.java b/app/src/main/java/gm/tieba/tabswitch/hooker/TSPreference.java index 87835503..7e97f347 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/TSPreference.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/TSPreference.java @@ -20,7 +20,7 @@ import gm.tieba.tabswitch.BuildConfig; import gm.tieba.tabswitch.IHooker; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; import gm.tieba.tabswitch.dao.Preferences; import gm.tieba.tabswitch.hooker.TSPreferenceHelper.SwitchButtonHolder; @@ -33,7 +33,7 @@ import gm.tieba.tabswitch.widget.TbDialog; import gm.tieba.tabswitch.widget.TbToast; -public class TSPreference extends XposedWrapper implements IHooker { +public class TSPreference extends XposedContext implements IHooker { public final static String MAIN = "贴吧TS设置"; public final static String MODIFY_TAB = "修改页面"; public final static String NOTES = "备注关注的人"; diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/TSPreferenceHelper.java b/app/src/main/java/gm/tieba/tabswitch/hooker/TSPreferenceHelper.java index d66afcfc..0a98b339 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/TSPreferenceHelper.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/TSPreferenceHelper.java @@ -23,7 +23,7 @@ import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.Preferences; import gm.tieba.tabswitch.util.ReflectUtils; import gm.tieba.tabswitch.widget.Switch; @@ -31,7 +31,7 @@ import gm.tieba.tabswitch.widget.TbEditText; import gm.tieba.tabswitch.widget.TbToast; -public class TSPreferenceHelper extends XposedWrapper { +public class TSPreferenceHelper extends XposedContext { public static TextView createTextView(String text) { TextView textView = new TextView(getContext()); textView.setText(text); diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/add/CreateView.java b/app/src/main/java/gm/tieba/tabswitch/hooker/add/CreateView.java index fe3a1dc1..74fccfc8 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/add/CreateView.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/add/CreateView.java @@ -11,11 +11,11 @@ import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; import gm.tieba.tabswitch.util.ReflectUtils; -public class CreateView extends XposedWrapper implements IHooker { +public class CreateView extends XposedContext implements IHooker { public void hook() throws Throwable { AcRules.findRule(sRes.getString(R.string.CreateView), (AcRules.Callback) (rule, clazz, method) -> XposedHelpers.findAndHookMethod(clazz, sClassLoader, method, Bundle.class, new XC_MethodHook() { diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/add/HistoryCache.java b/app/src/main/java/gm/tieba/tabswitch/hooker/add/HistoryCache.java index 32667c58..078ef3df 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/add/HistoryCache.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/add/HistoryCache.java @@ -21,13 +21,13 @@ import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.widget.NavigationBar; import gm.tieba.tabswitch.widget.TbDialog; import gm.tieba.tabswitch.widget.TbEditText; import gm.tieba.tabswitch.widget.TbToast; -public class HistoryCache extends XposedWrapper implements IHooker { +public class HistoryCache extends XposedContext implements IHooker { private String mRegex = ""; public void hook() throws Throwable { diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/add/MyAttention.java b/app/src/main/java/gm/tieba/tabswitch/hooker/add/MyAttention.java index 91700d03..1841370b 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/add/MyAttention.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/add/MyAttention.java @@ -17,14 +17,14 @@ import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.Adp; import gm.tieba.tabswitch.dao.Preferences; import gm.tieba.tabswitch.hooker.TSPreferenceHelper; import gm.tieba.tabswitch.widget.TbDialog; import gm.tieba.tabswitch.widget.TbEditText; -public class MyAttention extends XposedWrapper implements IHooker { +public class MyAttention extends XposedContext implements IHooker { public static LinearLayout createNotesPreference(Activity activity) { Preferences.putBoolean("my_attention", !Preferences.getNotes().isEmpty()); TSPreferenceHelper.PreferenceLayout preferenceLayout = new TSPreferenceHelper.PreferenceLayout(activity); diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/add/NewSub.java b/app/src/main/java/gm/tieba/tabswitch/hooker/add/NewSub.java index 86756c69..6e533cd7 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/add/NewSub.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/add/NewSub.java @@ -7,12 +7,12 @@ import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; import gm.tieba.tabswitch.util.ReflectUtils; import gm.tieba.tabswitch.widget.NavigationBar; -public class NewSub extends XposedWrapper implements IHooker { +public class NewSub extends XposedContext implements IHooker { private Object mThreadId; private Object mPostId; diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/add/Ripple.java b/app/src/main/java/gm/tieba/tabswitch/hooker/add/Ripple.java index 66d2e5cf..8440081e 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/add/Ripple.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/add/Ripple.java @@ -13,12 +13,12 @@ import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; import gm.tieba.tabswitch.util.DisplayUtils; import gm.tieba.tabswitch.util.ReflectUtils; -public class Ripple extends XposedWrapper implements IHooker { +public class Ripple extends XposedContext implements IHooker { public void hook() throws Throwable { // 楼中楼 AcRules.findRule(sRes.getString(R.string.Ripple), (AcRules.Callback) (rule, clazz, method) -> diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/add/SaveImages.java b/app/src/main/java/gm/tieba/tabswitch/hooker/add/SaveImages.java index c1cb473d..61895500 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/add/SaveImages.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/add/SaveImages.java @@ -28,7 +28,7 @@ import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.util.FileUtils; import gm.tieba.tabswitch.util.ReflectUtils; import gm.tieba.tabswitch.widget.TbToast; @@ -36,7 +36,7 @@ import okhttp3.OkHttpClient; import okhttp3.Response; -public class SaveImages extends XposedWrapper implements IHooker { +public class SaveImages extends XposedContext implements IHooker { private List mList; private String mTitle; diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/add/ThreadStore.java b/app/src/main/java/gm/tieba/tabswitch/hooker/add/ThreadStore.java index 9a7e4f25..40cac628 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/add/ThreadStore.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/add/ThreadStore.java @@ -21,7 +21,7 @@ import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; import gm.tieba.tabswitch.util.DisplayUtils; import gm.tieba.tabswitch.util.ReflectUtils; @@ -29,7 +29,7 @@ import gm.tieba.tabswitch.widget.TbEditText; import gm.tieba.tabswitch.widget.TbToast; -public class ThreadStore extends XposedWrapper implements IHooker { +public class ThreadStore extends XposedContext implements IHooker { private String mRegex = ""; public void hook() throws Throwable { diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/auto/AutoSign.java b/app/src/main/java/gm/tieba/tabswitch/hooker/auto/AutoSign.java index dd829164..ee1efd05 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/auto/AutoSign.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/auto/AutoSign.java @@ -16,12 +16,12 @@ import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.Adp; import gm.tieba.tabswitch.dao.Preferences; import gm.tieba.tabswitch.widget.TbToast; -public class AutoSign extends XposedWrapper implements IHooker { +public class AutoSign extends XposedContext implements IHooker { //获取用户所有关注贴吧 private static final String LIKE_URL = "https://tieba.baidu.com/mo/q/newmoindex"; //获取用户的tbs diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/auto/EyeshieldMode.java b/app/src/main/java/gm/tieba/tabswitch/hooker/auto/EyeshieldMode.java index b61f0bbf..891b1392 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/auto/EyeshieldMode.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/auto/EyeshieldMode.java @@ -10,12 +10,12 @@ import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.util.DisplayUtils; import gm.tieba.tabswitch.util.ReflectUtils; import gm.tieba.tabswitch.widget.Switch; -public class EyeshieldMode extends XposedWrapper implements IHooker { +public class EyeshieldMode extends XposedContext implements IHooker { private static boolean sSavedUiMode; public void hook() throws Throwable { diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/auto/FrsTab.java b/app/src/main/java/gm/tieba/tabswitch/hooker/auto/FrsTab.java index baabbd2d..83483f34 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/auto/FrsTab.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/auto/FrsTab.java @@ -6,11 +6,11 @@ import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; import gm.tieba.tabswitch.util.ReflectUtils; -public class FrsTab extends XposedWrapper implements IHooker { +public class FrsTab extends XposedContext implements IHooker { private int mPosition; public void hook() throws Throwable { diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/auto/OpenSign.java b/app/src/main/java/gm/tieba/tabswitch/hooker/auto/OpenSign.java index 7c5d752e..0d3ecf13 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/auto/OpenSign.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/auto/OpenSign.java @@ -10,10 +10,10 @@ import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.Preferences; -public class OpenSign extends XposedWrapper implements IHooker { +public class OpenSign extends XposedContext implements IHooker { public void hook() throws Throwable { XposedHelpers.findAndHookMethod("com.baidu.tieba.tblauncher.MainTabActivity", sClassLoader, "onCreate", Bundle.class, new XC_MethodHook() { @Override diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/auto/OriginSrc.java b/app/src/main/java/gm/tieba/tabswitch/hooker/auto/OriginSrc.java index 63900638..99753f8c 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/auto/OriginSrc.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/auto/OriginSrc.java @@ -15,10 +15,10 @@ import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; -public class OriginSrc extends XposedWrapper implements IHooker { +public class OriginSrc extends XposedContext implements IHooker { private static void doHook() { try { AcRules.findRule("\"pic_amount\"", (AcRules.Callback) (rule, clazz, method) -> diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/extra/ForbidGesture.java b/app/src/main/java/gm/tieba/tabswitch/hooker/extra/ForbidGesture.java index 1b84a4c8..d3ea79ae 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/extra/ForbidGesture.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/extra/ForbidGesture.java @@ -16,12 +16,12 @@ import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; import gm.tieba.tabswitch.util.ReflectUtils; @SuppressLint("ClickableViewAccessibility") -public class ForbidGesture extends XposedWrapper implements IHooker { +public class ForbidGesture extends XposedContext implements IHooker { public void hook() throws Throwable { // 帖子字号 AcRules.findRule(sRes.getString(R.string.ForbidGesture), (AcRules.Callback) (rule, clazz, method) -> diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/extra/Hide.java b/app/src/main/java/gm/tieba/tabswitch/hooker/extra/Hide.java index 681c850b..f354c722 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/extra/Hide.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/extra/Hide.java @@ -7,9 +7,9 @@ import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.BuildConfig; import gm.tieba.tabswitch.IHooker; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; -public class Hide extends XposedWrapper implements IHooker { +public class Hide extends XposedContext implements IHooker { /** * @deprecated hook VMStack_getThreadStackTrace instead. */ diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/extra/Native.java b/app/src/main/java/gm/tieba/tabswitch/hooker/extra/Native.java index f0cfb1af..456e8e64 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/extra/Native.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/extra/Native.java @@ -3,10 +3,10 @@ import android.annotation.SuppressLint; import de.robv.android.xposed.XposedBridge; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; @SuppressLint("UnsafeDynamicallyLoadedCode") -public class Native extends XposedWrapper { +public class Native extends XposedContext { static { String soPath = sPath + "!/lib/armeabi-v7a/libtshide.so"; for (int i = 0; i < 3; i++) { diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/extra/RedirectImage.java b/app/src/main/java/gm/tieba/tabswitch/hooker/extra/RedirectImage.java index 0ba8722c..0238bb10 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/extra/RedirectImage.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/extra/RedirectImage.java @@ -24,11 +24,11 @@ import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; import gm.tieba.tabswitch.util.FileUtils; -public class RedirectImage extends XposedWrapper implements IHooker { +public class RedirectImage extends XposedContext implements IHooker { public void hook() throws Throwable { AcRules.findRule(sRes.getString(R.string.RedirectImage), (AcRules.Callback) (rule, clazz, method) -> { for (Method md : XposedHelpers.findClass(clazz, sClassLoader).getDeclaredMethods()) { diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/extra/StackTrace.java b/app/src/main/java/gm/tieba/tabswitch/hooker/extra/StackTrace.java index 3cab978a..12b900dd 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/extra/StackTrace.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/extra/StackTrace.java @@ -8,9 +8,9 @@ import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; -public class StackTrace extends XposedWrapper implements IHooker { +public class StackTrace extends XposedContext implements IHooker { public static List sStes = new ArrayList<>(); public void hook() throws Throwable { diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/extra/TraceChecker.java b/app/src/main/java/gm/tieba/tabswitch/hooker/extra/TraceChecker.java index 8b0c8e44..32119dbf 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/extra/TraceChecker.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/extra/TraceChecker.java @@ -25,13 +25,13 @@ import dalvik.system.PathClassLoader; import de.robv.android.xposed.XposedBridge; import gm.tieba.tabswitch.BuildConfig; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.Preferences; import gm.tieba.tabswitch.hooker.TSPreferenceHelper; import gm.tieba.tabswitch.util.FileUtils; import gm.tieba.tabswitch.widget.TbToast; -public class TraceChecker extends XposedWrapper { +public class TraceChecker extends XposedContext { public static int sChildCount; private final TSPreferenceHelper.PreferenceLayout mPreferenceLayout; private final String JAVA = "java"; diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/ContentFilter.java b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/ContentFilter.java index 8fd9eed0..5a80af5f 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/ContentFilter.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/ContentFilter.java @@ -10,11 +10,11 @@ import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.Preferences; import gm.tieba.tabswitch.util.Parser; -public class ContentFilter extends XposedWrapper implements IHooker { +public class ContentFilter extends XposedContext implements IHooker { private final Set mIds = new HashSet<>(); public void hook() throws Throwable { diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/FollowFilter.java b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/FollowFilter.java index a5f829b9..5cb595ee 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/FollowFilter.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/FollowFilter.java @@ -9,11 +9,11 @@ import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.Preferences; import gm.tieba.tabswitch.widget.TbToast; -public class FollowFilter extends XposedWrapper implements IHooker { +public class FollowFilter extends XposedContext implements IHooker { public void hook() throws Throwable { XposedHelpers.findAndHookMethod("tbclient.Personalized.DataRes$Builder", sClassLoader, "build", boolean.class, new XC_MethodHook() { diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/FragmentTab.java b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/FragmentTab.java index 01d2357e..f70eb72a 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/FragmentTab.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/FragmentTab.java @@ -9,12 +9,12 @@ import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; import gm.tieba.tabswitch.dao.Preferences; import gm.tieba.tabswitch.util.Parser; -public class FragmentTab extends XposedWrapper implements IHooker { +public class FragmentTab extends XposedContext implements IHooker { private static boolean sIsFirstHook = true; public void hook() throws Throwable { diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/FrsPageFilter.java b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/FrsPageFilter.java index 451829e9..a76a110a 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/FrsPageFilter.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/FrsPageFilter.java @@ -8,11 +8,11 @@ import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.Preferences; import gm.tieba.tabswitch.util.Parser; -public class FrsPageFilter extends XposedWrapper implements IHooker { +public class FrsPageFilter extends XposedContext implements IHooker { public void hook() throws Throwable { final Pattern pattern = Pattern.compile(Preferences.getString("frs_page_filter")); XposedHelpers.findAndHookMethod("tbclient.FrsPage.DataRes$Builder", sClassLoader, "build", boolean.class, new XC_MethodHook() { diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/PersonalizedFilter.java b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/PersonalizedFilter.java index fffc2871..6667db19 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/PersonalizedFilter.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/PersonalizedFilter.java @@ -8,11 +8,11 @@ import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.Preferences; import gm.tieba.tabswitch.util.Parser; -public class PersonalizedFilter extends XposedWrapper implements IHooker { +public class PersonalizedFilter extends XposedContext implements IHooker { public void hook() throws Throwable { final Pattern pattern = Pattern.compile(Preferences.getString("personalized_filter")); XposedHelpers.findAndHookMethod("tbclient.Personalized.DataRes$Builder", sClassLoader, "build", boolean.class, new XC_MethodHook() { diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/Purify.java b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/Purify.java index bf7104e9..bc27a338 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/Purify.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/Purify.java @@ -22,11 +22,11 @@ import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; import gm.tieba.tabswitch.util.ReflectUtils; -public class Purify extends XposedWrapper implements IHooker { +public class Purify extends XposedContext implements IHooker { public void hook() throws Throwable { AcRules.findRule(sRes.getStringArray(R.array.Purify), (AcRules.Callback) (rule, clazz, method) -> { switch (rule) { diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/PurifyEnter.java b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/PurifyEnter.java index ceea0668..620940d7 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/PurifyEnter.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/PurifyEnter.java @@ -13,12 +13,12 @@ import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; import gm.tieba.tabswitch.util.DisplayUtils; import gm.tieba.tabswitch.util.ReflectUtils; -public class PurifyEnter extends XposedWrapper implements IHooker { +public class PurifyEnter extends XposedContext implements IHooker { public void hook() throws Throwable { XposedHelpers.findAndHookMethod("com.baidu.tieba.flutter.base.view.FlutterEnterForumDelegateStatic", sClassLoader, "createFragmentTabStructure", XC_MethodReplacement.returnConstant(null)); diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/PurifyMy.java b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/PurifyMy.java index 4b7b33fd..8eaa49b5 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/PurifyMy.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/PurifyMy.java @@ -15,11 +15,11 @@ import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; import gm.tieba.tabswitch.util.ReflectUtils; -public class PurifyMy extends XposedWrapper implements IHooker { +public class PurifyMy extends XposedContext implements IHooker { public void hook() throws Throwable { XposedHelpers.findAndHookMethod("com.baidu.tieba.flutter.base.view.FlutterDelegateStatic", sClassLoader, "createFragmentTabStructure", XC_MethodReplacement.returnConstant(null)); diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/RedTip.java b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/RedTip.java index 4037d153..09c89eb4 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/RedTip.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/RedTip.java @@ -4,10 +4,10 @@ import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; -public class RedTip extends XposedWrapper implements IHooker { +public class RedTip extends XposedContext implements IHooker { public void hook() throws Throwable { XposedHelpers.findAndHookMethod("com.baidu.tbadk.widget.tab.PagerSlidingTabBaseStrip", sClassLoader, "setShowConcernRedTip", boolean.class, XC_MethodReplacement.returnConstant(null)); diff --git a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/SwitchManager.java b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/SwitchManager.java index 07bc9f2a..27d83b1c 100644 --- a/app/src/main/java/gm/tieba/tabswitch/hooker/minus/SwitchManager.java +++ b/app/src/main/java/gm/tieba/tabswitch/hooker/minus/SwitchManager.java @@ -3,10 +3,10 @@ import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.IHooker; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.Preferences; -public class SwitchManager extends XposedWrapper implements IHooker { +public class SwitchManager extends XposedContext implements IHooker { public void hook() throws Throwable { XposedHelpers.findAndHookMethod("com.baidu.adp.lib.featureSwitch.SwitchManager", sClassLoader, "findType", String.class, new XC_MethodHook() { diff --git a/app/src/main/java/gm/tieba/tabswitch/util/DevelopUtils.java b/app/src/main/java/gm/tieba/tabswitch/util/DevelopUtils.java index 42f25364..963fc607 100644 --- a/app/src/main/java/gm/tieba/tabswitch/util/DevelopUtils.java +++ b/app/src/main/java/gm/tieba/tabswitch/util/DevelopUtils.java @@ -8,9 +8,9 @@ import de.robv.android.xposed.XC_MethodReplacement; import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.XposedHelpers; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; -public class DevelopUtils extends XposedWrapper { +public class DevelopUtils extends XposedContext { public static void log(Object o) { XposedBridge.log(String.valueOf(o)); } diff --git a/app/src/main/java/gm/tieba/tabswitch/util/Parser.java b/app/src/main/java/gm/tieba/tabswitch/util/Parser.java index a6e237cc..a51d4ac1 100644 --- a/app/src/main/java/gm/tieba/tabswitch/util/Parser.java +++ b/app/src/main/java/gm/tieba/tabswitch/util/Parser.java @@ -6,9 +6,9 @@ import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.XposedHelpers; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; -public class Parser extends XposedWrapper { +public class Parser extends XposedContext { public static List parseMainTabActivityConfig() { List mainTabActivityConfig = new ArrayList<>(); try { diff --git a/app/src/main/java/gm/tieba/tabswitch/util/ReflectUtils.java b/app/src/main/java/gm/tieba/tabswitch/util/ReflectUtils.java index b5ca7702..144d88f4 100644 --- a/app/src/main/java/gm/tieba/tabswitch/util/ReflectUtils.java +++ b/app/src/main/java/gm/tieba/tabswitch/util/ReflectUtils.java @@ -8,9 +8,9 @@ import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.XposedHelpers; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; -public class ReflectUtils extends XposedWrapper { +public class ReflectUtils extends XposedContext { private static final Map sFieldCache = new HashMap<>(); private static int getR(String innerClassName, String fieldName) { diff --git a/app/src/main/java/gm/tieba/tabswitch/widget/NavigationBar.java b/app/src/main/java/gm/tieba/tabswitch/widget/NavigationBar.java index 891351fe..7c1af66d 100644 --- a/app/src/main/java/gm/tieba/tabswitch/widget/NavigationBar.java +++ b/app/src/main/java/gm/tieba/tabswitch/widget/NavigationBar.java @@ -4,10 +4,10 @@ import android.widget.TextView; import de.robv.android.xposed.XposedHelpers; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.util.ReflectUtils; -public class NavigationBar extends XposedWrapper { +public class NavigationBar extends XposedContext { private final Object mNavigationBar; public NavigationBar(Object thisObject) { diff --git a/app/src/main/java/gm/tieba/tabswitch/widget/Switch.java b/app/src/main/java/gm/tieba/tabswitch/widget/Switch.java index 9867fc62..e6c50084 100644 --- a/app/src/main/java/gm/tieba/tabswitch/widget/Switch.java +++ b/app/src/main/java/gm/tieba/tabswitch/widget/Switch.java @@ -6,9 +6,9 @@ import java.lang.reflect.Proxy; import de.robv.android.xposed.XposedHelpers; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; -public class Switch extends XposedWrapper { +public class Switch extends XposedContext { public View bdSwitch; public Switch() { diff --git a/app/src/main/java/gm/tieba/tabswitch/widget/TbDialog.java b/app/src/main/java/gm/tieba/tabswitch/widget/TbDialog.java index 7958304e..290cb908 100644 --- a/app/src/main/java/gm/tieba/tabswitch/widget/TbDialog.java +++ b/app/src/main/java/gm/tieba/tabswitch/widget/TbDialog.java @@ -15,11 +15,11 @@ import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; import gm.tieba.tabswitch.util.ReflectUtils; -public class TbDialog extends XposedWrapper { +public class TbDialog extends XposedContext { private Class mClass; private Object mBdAlert; private Object mPageContext; diff --git a/app/src/main/java/gm/tieba/tabswitch/widget/TbToast.java b/app/src/main/java/gm/tieba/tabswitch/widget/TbToast.java index 33e0b546..1e0bf09f 100644 --- a/app/src/main/java/gm/tieba/tabswitch/widget/TbToast.java +++ b/app/src/main/java/gm/tieba/tabswitch/widget/TbToast.java @@ -7,11 +7,11 @@ import de.robv.android.xposed.XposedHelpers; import gm.tieba.tabswitch.R; -import gm.tieba.tabswitch.XposedWrapper; +import gm.tieba.tabswitch.XposedContext; import gm.tieba.tabswitch.dao.AcRules; import gm.tieba.tabswitch.util.ReflectUtils; -public class TbToast extends XposedWrapper { +public class TbToast extends XposedContext { public static int LENGTH_SHORT = 2000; public static int LENGTH_LONG = 3500;