diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt index 3914eb26..f28ef883 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt @@ -60,6 +60,8 @@ class SystemUI : IXposedHookLoadPackage { DoubleLineNetworkSpeed().handleLoadPackage(lpparam) //大移动类型 StatusBarBigMobileTypeIcon().handleLoadPackage(lpparam) + //电量百分比 + BatteryPercentage().handleLoadPackage(lpparam) } } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/BatteryPercentage.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/BatteryPercentage.kt new file mode 100644 index 00000000..b4da195f --- /dev/null +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/BatteryPercentage.kt @@ -0,0 +1,24 @@ +package com.lt2333.simplicitytools.hook.app.systemui + +import android.util.TypedValue +import android.widget.TextView +import com.lt2333.simplicitytools.util.XSPUtils +import com.lt2333.simplicitytools.util.getObjectField +import com.lt2333.simplicitytools.util.hookAfterMethod +import de.robv.android.xposed.IXposedHookLoadPackage +import de.robv.android.xposed.callbacks.XC_LoadPackage + +class BatteryPercentage : IXposedHookLoadPackage { + override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { + val size = XSPUtils.getFloat("battery_percentage_font_size", 0f) + if (size == 0f) return + "com.android.systemui.statusbar.views.MiuiBatteryMeterView".hookAfterMethod( + lpparam.classLoader, + "updateResources" + ) { + (it.thisObject.getObjectField("mBatteryPercentView") as TextView).setTextSize( + TypedValue.COMPLEX_UNIT_DIP, size + ) + } + } +} \ No newline at end of file