diff --git a/.github/workflows/ci_build.yml b/.github/workflows/ci_build.yml
index 8949c4c589..1d3d3ebd74 100644
--- a/.github/workflows/ci_build.yml
+++ b/.github/workflows/ci_build.yml
@@ -102,10 +102,10 @@ jobs:
path: ${{ env.APK_FILE }}
compression-level: 9
- push_to_canary_channel:
+ push_to_canary_group:
if: github.event_name == 'push' && github.ref == 'refs/heads/main' && github.ref_type != 'tag' && !contains(github.event.head_commit.message, '[skp]') && !contains(github.event.head_commit.message, 's#')
runs-on: ubuntu-latest
- name: Push to Canary Channel
+ name: Push to Canary Group
needs: build_app
steps:
- name: Download Artifacts
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Pad/SystemUiU.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Pad/SystemUiU.java
index 2b4ce51606..217b0306ad 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Pad/SystemUiU.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Pad/SystemUiU.java
@@ -23,26 +23,14 @@
import com.sevtinge.hyperceiler.module.hook.systemui.AllowManageAllNotifications;
import com.sevtinge.hyperceiler.module.hook.systemui.AutoCollapse;
import com.sevtinge.hyperceiler.module.hook.systemui.AutoSEffSwitchForSystemUi;
-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.DisableInfinitymodeGesture;
-import com.sevtinge.hyperceiler.module.hook.systemui.DisableMiuiMultiWinSwitch;
import com.sevtinge.hyperceiler.module.hook.systemui.DisableTransparent;
-import com.sevtinge.hyperceiler.module.hook.systemui.MonetThemeOverlay;
import com.sevtinge.hyperceiler.module.hook.systemui.NotificationFix;
-import com.sevtinge.hyperceiler.module.hook.systemui.NotificationFreeform;
-import com.sevtinge.hyperceiler.module.hook.systemui.RemoveMiuiMultiWinSwitch;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.OldWeather;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaPicture;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.SquigglyProgress;
import com.sevtinge.hyperceiler.module.hook.systemui.StatusBarActions;
import com.sevtinge.hyperceiler.module.hook.systemui.StickyFloatingWindowsForSystemUI;
import com.sevtinge.hyperceiler.module.hook.systemui.UiLockApp;
import com.sevtinge.hyperceiler.module.hook.systemui.UnimportantNotification;
import com.sevtinge.hyperceiler.module.hook.systemui.UnlockClipboard;
import com.sevtinge.hyperceiler.module.hook.systemui.UnlockCustomActions;
-import com.sevtinge.hyperceiler.module.hook.systemui.VolumeTimerValuesHook;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.AllowAllThemesNotificationBlur;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.CompactNotificationsHook;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.ControlCenterStyle;
@@ -53,15 +41,11 @@
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.FlashLight;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.GmsTile;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.HideDelimiter;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaButton;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelBackgroundMix;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelTimeViewTextSize;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBar;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBarColor;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.MuteVisibleNotifications;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationImportanceHyperOSFix;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationRowMenu;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationWeather;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.OldWeather;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QQSGrid;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSColor;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSGrid;
@@ -74,6 +58,13 @@
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.SunlightModeHigh;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.SwitchCCAndNotification;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.TaplusTile;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaButton;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelBackgroundMix;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelTimeViewTextSize;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaPicture;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBar;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBarColor;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.SquigglyProgress;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.AllowThirdLockScreenUseFace;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.BlockEditor;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.BlurButton;
@@ -92,6 +83,14 @@
import com.sevtinge.hyperceiler.module.hook.systemui.navigation.HideNavigationBar;
import com.sevtinge.hyperceiler.module.hook.systemui.navigation.NavigationCustom;
import com.sevtinge.hyperceiler.module.hook.systemui.navigation.RotationButton;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.BrightnessPct;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.DisableBottomBar;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.DisableInfinitymodeGesture;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.DisableMiuiMultiWinSwitch;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.MonetThemeOverlay;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.NotificationFreeform;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.RemoveMiuiMultiWinSwitch;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.VolumeTimerValuesHook;
import com.sevtinge.hyperceiler.module.hook.systemui.plugin.NewPluginHelperKt;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.BlurEnable;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.DoubleTapToSleep;
@@ -132,7 +131,6 @@ public void handleLoadPackage() {
/*initHook(new NewPluginHelper());
initHook(FocusNotifLyricPluginHelper.INSTANCE, mPrefsMap.getBoolean("system_ui_statusbar_music_switch"));*/
// initHook(Island.INSTANCE, true); // 灵动岛
- initHook(new ChargeAnimationStyle(), mPrefsMap.getStringAsInt("system_ui_charge_animation_style", 0) > 0);
// initHook(DisableChargeAnimation.INSTANCE);
// 小窗
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Pad/SystemUiV.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Pad/SystemUiV.java
index 3fd304c463..3fbb5fd5c7 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Pad/SystemUiV.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Pad/SystemUiV.java
@@ -24,18 +24,8 @@
import com.sevtinge.hyperceiler.module.hook.systemui.AllowManageAllNotifications;
import com.sevtinge.hyperceiler.module.hook.systemui.AutoCollapse;
import com.sevtinge.hyperceiler.module.hook.systemui.AutoSEffSwitchForSystemUi;
-import com.sevtinge.hyperceiler.module.hook.systemui.BrightnessPct;
-import com.sevtinge.hyperceiler.module.hook.systemui.DisableBottomBar;
-import com.sevtinge.hyperceiler.module.hook.systemui.DisableInfinitymodeGesture;
-import com.sevtinge.hyperceiler.module.hook.systemui.DisableMiuiMultiWinSwitch;
import com.sevtinge.hyperceiler.module.hook.systemui.DisableTransparent;
-import com.sevtinge.hyperceiler.module.hook.systemui.MonetThemeOverlay;
import com.sevtinge.hyperceiler.module.hook.systemui.NotificationFix;
-import com.sevtinge.hyperceiler.module.hook.systemui.NotificationFreeform;
-import com.sevtinge.hyperceiler.module.hook.systemui.RemoveMiuiMultiWinSwitch;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.OldWeather;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaPicture;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.SquigglyProgress;
import com.sevtinge.hyperceiler.module.hook.systemui.StatusBarActions;
import com.sevtinge.hyperceiler.module.hook.systemui.StickyFloatingWindowsForSystemUI;
import com.sevtinge.hyperceiler.module.hook.systemui.UiLockApp;
@@ -51,17 +41,13 @@
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.FixTilesList;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.GmsTile;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.HideDelimiter;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaButton;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelBackgroundMix;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelTimeViewTextSize;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBar;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBarColor;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.MuteVisibleNotifications;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NewFlashLight;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationColor;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationImportanceHyperOSFix;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationRowMenu;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationWeather;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.OldWeather;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QQSGrid;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSColor;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSGrid;
@@ -74,6 +60,13 @@
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.SunlightModeHigh;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.SwitchCCAndNotification;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.TaplusTile;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaButton;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelBackgroundMix;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelTimeViewTextSize;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaPicture;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBar;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBarColor;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.SquigglyProgress;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.AllowThirdLockScreenUseFace;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.BlurButton;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ChargingCVP;
@@ -85,12 +78,18 @@
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.LockScreenDoubleTapToSleep;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.NoPassword;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.RemoveCamera;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.RemoveSmartScreen;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ScramblePIN;
import com.sevtinge.hyperceiler.module.hook.systemui.navigation.HandleLineCustom;
import com.sevtinge.hyperceiler.module.hook.systemui.navigation.HideNavigationBar;
import com.sevtinge.hyperceiler.module.hook.systemui.navigation.NavigationCustom;
import com.sevtinge.hyperceiler.module.hook.systemui.navigation.RotationButton;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.BrightnessPct;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.DisableBottomBar;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.DisableInfinitymodeGesture;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.DisableMiuiMultiWinSwitch;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.MonetThemeOverlay;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.NotificationFreeform;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.RemoveMiuiMultiWinSwitch;
import com.sevtinge.hyperceiler.module.hook.systemui.plugin.NewPluginHelperKt;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.BlurEnable;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.DoubleTapToSleep;
@@ -258,7 +257,6 @@ public void handleLoadPackage() {
initHook(new ScramblePIN(), mPrefsMap.getBoolean("system_ui_lock_screen_scramble_pin"));
initHook(ChargingCVP.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_show_charging_cv"));
initHook(RemoveCamera.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_hide_camera"));
- initHook(RemoveSmartScreen.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_hide_smart_screen"));
initHook(NoPassword.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_password_free"));
initHook(LockScreenDoubleTapToSleep.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_double_lock"));
initHook(HideLockscreenZenMode.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_not_disturb_mode"));
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Phone/SystemUiU.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Phone/SystemUiU.java
index 334ca6cd5e..602d53150a 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Phone/SystemUiU.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Phone/SystemUiU.java
@@ -23,26 +23,14 @@
import com.sevtinge.hyperceiler.module.hook.systemui.AllowManageAllNotifications;
import com.sevtinge.hyperceiler.module.hook.systemui.AutoCollapse;
import com.sevtinge.hyperceiler.module.hook.systemui.AutoSEffSwitchForSystemUi;
-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.DisableInfinitymodeGesture;
-import com.sevtinge.hyperceiler.module.hook.systemui.DisableMiuiMultiWinSwitch;
import com.sevtinge.hyperceiler.module.hook.systemui.DisableTransparent;
-import com.sevtinge.hyperceiler.module.hook.systemui.MonetThemeOverlay;
import com.sevtinge.hyperceiler.module.hook.systemui.NotificationFix;
-import com.sevtinge.hyperceiler.module.hook.systemui.NotificationFreeform;
-import com.sevtinge.hyperceiler.module.hook.systemui.RemoveMiuiMultiWinSwitch;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.OldWeather;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaPicture;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.SquigglyProgress;
import com.sevtinge.hyperceiler.module.hook.systemui.StatusBarActions;
import com.sevtinge.hyperceiler.module.hook.systemui.StickyFloatingWindowsForSystemUI;
import com.sevtinge.hyperceiler.module.hook.systemui.UiLockApp;
import com.sevtinge.hyperceiler.module.hook.systemui.UnimportantNotification;
import com.sevtinge.hyperceiler.module.hook.systemui.UnlockClipboard;
import com.sevtinge.hyperceiler.module.hook.systemui.UnlockCustomActions;
-import com.sevtinge.hyperceiler.module.hook.systemui.VolumeTimerValuesHook;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.AllowAllThemesNotificationBlur;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.CompactNotificationsHook;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.ControlCenterStyle;
@@ -53,15 +41,11 @@
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.FlashLight;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.GmsTile;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.HideDelimiter;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaButton;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelBackgroundMix;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelTimeViewTextSize;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBar;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBarColor;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.MuteVisibleNotifications;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationImportanceHyperOSFix;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationRowMenu;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationWeather;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.OldWeather;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QQSGrid;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSColor;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSGrid;
@@ -74,6 +58,13 @@
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.SunlightModeHigh;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.SwitchCCAndNotification;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.TaplusTile;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaButton;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelBackgroundMix;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelTimeViewTextSize;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaPicture;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBar;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBarColor;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.SquigglyProgress;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.AllowThirdLockScreenUseFace;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.BlockEditor;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.BlurButton;
@@ -92,6 +83,14 @@
import com.sevtinge.hyperceiler.module.hook.systemui.navigation.HideNavigationBar;
import com.sevtinge.hyperceiler.module.hook.systemui.navigation.NavigationCustom;
import com.sevtinge.hyperceiler.module.hook.systemui.navigation.RotationButton;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.BrightnessPct;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.DisableBottomBar;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.DisableInfinitymodeGesture;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.DisableMiuiMultiWinSwitch;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.MonetThemeOverlay;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.NotificationFreeform;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.RemoveMiuiMultiWinSwitch;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.VolumeTimerValuesHook;
import com.sevtinge.hyperceiler.module.hook.systemui.plugin.NewPluginHelperKt;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.BlurEnable;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.DoubleTapToSleep;
@@ -130,7 +129,6 @@ public void handleLoadPackage() {
// PluginHelper
initHook(NewPluginHelperKt.INSTANCE);
// initHook(Island.INSTANCE, true); // 灵动岛
- initHook(new ChargeAnimationStyle(), mPrefsMap.getStringAsInt("system_ui_charge_animation_style", 0) > 0);
// 小窗
initHook(new NotificationFreeform(), mPrefsMap.getBoolean("system_ui_notification_freeform"));
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Phone/SystemUiV.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Phone/SystemUiV.java
index cbb8b2c43f..9038472111 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Phone/SystemUiV.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Phone/SystemUiV.java
@@ -24,25 +24,16 @@
import com.sevtinge.hyperceiler.module.hook.systemui.AllowManageAllNotifications;
import com.sevtinge.hyperceiler.module.hook.systemui.AutoCollapse;
import com.sevtinge.hyperceiler.module.hook.systemui.AutoSEffSwitchForSystemUi;
-import com.sevtinge.hyperceiler.module.hook.systemui.BrightnessPct;
-import com.sevtinge.hyperceiler.module.hook.systemui.DisableBottomBar;
-import com.sevtinge.hyperceiler.module.hook.systemui.DisableInfinitymodeGesture;
-import com.sevtinge.hyperceiler.module.hook.systemui.DisableMiuiMultiWinSwitch;
import com.sevtinge.hyperceiler.module.hook.systemui.DisableTransparent;
import com.sevtinge.hyperceiler.module.hook.systemui.FuckStatusbarGestures;
-import com.sevtinge.hyperceiler.module.hook.systemui.MonetThemeOverlay;
import com.sevtinge.hyperceiler.module.hook.systemui.NotificationFix;
-import com.sevtinge.hyperceiler.module.hook.systemui.NotificationFreeform;
-import com.sevtinge.hyperceiler.module.hook.systemui.RemoveMiuiMultiWinSwitch;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.OldWeather;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaPicture;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.SquigglyProgress;
import com.sevtinge.hyperceiler.module.hook.systemui.StatusBarActions;
import com.sevtinge.hyperceiler.module.hook.systemui.StickyFloatingWindowsForSystemUI;
import com.sevtinge.hyperceiler.module.hook.systemui.UiLockApp;
import com.sevtinge.hyperceiler.module.hook.systemui.UnimportantNotification;
import com.sevtinge.hyperceiler.module.hook.systemui.UnlockClipboard;
import com.sevtinge.hyperceiler.module.hook.systemui.UnlockCustomActions;
+import com.sevtinge.hyperceiler.module.hook.systemui.base.lockscreen.Keyguard;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.AllowAllThemesNotificationBlur;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.CompactNotificationsHook;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.ControlCenterStyle;
@@ -52,17 +43,13 @@
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.FixTilesList;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.GmsTile;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.HideDelimiter;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaButton;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelBackgroundMix;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelTimeViewTextSize;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBar;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBarColor;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.MuteVisibleNotifications;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NewFlashLight;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationColor;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationImportanceHyperOSFix;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationRowMenu;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationWeather;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.OldWeather;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QQSGrid;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSColor;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSGrid;
@@ -74,9 +61,17 @@
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.SunlightModeHigh;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.SwitchCCAndNotification;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.TaplusTile;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaButton;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelBackgroundMix;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaControlPanelTimeViewTextSize;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaPicture;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBar;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.MediaSeekBarColor;
+import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.media.SquigglyProgress;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.AllowThirdLockScreenUseFace;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.BlurButton;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ChargingCVP;
+import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.CustomizeBottomButton;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.DisableUnlockByBleToast;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockScreenHint;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockScreenStatusBar;
@@ -86,12 +81,18 @@
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.NoPassword;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.NotificationShowOnKeyguard;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.RemoveCamera;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.RemoveSmartScreen;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ScramblePIN;
import com.sevtinge.hyperceiler.module.hook.systemui.navigation.HandleLineCustom;
import com.sevtinge.hyperceiler.module.hook.systemui.navigation.HideNavigationBar;
import com.sevtinge.hyperceiler.module.hook.systemui.navigation.NavigationCustom;
import com.sevtinge.hyperceiler.module.hook.systemui.navigation.RotationButton;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.BrightnessPct;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.DisableBottomBar;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.DisableInfinitymodeGesture;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.DisableMiuiMultiWinSwitch;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.MonetThemeOverlay;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.NotificationFreeform;
+import com.sevtinge.hyperceiler.module.hook.systemui.other.RemoveMiuiMultiWinSwitch;
import com.sevtinge.hyperceiler.module.hook.systemui.plugin.NewPluginHelperKt;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.BlurEnable;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.DoubleTapToSleep;
@@ -278,10 +279,10 @@ public void handleLoadPackage() {
initHook(UnlockClipboard.INSTANCE, mPrefsMap.getBoolean("system_ui_unlock_clipboard"));
// 锁屏
+ initHook(CustomizeBottomButton.INSTANCE, Keyguard.getLeftButtonType() != 0);
initHook(new ScramblePIN(), mPrefsMap.getBoolean("system_ui_lock_screen_scramble_pin"));
initHook(ChargingCVP.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_show_charging_cv"));
initHook(RemoveCamera.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_hide_camera"));
- initHook(RemoveSmartScreen.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_hide_smart_screen"));
initHook(NoPassword.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_password_free"));
initHook(LockScreenDoubleTapToSleep.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_double_lock"));
initHook(NotificationShowOnKeyguard.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_unlock_notification_restrict"));
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/ChargeAnimationStyle.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/ChargeAnimationStyle.java
deleted file mode 100644
index bcb2475d45..0000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/ChargeAnimationStyle.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * This file is part of HyperCeiler.
-
- * HyperCeiler is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
-
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
-
- * Copyright (C) 2023-2025 HyperCeiler Contributions
-*/
-package com.sevtinge.hyperceiler.module.hook.systemui;
-
-import android.util.ArraySet;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-import java.util.Set;
-
-import de.robv.android.xposed.XposedHelpers;
-
-public class ChargeAnimationStyle extends BaseHook {
-
- Class> mChargeAnimCls;
- Class> mWaveViewCls;
-
- int mChargeAnimationType;
- int mType;
-
- @Override
- public void init() {
-
- mChargeAnimCls = findClassIfExists("com.android.keyguard.charge.ChargeUtils");
- mWaveViewCls = findClassIfExists("com.android.keyguard.charge.wave.WaveView");
-
- mChargeAnimationType = mPrefsMap.getStringAsInt("system_ui_charge_animation_style", 0);
-
- setChargeAnimationType(mChargeAnimationType);
- }
-
- public void setChargeAnimationType(int value) {
-
- if (value == 1) {
- findAndHookMethod(mChargeAnimCls, "isChargeAnimationDisabled", new MethodHook() {
- @Override
- protected void after(MethodHookParam param) {
- param.setResult(true);
- }
- });
- } else if (value == 4) {
-
- findAndHookMethod(mChargeAnimCls, "supportWaveChargeAnimation", new MethodHook() {
- @Override
- protected void after(MethodHookParam param) {
- StackTraceElement[] stackElement = new Throwable().getStackTrace();
- boolean mResult = false;
- Set classTrue = new ArraySet<>(new String[]{"com.android.keyguard.charge.ChargeUtils",
- "com.android.keyguard.charge.container.MiuiChargeContainerView"});
- int i = 0;
- int length = stackElement.length;
-
- while (true) {
- if (i >= length) {
- break;
- } else if (!classTrue.contains(stackElement[i].getClassName())) {
- i++;
- } else {
- mResult = true;
- logI(TAG, ChargeAnimationStyle.this.lpparam.packageName, stackElement[i].getClassName());
- break;
- }
- }
- param.setResult(mResult);
- }
- });
-
- findAndHookMethod(mWaveViewCls, "updateWaveHeight", new MethodHook() {
- @Override
- protected void after(MethodHookParam param) {
- XposedHelpers.setIntField(param.thisObject, "mWaveXOffset", 0);
- }
- });
-
-
- /*findAndHookMethod(mChargeAnimCls,"getChargeAnimationType", new MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(2);
- }
- });
-
- findAndHookMethod(mWaveViewCls, "updateWaveHeight" ,new MethodHook() {
- @Override
- protected void after(MethodHookParam param) throws Throwable {
- XposedHelpers.setIntField(param.thisObject, "mWaveXOffset", 0);
- }
- });*/
- } else {
- switch (value) {
- case 2 -> mType = 0;
- case 3 -> mType = 1;
- }
-
- findAndHookMethod(mChargeAnimCls, "getChargeAnimationType", new MethodHook() {
- @Override
- protected void before(MethodHookParam param) {
- param.setResult(mType);
- }
- });
- }
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/Dependency.kt b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/Dependency.kt
deleted file mode 100644
index 209ff804a5..0000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/Dependency.kt
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * This file is part of HyperCeiler.
-
- * HyperCeiler is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
-
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
-
- * Copyright (C) 2023-2025 HyperCeiler Contributions
-*/
-package com.sevtinge.hyperceiler.module.hook.systemui
-
-import com.github.kyuubiran.ezxhelper.*
-import com.sevtinge.hyperceiler.utils.*
-
-import de.robv.android.xposed.XposedHelpers.*
-
-@Suppress("MemberVisibilityCanBePrivate")
-object Dependency {
- private const val DEPENDENCY = "com.android.systemui.Dependency"
-
- private val dependencyClz by lazy {
- findClass(DEPENDENCY, EzXHelper.classLoader)
- }
-
- /* ========================== only for HyperOS2 ========================== */
- @JvmStatic
- @get:JvmName(name = "getDependency")
- val sDependency: Any?
- get() = dependencyClz.getStaticObjectField("sDependency")
-
- @JvmStatic
- @get:JvmName(name = "getMiuiLegacyDependency")
- val mMiuiLegacyDependency: Any?
- get() = sDependency?.getObjectField("mMiuiLegacyDependency")
-
- @JvmStatic
- @get:JvmName(name = "getDependencies")
- val mDependencies: Map<*, *>?
- get() = sDependency?.getObjectField("mDependencies") as Map<*, *>?
-
- @JvmStatic
- fun getDependencyInner(depClz: Class<*>): Any? {
- return sDependency?.callMethod("getDependencyInner", depClz)
- }
-
- @JvmStatic
- fun getDependencyInner(depClzName: String): Any? {
- return getDependencyInner(findClass(depClzName, EzXHelper.classLoader))
- }
-
- /* ========================== only for HyperOS1 ========================== */
- @JvmStatic
- fun get(depClz: Class<*>): Any? {
- return dependencyClz.callStaticMethod("get", depClz)
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/InterfacesImplManager.kt b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/InterfacesImplManager.kt
deleted file mode 100644
index f219daead3..0000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/InterfacesImplManager.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.sevtinge.hyperceiler.module.hook.systemui
-
-import com.github.kyuubiran.ezxhelper.*
-import com.sevtinge.hyperceiler.utils.*
-import de.robv.android.xposed.XposedHelpers.*
-
-/**
- * only for HyperOS2
- */
-object InterfacesImplManager {
- private const val IMPL_MANAGER = "com.miui.systemui.interfacesmanager.InterfacesImplManager"
-
- const val I_ACTIVITY_STARTER = "com.android.systemui.plugins.ActivityStarter"
-
- @JvmStatic
- @get:JvmName(name = "getClassContainer")
- val sClassContainer by lazy {
- managerClz.getStaticObjectFieldAs