simplify HideBatteryIcon.kt

This commit is contained in:
QQ littleice
2022-03-10 18:51:24 +08:00
parent cd14f89364
commit ab01423fa5

View File

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