Merge pull request #42 from Houvven/main

新增移除主题壁纸的广告
This commit is contained in:
乌堆小透明
2022-03-10 14:16:00 +08:00
committed by GitHub
9 changed files with 68 additions and 2 deletions

View File

@@ -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")
)
)
}
}

View File

@@ -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)
}
}
}
}

View File

@@ -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)
}
}

View File

@@ -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
}
}
})
}
}

View File

@@ -147,4 +147,6 @@
<string name="settings">设置</string>
<string name="show_notification_importance_summary">显示 MIUI12 及之后版本被隐藏的通知重要程度设置</string>
<string name="show_notification_importance">显示通知重要程度</string>
<string name="remove_ad">去广告</string>
<string name="remove_thememanager_ads">移除主题壁纸的广告</string>
</resources>

View File

@@ -147,4 +147,6 @@
<string name="show_notification_importance_summary">顯示 MIUI12 及之後版本被隱藏的通知重要程度設定</string>
<string name="show_notification_importance">顯示通知重要程度</string>
<string name="settings">設定</string>
<string name="remove_ad">去廣告</string>
<string name="remove_thememanager_ads">拿掉主題壁紙的廣告</string>
</resources>

View File

@@ -147,4 +147,6 @@
<string name="show_notification_importance">顯示通知重要程度</string>
<string name="show_notification_importance_summary">顯示 MIUI12 及之後版本被隱藏的通知重要程度設定</string>
<string name="settings">設定</string>
<string name="remove_ad">去廣告</string>
<string name="remove_thememanager_ads">拿掉主題壁紙的廣告</string>
</resources>

View File

@@ -9,5 +9,6 @@
<item>com.miui.mediaeditor</item>
<item>com.android.updater</item>
<item>com.android.settings</item>
<item>com.android.thememanager</item>
</string-array>
</resources>

View File

@@ -147,4 +147,6 @@
<string name="settings">Settings</string>
<string name="show_notification_importance">Show notification importance</string>
<string name="show_notification_importance_summary">Show notification importance settings which are hidden in MIUI 12 and later versions</string>
<string name="remove_ad">Remove ads</string>
<string name="remove_thememanager_ads">Remove ads for theme manager</string>
</resources>