diff --git a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt
index 480eeb7b..fef0468d 100644
--- a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt
+++ b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt
@@ -882,6 +882,14 @@ class SettingsActivity : MIUIActivity() {
SwitchV("remove_lock_screen_camera")
)
)
+ add(
+ TextSummaryWithSwitchV(
+ TextSummaryV(
+ textId = R.string.enable_wave_charge_animation
+ ),
+ SwitchV("enable_wave_charge_animation")
+ )
+ )
}
}
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 f545f380..2f9a31bd 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
@@ -68,6 +68,8 @@ class SystemUI : IXposedHookLoadPackage {
StatusBarLayout().handleLoadPackage(lpparam)
//隐藏时钟与实时网速之间的分隔符
HideNetworkSpeedSplitter().handleLoadPackage(lpparam)
+ //Alpha充电动画
+ WaveCharge().handleLoadPackage(lpparam)
}
}
diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/WaveCharge.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/WaveCharge.kt
new file mode 100644
index 00000000..915cedae
--- /dev/null
+++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/WaveCharge.kt
@@ -0,0 +1,44 @@
+package com.lt2333.simplicitytools.hook.app.systemui
+
+import com.github.kyuubiran.ezxhelper.utils.findMethod
+import com.github.kyuubiran.ezxhelper.utils.hookMethod
+import com.lt2333.simplicitytools.util.hasEnable
+import de.robv.android.xposed.IXposedHookLoadPackage
+import de.robv.android.xposed.XposedHelpers
+import de.robv.android.xposed.callbacks.XC_LoadPackage
+
+class WaveCharge : IXposedHookLoadPackage {
+ override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam?) {
+ hasEnable("enable_wave_charge_animation") {
+ findMethod("com.android.keyguard.charge.ChargeUtils") {
+ name == "supportWaveChargeAnimation"
+ }.hookMethod {
+ after { param ->
+ val ex = Throwable()
+ val stackElement = ex.stackTrace
+ var mResult = false
+ val classTrue = setOf(
+ "com.android.keyguard.charge.ChargeUtils",
+ "com.android.keyguard.charge.container.MiuiChargeContainerView"
+ )
+ for (i in stackElement.indices) {
+ when (stackElement[i].className) {
+ in classTrue -> {
+ mResult = true
+ break
+ }
+ }
+ }
+ param.result = mResult
+ }
+ }
+ findMethod("com.android.keyguard.charge.wave.WaveView") {
+ name == "updateWaveHeight"
+ }.hookMethod {
+ after { param ->
+ XposedHelpers.setIntField(param.thisObject, "mWaveXOffset", 0)
+ }
+ }
+ }
+ }
+}
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index fcc332cf..70cc9326 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -149,4 +149,5 @@
显示通知重要程度
去广告
移除主题壁纸的广告
+ 启用Alpha充电动画
diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index 6682e828..8464fb8c 100644
--- a/app/src/main/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -149,4 +149,5 @@
設定
去廣告
拿掉主題壁紙的廣告
+ 啟用Alpha充電動畫
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 16d31db1..12999e81 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -149,4 +149,5 @@
設定
去廣告
拿掉主題壁紙的廣告
+ 啟用Alpha充電動畫
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index bde848e7..adc817f6 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -149,4 +149,5 @@
Show notification importance settings which are hidden in MIUI 12 and later versions
Remove ads
Remove ads for theme manager
+ Enable wave charge animation