diff --git a/README.md b/README.md
index 87b89ae867..43bca8196d 100644
--- a/README.md
+++ b/README.md
@@ -135,6 +135,7 @@ HyperCeiler 已停止维护 Android 11-12 的 MIUI ROM,除系统框架、系
- [「FuckNFC」 by xiaowine](https://github.com/xiaowine/FuckNFC)
- [「ForegroundPin」 by 焕晨HChen](https://github.com/HChenX/ForegroundPin)
- [「Gson」 by Android Open Source Project, Google Inc.](https://github.com/google/gson)
+- [「Hyper Helper」 by HowieHChen](https://github.com/HowieHChen/XiaomiHelper)
- [「HideMiuiClipboardDialog」 by zerorooot](https://github.com/zerorooot/HideMiuiClipboardDialog)
- [「HyperSmartCharge」 by buffcow](https://github.com/buffcow/HyperSmartCharge)
- [「Kotlin」 by JetBrains](https://github.com/JetBrains/kotlin)
diff --git a/README_en-US.md b/README_en-US.md
index 3b7f502cf4..530ca7022e 100644
--- a/README_en-US.md
+++ b/README_en-US.md
@@ -136,6 +136,7 @@ You can provide translations for the HyperCeiler project [here](https://crwd.in/
- [「FuckNFC」 by xiaowine](https://github.com/xiaowine/FuckNFC)
- [「ForegroundPin」 by 焕晨HChen](https://github.com/HChenX/ForegroundPin)
- [「Gson」 by Android Open Source Project, Google Inc.](https://github.com/google/gson)
+- [「Hyper Helper」 by HowieHChen](https://github.com/HowieHChen/XiaomiHelper)
- [「HideMiuiClipboardDialog」 by zerorooot](https://github.com/zerorooot/HideMiuiClipboardDialog)
- [「HyperSmartCharge」 by buffcow](https://github.com/buffcow/HyperSmartCharge)
- [「Kotlin」 by JetBrains](https://github.com/JetBrains/kotlin)
diff --git a/README_pt-BR.md b/README_pt-BR.md
index 3a3717a8a6..f05047c346 100644
--- a/README_pt-BR.md
+++ b/README_pt-BR.md
@@ -136,6 +136,7 @@ Você pode fornecer traduções para o projeto [aqui](https://crwd.in/cemiuiler)
- [「FuckNFC」 por xiaowine](https://github.com/xiaowine/FuckNFC)
- [「ForegroundPin」 por 焕晨HChen](https://github.com/HChenX/ForegroundPin)
- [「Gson」 por Android Open Source Project, Google Inc.](https://github.com/google/gson)
+- [「Hyper Helper」 by HowieHChen](https://github.com/HowieHChen/XiaomiHelper)
- [「HideMiuiClipboardDialog」 por zerorooot](https://github.com/zerorooot/HideMiuiClipboardDialog)
- [「HyperSmartCharge」 por buffcow](https://github.com/buffcow/HyperSmartCharge)
- [「Kotlin」 por JetBrains](https://github.com/JetBrains/kotlin)
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI.java
index c50d4d759c..042ac01456 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI.java
@@ -12,6 +12,7 @@
import com.sevtinge.hyperceiler.module.hook.systemui.BluetoothRestrict;
import com.sevtinge.hyperceiler.module.hook.systemui.BrightnessPct;
import com.sevtinge.hyperceiler.module.hook.systemui.ChargeAnimationStyle;
+import com.sevtinge.hyperceiler.module.hook.systemui.DisableBottomBar;
import com.sevtinge.hyperceiler.module.hook.systemui.DisableMiuiMultiWinSwitch;
import com.sevtinge.hyperceiler.module.hook.systemui.HideNavigationBar;
import com.sevtinge.hyperceiler.module.hook.systemui.MonetThemeOverlay;
@@ -259,6 +260,7 @@ public void handleLoadPackage() {
initHook(new NotificationFix(), mPrefsMap.getBoolean("system_ui_other_notification_fix") && isMoreHyperOSVersion(1f));
initHook(new BrightnessPct(), mPrefsMap.getBoolean("system_showpct_title"));
initHook(DisableMiuiMultiWinSwitch.INSTANCE, mPrefsMap.getBoolean("system_ui_disable_miui_multi_win_switch"));
+ initHook(DisableBottomBar.INSTANCE, mPrefsMap.getBoolean("system_ui_disable_bottombar"));
// 锁屏
initHook(new ScramblePIN(), mPrefsMap.getBoolean("system_ui_lock_screen_scramble_pin"));
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/DisableBottomBar.kt b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/DisableBottomBar.kt
new file mode 100644
index 0000000000..25d06179e8
--- /dev/null
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/DisableBottomBar.kt
@@ -0,0 +1,18 @@
+package com.sevtinge.hyperceiler.module.hook.systemui
+
+import com.github.kyuubiran.ezxhelper.ClassUtils.loadClass
+import com.github.kyuubiran.ezxhelper.HookFactory.`-Static`.createHook
+import com.github.kyuubiran.ezxhelper.finders.MethodFinder.`-Static`.methodFinder
+import com.sevtinge.hyperceiler.module.base.BaseHook
+
+object DisableBottomBar : BaseHook() {
+ override fun init() {
+ val clazzMiuiBaseWindowDecoration =
+ loadClass("com.android.wm.shell.miuimultiwinswitch.miuiwindowdecor.MiuiBaseWindowDecoration", lpparam.classLoader)
+
+ clazzMiuiBaseWindowDecoration.methodFinder().filterByName("createBottomCaption").first()
+ .createHook {
+ returnConstant(null)
+ }
+ }
+}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/lockscreen/HideLockscreenZenMode.kt b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/lockscreen/HideLockscreenZenMode.kt
index 58bfafb07a..941cb5607f 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/lockscreen/HideLockscreenZenMode.kt
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/lockscreen/HideLockscreenZenMode.kt
@@ -4,14 +4,28 @@ import com.github.kyuubiran.ezxhelper.ClassUtils.loadClass
import com.github.kyuubiran.ezxhelper.HookFactory.`-Static`.createHook
import com.github.kyuubiran.ezxhelper.finders.MethodFinder.`-Static`.methodFinder
import com.sevtinge.hyperceiler.module.base.BaseHook
+import com.sevtinge.hyperceiler.utils.devicesdk.isMoreHyperOSVersion
+import com.sevtinge.hyperceiler.utils.setObjectField
object HideLockscreenZenMode : BaseHook() {
override fun init() {
- loadClass("com.android.systemui.statusbar.notification.zen.ZenModeViewController", lpparam.classLoader)
- .methodFinder().first {
- name == "shouldBeVisible"
- }.createHook {
- returnConstant(false)
- }
+ // hyperOS fix by hyper helper
+ if (isMoreHyperOSVersion(1f)) {
+ loadClass("com.android.systemui.statusbar.notification.zen.ZenModeViewController", lpparam.classLoader)
+ .methodFinder().first {
+ name == "updateVisibility"
+ }.createHook {
+ before {
+ it.thisObject.setObjectField("manuallyDismissed", true)
+ }
+ }
+ } else {
+ loadClass("com.android.systemui.statusbar.notification.zen.ZenModeViewController", lpparam.classLoader)
+ .methodFinder().first {
+ name == "shouldBeVisible"
+ }.createHook {
+ returnConstant(false)
+ }
+ }
}
}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/ui/fragment/systemui/SystemUIOtherSettings.java b/app/src/main/java/com/sevtinge/hyperceiler/ui/fragment/systemui/SystemUIOtherSettings.java
index cc7ecc825c..b77d6edd4c 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/ui/fragment/systemui/SystemUIOtherSettings.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/ui/fragment/systemui/SystemUIOtherSettings.java
@@ -28,7 +28,7 @@ public int getContentResId() {
@Override
public View.OnClickListener addRestartListener() {
- return view -> ((BaseSettingsActivity)getActivity()).showRestartDialog(
+ return view -> ((BaseSettingsActivity) getActivity()).showRestartDialog(
getResources().getString(R.string.system_ui),
"com.android.systemui"
);
@@ -38,10 +38,10 @@ public View.OnClickListener addRestartListener() {
public void initPrefs() {
mMonetOverlay = findPreference("prefs_key_system_ui_monet");
mDisableBluetoothRestrict = findPreference("prefs_key_system_ui_disable_bluetooth_restrict");
- mMiuiMultiWinSwitch = findPreference("prefs_key_system_ui_disable_miui_multi_win_switch");
+ mMiuiMultiWinSwitch = findPreference("prefs_key_system_ui_disable_miui_multi_win_switch");
mMonetOverlay.setVisible(!isAndroidVersion(30));
mDisableBluetoothRestrict.setVisible(isMiuiVersion(14f) && isMoreAndroidVersion(31));
- mMiuiMultiWinSwitch.setVisible(isMoreHyperOSVersion(1f) && isPad());
+ mMiuiMultiWinSwitch.setVisible(isMoreHyperOSVersion(1f));
}
}
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 507cf29680..68ae314afc 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -793,7 +793,8 @@
其他
禁用蓝牙临时关闭
隐藏快捷窗口按钮
- 隐藏 HyperOS for Pad 横屏下顶部居中的快捷窗口按钮 (即常驻的三个小点)
+ 隐藏常驻的三个小点,包括小窗顶部和 HyperOS for Pad 横屏顶部中间的按钮 (不影响功能使用)
+ 隐藏小窗的小白条
更多应用通知栏下拉打开小窗
数据显示
显示亮度百分比
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 01e2c4e664..ec1d14dea2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -779,7 +779,8 @@
Other
Prevent bluetooth from being turned off temporarily
Hide the Convenience Window button
- Hide the convenient window button centered at the top of the HyperOS for Pad landscape screen
+ Hide the three permanent dots, including the top of the small window and the button in the middle of the top of the HyperOS for Pad horizontal screen (does not affect the use of functions)
+ Hide the bottom gesture of the small window
Data display
Displays the brightness percentage
Displays the percentage of sound
diff --git a/app/src/main/res/xml/system_ui_other.xml b/app/src/main/res/xml/system_ui_other.xml
index 136cd42079..0762c80a9a 100644
--- a/app/src/main/res/xml/system_ui_other.xml
+++ b/app/src/main/res/xml/system_ui_other.xml
@@ -82,6 +82,11 @@
android:summary="@string/system_ui_disable_miui_multi_win_switch_desc"
android:title="@string/system_ui_disable_miui_multi_win_switch" />
+
+