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 c3a3ced5..2bbaeeaa 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/MainHook.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/MainHook.kt @@ -1,10 +1,7 @@ package com.lt2333.simplicitytools.hook import com.lt2333.simplicitytools.BuildConfig -import com.lt2333.simplicitytools.hook.app.Android -import com.lt2333.simplicitytools.hook.app.MiuiHome -import com.lt2333.simplicitytools.hook.app.PowerKeeper -import com.lt2333.simplicitytools.hook.app.SystemUI +import com.lt2333.simplicitytools.hook.app.* import de.robv.android.xposed.IXposedHookLoadPackage import de.robv.android.xposed.XSharedPreferences import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam @@ -18,17 +15,25 @@ class MainHook : IXposedHookLoadPackage { if (prefs.getBoolean("main_switch", true)) { when (lpparam.packageName) { - "com.miui.powerkeeper" -> { - PowerKeeper().handleLoadPackage(lpparam) + //Andorid + "android" -> { + Android().handleLoadPackage(lpparam) } + //系统界面 "com.android.systemui" -> { SystemUI().handleLoadPackage(lpparam) } + //电量与性能 + "com.miui.powerkeeper" -> { + PowerKeeper().handleLoadPackage(lpparam) + } + //桌面 "com.miui.home" -> { MiuiHome().handleLoadPackage(lpparam) } - "android" -> { - Android().handleLoadPackage(lpparam) + //手机管家 + "com.miui.securitycenter"->{ + SecurityCenter().handleLoadPackage(lpparam) } } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/SecurityCenter.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/SecurityCenter.kt new file mode 100644 index 00000000..4be0a7e9 --- /dev/null +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/SecurityCenter.kt @@ -0,0 +1,65 @@ +package com.lt2333.simplicitytools.hook.app + +import android.widget.TextView +import com.lt2333.simplicitytools.BuildConfig +import de.robv.android.xposed.IXposedHookLoadPackage +import de.robv.android.xposed.XC_MethodHook +import de.robv.android.xposed.XSharedPreferences +import de.robv.android.xposed.XposedHelpers +import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam + +class SecurityCenter : IXposedHookLoadPackage { + + var prefs = XSharedPreferences(BuildConfig.APPLICATION_ID, "config") + + override fun handleLoadPackage(lpparam: LoadPackageParam) { + + //跳过 5/10秒等待时间 + var classIfExists = XposedHelpers.findClassIfExists( + "android.widget.TextView", + lpparam.classLoader + ) + XposedHelpers.findAndHookMethod( + classIfExists, + "setText", + CharSequence::class.java, + TextView.BufferType::class.java, + Boolean::class.java, + Int::class.java, + object : XC_MethodHook() { + override fun beforeHookedMethod(param: MethodHookParam) { + if (prefs.hasFileChanged()) { + prefs.reload() + } + if (prefs.getBoolean("skip_waiting_time", false)) { + if (param.args.isNotEmpty() && param.args[0]?.toString() + ?.startsWith("确定(") == true + ) { + param.args[0] = "确定" + } + } + } + }) + + //锁定最高刷新率 + val classIfExists2 = XposedHelpers.findClassIfExists( + "android.widget.TextView", + lpparam.classLoader + ) + XposedHelpers.findAndHookMethod( + classIfExists2, + "setEnabled", + Boolean::class.java, + object : XC_MethodHook() { + override fun beforeHookedMethod(param: MethodHookParam) { + if (prefs.hasFileChanged()) { + prefs.reload() + } + if (prefs.getBoolean("skip_waiting_time", false)) { + param.args[0] = true + } + } + }) + + } +} \ 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 7373d4ba..fc240e2e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -53,5 +53,6 @@ 隐藏网速(/s)单位 菜单 提示 + 跳过 5/10 秒警告时间 \ No newline at end of file