diff --git a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt index 91e438b2..480eeb7b 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt @@ -1001,6 +1001,16 @@ class SettingsActivity : MIUIActivity() { SwitchV("show_notification_importance") ) ) + add(LineV()) + add(TitleTextV(resId = R.string.remove_ad)) + add( + TextSummaryWithSwitchV( + TextSummaryV( + textId = R.string.remove_thememanager_ads + ), + SwitchV("remove_thememanager_ads") + ) + ) } } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/MainHook.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/MainHook.kt index a0d2f37a..7845d21f 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/MainHook.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/MainHook.kt @@ -11,7 +11,7 @@ class MainHook : IXposedHookLoadPackage { override fun handleLoadPackage(lpparam: LoadPackageParam) { if (prefs.getBoolean("main_switch", true)) { when (lpparam.packageName) { - //Andorid + //Android "android" -> { Android().handleLoadPackage(lpparam) } @@ -35,7 +35,7 @@ class MainHook : IXposedHookLoadPackage { "com.miui.mediaeditor" -> { MediaEditor().handleLoadPackage(lpparam) } - //相册编辑 + //系统更新 "com.android.updater" -> { Updater().handleLoadPackage(lpparam) } @@ -43,6 +43,10 @@ class MainHook : IXposedHookLoadPackage { "com.android.settings" -> { Settings().handleLoadPackage(lpparam) } + //主题壁纸 + "com.android.thememanager" -> { + ThemeManager().handleLoadPackage(lpparam) + } } } } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/ThemeManager.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/ThemeManager.kt new file mode 100644 index 00000000..b13ab5a5 --- /dev/null +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/ThemeManager.kt @@ -0,0 +1,14 @@ +package com.lt2333.simplicitytools.hook.app + +import com.lt2333.simplicitytools.hook.app.thememanager.RemoveAds +import de.robv.android.xposed.IXposedHookLoadPackage +import de.robv.android.xposed.XposedBridge +import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam + +class ThemeManager : IXposedHookLoadPackage { + override fun handleLoadPackage(lpparam: LoadPackageParam) { + XposedBridge.log("成功Hook: " + javaClass.simpleName) + //移除主题壁纸的广告 + RemoveAds().handleLoadPackage(lpparam) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/thememanager/RemoveAds.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/thememanager/RemoveAds.kt new file mode 100644 index 00000000..aa35a403 --- /dev/null +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/thememanager/RemoveAds.kt @@ -0,0 +1,29 @@ +package com.lt2333.simplicitytools.hook.app.thememanager + +import com.lt2333.simplicitytools.util.XSPUtils +import de.robv.android.xposed.IXposedHookLoadPackage +import de.robv.android.xposed.XC_MethodHook +import de.robv.android.xposed.XposedHelpers +import de.robv.android.xposed.callbacks.XC_LoadPackage + +class RemoveAds : IXposedHookLoadPackage { + override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { + val classIfExists = XposedHelpers.findClassIfExists( + "com.android.thememanager.basemodule.ad.model.AdInfoResponse", lpparam?.classLoader + ) + val valueClass: Class<*> = XposedHelpers.findClass( + "com.android.thememanager.basemodule.ad.model.AdInfo", lpparam?.classLoader + ) + XposedHelpers.findAndHookMethod( + classIfExists, + "isAdValid", + valueClass, + object : XC_MethodHook() { + override fun beforeHookedMethod(param: MethodHookParam?) { + if (XSPUtils.getBoolean("remove_thememanager_ads", false)) { + param?.result = false + } + } + }) + } +} \ No newline at end of file diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index c06b1631..fcc332cf 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -147,4 +147,6 @@ 设置 显示 MIUI12 及之后版本被隐藏的通知重要程度设置 显示通知重要程度 + 去广告 + 移除主题壁纸的广告 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 6672334d..6682e828 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -147,4 +147,6 @@ 顯示 MIUI12 及之後版本被隱藏的通知重要程度設定 顯示通知重要程度 設定 + 去廣告 + 拿掉主題壁紙的廣告 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 9878a578..16d31db1 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -147,4 +147,6 @@ 顯示通知重要程度 顯示 MIUI12 及之後版本被隱藏的通知重要程度設定 設定 + 去廣告 + 拿掉主題壁紙的廣告 diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index f5d3b7b5..64dfb9b7 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -9,5 +9,6 @@ com.miui.mediaeditor com.android.updater com.android.settings + com.android.thememanager \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 18cd015c..bde848e7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -147,4 +147,6 @@ Settings Show notification importance Show notification importance settings which are hidden in MIUI 12 and later versions + Remove ads + Remove ads for theme manager