From ab01423fa512228594e41175f5505c012045cf1c Mon Sep 17 00:00:00 2001 From: QQ littleice <1767523953@qq.com> Date: Thu, 10 Mar 2022 18:51:24 +0800 Subject: [PATCH] simplify HideBatteryIcon.kt --- .../hook/app/systemui/HideBatteryIcon.kt | 95 ++++++------------- 1 file changed, 27 insertions(+), 68 deletions(-) diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideBatteryIcon.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideBatteryIcon.kt index d2717fa4..3a66f813 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideBatteryIcon.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/HideBatteryIcon.kt @@ -4,82 +4,41 @@ import android.view.View import android.widget.FrameLayout import android.widget.ImageView import android.widget.TextView -import com.lt2333.simplicitytools.util.XSPUtils +import com.lt2333.simplicitytools.util.getObjectField +import com.lt2333.simplicitytools.util.hasEnable +import com.lt2333.simplicitytools.util.hookAfterMethod 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 HideBatteryIcon : IXposedHookLoadPackage { override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { - val classIfExists = XposedHelpers.findClassIfExists( - "com.android.systemui.statusbar.views.MiuiBatteryMeterView", - lpparam.classLoader - ) - XposedHelpers.findAndHookMethod( - classIfExists, - "updateResources", - object : XC_MethodHook() { - override fun afterHookedMethod(param: MethodHookParam) { - - //隐藏电池图标 - if (XSPUtils.getBoolean("hide_battery_icon", false)) { - val mBatteryIconView = XposedHelpers.getObjectField( - param.thisObject, - "mBatteryIconView" - ) as ImageView - mBatteryIconView.visibility = View.GONE - - if (XposedHelpers.getObjectField(param.thisObject, "mBatteryStyle") == 1) { - (XposedHelpers.getObjectField( - param.thisObject, - "mBatteryDigitalView" - ) as FrameLayout).visibility = View.GONE - } - - } - //隐藏电池内的百分比 - if (XSPUtils.getBoolean("hide_battery_percentage_icon", false)) { - val mBatteryPercentMarkView = XposedHelpers.getObjectField( - param.thisObject, - "mBatteryPercentMarkView" - ) as TextView - mBatteryPercentMarkView.textSize = 0F - } - - //隐藏电池百分号 - if (XSPUtils.getBoolean("hide_battery_percentage_icon", false)) { - val mBatteryPercentMarkView = XposedHelpers.getObjectField( - param.thisObject, - "mBatteryPercentMarkView" - ) as TextView - mBatteryPercentMarkView.textSize = 0F - } - - - - - XposedHelpers.findAndHookMethod(classIfExists,"updateChargeAndText",object :XC_MethodHook(){ - override fun afterHookedMethod(param: MethodHookParam) { - //隐藏电池充电图标 - if (XSPUtils.getBoolean("hide_battery_charging_icon", false)) { - (XposedHelpers.getObjectField( - param.thisObject, - "mBatteryChargingInView" - ) as ImageView).visibility = View.GONE - - (XposedHelpers.getObjectField( - param.thisObject, - "mBatteryChargingView" - ) as ImageView).visibility = View.GONE - - } - } - }) + "com.android.systemui.statusbar.views.MiuiBatteryMeterView".hookAfterMethod(lpparam.classLoader, "updateResources") { + //隐藏电池图标 + hasEnable("hide_battery_icon") { + (it.thisObject.getObjectField("mBatteryIconView") as ImageView).visibility = View.GONE + if (it.thisObject.getObjectField("mBatteryStyle") == 1) { + (it.thisObject.getObjectField("mBatteryDigitalView") as FrameLayout).visibility = View.GONE } - }) + } + //隐藏电池内的百分比 + hasEnable("hide_battery_percentage_icon") { + (it.thisObject.getObjectField("mBatteryPercentMarkView") as TextView).textSize = 0F + } + //隐藏电池百分号 + hasEnable("hide_battery_percentage_icon") { + (it.thisObject.getObjectField("mBatteryPercentMarkView") as TextView).textSize = 0F + } + + "com.android.systemui.statusbar.views.MiuiBatteryMeterView".hookAfterMethod(lpparam.classLoader, "updateChargeAndText") { + //隐藏电池充电图标 + hasEnable("hide_battery_charging_icon") { + (it.thisObject.getObjectField("mBatteryChargingInView") as ImageView).visibility = View.GONE + (it.thisObject.getObjectField("mBatteryChargingView") as ImageView).visibility = View.GONE + } + } + } } } \ No newline at end of file