From 0d34d3a4bb3b61cb0ec369429a036fdf1554e731 Mon Sep 17 00:00:00 2001 From: LittleTurtle2333 Date: Tue, 12 Apr 2022 17:24:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=AA=92=E4=BD=93=E9=9F=B3=E9=87=8F=E9=98=B6=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/SettingsActivity.kt | 11 +++++++++ .../simplicitytools/hook/app/Android.kt | 13 +++++------ .../hook/app/android/SystemPropertiesHook.kt | 21 +++++++++++++++++ .../hook/app/systemui/StatusBarCurrent.kt | 23 ------------------- app/src/main/res/values/strings.xml | 2 ++ 5 files changed, 40 insertions(+), 30 deletions(-) create mode 100644 app/src/main/java/com/lt2333/simplicitytools/hook/app/android/SystemPropertiesHook.kt delete mode 100644 app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/StatusBarCurrent.kt 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 745050f1..cddcc8a7 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt @@ -974,6 +974,17 @@ class SettingsActivity : MIUIActivity() { }.show() }) ) + Line() + TitleText(resId = R.string.sound) + Text( + resId = R.string.media_volume_steps, + ) + SeekBarWithText( + "media_volume_steps", + 15, + 29, + 15 + ) } register("scope_other", getString(R.string.scope_other), false) { TitleText(resId = R.string.scope_miuihome) diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/Android.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/Android.kt index 7bf45fa9..eb00aac9 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/Android.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/Android.kt @@ -1,29 +1,28 @@ package com.lt2333.simplicitytools.hook.app -import com.lt2333.simplicitytools.hook.app.android.DeleteOnPostNotification -import com.lt2333.simplicitytools.hook.app.android.DisableFlagSecure -import com.lt2333.simplicitytools.hook.app.android.MaxWallpaperScale -import com.lt2333.simplicitytools.hook.app.android.RemoveSmallWindowRestrictions +import com.lt2333.simplicitytools.hook.app.android.* import com.lt2333.simplicitytools.hook.app.android.corepatch.CorePatch import com.lt2333.simplicitytools.util.xposed.base.AppRegister import de.robv.android.xposed.XposedBridge import de.robv.android.xposed.callbacks.XC_LoadPackage -object Android: AppRegister() { +object Android : AppRegister() { override val packageName: String = "android" override val processName: List = emptyList() override val logTag: String = "Simplicitytools" override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { - XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName) + XposedBridge.log("Simplicitytools: 成功 Hook " + javaClass.simpleName) //核心破解 CorePatch().handleLoadPackage(lpparam) - autoInitHooks(lpparam, + autoInitHooks( + lpparam, DisableFlagSecure, //允许截图 DeleteOnPostNotification, //上层显示 RemoveSmallWindowRestrictions, //解除小窗限制 MaxWallpaperScale, //壁纸缩放比例 + SystemPropertiesHook, //SystemPropertiesHook ) } diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/android/SystemPropertiesHook.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/android/SystemPropertiesHook.kt new file mode 100644 index 00000000..c9ef3bfc --- /dev/null +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/android/SystemPropertiesHook.kt @@ -0,0 +1,21 @@ +package com.lt2333.simplicitytools.hook.app.android + +import com.lt2333.simplicitytools.util.XSPUtils +import com.lt2333.simplicitytools.util.hookBeforeMethod +import com.lt2333.simplicitytools.util.xposed.base.HookRegister + +object SystemPropertiesHook : HookRegister() { + + override fun init() { + "android.os.SystemProperties".hookBeforeMethod( + getDefaultClassLoader(), + "getInt", + String::class.java, + Int::class.java + ) { + when (it.args[0] as String) { + "ro.config.media_vol_steps" -> it.result = XSPUtils.getInt("media_volume_steps",15) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/StatusBarCurrent.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/StatusBarCurrent.kt deleted file mode 100644 index 1740d061..00000000 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/StatusBarCurrent.kt +++ /dev/null @@ -1,23 +0,0 @@ -package com.lt2333.simplicitytools.hook.app.systemui - -import android.view.ViewGroup -import android.widget.TextView -import com.lt2333.simplicitytools.util.findClass -import com.lt2333.simplicitytools.util.hookAfterMethod -import de.robv.android.xposed.IXposedHookLoadPackage -import de.robv.android.xposed.callbacks.XC_LoadPackage - -class StatusBarCurrent :IXposedHookLoadPackage { - override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) { - val miuiPhoneStatusBarViewClass = - "com.android.systemui.statusbar.phone.MiuiPhoneStatusBarView".findClass(lpparam.classLoader) - miuiPhoneStatusBarViewClass.hookAfterMethod("onFinishInflate") { param -> - val viewGroup = param.thisObject as ViewGroup - val textView = TextView(viewGroup.context).also { - it.text = "Text" - it.textSize = 14F - } - viewGroup.addView(textView) - } - } -} \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 80c88507..811580a8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -214,4 +214,6 @@ Pass some validation in the application Rear Display (11Ultra) Clock display seconds + Sound + Media volume steps (Take effect after reboot)