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