From 2b1eaf6634782c2539aa3b5f8b4c63952b518f3f Mon Sep 17 00:00:00 2001 From: LittleTurtle2333 Date: Sat, 26 Mar 2022 16:07:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=94=B5=E6=B1=A0=E7=99=BE?= =?UTF-8?q?=E5=88=86=E6=AF=94=E5=A4=A7=E5=B0=8F=E8=87=AA=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../simplicitytools/hook/app/SystemUI.kt | 2 ++ .../hook/app/systemui/BatteryPercentage.kt | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/BatteryPercentage.kt 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