mirror of
https://github.com/LittleTurtle2333/SimplicityTools.git
synced 2026-07-12 19:31:17 +08:00
新增防止恢复电池优化白名单
This commit is contained in:
@@ -338,6 +338,35 @@ class SettingsActivity : MIUIActivity() {
|
||||
SwitchV("unlock_unlimited_cropping")
|
||||
)
|
||||
)
|
||||
add(
|
||||
TextSummaryWithSwitchV(
|
||||
TextSummaryV(
|
||||
textId = R.string.prevent_recovery_of_battery_optimization_white_list,
|
||||
tipsId = R.string.failed_after_restart
|
||||
),
|
||||
SwitchV("prevent_recovery_of_battery_optimization_white_list")
|
||||
)
|
||||
)
|
||||
add(
|
||||
TextSummaryArrowV(
|
||||
TextSummaryV(
|
||||
textId = R.string.battery_optimization,
|
||||
tipsId = R.string.battery_optimization_summary,
|
||||
onClickListener = {
|
||||
try {
|
||||
val intent = Intent()
|
||||
val comp = ComponentName(
|
||||
"com.android.settings",
|
||||
"com.android.settings.Settings\$HighPowerApplicationsActivity"
|
||||
)
|
||||
intent.component = comp
|
||||
startActivity(intent)
|
||||
} catch (e: Exception) {
|
||||
Toast.makeText(activity, "启动失败,可能是不支持", Toast.LENGTH_LONG).show()
|
||||
}
|
||||
})
|
||||
)
|
||||
)
|
||||
add(LineV())
|
||||
add(TitleTextV(resId = R.string.about))
|
||||
add(
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.lt2333.simplicitytools.hook.app
|
||||
|
||||
import com.lt2333.simplicitytools.hook.app.powerkeeper.LockMaxFps
|
||||
import com.lt2333.simplicitytools.hook.app.powerkeeper.PreventRecoveryOfBatteryOptimizationWhitelist
|
||||
import de.robv.android.xposed.IXposedHookLoadPackage
|
||||
import de.robv.android.xposed.XposedBridge
|
||||
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam
|
||||
@@ -11,6 +12,8 @@ class PowerKeeper : IXposedHookLoadPackage {
|
||||
XposedBridge.log("成功Hook: "+javaClass.simpleName)
|
||||
//锁定最高刷新率
|
||||
LockMaxFps().handleLoadPackage(lpparam)
|
||||
//防止恢复电池优化白名单
|
||||
PreventRecoveryOfBatteryOptimizationWhitelist().handleLoadPackage(lpparam)
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.lt2333.simplicitytools.hook.app.powerkeeper
|
||||
|
||||
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 PreventRecoveryOfBatteryOptimizationWhitelist : IXposedHookLoadPackage {
|
||||
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
|
||||
val classIfExists = XposedHelpers.findClassIfExists(
|
||||
"com.miui.powerkeeper.statemachine.ForceDozeController",
|
||||
lpparam.classLoader
|
||||
)
|
||||
XposedHelpers.findAndHookMethod(
|
||||
classIfExists,
|
||||
"restoreWhiteListAppsIfQuitForceIdle",
|
||||
object : XC_MethodHook() {
|
||||
override fun beforeHookedMethod(param: MethodHookParam) {
|
||||
super.beforeHookedMethod(param)
|
||||
if (XSPUtils.getBoolean(
|
||||
"prevent_recovery_of_battery_optimization_white_list",
|
||||
false
|
||||
)
|
||||
) {
|
||||
param.result = null
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -80,5 +80,9 @@
|
||||
<string name="third_party_open_source_statement">第三方开源声明</string>
|
||||
<string name="corepacth">解除安装限制</string>
|
||||
<string name="corepacth_summary">支持降级/不同签名/无签名安装</string>
|
||||
<string name="prevent_recovery_of_battery_optimization_white_list">防止恢复电池优化白名单</string>
|
||||
<string name="failed_after_restart">系统重启后仍会还原</string>
|
||||
<string name="battery_optimization">电池优化</string>
|
||||
<string name="battery_optimization_summary">快速打开被MIUI隐藏的电池优化功能</string>
|
||||
|
||||
</resources>
|
||||
Reference in New Issue
Block a user