新增移除主题壁纸的广告

This commit is contained in:
Houvven
2022-03-10 13:48:39 +08:00
parent a3a4a015fb
commit 8783e45d18
9 changed files with 59 additions and 3 deletions

File diff suppressed because one or more lines are too long

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