diff --git a/README.md b/README.md
index 03b12057c..4fe685ce4 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
# HyperCeiler
-### Make HyperOS/MIUI Great Again!
+### Make HyperOS Great Again!
简体中文 | [English](/README_en-US.md) | [Português (Brasil)](/README_pt-BR.md)
@@ -12,15 +12,13 @@
## 当前支持的版本
-Android 13-15 的 MIUI 和 HyperOS
-
-> 注:Android 13 已基本停止维护,仅提供临时支持,不再接受反馈
+Android 14-15 的 HyperOS
## 使用前说明
请在 [LSPosed](https://github.com/LSPosed/LSPosed/releases) 中启用 HyperCeiler, 然后在 HyperCeiler 应用内启用对应的功能,重启作用域 (需要 Root 权限);
-本模块不支持 `修改较多的第三方 MIUI/Xiaomi HyperOS ROM`、`修改较多的系统软件`,以及`部分国际 MIUI/Xiaomi HyperOS ROM`;
+本模块不支持 `修改较多的第三方 Xiaomi HyperOS ROM`、`修改较多的系统软件`,以及`部分国际 Xiaomi HyperOS ROM`;
目前 HyperCeiler 是基于 Android 15 的 Xiaomi HyperOS 2.0 的手机端设备进行适配,覆盖不是很完整,需要不断测试和改进
diff --git a/README_en-US.md b/README_en-US.md
index cfe945ae7..920957346 100644
--- a/README_en-US.md
+++ b/README_en-US.md
@@ -4,7 +4,7 @@
# HyperCeiler
-### Make HyperOS/MIUI Great Again!
+### Make HyperOS Great Again!
[简体中文](/README.md) | English | [Português (Brasil)](/README_pt-BR.md)
@@ -12,15 +12,13 @@
## Currently supported versions
-MIUI and HyperOS for Android 13-15
-
-> Note: Android 13 has basically stopped maintenance, only provides temporary support, and no longer accepts feedback.
+HyperOS for Android 14-15
## Pre-use instructions
Please enable HyperCeiler in [LSPosed](https://github.com/LSPosed/LSPosed/releases), then enable the corresponding feature in the HyperCeiler app and restart the scope (root access required).
-This module does not support `third-party MIUI/Xiaomi HyperOS ROMs with a lot of modifications`, `system software with a lot of modifications`, and some `international MIUI/Xiaomi HyperOS ROMs`.
+This module does not support `third-party Xiaomi HyperOS ROMs with a lot of modifications`, `system software with a lot of modifications`, and some `international Xiaomi HyperOS ROMs`.
Currently, HyperCeiler is adapted for Xiaomi HyperOS 2.0 mobile devices based on Android 15. The coverage isn't very comprehensive and requires ongoing testing and improvements.
diff --git a/README_pt-BR.md b/README_pt-BR.md
index 5c7e8d5d8..02cd9d43c 100644
--- a/README_pt-BR.md
+++ b/README_pt-BR.md
@@ -4,7 +4,7 @@
# HyperCeiler
-### Torne o HyperOS/MIUI ótimo novamente!
+### Torne o HyperOS ótimo novamente!
[简体中文](/README.md) | [English](/README_en-US.md) | Português (Brasil)
@@ -12,15 +12,13 @@
## Versões atualmente suportadas
-MIUI e HyperOS para Android 13-15
-
-> Observação: O Android 13 praticamente encerrou a manutenção, oferecendo apenas suporte temporário e não aceitando mais feedback.
+HyperOS para Android 13-15
## Instruções de pré-uso
Por favor, ative o HyperCeiler no [LSPosed](https://github.com/LSPosed/LSPosed/releases), em seguida, ative o recurso correspondente no app HyperCeiler e reinicie o escopo (necessário root).
-Este módulo não suporta `ROM MIUI/Xiaomi HyperOS de terceiros com muitas modificações`, `software de sistema com muitas modificações` e algumas `ROM MIUI/Xiaomi HyperOS internacionais`.
+Este módulo não suporta `ROM Xiaomi HyperOS de terceiros com muitas modificações`, `software de sistema com muitas modificações` e algumas `ROM Xiaomi HyperOS internacionais`.
Atualmente, o HyperCeiler está adaptado para dispositivos móveis Xiaomi HyperOS 2.0 baseados em Android 15. A cobertura não é muito abrangente e requer testes e melhorias contínuas.
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 331c96504..ec311d9b0 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -90,11 +90,11 @@ fun loadPropertiesFromFile(fileName: String): Properties? {
android {
namespace = "com.sevtinge.hyperceiler"
compileSdk = 35
- buildToolsVersion = "35.0.0"
+ buildToolsVersion = "35.0.1"
defaultConfig {
applicationId = namespace
- minSdk = 33
+ minSdk = 34
targetSdk = 35
versionCode = getVersionCode()
versionName = "2.5.156"
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/XposedInit.java b/app/src/main/java/com/sevtinge/hyperceiler/XposedInit.java
index 1386d46f6..1aa196428 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/XposedInit.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/XposedInit.java
@@ -23,10 +23,8 @@
import static com.sevtinge.hyperceiler.utils.devicesdk.MiDeviceAppUtilsKt.isPad;
import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.getAndroidVersion;
import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.getHyperOSVersion;
-import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.getMiuiVersion;
import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isAndroidVersion;
import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isHyperOSVersion;
-import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isMiuiVersion;
import static com.sevtinge.hyperceiler.utils.log.LogManager.logLevelDesc;
import static com.sevtinge.hyperceiler.utils.log.XposedLogUtils.logE;
import static com.sevtinge.hyperceiler.utils.log.XposedLogUtils.logI;
@@ -48,7 +46,6 @@
import com.sevtinge.hyperceiler.module.hook.systemframework.ScreenRotation;
import com.sevtinge.hyperceiler.module.hook.systemframework.ToastBlur;
import com.sevtinge.hyperceiler.module.hook.systemframework.UnlockAlwaysOnDisplay;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.VolumeSeparateControlForSettings;
import com.sevtinge.hyperceiler.module.skip.SystemFrameworkForCorePatch;
import com.sevtinge.hyperceiler.safe.CrashHook;
import com.sevtinge.hyperceiler.utils.api.ProjectApi;
@@ -124,8 +121,6 @@ private static void loadZygoteHook(StartupParam startupParam) throws Throwable {
if (mPrefsMap.getBoolean("system_framework_screen_all_rotations")) ScreenRotation.initRes();
if (mPrefsMap.getBoolean("system_framework_clean_share_menu")) CleanShareMenu.initRes();
if (mPrefsMap.getBoolean("system_framework_clean_open_menu")) CleanOpenMenu.initRes();
- if (mPrefsMap.getBoolean("system_framework_volume_separate_control"))
- VolumeSeparateControlForSettings.initRes();
if (startupParam != null) {
new BackgroundBlurDrawable().initZygote(startupParam);
@@ -171,7 +166,7 @@ private void setXSharedPrefs() {
private void init(XC_LoadPackage.LoadPackageParam lpparam) {
String packageName = lpparam.packageName;
if (Objects.equals(packageName, "android"))
- logI(packageName, "androidVersion = " + getAndroidVersion() + ", miuiVersion = " + getMiuiVersion() + ", hyperosVersion = " + getHyperOSVersion());
+ logI(packageName, "androidVersion = " + getAndroidVersion() + ", hyperosVersion = " + getHyperOSVersion());
else
logI(packageName, "versionName = " + getPackageVersionName(lpparam) + ", versionCode = " + getPackageVersionCode(lpparam));
@@ -203,7 +198,7 @@ public void accept(String s, DataBase dataBase) {
return;
if (!(dataBase.mTargetSdk == -1) && !isAndroidVersion(dataBase.mTargetSdk))
return;
- if (!(dataBase.mTargetOSVersion == -1F) && !(isHyperOSVersion(dataBase.mTargetOSVersion) || isMiuiVersion(dataBase.mTargetOSVersion)))
+ if (!(dataBase.mTargetOSVersion == -1F) && !(isHyperOSVersion(dataBase.mTargetOSVersion)))
return;
if ((dataBase.isPad == 1 && !isPad()) || (dataBase.isPad == 2 && isPad()))
return;
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Camera.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/Camera.java
deleted file mode 100644
index 1d724d9e1..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Camera.java
+++ /dev/null
@@ -1,140 +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.app;
-
-import com.hchen.database.HookBase;
-import com.sevtinge.hyperceiler.module.base.BaseModule;
-import com.sevtinge.hyperceiler.module.hook.camera.BlackLeica;
-import com.sevtinge.hyperceiler.module.hook.camera.CustomCameraColor;
-import com.sevtinge.hyperceiler.module.hook.camera.CustomWatermark;
-import com.sevtinge.hyperceiler.module.hook.camera.EnableLabOptions;
-import com.sevtinge.hyperceiler.module.hook.camera.MaxScreenBrightness;
-import com.sevtinge.hyperceiler.module.hook.camera.Unlock120Fps;
-import com.sevtinge.hyperceiler.module.hook.camera.Unlock60Fps;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockAiEnhance;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockAiShutter;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockAiWatermark;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockAmbilight;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockAudioZoom;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockClone;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockColorEnhance;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockCosmeticMirror;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockCvlens;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockCyberFocusVersion2;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockDoc;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockDualcam;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockDuration;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockFilm;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockFilmDelay;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockFilmDollyZoom;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockFilmDream;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockFilmSlowShutter;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockFilmTimeBackflow;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockFilmTimeFreeze;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockHandGesture;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockHdr;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockHeic;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockIdcard;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockLog;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockMakeup;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockMenMakeup;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockMilive;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockMoon;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockNevus;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockNewBeauty;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockPano;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockPixel;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockPortrait;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockRaw;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockSlow;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockTrackEyes;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockTrackFeature;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockTrackFocus;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockVideosky;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockVlog;
-import com.sevtinge.hyperceiler.module.hook.camera.UnlockVlogPro;
-
-@HookBase(targetPackage = "com.android.camera")
-public class Camera extends BaseModule {
-
- @Override
- public void handleLoadPackage() {
- // 功能
- initHook(new UnlockAiWatermark(), mPrefsMap.getBoolean("camera_features_unlock_aiwatermark"));
- initHook(new UnlockAmbilight(), mPrefsMap.getBoolean("camera_features_unlock_ambilight"));
- initHook(new UnlockClone(), mPrefsMap.getBoolean("camera_features_unlock_clone"));
- initHook(new UnlockCosmeticMirror(), mPrefsMap.getBoolean("camera_features_unlock_cosmetic_mirror"));
- initHook(new UnlockDoc(), mPrefsMap.getBoolean("camera_features_unlock_doc"));
- initHook(new UnlockDualcam(), mPrefsMap.getBoolean("camera_features_unlock_dualcam"));
- initHook(new UnlockDuration(), mPrefsMap.getBoolean("camera_features_unlock_duration"));
- initHook(new UnlockIdcard(), mPrefsMap.getBoolean("camera_features_unlock_idcard"));
- initHook(new UnlockMilive(), mPrefsMap.getBoolean("camera_features_unlock_milive"));
- initHook(new UnlockMoon(), mPrefsMap.getBoolean("camera_features_unlock_moon"));
- initHook(new UnlockPano(), mPrefsMap.getBoolean("camera_features_unlock_pano"));
- initHook(new UnlockPixel(), mPrefsMap.getBoolean("camera_features_unlock_pixel"));
- initHook(new UnlockPortrait(), mPrefsMap.getBoolean("camera_features_unlock_portrait"));
- initHook(new UnlockSlow(), mPrefsMap.getBoolean("camera_features_unlock_slow"));
- initHook(new UnlockVideosky(), mPrefsMap.getBoolean("camera_features_unlock_videosky"));
- initHook(new UnlockVlog(), mPrefsMap.getBoolean("camera_features_unlock_vlog"));
- initHook(new UnlockVlogPro(), mPrefsMap.getBoolean("camera_features_unlock_vlog_pro"));
- initHook(new UnlockFilm(), mPrefsMap.getBoolean("camera_features_unlock_film"));
- initHook(new UnlockFilmDelay(), mPrefsMap.getBoolean("camera_features_unlock_film_delay"));
- initHook(new UnlockFilmDollyZoom(), mPrefsMap.getBoolean("camera_features_unlock_film_dollyzoom"));
- initHook(new UnlockFilmDream(), mPrefsMap.getBoolean("camera_features_unlock_film_dream"));
- initHook(new UnlockFilmSlowShutter(), mPrefsMap.getBoolean("camera_features_unlock_film_slowshutter"));
- initHook(new UnlockFilmTimeBackflow(), mPrefsMap.getBoolean("camera_features_unlock_film_timebackflow"));
- initHook(new UnlockFilmTimeFreeze(), mPrefsMap.getBoolean("camera_features_unlock_film_timefreeze"));
-
- // 拍照
- initHook(new UnlockMakeup(), mPrefsMap.getBoolean("camera_shot_makeup"));
- initHook(new UnlockColorEnhance(), mPrefsMap.getBoolean("camera_shot_color_enhance"));
- initHook(new UnlockHandGesture(), mPrefsMap.getBoolean("camera_shot_hand_gesture"));
- initHook(new CustomWatermark(), mPrefsMap.getBoolean("camera_custom_watermark"));
- initHook(new BlackLeica(), mPrefsMap.getBoolean("camera_black_leica"));
-
- // 录像
- initHook(new Unlock60Fps(), mPrefsMap.getBoolean("camera_record_60fps"));
- initHook(new Unlock120Fps(), mPrefsMap.getBoolean("camera_record_120fps"));
- initHook(new UnlockHdr(), mPrefsMap.getBoolean("camera_record_hdr"));
- initHook(new UnlockAiEnhance(), mPrefsMap.getBoolean("camera_record_ai"));
- initHook(new UnlockAudioZoom(), mPrefsMap.getBoolean("camera_record_audio_zoom"));
-
- // 人像
- initHook(new UnlockCvlens(), mPrefsMap.getBoolean("camera_portrait_cvlens"));
- initHook(new UnlockNewBeauty(), mPrefsMap.getBoolean("camera_portrait_new_beauty"));
-
- // 专业
- initHook(new UnlockRaw(), mPrefsMap.getBoolean("camera_pro_raw"));
- initHook(new UnlockLog(), mPrefsMap.getBoolean("camera_pro_log"));
-
- // 设置
- initHook(new UnlockTrackFeature(), (mPrefsMap.getBoolean("camera_settings_track_eyes") || mPrefsMap.getBoolean("camera_settings_track_focus")));
- initHook(new UnlockHeic(), mPrefsMap.getBoolean("camera_settings_heic"));
- initHook(new UnlockTrackFocus(), mPrefsMap.getBoolean("camera_settings_track_focus"));
- initHook(new UnlockAiShutter(), mPrefsMap.getBoolean("camera_settings_predictive"));
- initHook(new UnlockCyberFocusVersion2(), mPrefsMap.getBoolean("camera_settings_track_focus"));
- initHook(new UnlockNevus(), mPrefsMap.getBoolean("camera_settings_nevus"));
- initHook(new UnlockMenMakeup(), mPrefsMap.getBoolean("camera_settings_men_makeup"));
- initHook(new EnableLabOptions(), mPrefsMap.getBoolean("camera_settings_lab_options"));
- initHook(new UnlockTrackEyes(), mPrefsMap.getBoolean("camera_settings_track_eyes"));
-
- initHook(new MaxScreenBrightness(), mPrefsMap.getBoolean("camera_max_brightness"));
- initHook(new CustomCameraColor(), mPrefsMap.getBoolean("camera_custom_theme_color"));
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Pad/HomeT.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Pad/HomeT.java
deleted file mode 100644
index 4eae289d4..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Pad/HomeT.java
+++ /dev/null
@@ -1,331 +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.app.Home.Pad;
-
-import com.hchen.database.HookBase;
-import com.sevtinge.hyperceiler.module.base.BaseModule;
-import com.sevtinge.hyperceiler.module.hook.home.AnimDurationRatio;
-import com.sevtinge.hyperceiler.module.hook.home.DisablePrestart;
-import com.sevtinge.hyperceiler.module.hook.home.FreeFormCountForHome;
-import com.sevtinge.hyperceiler.module.hook.home.HomePortraitReverse;
-import com.sevtinge.hyperceiler.module.hook.home.LockApp;
-import com.sevtinge.hyperceiler.module.hook.home.MaxFreeForm;
-import com.sevtinge.hyperceiler.module.hook.home.ScreenSwipe;
-import com.sevtinge.hyperceiler.module.hook.home.SeekPoints;
-import com.sevtinge.hyperceiler.module.hook.home.SetDeviceLevel;
-import com.sevtinge.hyperceiler.module.hook.home.StickyFloatingWindowsForHome;
-import com.sevtinge.hyperceiler.module.hook.home.ToastSlideAgain;
-import com.sevtinge.hyperceiler.module.hook.home.UnlockHotseatIcon;
-import com.sevtinge.hyperceiler.module.hook.home.UserPresentAnimation;
-import com.sevtinge.hyperceiler.module.hook.home.WidgetCornerRadius;
-import com.sevtinge.hyperceiler.module.hook.home.dock.DisableRecentsIcon;
-import com.sevtinge.hyperceiler.module.hook.home.dock.DockCustom;
-import com.sevtinge.hyperceiler.module.hook.home.dock.DockCustomNew;
-import com.sevtinge.hyperceiler.module.hook.home.dock.FoldDeviceDock;
-import com.sevtinge.hyperceiler.module.hook.home.dock.FoldDock;
-import com.sevtinge.hyperceiler.module.hook.home.dock.HideDock;
-import com.sevtinge.hyperceiler.module.hook.home.dock.ShowDockIconTitle;
-import com.sevtinge.hyperceiler.module.hook.home.dock.SlideUpOnlyShowDock;
-import com.sevtinge.hyperceiler.module.hook.home.drawer.AllAppsContainerViewBlur;
-import com.sevtinge.hyperceiler.module.hook.home.drawer.AllAppsContainerViewSuperBlur;
-import com.sevtinge.hyperceiler.module.hook.home.drawer.AppDrawer;
-import com.sevtinge.hyperceiler.module.hook.home.drawer.PinyinArrangement;
-import com.sevtinge.hyperceiler.module.hook.home.folder.BigFolderIcon;
-import com.sevtinge.hyperceiler.module.hook.home.folder.BigFolderIconBlur;
-import com.sevtinge.hyperceiler.module.hook.home.folder.BigFolderIconBlur1x2;
-import com.sevtinge.hyperceiler.module.hook.home.folder.BigFolderIconBlur2x1;
-import com.sevtinge.hyperceiler.module.hook.home.folder.BigFolderItemMaxCount;
-import com.sevtinge.hyperceiler.module.hook.home.folder.FolderAnimation;
-import com.sevtinge.hyperceiler.module.hook.home.folder.FolderAutoClose;
-import com.sevtinge.hyperceiler.module.hook.home.folder.FolderBlur;
-import com.sevtinge.hyperceiler.module.hook.home.folder.FolderColumns;
-import com.sevtinge.hyperceiler.module.hook.home.folder.FolderShade;
-import com.sevtinge.hyperceiler.module.hook.home.folder.FolderVerticalSpacing;
-import com.sevtinge.hyperceiler.module.hook.home.folder.SmallFolderIconBlur;
-import com.sevtinge.hyperceiler.module.hook.home.folder.UnlockBlurSupported;
-import com.sevtinge.hyperceiler.module.hook.home.gesture.CornerSlide;
-import com.sevtinge.hyperceiler.module.hook.home.gesture.DoubleTap;
-import com.sevtinge.hyperceiler.module.hook.home.gesture.HotSeatSwipe;
-import com.sevtinge.hyperceiler.module.hook.home.gesture.QuickBack;
-import com.sevtinge.hyperceiler.module.hook.home.gesture.ShakeDevice;
-import com.sevtinge.hyperceiler.module.hook.home.layout.HotSeatsHeight;
-import com.sevtinge.hyperceiler.module.hook.home.layout.HotSeatsMarginBottom;
-import com.sevtinge.hyperceiler.module.hook.home.layout.HotSeatsMarginTop;
-import com.sevtinge.hyperceiler.module.hook.home.layout.IndicatorMarginBottom;
-import com.sevtinge.hyperceiler.module.hook.home.layout.SearchBarMarginBottom;
-import com.sevtinge.hyperceiler.module.hook.home.layout.SearchBarMarginWidth;
-import com.sevtinge.hyperceiler.module.hook.home.layout.UnlockGrids;
-import com.sevtinge.hyperceiler.module.hook.home.layout.WorkspacePadding;
-import com.sevtinge.hyperceiler.module.hook.home.mipad.EnableHideGestureLine;
-import com.sevtinge.hyperceiler.module.hook.home.mipad.EnableMoreSetting;
-import com.sevtinge.hyperceiler.module.hook.home.navigation.BackGestureAreaHeight;
-import com.sevtinge.hyperceiler.module.hook.home.navigation.BackGestureAreaWidth;
-import com.sevtinge.hyperceiler.module.hook.home.navigation.HideNavigationBar;
-import com.sevtinge.hyperceiler.module.hook.home.other.AllowShareApk;
-import com.sevtinge.hyperceiler.module.hook.home.other.AlwaysBlurWallpaper;
-import com.sevtinge.hyperceiler.module.hook.home.other.AlwaysShowStatusClock;
-import com.sevtinge.hyperceiler.module.hook.home.other.BlurRadius;
-import com.sevtinge.hyperceiler.module.hook.home.other.BlurWhenShowShortcutMenu;
-import com.sevtinge.hyperceiler.module.hook.home.other.DisableHideGoogle;
-import com.sevtinge.hyperceiler.module.hook.home.other.FreeformShortcutMenu;
-import com.sevtinge.hyperceiler.module.hook.home.other.HomeMode;
-import com.sevtinge.hyperceiler.module.hook.home.other.InfiniteScroll;
-import com.sevtinge.hyperceiler.module.hook.home.other.OptAppLaunchDelay;
-import com.sevtinge.hyperceiler.module.hook.home.other.OverlapMode;
-import com.sevtinge.hyperceiler.module.hook.home.other.ShortcutItemCount;
-import com.sevtinge.hyperceiler.module.hook.home.other.ShowAllHideApp;
-import com.sevtinge.hyperceiler.module.hook.home.other.TasksShortcutMenu;
-import com.sevtinge.hyperceiler.module.hook.home.recent.AlwaysShowCleanUp;
-import com.sevtinge.hyperceiler.module.hook.home.recent.BackgroundBlur;
-import com.sevtinge.hyperceiler.module.hook.home.recent.BlurLevel;
-import com.sevtinge.hyperceiler.module.hook.home.recent.CardTextColor;
-import com.sevtinge.hyperceiler.module.hook.home.recent.CardTextSize;
-import com.sevtinge.hyperceiler.module.hook.home.recent.DisableRecentViewWallpaperDarken;
-import com.sevtinge.hyperceiler.module.hook.home.recent.FreeformCardBackgroundColor;
-import com.sevtinge.hyperceiler.module.hook.home.recent.HideCleanUp;
-import com.sevtinge.hyperceiler.module.hook.home.recent.HideFreeform;
-import com.sevtinge.hyperceiler.module.hook.home.recent.HideRecentCard;
-import com.sevtinge.hyperceiler.module.hook.home.recent.HideStatusBarWhenEnterRecent;
-import com.sevtinge.hyperceiler.module.hook.home.recent.MemInfoShow;
-import com.sevtinge.hyperceiler.module.hook.home.recent.RealMemory;
-import com.sevtinge.hyperceiler.module.hook.home.recent.RecentResource;
-import com.sevtinge.hyperceiler.module.hook.home.recent.RecentText;
-import com.sevtinge.hyperceiler.module.hook.home.recent.RemoveCardAnim;
-import com.sevtinge.hyperceiler.module.hook.home.recent.RemoveIcon;
-import com.sevtinge.hyperceiler.module.hook.home.recent.RemoveLeftShare;
-import com.sevtinge.hyperceiler.module.hook.home.recent.ShowLaunch;
-import com.sevtinge.hyperceiler.module.hook.home.recent.TaskViewHorizontal;
-import com.sevtinge.hyperceiler.module.hook.home.recent.TaskViewVertical;
-import com.sevtinge.hyperceiler.module.hook.home.recent.UnlockPin;
-import com.sevtinge.hyperceiler.module.hook.home.title.AnimParamCustom;
-import com.sevtinge.hyperceiler.module.hook.home.title.AppBlurAnim;
-import com.sevtinge.hyperceiler.module.hook.home.title.BigIconCorner;
-import com.sevtinge.hyperceiler.module.hook.home.title.DisableHideFile;
-import com.sevtinge.hyperceiler.module.hook.home.title.DisableHideTheme;
-import com.sevtinge.hyperceiler.module.hook.home.title.DownloadAnimation;
-import com.sevtinge.hyperceiler.module.hook.home.title.EnableIconMonetColor;
-import com.sevtinge.hyperceiler.module.hook.home.title.EnableIconMonoChrome;
-import com.sevtinge.hyperceiler.module.hook.home.title.FakeNonDefaultIcon;
-import com.sevtinge.hyperceiler.module.hook.home.title.FixAnimation;
-import com.sevtinge.hyperceiler.module.hook.home.title.HiddenAllTitle;
-import com.sevtinge.hyperceiler.module.hook.home.title.HideReportText;
-import com.sevtinge.hyperceiler.module.hook.home.title.IconMessageColorCustom;
-import com.sevtinge.hyperceiler.module.hook.home.title.IconTitleColor;
-import com.sevtinge.hyperceiler.module.hook.home.title.IconTitleCustomization;
-import com.sevtinge.hyperceiler.module.hook.home.title.LargeIconCornerRadius;
-import com.sevtinge.hyperceiler.module.hook.home.title.NewInstallIndicator;
-import com.sevtinge.hyperceiler.module.hook.home.title.PerfectIcon;
-import com.sevtinge.hyperceiler.module.hook.home.title.RecommendAppsSwitch;
-import com.sevtinge.hyperceiler.module.hook.home.title.TitleFontSize;
-import com.sevtinge.hyperceiler.module.hook.home.title.TitleMarquee;
-import com.sevtinge.hyperceiler.module.hook.home.widget.AllWidgetAnimation;
-import com.sevtinge.hyperceiler.module.hook.home.widget.AllowMoveAllWidgetToMinus;
-import com.sevtinge.hyperceiler.module.hook.home.widget.AlwaysShowMiuiWidget;
-import com.sevtinge.hyperceiler.module.hook.home.widget.HideWidgetTitles;
-import com.sevtinge.hyperceiler.module.hook.home.widget.ResizableWidgets;
-import com.sevtinge.hyperceiler.module.hook.systemframework.mipad.SetGestureNeedFingerNum;
-
-import java.util.Objects;
-
-@HookBase(targetPackage = "com.miui.home", isPad = 1, targetSdk = 33)
-public class HomeT extends BaseModule {
-
- @Override
- public void handleLoadPackage() {
-
- // 手势
- initHook(new QuickBack(), mPrefsMap.getBoolean("home_navigation_quick_back"));
- initHook(new CornerSlide(),
- mPrefsMap.getInt("home_navigation_assist_left_slide_action", 0) > 0 ||
- mPrefsMap.getInt("home_navigation_assist_right_slide_action", 0) > 0
- );
- initHook(new DoubleTap(), mPrefsMap.getInt("home_gesture_double_tap_action", 0) > 0);
- initHook(new ScreenSwipe(), mPrefsMap.getInt("home_gesture_up_swipe_action", 0) > 0 ||
- mPrefsMap.getInt("home_gesture_down_swipe_action", 0) > 0 ||
- mPrefsMap.getInt("home_gesture_up_swipe2_action", 0) > 0 ||
- mPrefsMap.getInt("home_gesture_down_swipe2_action", 0) > 0);
- initHook(new HotSeatSwipe(), mPrefsMap.getInt("home_gesture_left_swipe_action", 0) > 0
- || mPrefsMap.getInt("home_gesture_right_swipe_action", 0) > 0);
- initHook(new ShakeDevice(), mPrefsMap.getInt("home_gesture_shake_action", 0) > 0);
- // initHook(new SwipeAndStop(), mPrefsMap.getInt("home_gesture_swipe_and_stop_action" ,0) > 0);
-
- initHook(new BackGestureAreaHeight(), mPrefsMap.getInt("home_navigation_back_area_height", 60) != 60);
- initHook(new BackGestureAreaWidth(), mPrefsMap.getInt("home_navigation_back_area_width", 100) != 100);
-
- // 布局
- initHook(new UnlockGrids(), mPrefsMap.getBoolean("home_layout_unlock_grids"));
- // initHook(new UnlockGridsNoWord(), mPrefsMap.getBoolean("home_layout_unlock_grids_no_word"));
- initHook(new WorkspacePadding(),
- mPrefsMap.getBoolean("home_layout_workspace_padding_bottom_enable") ||
- mPrefsMap.getBoolean("home_layout_workspace_padding_top_enable") ||
- mPrefsMap.getBoolean("home_layout_workspace_padding_horizontal_enable")
- );
-
- initHook(new IndicatorMarginBottom(), mPrefsMap.getBoolean("home_layout_indicator_margin_bottom_enable"));
- initHook(new HotSeatsHeight(), mPrefsMap.getBoolean("home_layout_hotseats_height_enable"));
- initHook(new HotSeatsMarginTop(), mPrefsMap.getBoolean("home_layout_hotseats_margin_top_enable"));
- initHook(new HotSeatsMarginBottom(), mPrefsMap.getBoolean("home_layout_hotseats_margin_bottom_enable"));
- initHook(new SearchBarMarginWidth(), mPrefsMap.getBoolean("home_layout_searchbar_width_enable"));
- initHook(new SearchBarMarginBottom(), (mPrefsMap.getInt("home_layout_searchbar_margin_bottom", 0) > 0) &&
- mPrefsMap.getBoolean("home_layout_searchbar_margin_bottom_enable"));
-
-
- // 文件夹
- initHook(FolderAutoClose.INSTANCE, mPrefsMap.getBoolean("home_folder_auto_close"));
- initHook(new FolderShade(), mPrefsMap.getStringAsInt("home_folder_shade", 1) > 0);
- initHook(FolderColumns.INSTANCE, mPrefsMap.getStringAsInt("home_folder_title_pos", 0) != 0 ||
- mPrefsMap.getBoolean("home_folder_width") ||
- mPrefsMap.getInt("home_folder_columns", 3) != 3);
- initHook(new FolderAnimation(), mPrefsMap.getBoolean("home_folder_animation"));
- initHook(new SmallFolderIconBlur(), mPrefsMap.getBoolean("home_small_folder_icon_bg"));
- initHook(FolderVerticalSpacing.INSTANCE, mPrefsMap.getBoolean("home_folder_vertical_spacing_enable"));
-
- initHook(new BigFolderIcon(), false);
- initHook(new BigFolderIconBlur2x1(), mPrefsMap.getBoolean("home_big_folder_icon_bg_2x1"));
- initHook(new BigFolderIconBlur1x2(), mPrefsMap.getBoolean("home_big_folder_icon_bg_1x2"));
- initHook(new BigFolderIconBlur(), mPrefsMap.getBoolean("home_big_folder_icon_bg"));
- initHook(new BigFolderItemMaxCount(), mPrefsMap.getBoolean("home_big_folder_item_max_count"));
- initHook(new UnlockBlurSupported(), mPrefsMap.getBoolean("home_folder_unlock_blur_supported"));
- initHook(new RecommendAppsSwitch(), mPrefsMap.getBoolean("home_folder_recommend_apps_switch"));
-
- // 抽屉
- initHook(AppDrawer.INSTANCE, mPrefsMap.getBoolean("home_drawer_all") ||
- mPrefsMap.getBoolean("home_drawer_editor"));
- initHook(AllAppsContainerViewBlur.INSTANCE, mPrefsMap.getBoolean("home_drawer_blur"));
- initHook(new AllAppsContainerViewSuperBlur(), mPrefsMap.getBoolean("home_drawer_blur_super"));
- initHook(new PinyinArrangement(), mPrefsMap.getBoolean("home_drawer_pinyin"));
-
- // 最近任务
- initHook(BlurLevel.INSTANCE, mPrefsMap.getStringAsInt("home_recent_blur_level", 6) != 6 && !mPrefsMap.getBoolean("home_title_app_blur_enable"));
- initHook(DisableRecentViewWallpaperDarken.INSTANCE, mPrefsMap.getBoolean("home_recent_disable_wallpaper_dimming"));
- initHook(HideStatusBarWhenEnterRecent.INSTANCE, mPrefsMap.getBoolean("home_recent_hide_status_bar_in_task_view"));
- initHook(RemoveCardAnim.INSTANCE, mPrefsMap.getBoolean("home_recent_modify_animation"));
- initHook(TaskViewHorizontal.INSTANCE, true);
- initHook(TaskViewVertical.INSTANCE, true);
- initHook(HideFreeform.INSTANCE, mPrefsMap.getBoolean("home_recent_hide_freeform"));
- initHook(new HideCleanUp(), mPrefsMap.getBoolean("home_recent_hide_clean_up"));
- initHook(FreeformCardBackgroundColor.INSTANCE, true);
- initHook(CardTextColor.INSTANCE, true);
- initHook(CardTextSize.INSTANCE, true);
- initHook(UnlockPin.INSTANCE, mPrefsMap.getBoolean("home_recent_unlock_pin"));
- initHook(RecentText.INSTANCE, !Objects.equals(mPrefsMap.getString("home_recent_text", ""), ""));
- initHook(RemoveIcon.INSTANCE, mPrefsMap.getBoolean("home_recent_remove_icon"));
- initHook(RemoveLeftShare.INSTANCE, mPrefsMap.getBoolean("home_recent_hide_world_circulate"));
- initHook(RecentResource.INSTANCE, mPrefsMap.getInt("task_view_corners", 20) != 20 ||
- mPrefsMap.getInt("task_view_header_height", 40) != 40);
- initHook(RealMemory.INSTANCE, mPrefsMap.getBoolean("home_recent_show_real_memory"));
- initHook(MemInfoShow.INSTANCE, mPrefsMap.getBoolean("home_recent_show_memory_info"));
- initHook(AlwaysShowCleanUp.INSTANCE, mPrefsMap.getBoolean("always_show_clean_up"));
- initHook(new BackgroundBlur(), mPrefsMap.getBoolean("home_recent_blur"));
- initHook(new ShowLaunch(), mPrefsMap.getBoolean("home_recent_show_launch"));
- initHook(HideRecentCard.INSTANCE, !mPrefsMap.getStringSet("home_recent_hide_card").isEmpty());
-
- // 图标
- initHook(BigIconCorner.INSTANCE, mPrefsMap.getBoolean("home_title_big_icon_corner"));
- initHook(new DownloadAnimation(), mPrefsMap.getBoolean("home_title_download_animation"));
- initHook(DisableHideTheme.INSTANCE, mPrefsMap.getBoolean("home_title_disable_hide_theme"));
- initHook(DisableHideFile.INSTANCE, mPrefsMap.getBoolean("home_title_disable_hide_file"));
- initHook(DisableHideGoogle.INSTANCE, mPrefsMap.getBoolean("home_title_disable_hide_google"));
- initHook(new FakeNonDefaultIcon(), mPrefsMap.getBoolean("fake_non_default_icon"));
- initHook(new AnimParamCustom(), mPrefsMap.getBoolean("home_title_custom_anim_param_main"));
- initHook(AppBlurAnim.INSTANCE, mPrefsMap.getBoolean("home_title_app_blur_enable"));
- // initHook(new IconScaleHook()/*, mPrefsMap.getInt("home_title_icon_scale", 100) != 100*/);
-
- // 标题
- initHook(new TitleMarquee(), mPrefsMap.getBoolean("home_title_title_marquee"));
- initHook(new NewInstallIndicator(), mPrefsMap.getBoolean("home_title_title_new_install"));
- initHook(new IconTitleCustomization(), mPrefsMap.getBoolean("home_title_title_icontitlecustomization_onoff"));
- initHook(new HiddenAllTitle(), mPrefsMap.getBoolean("home_drawer_font_hidden"));
- initHook(new TitleFontSize());
- initHook(IconTitleColor.INSTANCE, true);
- initHook(new UnlockHotseatIcon(), mPrefsMap.getBoolean("home_dock_unlock_hotseat"));
- initHook(new IconMessageColorCustom(), mPrefsMap.getBoolean("home_title_notif_color"));
-
- // 小部件
- initHook(new AllWidgetAnimation(), mPrefsMap.getBoolean("home_widget_all_widget_animation"));
- initHook(AlwaysShowMiuiWidget.INSTANCE, mPrefsMap.getBoolean("home_widget_show_miui_widget"));
- initHook(AllowMoveAllWidgetToMinus.INSTANCE, mPrefsMap.getBoolean("home_widget_allow_moved_to_minus_one_screen"));
- initHook(new WidgetCornerRadius(), mPrefsMap.getInt("home_widget_corner_radius", 0) > 0);
- initHook(HideWidgetTitles.INSTANCE, mPrefsMap.getBoolean("home_widget_hide_title"));
- initHook(ResizableWidgets.INSTANCE, mPrefsMap.getBoolean("home_widget_resizable"));
-
- // 底栏
- initHook(new DockCustom(), mPrefsMap.getBoolean("home_dock_bg_custom_enable") && mPrefsMap.getStringAsInt("home_dock_add_blur", 0) == 2);
- initHook(DockCustomNew.INSTANCE, mPrefsMap.getBoolean("home_dock_bg_custom_enable") && (mPrefsMap.getStringAsInt("home_dock_add_blur", 0) == 0 || mPrefsMap.getStringAsInt("home_dock_add_blur", 0) == 1));
- initHook(new SeekPoints(), mPrefsMap.getStringAsInt("home_other_seek_points", 0) > 0);
- initHook(FoldDeviceDock.INSTANCE, mPrefsMap.getBoolean("home_dock_fold"));
- initHook(ShowDockIconTitle.INSTANCE, mPrefsMap.getBoolean("home_dock_icon_title"));
- initHook(new HideNavigationBar(), mPrefsMap.getBoolean("system_ui_hide_navigation_bar"));
- initHook(DisableRecentsIcon.INSTANCE, mPrefsMap.getBoolean("home_dock_disable_recents_icon"));
- initHook(SlideUpOnlyShowDock.INSTANCE, mPrefsMap.getBoolean("home_dock_slide_up_only_show_dock") && !mPrefsMap.getBoolean("home_dock_hide_dock"));
- initHook(HideDock.INSTANCE, mPrefsMap.getBoolean("home_dock_hide_dock"));
-
- // 其他
- initHook(new LockApp(), mPrefsMap.getBoolean("system_framework_guided_access"));
- initHook(new HomeMode(), mPrefsMap.getStringAsInt("home_other_home_mode", 0) > 0);
- initHook(AlwaysShowStatusClock.INSTANCE, mPrefsMap.getBoolean("home_other_show_clock"));
- initHook(new InfiniteScroll(), mPrefsMap.getBoolean("home_other_infinite_scroll"));
- initHook(new FreeformShortcutMenu(), mPrefsMap.getBoolean("home_other_freeform_shortcut_menu"));
- initHook(new TasksShortcutMenu(), mPrefsMap.getBoolean("home_other_tasks_shortcut_menu"));
- initHook(new UserPresentAnimation(), mPrefsMap.getBoolean("home_other_user_present_animation"));
- initHook(new PerfectIcon(), mPrefsMap.getBoolean("home_other_perfect_icon"));
- initHook(new EnableIconMonoChrome(), mPrefsMap.getBoolean("home_other_icon_mono_chrome"));
- initHook(new HomePortraitReverse(), mPrefsMap.getBoolean("home_other_portrait_reverse"));
- initHook(AlwaysBlurWallpaper.INSTANCE, mPrefsMap.getBoolean("home_other_always_blur_launcher_wallpaper"));
- initHook(BlurRadius.INSTANCE, mPrefsMap.getInt("home_other_blur_radius", 100) != 100);
- initHook(ShortcutItemCount.INSTANCE, mPrefsMap.getBoolean("home_other_shortcut_remove_restrictions"));
- initHook(ShowAllHideApp.INSTANCE, true); // 桌面快捷方式管理
- // initHook(new AllowShareApk(), mPrefsMap.getBoolean("home_other_allow_share_apk"));
- initHook(new HideReportText(), mPrefsMap.getBoolean("home_title_hide_report_text"));
- initHook(new DisablePrestart(), mPrefsMap.getBoolean("home_other_disable_prestart"));
- initHook(new OptAppLaunchDelay(), mPrefsMap.getBoolean("home_other_opt_app_launch_delay"));
-
- // 实验性功能
- initHook(BlurWhenShowShortcutMenu.INSTANCE, mPrefsMap.getBoolean("home_other_shortcut_background_blur"));
- initHook(FolderBlur.INSTANCE, mPrefsMap.getBoolean("home_folder_blur") && !mPrefsMap.getBoolean("home_title_app_blur_enable"));
- initHook(new FoldDock(), mPrefsMap.getBoolean("home_other_fold_dock"));
- // initHook(new AllAppsBlur); // ??
- initHook(new FixAnimation(), mPrefsMap.getBoolean("home_title_fix_animation"));
- initHook(new LargeIconCornerRadius(), mPrefsMap.getBoolean("home_large_icon_enable"));
-
- // 多小窗
- initHook(new FreeFormCountForHome(), mPrefsMap.getBoolean("system_framework_freeform_count"));
- initHook(new MaxFreeForm(), mPrefsMap.getBoolean("system_framework_freeform_count"));
-
- // Fold2样式负一屏
- initHook(new OverlapMode(), mPrefsMap.getBoolean("personal_assistant_overlap_mode"));
-
- // Other
- initHook(new ToastSlideAgain(), mPrefsMap.getBoolean("home_other_toast_slide_again"));
- initHook(new StickyFloatingWindowsForHome(), mPrefsMap.getBoolean("system_framework_freeform_sticky"));
- initHook(AnimDurationRatio.INSTANCE, true);
- initHook(SetDeviceLevel.INSTANCE, mPrefsMap.getBoolean("home_other_high_models"));
-
- // 小米/红米平板相关
- boolean mMoreSetting = mPrefsMap.getBoolean("home_other_mi_pad_enable_more_setting");
- initHook(SetGestureNeedFingerNum.INSTANCE, mPrefsMap.getBoolean("mipad_input_need_finger_num"));
- initHook(EnableMoreSetting.INSTANCE, mMoreSetting);
- initHook(EnableHideGestureLine.INSTANCE, mMoreSetting);
-
- // reshook
- initHook(EnableIconMonetColor.INSTANCE, mPrefsMap.getBoolean("home_other_icon_monet_color"));
- initHook(new AllowShareApk(), mPrefsMap.getBoolean("home_other_allow_share_apk"));
- }
-
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Pad/HomeU.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Pad/HomeU.java
index 9fe3081a0..5513a039e 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Pad/HomeU.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Pad/HomeU.java
@@ -96,7 +96,6 @@
import com.sevtinge.hyperceiler.module.hook.home.recent.BlurLevel;
import com.sevtinge.hyperceiler.module.hook.home.recent.CardTextColor;
import com.sevtinge.hyperceiler.module.hook.home.recent.CardTextSize;
-import com.sevtinge.hyperceiler.module.hook.home.recent.DisableRecentViewWallpaperDarken;
import com.sevtinge.hyperceiler.module.hook.home.recent.FreeformCardBackgroundColor;
import com.sevtinge.hyperceiler.module.hook.home.recent.HideCleanUp;
import com.sevtinge.hyperceiler.module.hook.home.recent.HideFreeform;
@@ -213,7 +212,6 @@ public void handleLoadPackage() {
// 最近任务
initHook(BlurLevel.INSTANCE, mPrefsMap.getStringAsInt("home_recent_blur_level", 6) != 6 && !mPrefsMap.getBoolean("home_title_app_blur_enable"));
- initHook(DisableRecentViewWallpaperDarken.INSTANCE, mPrefsMap.getBoolean("home_recent_disable_wallpaper_dimming"));
initHook(HideStatusBarWhenEnterRecent.INSTANCE, mPrefsMap.getBoolean("home_recent_hide_status_bar_in_task_view"));
initHook(RemoveCardAnim.INSTANCE, mPrefsMap.getBoolean("home_recent_modify_animation"));
initHook(TaskViewHorizontal.INSTANCE, true);
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Pad/HomeV.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Pad/HomeV.java
index b433437f2..88a69e8f4 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Pad/HomeV.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Pad/HomeV.java
@@ -96,7 +96,6 @@
import com.sevtinge.hyperceiler.module.hook.home.recent.BlurLevel;
import com.sevtinge.hyperceiler.module.hook.home.recent.CardTextColor;
import com.sevtinge.hyperceiler.module.hook.home.recent.CardTextSize;
-import com.sevtinge.hyperceiler.module.hook.home.recent.DisableRecentViewWallpaperDarken;
import com.sevtinge.hyperceiler.module.hook.home.recent.FreeformCardBackgroundColor;
import com.sevtinge.hyperceiler.module.hook.home.recent.HideCleanUp;
import com.sevtinge.hyperceiler.module.hook.home.recent.HideFreeform;
@@ -212,7 +211,6 @@ public void handleLoadPackage() {
// 最近任务
initHook(BlurLevel.INSTANCE, mPrefsMap.getStringAsInt("home_recent_blur_level", 6) != 6 && !mPrefsMap.getBoolean("home_title_app_blur_enable"));
- initHook(DisableRecentViewWallpaperDarken.INSTANCE, mPrefsMap.getBoolean("home_recent_disable_wallpaper_dimming"));
initHook(HideStatusBarWhenEnterRecent.INSTANCE, mPrefsMap.getBoolean("home_recent_hide_status_bar_in_task_view"));
initHook(RemoveCardAnim.INSTANCE, mPrefsMap.getBoolean("home_recent_modify_animation"));
initHook(TaskViewHorizontal.INSTANCE, true);
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Phone/HomeT.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Phone/HomeT.java
deleted file mode 100644
index e327dd9a1..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Phone/HomeT.java
+++ /dev/null
@@ -1,316 +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.app.Home.Phone;
-
-import com.hchen.database.HookBase;
-import com.sevtinge.hyperceiler.module.base.BaseModule;
-import com.sevtinge.hyperceiler.module.hook.home.AnimDurationRatio;
-import com.sevtinge.hyperceiler.module.hook.home.DisablePrestart;
-import com.sevtinge.hyperceiler.module.hook.home.FreeFormCountForHome;
-import com.sevtinge.hyperceiler.module.hook.home.HomePortraitReverse;
-import com.sevtinge.hyperceiler.module.hook.home.LockApp;
-import com.sevtinge.hyperceiler.module.hook.home.MaxFreeForm;
-import com.sevtinge.hyperceiler.module.hook.home.ScreenSwipe;
-import com.sevtinge.hyperceiler.module.hook.home.SeekPoints;
-import com.sevtinge.hyperceiler.module.hook.home.SetDeviceLevel;
-import com.sevtinge.hyperceiler.module.hook.home.StickyFloatingWindowsForHome;
-import com.sevtinge.hyperceiler.module.hook.home.ToastSlideAgain;
-import com.sevtinge.hyperceiler.module.hook.home.UnlockHotseatIcon;
-import com.sevtinge.hyperceiler.module.hook.home.UserPresentAnimation;
-import com.sevtinge.hyperceiler.module.hook.home.WidgetCornerRadius;
-import com.sevtinge.hyperceiler.module.hook.home.dock.DisableRecentsIcon;
-import com.sevtinge.hyperceiler.module.hook.home.dock.DockCustom;
-import com.sevtinge.hyperceiler.module.hook.home.dock.DockCustomNew;
-import com.sevtinge.hyperceiler.module.hook.home.dock.FoldDeviceDock;
-import com.sevtinge.hyperceiler.module.hook.home.dock.FoldDock;
-import com.sevtinge.hyperceiler.module.hook.home.dock.HideDock;
-import com.sevtinge.hyperceiler.module.hook.home.dock.ShowDockIconTitle;
-import com.sevtinge.hyperceiler.module.hook.home.dock.SlideUpOnlyShowDock;
-import com.sevtinge.hyperceiler.module.hook.home.drawer.AllAppsContainerViewBlur;
-import com.sevtinge.hyperceiler.module.hook.home.drawer.AllAppsContainerViewSuperBlur;
-import com.sevtinge.hyperceiler.module.hook.home.drawer.AppDrawer;
-import com.sevtinge.hyperceiler.module.hook.home.drawer.PinyinArrangement;
-import com.sevtinge.hyperceiler.module.hook.home.folder.BigFolderIcon;
-import com.sevtinge.hyperceiler.module.hook.home.folder.BigFolderIconBlur;
-import com.sevtinge.hyperceiler.module.hook.home.folder.BigFolderIconBlur1x2;
-import com.sevtinge.hyperceiler.module.hook.home.folder.BigFolderIconBlur2x1;
-import com.sevtinge.hyperceiler.module.hook.home.folder.BigFolderItemMaxCount;
-import com.sevtinge.hyperceiler.module.hook.home.folder.FolderAnimation;
-import com.sevtinge.hyperceiler.module.hook.home.folder.FolderAutoClose;
-import com.sevtinge.hyperceiler.module.hook.home.folder.FolderBlur;
-import com.sevtinge.hyperceiler.module.hook.home.folder.FolderColumns;
-import com.sevtinge.hyperceiler.module.hook.home.folder.FolderShade;
-import com.sevtinge.hyperceiler.module.hook.home.folder.FolderVerticalSpacing;
-import com.sevtinge.hyperceiler.module.hook.home.folder.SmallFolderIconBlur;
-import com.sevtinge.hyperceiler.module.hook.home.folder.UnlockBlurSupported;
-import com.sevtinge.hyperceiler.module.hook.home.gesture.CornerSlide;
-import com.sevtinge.hyperceiler.module.hook.home.gesture.DoubleTap;
-import com.sevtinge.hyperceiler.module.hook.home.gesture.HotSeatSwipe;
-import com.sevtinge.hyperceiler.module.hook.home.gesture.QuickBack;
-import com.sevtinge.hyperceiler.module.hook.home.gesture.ShakeDevice;
-import com.sevtinge.hyperceiler.module.hook.home.layout.HotSeatsHeight;
-import com.sevtinge.hyperceiler.module.hook.home.layout.HotSeatsMarginBottom;
-import com.sevtinge.hyperceiler.module.hook.home.layout.HotSeatsMarginTop;
-import com.sevtinge.hyperceiler.module.hook.home.layout.IndicatorMarginBottom;
-import com.sevtinge.hyperceiler.module.hook.home.layout.SearchBarMarginBottom;
-import com.sevtinge.hyperceiler.module.hook.home.layout.SearchBarMarginWidth;
-import com.sevtinge.hyperceiler.module.hook.home.layout.UnlockGrids;
-import com.sevtinge.hyperceiler.module.hook.home.layout.WorkspacePadding;
-import com.sevtinge.hyperceiler.module.hook.home.navigation.BackGestureAreaHeight;
-import com.sevtinge.hyperceiler.module.hook.home.navigation.BackGestureAreaWidth;
-import com.sevtinge.hyperceiler.module.hook.home.navigation.HideNavigationBar;
-import com.sevtinge.hyperceiler.module.hook.home.other.AllowShareApk;
-import com.sevtinge.hyperceiler.module.hook.home.other.AlwaysBlurWallpaper;
-import com.sevtinge.hyperceiler.module.hook.home.other.AlwaysShowStatusClock;
-import com.sevtinge.hyperceiler.module.hook.home.other.BlurRadius;
-import com.sevtinge.hyperceiler.module.hook.home.other.BlurWhenShowShortcutMenu;
-import com.sevtinge.hyperceiler.module.hook.home.other.DisableHideGoogle;
-import com.sevtinge.hyperceiler.module.hook.home.other.FreeformShortcutMenu;
-import com.sevtinge.hyperceiler.module.hook.home.other.HomeMode;
-import com.sevtinge.hyperceiler.module.hook.home.other.InfiniteScroll;
-import com.sevtinge.hyperceiler.module.hook.home.other.OptAppLaunchDelay;
-import com.sevtinge.hyperceiler.module.hook.home.other.OverlapMode;
-import com.sevtinge.hyperceiler.module.hook.home.other.ShortcutItemCount;
-import com.sevtinge.hyperceiler.module.hook.home.other.ShowAllHideApp;
-import com.sevtinge.hyperceiler.module.hook.home.recent.AlwaysShowCleanUp;
-import com.sevtinge.hyperceiler.module.hook.home.recent.BackgroundBlur;
-import com.sevtinge.hyperceiler.module.hook.home.recent.BlurLevel;
-import com.sevtinge.hyperceiler.module.hook.home.recent.CardTextColor;
-import com.sevtinge.hyperceiler.module.hook.home.recent.CardTextSize;
-import com.sevtinge.hyperceiler.module.hook.home.recent.DisableRecentViewWallpaperDarken;
-import com.sevtinge.hyperceiler.module.hook.home.recent.FreeformCardBackgroundColor;
-import com.sevtinge.hyperceiler.module.hook.home.recent.HideCleanUp;
-import com.sevtinge.hyperceiler.module.hook.home.recent.HideFreeform;
-import com.sevtinge.hyperceiler.module.hook.home.recent.HideRecentCard;
-import com.sevtinge.hyperceiler.module.hook.home.recent.HideStatusBarWhenEnterRecent;
-import com.sevtinge.hyperceiler.module.hook.home.recent.RealMemory;
-import com.sevtinge.hyperceiler.module.hook.home.recent.RecentResource;
-import com.sevtinge.hyperceiler.module.hook.home.recent.RecentText;
-import com.sevtinge.hyperceiler.module.hook.home.recent.RemoveCardAnim;
-import com.sevtinge.hyperceiler.module.hook.home.recent.RemoveIcon;
-import com.sevtinge.hyperceiler.module.hook.home.recent.RemoveLeftShare;
-import com.sevtinge.hyperceiler.module.hook.home.recent.ShowLaunch;
-import com.sevtinge.hyperceiler.module.hook.home.recent.TaskViewHorizontal;
-import com.sevtinge.hyperceiler.module.hook.home.recent.TaskViewVertical;
-import com.sevtinge.hyperceiler.module.hook.home.recent.UnlockPin;
-import com.sevtinge.hyperceiler.module.hook.home.title.AnimParamCustom;
-import com.sevtinge.hyperceiler.module.hook.home.title.AppBlurAnim;
-import com.sevtinge.hyperceiler.module.hook.home.title.BigIconCorner;
-import com.sevtinge.hyperceiler.module.hook.home.title.DisableHideFile;
-import com.sevtinge.hyperceiler.module.hook.home.title.DownloadAnimation;
-import com.sevtinge.hyperceiler.module.hook.home.title.EnableIconMonetColor;
-import com.sevtinge.hyperceiler.module.hook.home.title.EnableIconMonoChrome;
-import com.sevtinge.hyperceiler.module.hook.home.title.FakeNonDefaultIcon;
-import com.sevtinge.hyperceiler.module.hook.home.title.FixAnimation;
-import com.sevtinge.hyperceiler.module.hook.home.title.HiddenAllTitle;
-import com.sevtinge.hyperceiler.module.hook.home.title.HideReportText;
-import com.sevtinge.hyperceiler.module.hook.home.title.IconMessageColorCustom;
-import com.sevtinge.hyperceiler.module.hook.home.title.IconTitleColor;
-import com.sevtinge.hyperceiler.module.hook.home.title.IconTitleCustomization;
-import com.sevtinge.hyperceiler.module.hook.home.title.LargeIconCornerRadius;
-import com.sevtinge.hyperceiler.module.hook.home.title.NewInstallIndicator;
-import com.sevtinge.hyperceiler.module.hook.home.title.PerfectIcon;
-import com.sevtinge.hyperceiler.module.hook.home.title.RecommendAppsSwitch;
-import com.sevtinge.hyperceiler.module.hook.home.title.TitleFontSize;
-import com.sevtinge.hyperceiler.module.hook.home.title.TitleMarquee;
-import com.sevtinge.hyperceiler.module.hook.home.widget.AllWidgetAnimation;
-import com.sevtinge.hyperceiler.module.hook.home.widget.AllowMoveAllWidgetToMinus;
-import com.sevtinge.hyperceiler.module.hook.home.widget.AlwaysShowMiuiWidget;
-import com.sevtinge.hyperceiler.module.hook.home.widget.HideWidgetTitles;
-import com.sevtinge.hyperceiler.module.hook.home.widget.ResizableWidgets;
-
-import java.util.Objects;
-
-@HookBase(targetPackage = "com.miui.home", isPad = 2, targetSdk = 33)
-public class HomeT extends BaseModule {
-
- @Override
- public void handleLoadPackage() {
-
- // 手势
- initHook(new QuickBack(), mPrefsMap.getBoolean("home_navigation_quick_back"));
- initHook(new CornerSlide(),
- mPrefsMap.getInt("home_navigation_assist_left_slide_action", 0) > 0 ||
- mPrefsMap.getInt("home_navigation_assist_right_slide_action", 0) > 0
- );
- initHook(new DoubleTap(), mPrefsMap.getInt("home_gesture_double_tap_action", 0) > 0);
- initHook(new ScreenSwipe(), mPrefsMap.getInt("home_gesture_up_swipe_action", 0) > 0 ||
- mPrefsMap.getInt("home_gesture_down_swipe_action", 0) > 0 ||
- mPrefsMap.getInt("home_gesture_up_swipe2_action", 0) > 0 ||
- mPrefsMap.getInt("home_gesture_down_swipe2_action", 0) > 0);
- initHook(new HotSeatSwipe(), mPrefsMap.getInt("home_gesture_left_swipe_action", 0) > 0
- || mPrefsMap.getInt("home_gesture_right_swipe_action", 0) > 0);
- initHook(new ShakeDevice(), mPrefsMap.getInt("home_gesture_shake_action", 0) > 0);
- // initHook(new SwipeAndStop(), mPrefsMap.getInt("home_gesture_swipe_and_stop_action" ,0) > 0);
-
- initHook(new BackGestureAreaHeight(), mPrefsMap.getInt("home_navigation_back_area_height", 60) != 60);
- initHook(new BackGestureAreaWidth(), mPrefsMap.getInt("home_navigation_back_area_width", 100) != 100);
-
- // 布局
- initHook(new UnlockGrids(), mPrefsMap.getBoolean("home_layout_unlock_grids"));
- // initHook(new UnlockGridsNoWord(), mPrefsMap.getBoolean("home_layout_unlock_grids_no_word"));
- initHook(new WorkspacePadding(),
- mPrefsMap.getBoolean("home_layout_workspace_padding_bottom_enable") ||
- mPrefsMap.getBoolean("home_layout_workspace_padding_top_enable") ||
- mPrefsMap.getBoolean("home_layout_workspace_padding_horizontal_enable")
- );
-
- initHook(new IndicatorMarginBottom(), mPrefsMap.getBoolean("home_layout_indicator_margin_bottom_enable"));
- initHook(new HotSeatsHeight(), mPrefsMap.getBoolean("home_layout_hotseats_height_enable"));
- initHook(new HotSeatsMarginTop(), mPrefsMap.getBoolean("home_layout_hotseats_margin_top_enable"));
- initHook(new HotSeatsMarginBottom(), mPrefsMap.getBoolean("home_layout_hotseats_margin_bottom_enable"));
- initHook(new SearchBarMarginWidth(), mPrefsMap.getBoolean("home_layout_searchbar_width_enable"));
- initHook(new SearchBarMarginBottom(), (mPrefsMap.getInt("home_layout_searchbar_margin_bottom", 0) > 0) &&
- mPrefsMap.getBoolean("home_layout_searchbar_margin_bottom_enable"));
-
-
- // 文件夹
- initHook(FolderAutoClose.INSTANCE, mPrefsMap.getBoolean("home_folder_auto_close"));
- initHook(new FolderShade(), mPrefsMap.getStringAsInt("home_folder_shade", 1) > 0);
- initHook(FolderColumns.INSTANCE, mPrefsMap.getStringAsInt("home_folder_title_pos", 0) != 0 ||
- mPrefsMap.getBoolean("home_folder_width") ||
- mPrefsMap.getInt("home_folder_columns", 3) != 3);
- initHook(new FolderAnimation(), mPrefsMap.getBoolean("home_folder_animation"));
- initHook(new SmallFolderIconBlur(), mPrefsMap.getBoolean("home_small_folder_icon_bg"));
- initHook(FolderVerticalSpacing.INSTANCE, mPrefsMap.getBoolean("home_folder_vertical_spacing_enable"));
-
- initHook(new BigFolderIcon(), false);
- initHook(new BigFolderIconBlur2x1(), mPrefsMap.getBoolean("home_big_folder_icon_bg_2x1"));
- initHook(new BigFolderIconBlur1x2(), mPrefsMap.getBoolean("home_big_folder_icon_bg_1x2"));
- initHook(new BigFolderIconBlur(), mPrefsMap.getBoolean("home_big_folder_icon_bg"));
- initHook(new BigFolderItemMaxCount(), mPrefsMap.getBoolean("home_big_folder_item_max_count"));
- initHook(new UnlockBlurSupported(), mPrefsMap.getBoolean("home_folder_unlock_blur_supported"));
- initHook(new RecommendAppsSwitch(), mPrefsMap.getBoolean("home_folder_recommend_apps_switch"));
-
- // 抽屉
- initHook(AppDrawer.INSTANCE, mPrefsMap.getBoolean("home_drawer_all") ||
- mPrefsMap.getBoolean("home_drawer_editor"));
- initHook(AllAppsContainerViewBlur.INSTANCE, mPrefsMap.getBoolean("home_drawer_blur"));
- initHook(new AllAppsContainerViewSuperBlur(), mPrefsMap.getBoolean("home_drawer_blur_super"));
- initHook(new PinyinArrangement(), mPrefsMap.getBoolean("home_drawer_pinyin"));
-
- // 最近任务
- initHook(BlurLevel.INSTANCE, mPrefsMap.getStringAsInt("home_recent_blur_level", 6) != 6 && !mPrefsMap.getBoolean("home_title_app_blur_enable"));
- initHook(DisableRecentViewWallpaperDarken.INSTANCE, mPrefsMap.getBoolean("home_recent_disable_wallpaper_dimming"));
- initHook(HideStatusBarWhenEnterRecent.INSTANCE, mPrefsMap.getBoolean("home_recent_hide_status_bar_in_task_view"));
- initHook(RemoveCardAnim.INSTANCE, mPrefsMap.getBoolean("home_recent_modify_animation"));
- initHook(TaskViewHorizontal.INSTANCE, true);
- initHook(TaskViewVertical.INSTANCE, true);
- initHook(HideFreeform.INSTANCE, mPrefsMap.getBoolean("home_recent_hide_freeform"));
- initHook(new HideCleanUp(), mPrefsMap.getBoolean("home_recent_hide_clean_up"));
- initHook(FreeformCardBackgroundColor.INSTANCE, true);
- initHook(CardTextColor.INSTANCE, true);
- initHook(CardTextSize.INSTANCE, true);
- initHook(UnlockPin.INSTANCE, mPrefsMap.getBoolean("home_recent_unlock_pin"));
- initHook(RecentText.INSTANCE, !Objects.equals(mPrefsMap.getString("home_recent_text", ""), ""));
- initHook(RemoveIcon.INSTANCE, mPrefsMap.getBoolean("home_recent_remove_icon"));
- initHook(RemoveLeftShare.INSTANCE, mPrefsMap.getBoolean("home_recent_hide_world_circulate"));
- initHook(RecentResource.INSTANCE, mPrefsMap.getInt("task_view_corners", 20) != 20 ||
- mPrefsMap.getInt("task_view_header_height", 40) != 40);
- initHook(RealMemory.INSTANCE, mPrefsMap.getBoolean("home_recent_show_real_memory"));
- initHook(AlwaysShowCleanUp.INSTANCE, mPrefsMap.getBoolean("always_show_clean_up"));
- initHook(new BackgroundBlur(), mPrefsMap.getBoolean("home_recent_blur"));
- initHook(new ShowLaunch(), mPrefsMap.getBoolean("home_recent_show_launch"));
- initHook(HideRecentCard.INSTANCE, !mPrefsMap.getStringSet("home_recent_hide_card").isEmpty());
-
- // 图标
- initHook(BigIconCorner.INSTANCE, mPrefsMap.getBoolean("home_title_big_icon_corner"));
- initHook(new DownloadAnimation(), mPrefsMap.getBoolean("home_title_download_animation"));
- initHook(DisableHideFile.INSTANCE, mPrefsMap.getBoolean("home_title_disable_hide_file"));
- initHook(DisableHideGoogle.INSTANCE, mPrefsMap.getBoolean("home_title_disable_hide_google"));
- initHook(new FakeNonDefaultIcon(), mPrefsMap.getBoolean("fake_non_default_icon"));
- initHook(new AnimParamCustom(), mPrefsMap.getBoolean("home_title_custom_anim_param_main"));
- initHook(AppBlurAnim.INSTANCE, mPrefsMap.getBoolean("home_title_app_blur_enable"));
- // initHook(new IconScaleHook()/*, mPrefsMap.getInt("home_title_icon_scale", 100) != 100*/);
-
- // 标题
- initHook(new TitleMarquee(), mPrefsMap.getBoolean("home_title_title_marquee"));
- initHook(new NewInstallIndicator(), mPrefsMap.getBoolean("home_title_title_new_install"));
- initHook(new IconTitleCustomization(), mPrefsMap.getBoolean("home_title_title_icontitlecustomization_onoff"));
- initHook(new HiddenAllTitle(), mPrefsMap.getBoolean("home_drawer_font_hidden"));
- initHook(new TitleFontSize());
- initHook(IconTitleColor.INSTANCE, true);
- initHook(new UnlockHotseatIcon(), mPrefsMap.getBoolean("home_dock_unlock_hotseat"));
- initHook(new IconMessageColorCustom(), mPrefsMap.getBoolean("home_title_notif_color"));
-
- // 小部件
- initHook(new AllWidgetAnimation(), mPrefsMap.getBoolean("home_widget_all_widget_animation"));
- initHook(AlwaysShowMiuiWidget.INSTANCE, mPrefsMap.getBoolean("home_widget_show_miui_widget"));
- initHook(AllowMoveAllWidgetToMinus.INSTANCE, mPrefsMap.getBoolean("home_widget_allow_moved_to_minus_one_screen"));
- initHook(new WidgetCornerRadius(), mPrefsMap.getInt("home_widget_corner_radius", 0) > 0);
- initHook(HideWidgetTitles.INSTANCE, mPrefsMap.getBoolean("home_widget_hide_title"));
- initHook(ResizableWidgets.INSTANCE, mPrefsMap.getBoolean("home_widget_resizable"));
-
- // 底栏
- initHook(new DockCustom(), mPrefsMap.getBoolean("home_dock_bg_custom_enable") && mPrefsMap.getStringAsInt("home_dock_add_blur", 0) == 2);
- initHook(DockCustomNew.INSTANCE, mPrefsMap.getBoolean("home_dock_bg_custom_enable") && (mPrefsMap.getStringAsInt("home_dock_add_blur", 0) == 0 || mPrefsMap.getStringAsInt("home_dock_add_blur", 0) == 1));
- initHook(new SeekPoints(), mPrefsMap.getStringAsInt("home_other_seek_points", 0) > 0);
- initHook(FoldDeviceDock.INSTANCE, mPrefsMap.getBoolean("home_dock_fold"));
- initHook(ShowDockIconTitle.INSTANCE, mPrefsMap.getBoolean("home_dock_icon_title"));
- initHook(new HideNavigationBar(), mPrefsMap.getBoolean("system_ui_hide_navigation_bar"));
- initHook(DisableRecentsIcon.INSTANCE, mPrefsMap.getBoolean("home_dock_disable_recents_icon"));
- initHook(SlideUpOnlyShowDock.INSTANCE, mPrefsMap.getBoolean("home_dock_slide_up_only_show_dock") && !mPrefsMap.getBoolean("home_dock_hide_dock"));
- initHook(HideDock.INSTANCE, mPrefsMap.getBoolean("home_dock_hide_dock"));
-
- // 其他
- initHook(new LockApp(), mPrefsMap.getBoolean("system_framework_guided_access"));
- initHook(new HomeMode(), mPrefsMap.getStringAsInt("home_other_home_mode", 0) > 0);
- initHook(AlwaysShowStatusClock.INSTANCE, mPrefsMap.getBoolean("home_other_show_clock"));
- initHook(new InfiniteScroll(), mPrefsMap.getBoolean("home_other_infinite_scroll"));
- initHook(new FreeformShortcutMenu(), (mPrefsMap.getBoolean("home_other_freeform_shortcut_menu") || (mPrefsMap.getBoolean("home_other_tasks_shortcut_menu"))));
- initHook(new UserPresentAnimation(), mPrefsMap.getBoolean("home_other_user_present_animation"));
- initHook(new PerfectIcon(), mPrefsMap.getBoolean("home_other_perfect_icon"));
- initHook(new EnableIconMonoChrome(), mPrefsMap.getBoolean("home_other_icon_mono_chrome"));
- initHook(new HomePortraitReverse(), mPrefsMap.getBoolean("home_other_portrait_reverse"));
- initHook(AlwaysBlurWallpaper.INSTANCE, mPrefsMap.getBoolean("home_other_always_blur_launcher_wallpaper"));
- initHook(BlurRadius.INSTANCE, mPrefsMap.getInt("home_other_blur_radius", 100) != 100);
- initHook(ShortcutItemCount.INSTANCE, mPrefsMap.getBoolean("home_other_shortcut_remove_restrictions"));
- initHook(ShowAllHideApp.INSTANCE, true); // 桌面快捷方式管理
- // initHook(new AllowShareApk(), mPrefsMap.getBoolean("home_other_allow_share_apk"));
- initHook(new HideReportText(), mPrefsMap.getBoolean("home_title_hide_report_text"));
- initHook(new DisablePrestart(), mPrefsMap.getBoolean("home_other_disable_prestart"));
- initHook(new OptAppLaunchDelay(), mPrefsMap.getBoolean("home_other_opt_app_launch_delay"));
-
- // 实验性功能
- initHook(BlurWhenShowShortcutMenu.INSTANCE, mPrefsMap.getBoolean("home_other_shortcut_background_blur"));
- initHook(FolderBlur.INSTANCE, mPrefsMap.getBoolean("home_folder_blur") && !mPrefsMap.getBoolean("home_title_app_blur_enable"));
- initHook(new FoldDock(), mPrefsMap.getBoolean("home_other_fold_dock"));
- // initHook(new AllAppsBlur); // ??
- initHook(new FixAnimation(), mPrefsMap.getBoolean("home_title_fix_animation"));
- initHook(new LargeIconCornerRadius(), mPrefsMap.getBoolean("home_large_icon_enable"));
-
- // 多小窗
- initHook(new FreeFormCountForHome(), mPrefsMap.getBoolean("system_framework_freeform_count"));
- initHook(new MaxFreeForm(), mPrefsMap.getBoolean("system_framework_freeform_count"));
-
- // Fold2样式负一屏
- initHook(new OverlapMode(), mPrefsMap.getBoolean("personal_assistant_overlap_mode"));
-
- // Other
- initHook(new ToastSlideAgain(), mPrefsMap.getBoolean("home_other_toast_slide_again"));
- initHook(new StickyFloatingWindowsForHome(), mPrefsMap.getBoolean("system_framework_freeform_sticky"));
- initHook(AnimDurationRatio.INSTANCE, true);
- initHook(SetDeviceLevel.INSTANCE, mPrefsMap.getBoolean("home_other_high_models"));
-
- // reshook
- initHook(EnableIconMonetColor.INSTANCE, mPrefsMap.getBoolean("home_other_icon_monet_color"));
- initHook(new AllowShareApk(), mPrefsMap.getBoolean("home_other_allow_share_apk"));
- }
-
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Phone/HomeU.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Phone/HomeU.java
index eff2fd902..786ced584 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Phone/HomeU.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Phone/HomeU.java
@@ -96,7 +96,6 @@
import com.sevtinge.hyperceiler.module.hook.home.recent.BlurLevel;
import com.sevtinge.hyperceiler.module.hook.home.recent.CardTextColor;
import com.sevtinge.hyperceiler.module.hook.home.recent.CardTextSize;
-import com.sevtinge.hyperceiler.module.hook.home.recent.DisableRecentViewWallpaperDarken;
import com.sevtinge.hyperceiler.module.hook.home.recent.FreeformCardBackgroundColor;
import com.sevtinge.hyperceiler.module.hook.home.recent.HideCleanUp;
import com.sevtinge.hyperceiler.module.hook.home.recent.HideFreeform;
@@ -210,7 +209,6 @@ public void handleLoadPackage() {
// 最近任务
initHook(BlurLevel.INSTANCE, mPrefsMap.getStringAsInt("home_recent_blur_level", 6) != 6 && !mPrefsMap.getBoolean("home_title_app_blur_enable") && !isMoreHyperOSVersion(2f));
- initHook(DisableRecentViewWallpaperDarken.INSTANCE, mPrefsMap.getBoolean("home_recent_disable_wallpaper_dimming"));
initHook(HideStatusBarWhenEnterRecent.INSTANCE, mPrefsMap.getBoolean("home_recent_hide_status_bar_in_task_view"));
initHook(RemoveCardAnim.INSTANCE, mPrefsMap.getBoolean("home_recent_modify_animation"));
initHook(TaskViewHorizontal.INSTANCE, true);
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Phone/HomeV.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Phone/HomeV.java
index 4a6f390d1..8b37fad3b 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Phone/HomeV.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/Home/Phone/HomeV.java
@@ -93,7 +93,6 @@
import com.sevtinge.hyperceiler.module.hook.home.recent.BackgroundBlur;
import com.sevtinge.hyperceiler.module.hook.home.recent.CardTextColor;
import com.sevtinge.hyperceiler.module.hook.home.recent.CardTextSize;
-import com.sevtinge.hyperceiler.module.hook.home.recent.DisableRecentViewWallpaperDarken;
import com.sevtinge.hyperceiler.module.hook.home.recent.FreeformCardBackgroundColor;
import com.sevtinge.hyperceiler.module.hook.home.recent.HideCleanUp;
import com.sevtinge.hyperceiler.module.hook.home.recent.HideFreeform;
@@ -209,7 +208,6 @@ public void handleLoadPackage() {
initHook(new PinyinArrangement(), mPrefsMap.getBoolean("home_drawer_pinyin"));
// 最近任务
- initHook(DisableRecentViewWallpaperDarken.INSTANCE, mPrefsMap.getBoolean("home_recent_disable_wallpaper_dimming"));
initHook(HideStatusBarWhenEnterRecent.INSTANCE, mPrefsMap.getBoolean("home_recent_hide_status_bar_in_task_view"));
initHook(RemoveCardAnim.INSTANCE, mPrefsMap.getBoolean("home_recent_modify_animation"));
initHook(TaskViewHorizontal.INSTANCE, true);
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Lbe.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/Lbe.java
index 41f7f6106..06afe15b4 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/Lbe.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/Lbe.java
@@ -21,7 +21,6 @@
import com.hchen.database.HookBase;
import com.sevtinge.hyperceiler.module.base.BaseModule;
import com.sevtinge.hyperceiler.module.hook.lbe.AutoStart;
-import com.sevtinge.hyperceiler.module.hook.lbe.DisableClipboardTip;
@HookBase(targetPackage = "com.lbe.security.miui")
public class Lbe extends BaseModule {
@@ -29,6 +28,5 @@ public class Lbe extends BaseModule {
@Override
public void handleLoadPackage() {
initHook(new AutoStart(), mPrefsMap.getBoolean("lbe_auto_start"));
- initHook(DisableClipboardTip.INSTANCE, mPrefsMap.getBoolean("lbe_clipboard_tip_toast"));
}
}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/ScreenShot.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/ScreenShot.java
index de77b7f26..6b4932701 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/ScreenShot.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/ScreenShot.java
@@ -42,6 +42,5 @@ public void handleLoadPackage() {
initHook(UnlockPrivacyMarking.INSTANCE, mPrefsMap.getBoolean("screenshot_unlock_privacy_marking"));
// 超级剪切板
initHook(UnlockSuperClipboard.INSTANCE, mPrefsMap.getStringAsInt("various_super_clipboard_e", 0) != 0);
- initHook(new FlagSecure(), mPrefsMap.getBoolean("system_other_flag_secure") && isAndroidVersion(33));
}
}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Pad/SecurityCenterT.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Pad/SecurityCenterT.java
deleted file mode 100644
index fe71282e8..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Pad/SecurityCenterT.java
+++ /dev/null
@@ -1,165 +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.app.SecurityCenter.Pad;
-
-import com.hchen.database.HookBase;
-import com.sevtinge.hyperceiler.module.base.BaseModule;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.AppLockPinScramble;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.BypassAdbInstallVerify;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.DisableReport;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.DisableRootedCheck;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.GetBubbleAppString;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.HideXOptModeTip;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.InstallIntercept;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.IsSbnBelongToActiveBubbleApp;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.NewBoxBlur;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.PowerSaver;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.PrivacyThumbnailBlur;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.RemoveConversationBubbleSettingsRestriction;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.RemoveOpenAppConfirmationPopup;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.ScLockApp;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.SidebarLineCustom;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.UnlockFbo;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.app.AddAppInfoEntry;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.app.AddAppManagerEntry;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.app.AppDefaultSort;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.app.AppDetails;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.app.AppDisable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.app.AppRestrict;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.app.OpenByDefaultSetting;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.battery.BatteryHealth;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.battery.PowerConsumptionRanking;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.battery.ScreenUsedTime;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.battery.ShowBatteryTemperatureNew;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.battery.UnlockLowTempExtEndurance;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.battery.UnlockSmartCharge;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.battery.UnlockSuperWirelessCharge;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyLightAuto;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyPc;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyPrivacy;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.AiClipboardEnable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.BlurLocationEnable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.GetNumberEnable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.BypassSimLockMiAccountAuth;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.DisableRootCheck;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.FuckRiskPkg;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.LockOneHundredPoints;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.NoLowBatteryWarning;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.RemoveSIMLockSuccessDialog;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.SimplifyMainFragment;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.SkipCountDownLimit;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.AddSideBarExpandReceiver;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.BlurSecurity;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.game.GamePerformanceWildMode;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.game.RemoveMacroBlackList;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.game.UnlockGunService;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.video.DisableRemoveScreenHoldOn;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.video.UnlockVideoSomeFunc;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.video.VBVideoMode;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.video.VideoDolbyOpen;
-
-@HookBase(targetPackage = "com.miui.securitycenter", isPad = 1, targetSdk = 33)
-public class SecurityCenterT extends BaseModule {
-
- @Override
- public void handleLoadPackage() {
-
- // 应用管理
- initHook(new AppDefaultSort(), mPrefsMap.getStringAsInt("security_center_app_default_sort", 0) > 0);
- initHook(new AppRestrict(), mPrefsMap.getBoolean("security_center_app_restrict"));
- initHook(new AppDisable(), mPrefsMap.getBoolean("security_center_app_disable"));
- initHook(new AppDetails(), mPrefsMap.getBoolean("security_center_app_details"));
- initHook(DisableReport.INSTANCE, mPrefsMap.getBoolean("security_center_disable_ban"));
- initHook(new OpenByDefaultSetting(), mPrefsMap.getBoolean("security_center_app_default_setting"));
- initHook(AddAppInfoEntry.INSTANCE, mPrefsMap.getBoolean("security_center_aosp_app_info"));
- initHook(AddAppManagerEntry.INSTANCE, mPrefsMap.getBoolean("security_center_aosp_app_manager"));
-
- // 省电与电池
- initHook(ShowBatteryTemperatureNew.INSTANCE, mPrefsMap.getBoolean("security_center_show_battery_temperature"));
- initHook(UnlockSuperWirelessCharge.INSTANCE, mPrefsMap.getBoolean("security_center_super_wireless_charge"));
- initHook(ScreenUsedTime.INSTANCE, mPrefsMap.getBoolean("security_center_unlock_screen_time"));
- initHook(new UnlockSmartCharge(), mPrefsMap.getBoolean("security_center_unlock_smart_charge"));
- initHook(BatteryHealth.INSTANCE, mPrefsMap.getBoolean("security_center_show_battery_health"));
- initHook(new UnlockLowTempExtEndurance(), mPrefsMap.getBoolean("security_center_battery_unlock_low_temp_ext_endurance"));
-
- // 隐私保护
- initHook(new AppLockPinScramble(), mPrefsMap.getBoolean("security_center_applock_pin_scramble"));
- initHook(AiClipboardEnable.INSTANCE, mPrefsMap.getBoolean("security_center_ai_clipboard"));
- initHook(BlurLocationEnable.INSTANCE, mPrefsMap.getBoolean("security_center_blur_location"));
- initHook(GetNumberEnable.INSTANCE, mPrefsMap.getBoolean("security_center_get_number"));
- initHook(new HideXOptModeTip(), mPrefsMap.getBoolean("security_center_hide_xopt_mode_tip"));
-
- // 前置摄像助手
- initHook(BeautyLightAuto.INSTANCE, mPrefsMap.getBoolean("security_center_beauty_face") ||
- mPrefsMap.getBoolean("security_center_beauty_light_auto"));
- initHook(BeautyPrivacy.INSTANCE, mPrefsMap.getBoolean("security_center_beauty_privacy"));
- initHook(BeautyPc.INSTANCE, mPrefsMap.getBoolean("security_center_beauty_pc"));
-
- // 其他
- initHook(new DisableRootedCheck(), mPrefsMap.getBoolean("security_center_disable_root_check_environment"));
- initHook(SimplifyMainFragment.INSTANCE, mPrefsMap.getBoolean("security_center_simplify_home"));
- initHook(new InstallIntercept(), mPrefsMap.getBoolean("security_center_install_intercept"));
- initHook(LockOneHundredPoints.INSTANCE, mPrefsMap.getBoolean("security_center_score"));
- initHook(new SkipCountDownLimit(), mPrefsMap.getBoolean("security_center_skip_count_down_limit"));
- initHook(DisableRootCheck.INSTANCE, mPrefsMap.getBoolean("security_center_disable_root_check"));
- initHook(FuckRiskPkg.INSTANCE, mPrefsMap.getBoolean("security_center_disable_send_malicious_app_notification"));
- initHook(NoLowBatteryWarning.INSTANCE, mPrefsMap.getBoolean("security_center_remove_low_battery_reminder"));
- initHook(RemoveSIMLockSuccessDialog.INSTANCE, mPrefsMap.getBoolean("security_center_remove_simlock_success_dialog"));
- initHook(new UnlockFbo(), mPrefsMap.getBoolean("security_center_unlock_fbo"));
- initHook(BypassSimLockMiAccountAuth.INSTANCE, mPrefsMap.getBoolean("security_center_bypass_simlock_miaccount_auth"));
- initHook(new BypassAdbInstallVerify(), mPrefsMap.getBoolean("security_center_adb_install_verify"));
-
- // 小窗和气泡通知
- initHook(new RemoveConversationBubbleSettingsRestriction(), mPrefsMap.getBoolean("security_center_remove_conversation_bubble_settings_restriction"));
- initHook(IsSbnBelongToActiveBubbleApp.INSTANCE, mPrefsMap.getBoolean("security_center_unlock_side_hide_freeform"));
- initHook(GetBubbleAppString.INSTANCE, mPrefsMap.getBoolean("security_center_unlock_side_hide_freeform"));
-
- // 移除打开应用弹窗
- initHook(new RemoveOpenAppConfirmationPopup(), mPrefsMap.getBoolean("security_center_remove_open_app_confirmation_popup"));
-
- // 全局侧边栏
- boolean isVideoFunc = mPrefsMap.getBoolean("security_center_unlock_memc") ||
- mPrefsMap.getBoolean("security_center_unlock_s_resolution") ||
- mPrefsMap.getBoolean("security_center_unlock_enhance_contours");
-
- initHook(new PrivacyThumbnailBlur(), mPrefsMap.getBoolean("security_center_privacy_thumbnail_blur"));
- initHook(new PowerSaver(), mPrefsMap.getBoolean("security_center_power_saver"));
- initHook(new NewBoxBlur(), mPrefsMap.getBoolean("security_center_newbox_custom_enable"));
- initHook(BlurSecurity.INSTANCE, mPrefsMap.getBoolean("se_enable"));
- initHook(SidebarLineCustom.INSTANCE, mPrefsMap.getBoolean("security_center_sidebar_line_color"));
- initHook(new ScLockApp(), mPrefsMap.getBoolean("system_framework_guided_access_sc"));
- initHook(new RemoveMacroBlackList(), mPrefsMap.getBoolean("security_center_remove_macro_black_list"));
- initHook(UnlockGunService.INSTANCE, mPrefsMap.getBoolean("security_center_unlock_gun_service"));
- initHook(DisableRemoveScreenHoldOn.INSTANCE, mPrefsMap.getBoolean("security_center_disable_remove_screen_hold_on"));
- initHook(UnlockVideoSomeFunc.INSTANCE, isVideoFunc);
- initHook(new AddSideBarExpandReceiver(), mPrefsMap.getBoolean("security_center_hide_sidebar"));
- // initHook(new DockSuggest(), mPrefsMap.getStringAsInt("security_center_sidebar_show_suggest", 0) != 0);
- initHook(new VideoDolbyOpen(), mPrefsMap.getBoolean("security_center_dolby_open"));
- initHook(new VBVideoMode(), mPrefsMap.getBoolean("security_center_unlock_new_vb"));
- initHook(new GamePerformanceWildMode(), mPrefsMap.getBoolean("security_center_game_performance_wild_mode"));
-
- initHook(new PowerConsumptionRanking(), mPrefsMap.getBoolean("security_center_power_consumption_ranking"));
-
- // initHook(new EnableGameSpeed(), mPrefsMap.getBoolean("security_center_game_speed"));
-
- // reshook
- initHook(SidebarLineCustom.INSTANCE, mPrefsMap.getBoolean("security_center_sidebar_line_color"));
-
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Pad/SecurityCenterU.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Pad/SecurityCenterU.java
index 574ea5ea7..acdce3cce 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Pad/SecurityCenterU.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Pad/SecurityCenterU.java
@@ -54,9 +54,6 @@
import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyLightAuto;
import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyPc;
import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyPrivacy;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.AiClipboardEnable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.BlurLocationEnable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.GetNumberEnable;
import com.sevtinge.hyperceiler.module.hook.securitycenter.other.BypassSimLockMiAccountAuth;
import com.sevtinge.hyperceiler.module.hook.securitycenter.other.DisableRootCheck;
import com.sevtinge.hyperceiler.module.hook.securitycenter.other.FuckRiskPkg;
@@ -102,9 +99,6 @@ public void handleLoadPackage() {
// 隐私保护
initHook(new AppLockPinScramble(), mPrefsMap.getBoolean("security_center_applock_pin_scramble"));
- initHook(AiClipboardEnable.INSTANCE, mPrefsMap.getBoolean("security_center_ai_clipboard"));
- initHook(BlurLocationEnable.INSTANCE, mPrefsMap.getBoolean("security_center_blur_location"));
- initHook(GetNumberEnable.INSTANCE, mPrefsMap.getBoolean("security_center_get_number"));
initHook(new HideXOptModeTip(), mPrefsMap.getBoolean("security_center_hide_xopt_mode_tip"));
// 前置摄像助手
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Pad/SecurityCenterV.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Pad/SecurityCenterV.java
index 2795f41c6..4a9b92ec4 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Pad/SecurityCenterV.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Pad/SecurityCenterV.java
@@ -54,9 +54,6 @@
import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyLightAuto;
import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyPc;
import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyPrivacy;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.AiClipboardEnable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.BlurLocationEnable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.GetNumberEnable;
import com.sevtinge.hyperceiler.module.hook.securitycenter.other.BypassSimLockMiAccountAuth;
import com.sevtinge.hyperceiler.module.hook.securitycenter.other.DisableRootCheck;
import com.sevtinge.hyperceiler.module.hook.securitycenter.other.FuckRiskPkg;
@@ -102,9 +99,6 @@ public void handleLoadPackage() {
// 隐私保护
initHook(new AppLockPinScramble(), mPrefsMap.getBoolean("security_center_applock_pin_scramble"));
- initHook(AiClipboardEnable.INSTANCE, mPrefsMap.getBoolean("security_center_ai_clipboard"));
- initHook(BlurLocationEnable.INSTANCE, mPrefsMap.getBoolean("security_center_blur_location"));
- initHook(GetNumberEnable.INSTANCE, mPrefsMap.getBoolean("security_center_get_number"));
initHook(new HideXOptModeTip(), mPrefsMap.getBoolean("security_center_hide_xopt_mode_tip"));
// 前置摄像助手
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Phone/SecurityCenterT.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Phone/SecurityCenterT.java
deleted file mode 100644
index 6802bb9af..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Phone/SecurityCenterT.java
+++ /dev/null
@@ -1,165 +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.app.SecurityCenter.Phone;
-
-import com.hchen.database.HookBase;
-import com.sevtinge.hyperceiler.module.base.BaseModule;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.AppLockPinScramble;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.BypassAdbInstallVerify;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.DisableReport;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.DisableRootedCheck;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.GetBubbleAppString;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.HideXOptModeTip;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.InstallIntercept;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.IsSbnBelongToActiveBubbleApp;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.NewBoxBlur;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.PowerSaver;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.PrivacyThumbnailBlur;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.RemoveConversationBubbleSettingsRestriction;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.RemoveOpenAppConfirmationPopup;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.ScLockApp;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.SidebarLineCustom;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.UnlockFbo;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.app.AddAppInfoEntry;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.app.AddAppManagerEntry;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.app.AppDefaultSort;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.app.AppDetails;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.app.AppDisable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.app.AppRestrict;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.app.OpenByDefaultSetting;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.battery.BatteryHealth;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.battery.PowerConsumptionRanking;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.battery.ScreenUsedTime;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.battery.ShowBatteryTemperatureNew;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.battery.UnlockLowTempExtEndurance;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.battery.UnlockSmartCharge;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.battery.UnlockSuperWirelessCharge;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyLightAuto;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyPc;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyPrivacy;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.AiClipboardEnable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.BlurLocationEnable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.GetNumberEnable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.BypassSimLockMiAccountAuth;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.DisableRootCheck;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.FuckRiskPkg;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.LockOneHundredPoints;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.NoLowBatteryWarning;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.RemoveSIMLockSuccessDialog;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.SimplifyMainFragment;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.other.SkipCountDownLimit;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.AddSideBarExpandReceiver;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.BlurSecurity;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.game.GamePerformanceWildMode;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.game.RemoveMacroBlackList;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.game.UnlockGunService;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.video.DisableRemoveScreenHoldOn;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.video.UnlockVideoSomeFunc;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.video.VBVideoMode;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.sidebar.video.VideoDolbyOpen;
-
-@HookBase(targetPackage = "com.miui.securitycenter", isPad = 2, targetSdk = 33)
-public class SecurityCenterT extends BaseModule {
-
- @Override
- public void handleLoadPackage() {
-
- // 应用管理
- initHook(new AppDefaultSort(), mPrefsMap.getStringAsInt("security_center_app_default_sort", 0) > 0);
- initHook(new AppRestrict(), mPrefsMap.getBoolean("security_center_app_restrict"));
- initHook(new AppDisable(), mPrefsMap.getBoolean("security_center_app_disable"));
- initHook(new AppDetails(), mPrefsMap.getBoolean("security_center_app_details"));
- initHook(DisableReport.INSTANCE, mPrefsMap.getBoolean("security_center_disable_ban"));
- initHook(new OpenByDefaultSetting(), mPrefsMap.getBoolean("security_center_app_default_setting"));
- initHook(AddAppInfoEntry.INSTANCE, mPrefsMap.getBoolean("security_center_aosp_app_info"));
- initHook(AddAppManagerEntry.INSTANCE, mPrefsMap.getBoolean("security_center_aosp_app_manager"));
-
- // 省电与电池
- initHook(ShowBatteryTemperatureNew.INSTANCE, mPrefsMap.getBoolean("security_center_show_battery_temperature"));
- initHook(UnlockSuperWirelessCharge.INSTANCE, mPrefsMap.getBoolean("security_center_super_wireless_charge"));
- initHook(ScreenUsedTime.INSTANCE, mPrefsMap.getBoolean("security_center_unlock_screen_time"));
- initHook(new UnlockSmartCharge(), mPrefsMap.getBoolean("security_center_unlock_smart_charge"));
- initHook(BatteryHealth.INSTANCE, mPrefsMap.getBoolean("security_center_show_battery_health"));
- initHook(new UnlockLowTempExtEndurance(), mPrefsMap.getBoolean("security_center_battery_unlock_low_temp_ext_endurance"));
-
- // 隐私保护
- initHook(new AppLockPinScramble(), mPrefsMap.getBoolean("security_center_applock_pin_scramble"));
- initHook(AiClipboardEnable.INSTANCE, mPrefsMap.getBoolean("security_center_ai_clipboard"));
- initHook(BlurLocationEnable.INSTANCE, mPrefsMap.getBoolean("security_center_blur_location"));
- initHook(GetNumberEnable.INSTANCE, mPrefsMap.getBoolean("security_center_get_number"));
- initHook(new HideXOptModeTip(), mPrefsMap.getBoolean("security_center_hide_xopt_mode_tip"));
-
- // 前置摄像助手
- initHook(BeautyLightAuto.INSTANCE, mPrefsMap.getBoolean("security_center_beauty_face") ||
- mPrefsMap.getBoolean("security_center_beauty_light_auto"));
- initHook(BeautyPrivacy.INSTANCE, mPrefsMap.getBoolean("security_center_beauty_privacy"));
- initHook(BeautyPc.INSTANCE, mPrefsMap.getBoolean("security_center_beauty_pc"));
-
- // 其他
- initHook(new DisableRootedCheck(), mPrefsMap.getBoolean("security_center_disable_root_check_environment"));
- initHook(SimplifyMainFragment.INSTANCE, mPrefsMap.getBoolean("security_center_simplify_home"));
- initHook(new InstallIntercept(), mPrefsMap.getBoolean("security_center_install_intercept"));
- initHook(LockOneHundredPoints.INSTANCE, mPrefsMap.getBoolean("security_center_score"));
- initHook(new SkipCountDownLimit(), mPrefsMap.getBoolean("security_center_skip_count_down_limit"));
- initHook(DisableRootCheck.INSTANCE, mPrefsMap.getBoolean("security_center_disable_root_check"));
- initHook(FuckRiskPkg.INSTANCE, mPrefsMap.getBoolean("security_center_disable_send_malicious_app_notification"));
- initHook(NoLowBatteryWarning.INSTANCE, mPrefsMap.getBoolean("security_center_remove_low_battery_reminder"));
- initHook(RemoveSIMLockSuccessDialog.INSTANCE, mPrefsMap.getBoolean("security_center_remove_simlock_success_dialog"));
- initHook(new UnlockFbo(), mPrefsMap.getBoolean("security_center_unlock_fbo"));
- initHook(BypassSimLockMiAccountAuth.INSTANCE, mPrefsMap.getBoolean("security_center_bypass_simlock_miaccount_auth"));
- initHook(new BypassAdbInstallVerify(), mPrefsMap.getBoolean("security_center_adb_install_verify"));
-
- // 小窗和气泡通知
- initHook(new RemoveConversationBubbleSettingsRestriction(), mPrefsMap.getBoolean("security_center_remove_conversation_bubble_settings_restriction"));
- initHook(IsSbnBelongToActiveBubbleApp.INSTANCE, mPrefsMap.getBoolean("security_center_unlock_side_hide_freeform"));
- initHook(GetBubbleAppString.INSTANCE, mPrefsMap.getBoolean("security_center_unlock_side_hide_freeform"));
-
- // 移除打开应用弹窗
- initHook(new RemoveOpenAppConfirmationPopup(), mPrefsMap.getBoolean("security_center_remove_open_app_confirmation_popup"));
-
- // 全局侧边栏
- boolean isVideoFunc = mPrefsMap.getBoolean("security_center_unlock_memc") ||
- mPrefsMap.getBoolean("security_center_unlock_s_resolution") ||
- mPrefsMap.getBoolean("security_center_unlock_enhance_contours");
-
- initHook(new PrivacyThumbnailBlur(), mPrefsMap.getBoolean("security_center_privacy_thumbnail_blur"));
- initHook(new PowerSaver(), mPrefsMap.getBoolean("security_center_power_saver"));
- initHook(new NewBoxBlur(), mPrefsMap.getBoolean("security_center_newbox_custom_enable"));
- initHook(BlurSecurity.INSTANCE, mPrefsMap.getBoolean("se_enable"));
- initHook(SidebarLineCustom.INSTANCE, mPrefsMap.getBoolean("security_center_sidebar_line_color"));
- initHook(new ScLockApp(), mPrefsMap.getBoolean("system_framework_guided_access_sc"));
- initHook(new RemoveMacroBlackList(), mPrefsMap.getBoolean("security_center_remove_macro_black_list"));
- initHook(UnlockGunService.INSTANCE, mPrefsMap.getBoolean("security_center_unlock_gun_service"));
- initHook(DisableRemoveScreenHoldOn.INSTANCE, mPrefsMap.getBoolean("security_center_disable_remove_screen_hold_on"));
- initHook(UnlockVideoSomeFunc.INSTANCE, isVideoFunc);
- initHook(new AddSideBarExpandReceiver(), mPrefsMap.getBoolean("security_center_hide_sidebar"));
- // initHook(new DockSuggest(), mPrefsMap.getStringAsInt("security_center_sidebar_show_suggest", 0) != 0);
- initHook(new VideoDolbyOpen(), mPrefsMap.getBoolean("security_center_dolby_open"));
- initHook(new VBVideoMode(), mPrefsMap.getBoolean("security_center_unlock_new_vb"));
- initHook(new GamePerformanceWildMode(), mPrefsMap.getBoolean("security_center_game_performance_wild_mode"));
-
- initHook(new PowerConsumptionRanking(), mPrefsMap.getBoolean("security_center_power_consumption_ranking"));
-
- // initHook(new EnableGameSpeed(), mPrefsMap.getBoolean("security_center_game_speed"));
-
- // reshook
- initHook(SidebarLineCustom.INSTANCE, mPrefsMap.getBoolean("security_center_sidebar_line_color"));
-
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Phone/SecurityCenterU.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Phone/SecurityCenterU.java
index a6b65df4e..78ffaae8c 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Phone/SecurityCenterU.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Phone/SecurityCenterU.java
@@ -54,9 +54,6 @@
import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyLightAuto;
import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyPc;
import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyPrivacy;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.AiClipboardEnable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.BlurLocationEnable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.GetNumberEnable;
import com.sevtinge.hyperceiler.module.hook.securitycenter.other.BypassSimLockMiAccountAuth;
import com.sevtinge.hyperceiler.module.hook.securitycenter.other.DisableRootCheck;
import com.sevtinge.hyperceiler.module.hook.securitycenter.other.FuckRiskPkg;
@@ -102,9 +99,6 @@ public void handleLoadPackage() {
// 隐私保护
initHook(new AppLockPinScramble(), mPrefsMap.getBoolean("security_center_applock_pin_scramble"));
- initHook(AiClipboardEnable.INSTANCE, mPrefsMap.getBoolean("security_center_ai_clipboard"));
- initHook(BlurLocationEnable.INSTANCE, mPrefsMap.getBoolean("security_center_blur_location"));
- initHook(GetNumberEnable.INSTANCE, mPrefsMap.getBoolean("security_center_get_number"));
initHook(new HideXOptModeTip(), mPrefsMap.getBoolean("security_center_hide_xopt_mode_tip"));
// 前置摄像助手
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Phone/SecurityCenterV.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Phone/SecurityCenterV.java
index a4144b5a4..c7d6892b5 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Phone/SecurityCenterV.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SecurityCenter/Phone/SecurityCenterV.java
@@ -54,9 +54,6 @@
import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyLightAuto;
import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyPc;
import com.sevtinge.hyperceiler.module.hook.securitycenter.beauty.BeautyPrivacy;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.AiClipboardEnable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.BlurLocationEnable;
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.GetNumberEnable;
import com.sevtinge.hyperceiler.module.hook.securitycenter.other.BypassSimLockMiAccountAuth;
import com.sevtinge.hyperceiler.module.hook.securitycenter.other.DisableRootCheck;
import com.sevtinge.hyperceiler.module.hook.securitycenter.other.FuckRiskPkg;
@@ -102,9 +99,6 @@ public void handleLoadPackage() {
// 隐私保护
initHook(new AppLockPinScramble(), mPrefsMap.getBoolean("security_center_applock_pin_scramble"));
- initHook(AiClipboardEnable.INSTANCE, mPrefsMap.getBoolean("security_center_ai_clipboard"));
- initHook(BlurLocationEnable.INSTANCE, mPrefsMap.getBoolean("security_center_blur_location"));
- initHook(GetNumberEnable.INSTANCE, mPrefsMap.getBoolean("security_center_get_number"));
initHook(new HideXOptModeTip(), mPrefsMap.getBoolean("security_center_hide_xopt_mode_tip"));
// 前置摄像助手
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Pad/SystemFrameworkT.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Pad/SystemFrameworkT.java
deleted file mode 100644
index 2bf97ffa5..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Pad/SystemFrameworkT.java
+++ /dev/null
@@ -1,182 +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.app.SystemFramework.Pad;
-
-import com.hchen.database.HookBase;
-import com.sevtinge.hyperceiler.module.base.BaseModule;
-import com.sevtinge.hyperceiler.module.hook.GlobalActions;
-import com.sevtinge.hyperceiler.module.hook.systemframework.AllowAutoStart;
-import com.sevtinge.hyperceiler.module.hook.systemframework.AllowDisableProtectedPackage;
-import com.sevtinge.hyperceiler.module.hook.systemframework.AllowUntrustedTouch;
-import com.sevtinge.hyperceiler.module.hook.systemframework.AntiQues;
-import com.sevtinge.hyperceiler.module.hook.systemframework.AppLinkVerify;
-import com.sevtinge.hyperceiler.module.hook.systemframework.BackgroundBlur;
-import com.sevtinge.hyperceiler.module.hook.systemframework.BypassUnknownSourcesRestrictions;
-import com.sevtinge.hyperceiler.module.hook.systemframework.CleanOpenMenu;
-import com.sevtinge.hyperceiler.module.hook.systemframework.CleanProcessTextMenu;
-import com.sevtinge.hyperceiler.module.hook.systemframework.CleanShareMenu;
-import com.sevtinge.hyperceiler.module.hook.systemframework.ClipboardWhitelist;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DeleteOnPostNotification;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DisableCleaner;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DisableFreeformBlackList;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DisableGestureMonitor;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DisableMiuiLite;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DisableMiuiWatermark;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DisablePinVerifyPer72h;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DisableVerifyCanBeDisabled;
-import com.sevtinge.hyperceiler.module.hook.systemframework.FlagSecure;
-import com.sevtinge.hyperceiler.module.hook.systemframework.FreeformBubble;
-import com.sevtinge.hyperceiler.module.hook.systemframework.HookEntry;
-import com.sevtinge.hyperceiler.module.hook.systemframework.LinkTurboToast;
-import com.sevtinge.hyperceiler.module.hook.systemframework.MultiFreeFormSupported;
-import com.sevtinge.hyperceiler.module.hook.systemframework.PackagePermissions;
-import com.sevtinge.hyperceiler.module.hook.systemframework.PstedClipboard;
-import com.sevtinge.hyperceiler.module.hook.systemframework.QuickScreenshot;
-import com.sevtinge.hyperceiler.module.hook.systemframework.RemoveSmallWindowRestrictions;
-import com.sevtinge.hyperceiler.module.hook.systemframework.RotationButton;
-import com.sevtinge.hyperceiler.module.hook.systemframework.ScreenRotation;
-import com.sevtinge.hyperceiler.module.hook.systemframework.SpeedInstall;
-import com.sevtinge.hyperceiler.module.hook.systemframework.StickyFloatingWindows;
-import com.sevtinge.hyperceiler.module.hook.systemframework.SystemLockApp;
-import com.sevtinge.hyperceiler.module.hook.systemframework.ThermalBrightness;
-import com.sevtinge.hyperceiler.module.hook.systemframework.UseAndroidPackageInstaller;
-import com.sevtinge.hyperceiler.module.hook.systemframework.UseOriginalAnimation;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeDefaultStream;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeDisableSafe;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeFirstPress;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeMediaSteps;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeSeparateControl;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeSteps;
-import com.sevtinge.hyperceiler.module.hook.systemframework.corepatch.BypassSignCheckForT;
-import com.sevtinge.hyperceiler.module.hook.systemframework.display.AllDarkMode;
-import com.sevtinge.hyperceiler.module.hook.systemframework.display.DisplayCutout;
-import com.sevtinge.hyperceiler.module.hook.systemframework.display.ThemeProvider;
-import com.sevtinge.hyperceiler.module.hook.systemframework.display.ToastTime;
-import com.sevtinge.hyperceiler.module.hook.systemframework.display.UseAOSPScreenShot;
-import com.sevtinge.hyperceiler.module.hook.systemframework.freeform.FreeFormCount;
-import com.sevtinge.hyperceiler.module.hook.systemframework.freeform.OpenAppInFreeForm;
-import com.sevtinge.hyperceiler.module.hook.systemframework.freeform.UnForegroundPin;
-import com.sevtinge.hyperceiler.module.hook.systemframework.mipad.IgnoreStylusKeyGesture;
-import com.sevtinge.hyperceiler.module.hook.systemframework.mipad.NoMagicPointer;
-import com.sevtinge.hyperceiler.module.hook.systemframework.mipad.RemoveStylusBluetoothRestriction;
-import com.sevtinge.hyperceiler.module.hook.systemframework.mipad.RestoreEsc;
-import com.sevtinge.hyperceiler.module.hook.systemframework.mipad.SetGestureNeedFingerNum;
-import com.sevtinge.hyperceiler.module.hook.systemframework.network.DualNRSupport;
-import com.sevtinge.hyperceiler.module.hook.systemframework.network.DualSASupport;
-import com.sevtinge.hyperceiler.module.hook.systemframework.network.FlightModeHotSpot;
-import com.sevtinge.hyperceiler.module.hook.systemframework.network.N1Band;
-import com.sevtinge.hyperceiler.module.hook.systemframework.network.N28Band;
-import com.sevtinge.hyperceiler.module.hook.systemframework.network.N5N8Band;
-import com.sevtinge.hyperceiler.module.hook.various.NoAccessDeviceLogsRequest;
-
-@HookBase(targetPackage = "android", isPad = 1, targetSdk = 33)
-public class SystemFrameworkT extends BaseModule {
-
- @Override
- public void handleLoadPackage() {
- initHook(new DisableMiuiWatermark(), mPrefsMap.getBoolean("system_framework_disable_miui_watermark"));
- initHook(new AntiQues(), mPrefsMap.getBoolean("system_settings_anti_ques"));
- // 小窗
- initHook(new AllowAutoStart(), mPrefsMap.getBoolean("system_framework_auto_start_apps_menu"));
- initHook(new FreeFormCount(), mPrefsMap.getBoolean("system_framework_freeform_count"));
- initHook(new FreeformBubble(), mPrefsMap.getBoolean("system_framework_freeform_bubble"));
- initHook(new DisableFreeformBlackList(), mPrefsMap.getBoolean("system_framework_disable_freeform_blacklist"));
- initHook(RemoveSmallWindowRestrictions.INSTANCE, mPrefsMap.getBoolean("system_framework_disable_freeform_blacklist"));
- initHook(new StickyFloatingWindows(), mPrefsMap.getBoolean("system_framework_freeform_sticky"));
- initHook(MultiFreeFormSupported.INSTANCE, mPrefsMap.getBoolean("system_framework_freeform_recents_to_small_freeform"));
- initHook(new OpenAppInFreeForm(), mPrefsMap.getBoolean("system_framework_freeform_jump"));
- initHook(new UnForegroundPin(), mPrefsMap.getBoolean("system_framework_freeform_foreground_pin"));
- // initHook(new OpenAppInFreeForm(), mPrefsMap.getBoolean("system_framework_freeform_jump"));
-
- // 音量
- initHook(new VolumeDefaultStream(), true);
- initHook(new VolumeFirstPress(), mPrefsMap.getBoolean("system_framework_volume_first_press"));
- initHook(new VolumeSeparateControl(), mPrefsMap.getBoolean("system_framework_volume_separate_control"));
- initHook(new VolumeSteps(), mPrefsMap.getInt("system_framework_volume_steps", 0) > 0);
- initHook(new VolumeMediaSteps(), mPrefsMap.getBoolean("system_framework_volume_media_steps_enable"));
- initHook(new VolumeDisableSafe(), mPrefsMap.getStringAsInt("system_framework_volume_disable_safe_new", 0) != 0);
-
- // 其他
- initHook(new SystemLockApp(), mPrefsMap.getBoolean("system_framework_guided_access"));
- initHook(new ScreenRotation(), mPrefsMap.getBoolean("system_framework_screen_all_rotations"));
- initHook(new CleanShareMenu(), mPrefsMap.getBoolean("system_framework_clean_share_menu"));
- initHook(new CleanOpenMenu(), mPrefsMap.getBoolean("system_framework_clean_open_menu"));
- initHook(new CleanProcessTextMenu(), mPrefsMap.getBoolean("system_framework_clean_process_text_menu"));
- initHook(new AllowUntrustedTouch(), mPrefsMap.getBoolean("system_framework_allow_untrusted_touch"));
- initHook(new FlagSecure(), mPrefsMap.getBoolean("system_other_flag_secure"));
- initHook(new AppLinkVerify(), mPrefsMap.getBoolean("system_framework_disable_app_link_verify"));
- initHook(new UseOriginalAnimation(), mPrefsMap.getBoolean("system_framework_other_use_original_animation"));
- initHook(new SpeedInstall(), mPrefsMap.getBoolean("system_framework_other_speed_install"));
- initHook(DeleteOnPostNotification.INSTANCE, mPrefsMap.getBoolean("system_other_delete_on_post_notification"));
- initHook(NoAccessDeviceLogsRequest.INSTANCE, mPrefsMap.getBoolean("various_disable_access_device_logs"));
- initHook(new DisableMiuiLite(), mPrefsMap.getBoolean("system_framework_disablt_miuilite_check"));
- initHook(new HookEntry(), mPrefsMap.getBoolean("system_framework_hook_entry"));
- initHook(new PstedClipboard(), mPrefsMap.getBoolean("system_framework_posted_clipboard"));
- initHook(new AllowDisableProtectedPackage(), mPrefsMap.getBoolean("system_framework_allow_disable_protected_package"));
- // 允许应用后台读取剪切板
- initHook(new ClipboardWhitelist(), mPrefsMap.getBoolean("system_framework_clipboard_whitelist"));
-
- initHook(new BypassUnknownSourcesRestrictions(), mPrefsMap.getBoolean("system_framework_bypass_unknown_sources_restrictions"));
-
- // 显示
- initHook(new BackgroundBlur(), mPrefsMap.getBoolean("system_framework_background_blur_supported"));
- initHook(DisplayCutout.INSTANCE, mPrefsMap.getBoolean("system_ui_display_hide_cutout_enable"));
- initHook(UseAOSPScreenShot.INSTANCE, mPrefsMap.getBoolean("system_ui_display_use_aosp_screenshot_enable"));
- initHook(new ToastTime(), mPrefsMap.getBoolean("system_ui_display_toast_times_enable"));
- initHook(new AllDarkMode(), mPrefsMap.getBoolean("system_framework_allow_all_dark_mode"));
- initHook(new ThemeProvider(), mPrefsMap.getBoolean("system_framework_allow_third_theme"));
- // initHook(new AutoBrightness(), mPrefsMap.getBoolean("system_control_center_auto_brightness"));
-
- // 位置模拟
- // initHook(new LocationSimulation(), false);
-
- // 小米/红米平板设置相关
- initHook(IgnoreStylusKeyGesture.INSTANCE, mPrefsMap.getBoolean("mipad_input_ingore_gesture"));
- initHook(NoMagicPointer.INSTANCE, mPrefsMap.getBoolean("mipad_input_close_magic"));
- initHook(RemoveStylusBluetoothRestriction.INSTANCE, mPrefsMap.getBoolean("mipad_input_disable_bluetooth_new"));
- initHook(RestoreEsc.INSTANCE, mPrefsMap.getBoolean("mipad_input_restore_esc"));
- initHook(SetGestureNeedFingerNum.INSTANCE, mPrefsMap.getBoolean("mipad_input_need_finger_num"));
-
- // 核心破解
- initHook(BypassSignCheckForT.INSTANCE, mPrefsMap.getBoolean("system_framework_core_patch_auth_creak") || mPrefsMap.getBoolean("system_framework_core_patch_disable_integrity"));
-
- // 网络
- initHook(DualNRSupport.INSTANCE, mPrefsMap.getBoolean("phone_double_5g_nr"));
- initHook(DualSASupport.INSTANCE, mPrefsMap.getBoolean("phone_double_5g_sa"));
- initHook(N1Band.INSTANCE, mPrefsMap.getBoolean("phone_n1"));
- initHook(N5N8Band.INSTANCE, mPrefsMap.getBoolean("phone_n5_n8"));
- initHook(N28Band.INSTANCE, mPrefsMap.getBoolean("phone_n28"));
- initHook(new FlightModeHotSpot(), mPrefsMap.getBoolean("system_framework_network_flightmode_hotspot"));
-
- // Other
- initHook(new PackagePermissions(), true);
- initHook(new RotationButton(), mPrefsMap.getStringAsInt("system_framework_other_rotation_button_int", 0) == 2);
- initHook(new GlobalActions(), mLoadPackageParam.processName.equals("android"));
- initHook(new ThermalBrightness(), mPrefsMap.getBoolean("system_framework_other_thermal_brightness"));
- initHook(DisableCleaner.INSTANCE, mPrefsMap.getBoolean("system_framework_other_disable_cleaner"));
- initHook(DisableGestureMonitor.INSTANCE, mPrefsMap.getBoolean("system_framework_other_disable_gesture_monitor"));
- initHook(new DisablePinVerifyPer72h(), mPrefsMap.getBoolean("system_framework_disable_72h_verify"));
- initHook(new DisableVerifyCanBeDisabled(), mPrefsMap.getBoolean("system_framework_disable_verify_can_ve_disabled"));
- initHook(new UseAndroidPackageInstaller(), mPrefsMap.getBoolean("system_framework_use_android_package_installer"));
- initHook(new QuickScreenshot(), mPrefsMap.getBoolean("system_framework_quick_screenshot"));
- initHook(new LinkTurboToast(), mPrefsMap.getBoolean("system_framework_disable_link_turbo_toast"));
-
- }
-
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Pad/SystemFrameworkU.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Pad/SystemFrameworkU.java
index 92b56174d..db1e3554b 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Pad/SystemFrameworkU.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Pad/SystemFrameworkU.java
@@ -52,7 +52,6 @@
import com.sevtinge.hyperceiler.module.hook.systemframework.PstedClipboard;
import com.sevtinge.hyperceiler.module.hook.systemframework.QuickScreenshot;
import com.sevtinge.hyperceiler.module.hook.systemframework.RemoveSmallWindowRestrictions;
-import com.sevtinge.hyperceiler.module.hook.systemframework.RotationButton;
import com.sevtinge.hyperceiler.module.hook.systemframework.ScreenRotation;
import com.sevtinge.hyperceiler.module.hook.systemframework.SpeedInstall;
import com.sevtinge.hyperceiler.module.hook.systemframework.StickyFloatingWindows;
@@ -64,7 +63,6 @@
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeDisableSafe;
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeFirstPress;
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeMediaSteps;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeSeparateControl;
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeSteps;
import com.sevtinge.hyperceiler.module.hook.systemframework.corepatch.BypassSignCheckForT;
import com.sevtinge.hyperceiler.module.hook.systemframework.display.AllDarkMode;
@@ -109,7 +107,6 @@ public void handleLoadPackage() {
// 音量
initHook(new VolumeDefaultStream(), true);
initHook(new VolumeFirstPress(), mPrefsMap.getBoolean("system_framework_volume_first_press"));
- initHook(new VolumeSeparateControl(), mPrefsMap.getBoolean("system_framework_volume_separate_control"));
initHook(new VolumeSteps(), mPrefsMap.getInt("system_framework_volume_steps", 0) > 0);
initHook(new VolumeMediaSteps(), mPrefsMap.getBoolean("system_framework_volume_media_steps_enable"));
initHook(new VolumeDisableSafe(), mPrefsMap.getStringAsInt("system_framework_volume_disable_safe_new", 0) != 0);
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Pad/SystemFrameworkV.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Pad/SystemFrameworkV.java
index e8c6c27a6..5af62820d 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Pad/SystemFrameworkV.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Pad/SystemFrameworkV.java
@@ -52,7 +52,6 @@
import com.sevtinge.hyperceiler.module.hook.systemframework.PstedClipboard;
import com.sevtinge.hyperceiler.module.hook.systemframework.QuickScreenshot;
import com.sevtinge.hyperceiler.module.hook.systemframework.RemoveSmallWindowRestrictions;
-import com.sevtinge.hyperceiler.module.hook.systemframework.RotationButton;
import com.sevtinge.hyperceiler.module.hook.systemframework.ScreenRotation;
import com.sevtinge.hyperceiler.module.hook.systemframework.SpeedInstall;
import com.sevtinge.hyperceiler.module.hook.systemframework.StickyFloatingWindows;
@@ -64,7 +63,6 @@
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeDisableSafe;
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeFirstPress;
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeMediaSteps;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeSeparateControl;
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeSteps;
import com.sevtinge.hyperceiler.module.hook.systemframework.corepatch.AllowUpdateSystemApp;
import com.sevtinge.hyperceiler.module.hook.systemframework.corepatch.BypassIsolationViolation;
@@ -111,7 +109,6 @@ public void handleLoadPackage() {
// 音量
initHook(new VolumeDefaultStream(), true);
initHook(new VolumeFirstPress(), mPrefsMap.getBoolean("system_framework_volume_first_press"));
- initHook(new VolumeSeparateControl(), mPrefsMap.getBoolean("system_framework_volume_separate_control"));
initHook(new VolumeSteps(), mPrefsMap.getInt("system_framework_volume_steps", 0) > 0);
initHook(new VolumeMediaSteps(), mPrefsMap.getBoolean("system_framework_volume_media_steps_enable"));
initHook(new VolumeDisableSafe(), mPrefsMap.getStringAsInt("system_framework_volume_disable_safe_new", 0) != 0);
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Phone/SystemFrameworkT.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Phone/SystemFrameworkT.java
deleted file mode 100644
index 1531f6647..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Phone/SystemFrameworkT.java
+++ /dev/null
@@ -1,171 +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.app.SystemFramework.Phone;
-
-import com.hchen.database.HookBase;
-import com.sevtinge.hyperceiler.module.base.BaseModule;
-import com.sevtinge.hyperceiler.module.hook.GlobalActions;
-import com.sevtinge.hyperceiler.module.hook.systemframework.AllowAutoStart;
-import com.sevtinge.hyperceiler.module.hook.systemframework.AllowDisableProtectedPackage;
-import com.sevtinge.hyperceiler.module.hook.systemframework.AllowUntrustedTouch;
-import com.sevtinge.hyperceiler.module.hook.systemframework.AntiQues;
-import com.sevtinge.hyperceiler.module.hook.systemframework.AppLinkVerify;
-import com.sevtinge.hyperceiler.module.hook.systemframework.BackgroundBlur;
-import com.sevtinge.hyperceiler.module.hook.systemframework.BypassUnknownSourcesRestrictions;
-import com.sevtinge.hyperceiler.module.hook.systemframework.CleanOpenMenu;
-import com.sevtinge.hyperceiler.module.hook.systemframework.CleanProcessTextMenu;
-import com.sevtinge.hyperceiler.module.hook.systemframework.CleanShareMenu;
-import com.sevtinge.hyperceiler.module.hook.systemframework.ClipboardWhitelist;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DeleteOnPostNotification;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DisableCleaner;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DisableFreeformBlackList;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DisableGestureMonitor;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DisableMiuiLite;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DisableMiuiWatermark;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DisablePinVerifyPer72h;
-import com.sevtinge.hyperceiler.module.hook.systemframework.DisableVerifyCanBeDisabled;
-import com.sevtinge.hyperceiler.module.hook.systemframework.FlagSecure;
-import com.sevtinge.hyperceiler.module.hook.systemframework.FreeformBubble;
-import com.sevtinge.hyperceiler.module.hook.systemframework.HookEntry;
-import com.sevtinge.hyperceiler.module.hook.systemframework.LinkTurboToast;
-import com.sevtinge.hyperceiler.module.hook.systemframework.MultiFreeFormSupported;
-import com.sevtinge.hyperceiler.module.hook.systemframework.PackagePermissions;
-import com.sevtinge.hyperceiler.module.hook.systemframework.PstedClipboard;
-import com.sevtinge.hyperceiler.module.hook.systemframework.QuickScreenshot;
-import com.sevtinge.hyperceiler.module.hook.systemframework.RemoveSmallWindowRestrictions;
-import com.sevtinge.hyperceiler.module.hook.systemframework.RotationButton;
-import com.sevtinge.hyperceiler.module.hook.systemframework.ScreenRotation;
-import com.sevtinge.hyperceiler.module.hook.systemframework.SpeedInstall;
-import com.sevtinge.hyperceiler.module.hook.systemframework.StickyFloatingWindows;
-import com.sevtinge.hyperceiler.module.hook.systemframework.SystemLockApp;
-import com.sevtinge.hyperceiler.module.hook.systemframework.ThermalBrightness;
-import com.sevtinge.hyperceiler.module.hook.systemframework.UseAndroidPackageInstaller;
-import com.sevtinge.hyperceiler.module.hook.systemframework.UseOriginalAnimation;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeDefaultStream;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeDisableSafe;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeFirstPress;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeMediaSteps;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeSeparateControl;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeSteps;
-import com.sevtinge.hyperceiler.module.hook.systemframework.corepatch.BypassSignCheckForT;
-import com.sevtinge.hyperceiler.module.hook.systemframework.display.AllDarkMode;
-import com.sevtinge.hyperceiler.module.hook.systemframework.display.DisplayCutout;
-import com.sevtinge.hyperceiler.module.hook.systemframework.display.ThemeProvider;
-import com.sevtinge.hyperceiler.module.hook.systemframework.display.ToastTime;
-import com.sevtinge.hyperceiler.module.hook.systemframework.display.UseAOSPScreenShot;
-import com.sevtinge.hyperceiler.module.hook.systemframework.freeform.FreeFormCount;
-import com.sevtinge.hyperceiler.module.hook.systemframework.freeform.OpenAppInFreeForm;
-import com.sevtinge.hyperceiler.module.hook.systemframework.freeform.UnForegroundPin;
-import com.sevtinge.hyperceiler.module.hook.systemframework.network.DualNRSupport;
-import com.sevtinge.hyperceiler.module.hook.systemframework.network.DualSASupport;
-import com.sevtinge.hyperceiler.module.hook.systemframework.network.FlightModeHotSpot;
-import com.sevtinge.hyperceiler.module.hook.systemframework.network.N1Band;
-import com.sevtinge.hyperceiler.module.hook.systemframework.network.N28Band;
-import com.sevtinge.hyperceiler.module.hook.systemframework.network.N5N8Band;
-import com.sevtinge.hyperceiler.module.hook.various.NoAccessDeviceLogsRequest;
-
-@HookBase(targetPackage = "android", isPad = 2, targetSdk = 33)
-public class SystemFrameworkT extends BaseModule {
-
- @Override
- public void handleLoadPackage() {
- initHook(new DisableMiuiWatermark(), mPrefsMap.getBoolean("system_framework_disable_miui_watermark"));
- initHook(new AntiQues(), mPrefsMap.getBoolean("system_settings_anti_ques"));
- // 小窗
- initHook(new AllowAutoStart(), mPrefsMap.getBoolean("system_framework_auto_start_apps_menu"));
- initHook(new FreeFormCount(), mPrefsMap.getBoolean("system_framework_freeform_count"));
- initHook(new FreeformBubble(), mPrefsMap.getBoolean("system_framework_freeform_bubble"));
- initHook(new DisableFreeformBlackList(), mPrefsMap.getBoolean("system_framework_disable_freeform_blacklist"));
- initHook(RemoveSmallWindowRestrictions.INSTANCE, mPrefsMap.getBoolean("system_framework_disable_freeform_blacklist"));
- initHook(new StickyFloatingWindows(), mPrefsMap.getBoolean("system_framework_freeform_sticky"));
- initHook(MultiFreeFormSupported.INSTANCE, mPrefsMap.getBoolean("system_framework_freeform_recents_to_small_freeform"));
- initHook(new OpenAppInFreeForm(), mPrefsMap.getBoolean("system_framework_freeform_jump"));
- initHook(new UnForegroundPin(), mPrefsMap.getBoolean("system_framework_freeform_foreground_pin"));
- // initHook(new OpenAppInFreeForm(), mPrefsMap.getBoolean("system_framework_freeform_jump"));
-
- // 音量
- initHook(new VolumeDefaultStream(), true);
- initHook(new VolumeFirstPress(), mPrefsMap.getBoolean("system_framework_volume_first_press"));
- initHook(new VolumeSeparateControl(), mPrefsMap.getBoolean("system_framework_volume_separate_control"));
- initHook(new VolumeSteps(), mPrefsMap.getInt("system_framework_volume_steps", 0) > 0);
- initHook(new VolumeMediaSteps(), mPrefsMap.getBoolean("system_framework_volume_media_steps_enable"));
- initHook(new VolumeDisableSafe(), mPrefsMap.getStringAsInt("system_framework_volume_disable_safe_new", 0) != 0);
-
- // 其他
- initHook(new SystemLockApp(), mPrefsMap.getBoolean("system_framework_guided_access"));
- initHook(new ScreenRotation(), mPrefsMap.getBoolean("system_framework_screen_all_rotations"));
- initHook(new CleanShareMenu(), mPrefsMap.getBoolean("system_framework_clean_share_menu"));
- initHook(new CleanOpenMenu(), mPrefsMap.getBoolean("system_framework_clean_open_menu"));
- initHook(new CleanProcessTextMenu(), mPrefsMap.getBoolean("system_framework_clean_process_text_menu"));
- initHook(new AllowUntrustedTouch(), mPrefsMap.getBoolean("system_framework_allow_untrusted_touch"));
- initHook(new FlagSecure(), mPrefsMap.getBoolean("system_other_flag_secure"));
- initHook(new AppLinkVerify(), mPrefsMap.getBoolean("system_framework_disable_app_link_verify"));
- initHook(new UseOriginalAnimation(), mPrefsMap.getBoolean("system_framework_other_use_original_animation"));
- initHook(new SpeedInstall(), mPrefsMap.getBoolean("system_framework_other_speed_install"));
- initHook(DeleteOnPostNotification.INSTANCE, mPrefsMap.getBoolean("system_other_delete_on_post_notification"));
- initHook(NoAccessDeviceLogsRequest.INSTANCE, mPrefsMap.getBoolean("various_disable_access_device_logs"));
- initHook(new DisableMiuiLite(), mPrefsMap.getBoolean("system_framework_disablt_miuilite_check"));
- initHook(new HookEntry(), mPrefsMap.getBoolean("system_framework_hook_entry"));
- initHook(new PstedClipboard(), mPrefsMap.getBoolean("system_framework_posted_clipboard"));
- initHook(new AllowDisableProtectedPackage(), mPrefsMap.getBoolean("system_framework_allow_disable_protected_package"));
- // 允许应用后台读取剪切板
- initHook(new ClipboardWhitelist(), mPrefsMap.getBoolean("system_framework_clipboard_whitelist"));
-
- initHook(new BypassUnknownSourcesRestrictions(), mPrefsMap.getBoolean("system_framework_bypass_unknown_sources_restrictions"));
-
- // 显示
- initHook(new BackgroundBlur(), mPrefsMap.getBoolean("system_framework_background_blur_supported"));
- initHook(DisplayCutout.INSTANCE, mPrefsMap.getBoolean("system_ui_display_hide_cutout_enable"));
- initHook(UseAOSPScreenShot.INSTANCE, mPrefsMap.getBoolean("system_ui_display_use_aosp_screenshot_enable"));
- initHook(new ToastTime(), mPrefsMap.getBoolean("system_ui_display_toast_times_enable"));
- initHook(new AllDarkMode(), mPrefsMap.getBoolean("system_framework_allow_all_dark_mode"));
- initHook(new ThemeProvider(), mPrefsMap.getBoolean("system_framework_allow_third_theme"));
- // initHook(new AutoBrightness(), mPrefsMap.getBoolean("system_control_center_auto_brightness"));
-
- // 位置模拟
- // initHook(new LocationSimulation(), false);
-
-
- // 核心破解
- initHook(BypassSignCheckForT.INSTANCE, mPrefsMap.getBoolean("system_framework_core_patch_auth_creak") || mPrefsMap.getBoolean("system_framework_core_patch_disable_integrity"));
-
- // 网络
- initHook(DualNRSupport.INSTANCE, mPrefsMap.getBoolean("phone_double_5g_nr"));
- initHook(DualSASupport.INSTANCE, mPrefsMap.getBoolean("phone_double_5g_sa"));
- initHook(N1Band.INSTANCE, mPrefsMap.getBoolean("phone_n1"));
- initHook(N5N8Band.INSTANCE, mPrefsMap.getBoolean("phone_n5_n8"));
- initHook(N28Band.INSTANCE, mPrefsMap.getBoolean("phone_n28"));
- initHook(new FlightModeHotSpot(), mPrefsMap.getBoolean("system_framework_network_flightmode_hotspot"));
-
- // Other
- initHook(new PackagePermissions(), true);
- initHook(new RotationButton(), mPrefsMap.getStringAsInt("system_framework_other_rotation_button_int", 0) == 2);
- initHook(new GlobalActions(), mLoadPackageParam.processName.equals("android"));
- initHook(new ThermalBrightness(), mPrefsMap.getBoolean("system_framework_other_thermal_brightness"));
- initHook(DisableCleaner.INSTANCE, mPrefsMap.getBoolean("system_framework_other_disable_cleaner"));
- initHook(DisableGestureMonitor.INSTANCE, mPrefsMap.getBoolean("system_framework_other_disable_gesture_monitor"));
- initHook(new DisablePinVerifyPer72h(), mPrefsMap.getBoolean("system_framework_disable_72h_verify"));
- initHook(new DisableVerifyCanBeDisabled(), mPrefsMap.getBoolean("system_framework_disable_verify_can_ve_disabled"));
- initHook(new UseAndroidPackageInstaller(), mPrefsMap.getBoolean("system_framework_use_android_package_installer"));
- initHook(new QuickScreenshot(), mPrefsMap.getBoolean("system_framework_quick_screenshot"));
- initHook(new LinkTurboToast(), mPrefsMap.getBoolean("system_framework_disable_link_turbo_toast"));
-
- }
-
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Phone/SystemFrameworkU.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Phone/SystemFrameworkU.java
index d0c8d5012..0c1752805 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Phone/SystemFrameworkU.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Phone/SystemFrameworkU.java
@@ -52,7 +52,6 @@
import com.sevtinge.hyperceiler.module.hook.systemframework.PstedClipboard;
import com.sevtinge.hyperceiler.module.hook.systemframework.QuickScreenshot;
import com.sevtinge.hyperceiler.module.hook.systemframework.RemoveSmallWindowRestrictions;
-import com.sevtinge.hyperceiler.module.hook.systemframework.RotationButton;
import com.sevtinge.hyperceiler.module.hook.systemframework.ScreenRotation;
import com.sevtinge.hyperceiler.module.hook.systemframework.SpeedInstall;
import com.sevtinge.hyperceiler.module.hook.systemframework.StickyFloatingWindows;
@@ -64,7 +63,6 @@
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeDisableSafe;
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeFirstPress;
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeMediaSteps;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeSeparateControl;
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeSteps;
import com.sevtinge.hyperceiler.module.hook.systemframework.corepatch.BypassSignCheckForT;
import com.sevtinge.hyperceiler.module.hook.systemframework.display.AllDarkMode;
@@ -104,7 +102,6 @@ public void handleLoadPackage() {
// 音量
initHook(new VolumeDefaultStream(), true);
initHook(new VolumeFirstPress(), mPrefsMap.getBoolean("system_framework_volume_first_press"));
- initHook(new VolumeSeparateControl(), mPrefsMap.getBoolean("system_framework_volume_separate_control"));
initHook(new VolumeSteps(), mPrefsMap.getInt("system_framework_volume_steps", 0) > 0);
initHook(new VolumeMediaSteps(), mPrefsMap.getBoolean("system_framework_volume_media_steps_enable"));
initHook(new VolumeDisableSafe(), mPrefsMap.getStringAsInt("system_framework_volume_disable_safe_new", 0) != 0);
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Phone/SystemFrameworkV.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Phone/SystemFrameworkV.java
index f24fd02b5..9cb395bda 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Phone/SystemFrameworkV.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemFramework/Phone/SystemFrameworkV.java
@@ -52,7 +52,6 @@
import com.sevtinge.hyperceiler.module.hook.systemframework.PstedClipboard;
import com.sevtinge.hyperceiler.module.hook.systemframework.QuickScreenshot;
import com.sevtinge.hyperceiler.module.hook.systemframework.RemoveSmallWindowRestrictions;
-import com.sevtinge.hyperceiler.module.hook.systemframework.RotationButton;
import com.sevtinge.hyperceiler.module.hook.systemframework.ScreenRotation;
import com.sevtinge.hyperceiler.module.hook.systemframework.SpeedInstall;
import com.sevtinge.hyperceiler.module.hook.systemframework.StickyFloatingWindows;
@@ -64,7 +63,6 @@
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeDisableSafe;
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeFirstPress;
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeMediaSteps;
-import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeSeparateControl;
import com.sevtinge.hyperceiler.module.hook.systemframework.VolumeSteps;
import com.sevtinge.hyperceiler.module.hook.systemframework.corepatch.AllowUpdateSystemApp;
import com.sevtinge.hyperceiler.module.hook.systemframework.corepatch.BypassIsolationViolation;
@@ -106,7 +104,6 @@ public void handleLoadPackage() {
// 音量
initHook(new VolumeDefaultStream(), true);
initHook(new VolumeFirstPress(), mPrefsMap.getBoolean("system_framework_volume_first_press"));
- initHook(new VolumeSeparateControl(), mPrefsMap.getBoolean("system_framework_volume_separate_control"));
initHook(new VolumeSteps(), mPrefsMap.getInt("system_framework_volume_steps", 0) > 0);
initHook(new VolumeMediaSteps(), mPrefsMap.getBoolean("system_framework_volume_media_steps_enable"));
initHook(new VolumeDisableSafe(), mPrefsMap.getStringAsInt("system_framework_volume_disable_safe_new", 0) != 0);
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Pad/SystemSettingsT.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Pad/SystemSettingsT.java
deleted file mode 100644
index d744a735d..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Pad/SystemSettingsT.java
+++ /dev/null
@@ -1,110 +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.app.SystemSettings.Pad;
-
-import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isMoreHyperOSVersion;
-
-import com.hchen.database.HookBase;
-import com.sevtinge.hyperceiler.module.base.BaseModule;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.AddGoogleListHeader;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.AddMiuiPlusEntry;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.AllowManageAllNotifications;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.AntiQues;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.AppsFreezerEnable;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.DisableInstallUnknownVerify;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.EnableFoldArea;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.EnablePadArea;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.EnableSpeedMode;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.HyperCeilerSettings;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.InternationalBuild;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.LanguageMenuShowAllApps;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.LinkTurbo;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.ModifySystemVersion;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.MoreNotificationSettings;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.MoreVpnTypes;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.NewNFCPage;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.NoveltyHaptic;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.QuickManageOverlayPermission;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.QuickManageUnknownAppSources;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.QuickManagerAccessibilityPermission;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.RunningServices;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.ShowAutoUIMode;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.UnLockAreaScreenshot;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.UnlockMaxFps;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.UnlockNeverSleepScreen;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.UnlockTaplusForSettings;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.UsbModeChoose;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.ViewWifiPasswordHook;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.VoipAssistantController;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.VolumeSeparateControlForSettings;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockAi;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockMemc;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockSuperResolution;
-
-@HookBase(targetPackage = "com.android.settings", isPad = 1, targetSdk = 33)
-public class SystemSettingsT extends BaseModule {
-
- @Override
- public void handleLoadPackage() {
- initHook(new HyperCeilerSettings(), mPrefsMap.getStringAsInt("settings_icon", 0) != 0);
-
- initHook(new ShowAutoUIMode(), mPrefsMap.getBoolean("system_settings_unlock_ui_mode"));
- initHook(new LinkTurbo(), mPrefsMap.getBoolean("system_settings_linkturbo"));
- initHook(new RunningServices(), true); // 显示原生内存信息
- initHook(new UsbModeChoose(), mPrefsMap.getStringAsInt("system_settings_usb_mode_choose", 0) != 0
- || mPrefsMap.getBoolean("system_settings_usb_mode"));
- initHook(new ViewWifiPasswordHook(), mPrefsMap.getBoolean("system_settings_safe_wifi"));
- initHook(new VoipAssistantController(), mPrefsMap.getBoolean("system_settings_voip_assistant_controller"));
- initHook(new MoreVpnTypes(), mPrefsMap.getBoolean("system_settings_more_vpn_types"));
- initHook(new AddMiuiPlusEntry(), mPrefsMap.getBoolean("mirror_unlock_miui_plus"));
- initHook(new EnableSpeedMode(), mPrefsMap.getBoolean("system_settings_develop_speed_mode"));
- initHook(new QuickManageOverlayPermission(), mPrefsMap.getBoolean("system_settings_permission_show_app_up"));
- initHook(new QuickManageUnknownAppSources(), mPrefsMap.getBoolean("system_settings_permission_unknown_origin_app"));
- initHook(new QuickManagerAccessibilityPermission(), mPrefsMap.getBoolean("system_settings_permission_accessibility"));
- initHook(new InternationalBuild(), mPrefsMap.getBoolean("system_settings_international_build"));
- initHook(new DisableInstallUnknownVerify(), mPrefsMap.getBoolean("system_settings_permission_disable_install_unknown_verify"));
- initHook(new NewNFCPage(), mPrefsMap.getBoolean("system_settings_new_nfc_page"));
- initHook(new AppsFreezerEnable(), mPrefsMap.getBoolean("system_settings_apps_freezer"));
- // initHook(new BluetoothRestrict(), mPrefsMap.getBoolean("various_disable_bluetooth_restrict"));
- initHook(new VolumeSeparateControlForSettings(), mPrefsMap.getBoolean("system_framework_volume_separate_control") && !isMoreHyperOSVersion(1f));
- initHook(UnlockMaxFps.INSTANCE, mPrefsMap.getBoolean("system_settings_develop_max_fps"));
- initHook(new AntiQues(), mPrefsMap.getBoolean("system_settings_anti_ques"));
-
- initHook(new UnlockSuperResolution(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_sr"));
- initHook(new UnlockAi(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_ai"));
- initHook(new UnlockMemc(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_memc"));
- initHook(UnLockAreaScreenshot.INSTANCE, mPrefsMap.getBoolean("system_settings_area_screenshot"));
- initHook(NoveltyHaptic.INSTANCE, mPrefsMap.getBoolean("system_settings_novelty_haptic"));
- initHook(new MoreNotificationSettings(), mPrefsMap.getBoolean("system_settings_more_notification_settings"));
- initHook(new AllowManageAllNotifications(), mPrefsMap.getBoolean("system_framework_allow_manage_all_notifications"));
- initHook(new LanguageMenuShowAllApps(), mPrefsMap.getBoolean("system_settings_lang_menu_shouw_all_app"));
-
- initHook(new EnablePadArea(), mPrefsMap.getBoolean("system_settings_enable_pad_area"));
- initHook(new EnableFoldArea(), mPrefsMap.getBoolean("system_settings_enable_fold_area"));
-
- initHook(new ModifySystemVersion(), mPrefsMap.getBoolean("updater_enable_miui_version") && mPrefsMap.getStringAsInt("updater_version_mode", 1) != 1);
-
- initHook(UnlockTaplusForSettings.INSTANCE, mPrefsMap.getBoolean("content_extension_unlock_taplus"));
-
- initHook(new AddGoogleListHeader(), mPrefsMap.getBoolean("system_settings_unlock_google_header"));
-
- initHook(new UnlockNeverSleepScreen(), mPrefsMap.getBoolean("system_settings_allow_never_lock_screen"));
-
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Pad/SystemSettingsU.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Pad/SystemSettingsU.java
index 8c3848ed2..dcc343761 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Pad/SystemSettingsU.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Pad/SystemSettingsU.java
@@ -18,8 +18,6 @@
*/
package com.sevtinge.hyperceiler.module.app.SystemSettings.Pad;
-import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isMoreHyperOSVersion;
-
import com.hchen.database.HookBase;
import com.sevtinge.hyperceiler.module.base.BaseModule;
import com.sevtinge.hyperceiler.module.hook.systemsettings.AddGoogleListHeader;
@@ -53,7 +51,6 @@
import com.sevtinge.hyperceiler.module.hook.systemsettings.UsbModeChoose;
import com.sevtinge.hyperceiler.module.hook.systemsettings.ViewWifiPasswordHook;
import com.sevtinge.hyperceiler.module.hook.systemsettings.VoipAssistantController;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.VolumeSeparateControlForSettings;
import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockAi;
import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockMemc;
import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockSuperResolution;
@@ -83,14 +80,12 @@ public void handleLoadPackage() {
initHook(new NewNFCPage(), mPrefsMap.getBoolean("system_settings_new_nfc_page"));
initHook(new AppsFreezerEnable(), mPrefsMap.getBoolean("system_settings_apps_freezer"));
// initHook(new BluetoothRestrict(), mPrefsMap.getBoolean("various_disable_bluetooth_restrict"));
- initHook(new VolumeSeparateControlForSettings(), mPrefsMap.getBoolean("system_framework_volume_separate_control") && !isMoreHyperOSVersion(1f));
initHook(UnlockMaxFps.INSTANCE, mPrefsMap.getBoolean("system_settings_develop_max_fps"));
initHook(new AntiQues(), mPrefsMap.getBoolean("system_settings_anti_ques"));
initHook(new UnlockSuperResolution(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_sr"));
initHook(new UnlockAi(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_ai"));
initHook(new UnlockMemc(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_memc"));
- initHook(UnLockAreaScreenshot.INSTANCE, mPrefsMap.getBoolean("system_settings_area_screenshot"));
initHook(NoveltyHaptic.INSTANCE, mPrefsMap.getBoolean("system_settings_novelty_haptic"));
initHook(new MoreNotificationSettings(), mPrefsMap.getBoolean("system_settings_more_notification_settings"));
initHook(new AllowManageAllNotifications(), mPrefsMap.getBoolean("system_framework_allow_manage_all_notifications"));
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Pad/SystemSettingsV.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Pad/SystemSettingsV.java
index 4623cb60c..bafcb543a 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Pad/SystemSettingsV.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Pad/SystemSettingsV.java
@@ -18,8 +18,6 @@
*/
package com.sevtinge.hyperceiler.module.app.SystemSettings.Pad;
-import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isMoreHyperOSVersion;
-
import com.hchen.database.HookBase;
import com.sevtinge.hyperceiler.module.base.BaseModule;
import com.sevtinge.hyperceiler.module.hook.systemsettings.AddGoogleListHeader;
@@ -53,7 +51,6 @@
import com.sevtinge.hyperceiler.module.hook.systemsettings.UsbModeChoose;
import com.sevtinge.hyperceiler.module.hook.systemsettings.ViewWifiPasswordHook;
import com.sevtinge.hyperceiler.module.hook.systemsettings.VoipAssistantController;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.VolumeSeparateControlForSettings;
import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockAi;
import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockMemc;
import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockSuperResolution;
@@ -83,14 +80,12 @@ public void handleLoadPackage() {
initHook(new NewNFCPage(), mPrefsMap.getBoolean("system_settings_new_nfc_page"));
initHook(new AppsFreezerEnable(), mPrefsMap.getBoolean("system_settings_apps_freezer"));
// initHook(new BluetoothRestrict(), mPrefsMap.getBoolean("various_disable_bluetooth_restrict"));
- initHook(new VolumeSeparateControlForSettings(), mPrefsMap.getBoolean("system_framework_volume_separate_control") && !isMoreHyperOSVersion(1f));
initHook(UnlockMaxFps.INSTANCE, mPrefsMap.getBoolean("system_settings_develop_max_fps"));
initHook(new AntiQues(), mPrefsMap.getBoolean("system_settings_anti_ques"));
initHook(new UnlockSuperResolution(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_sr"));
initHook(new UnlockAi(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_ai"));
initHook(new UnlockMemc(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_memc"));
- initHook(UnLockAreaScreenshot.INSTANCE, mPrefsMap.getBoolean("system_settings_area_screenshot"));
initHook(NoveltyHaptic.INSTANCE, mPrefsMap.getBoolean("system_settings_novelty_haptic"));
initHook(new MoreNotificationSettings(), mPrefsMap.getBoolean("system_settings_more_notification_settings"));
initHook(new AllowManageAllNotifications(), mPrefsMap.getBoolean("system_framework_allow_manage_all_notifications"));
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Phone/SystemSettingsT.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Phone/SystemSettingsT.java
deleted file mode 100644
index 3c6f8d72d..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Phone/SystemSettingsT.java
+++ /dev/null
@@ -1,110 +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.app.SystemSettings.Phone;
-
-import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isMoreHyperOSVersion;
-
-import com.hchen.database.HookBase;
-import com.sevtinge.hyperceiler.module.base.BaseModule;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.AddGoogleListHeader;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.AddMiuiPlusEntry;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.AllowManageAllNotifications;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.AntiQues;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.AppsFreezerEnable;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.DisableInstallUnknownVerify;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.EnableFoldArea;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.EnablePadArea;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.EnableSpeedMode;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.HyperCeilerSettings;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.InternationalBuild;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.LanguageMenuShowAllApps;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.LinkTurbo;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.ModifySystemVersion;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.MoreNotificationSettings;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.MoreVpnTypes;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.NewNFCPage;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.NoveltyHaptic;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.QuickManageOverlayPermission;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.QuickManageUnknownAppSources;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.QuickManagerAccessibilityPermission;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.RunningServices;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.ShowAutoUIMode;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.UnLockAreaScreenshot;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.UnlockMaxFps;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.UnlockNeverSleepScreen;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.UnlockTaplusForSettings;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.UsbModeChoose;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.ViewWifiPasswordHook;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.VoipAssistantController;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.VolumeSeparateControlForSettings;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockAi;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockMemc;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockSuperResolution;
-
-@HookBase(targetPackage = "com.android.settings", isPad = 2, targetSdk = 33)
-public class SystemSettingsT extends BaseModule {
-
- @Override
- public void handleLoadPackage() {
- initHook(new HyperCeilerSettings(), mPrefsMap.getStringAsInt("settings_icon", 0) != 0);
-
- initHook(new ShowAutoUIMode(), mPrefsMap.getBoolean("system_settings_unlock_ui_mode"));
- initHook(new LinkTurbo(), mPrefsMap.getBoolean("system_settings_linkturbo"));
- initHook(new RunningServices(), true); // 显示原生内存信息
- initHook(new UsbModeChoose(), mPrefsMap.getStringAsInt("system_settings_usb_mode_choose", 0) != 0
- || mPrefsMap.getBoolean("system_settings_usb_mode"));
- initHook(new ViewWifiPasswordHook(), mPrefsMap.getBoolean("system_settings_safe_wifi"));
- initHook(new VoipAssistantController(), mPrefsMap.getBoolean("system_settings_voip_assistant_controller"));
- initHook(new MoreVpnTypes(), mPrefsMap.getBoolean("system_settings_more_vpn_types"));
- initHook(new AddMiuiPlusEntry(), mPrefsMap.getBoolean("mirror_unlock_miui_plus"));
- initHook(new EnableSpeedMode(), mPrefsMap.getBoolean("system_settings_develop_speed_mode"));
- initHook(new QuickManageOverlayPermission(), mPrefsMap.getBoolean("system_settings_permission_show_app_up"));
- initHook(new QuickManageUnknownAppSources(), mPrefsMap.getBoolean("system_settings_permission_unknown_origin_app"));
- initHook(new QuickManagerAccessibilityPermission(), mPrefsMap.getBoolean("system_settings_permission_accessibility"));
- initHook(new InternationalBuild(), mPrefsMap.getBoolean("system_settings_international_build"));
- initHook(new DisableInstallUnknownVerify(), mPrefsMap.getBoolean("system_settings_permission_disable_install_unknown_verify"));
- initHook(new NewNFCPage(), mPrefsMap.getBoolean("system_settings_new_nfc_page"));
- initHook(new AppsFreezerEnable(), mPrefsMap.getBoolean("system_settings_apps_freezer"));
- // initHook(new BluetoothRestrict(), mPrefsMap.getBoolean("various_disable_bluetooth_restrict"));
- initHook(new VolumeSeparateControlForSettings(), mPrefsMap.getBoolean("system_framework_volume_separate_control") && !isMoreHyperOSVersion(1f));
- initHook(UnlockMaxFps.INSTANCE, mPrefsMap.getBoolean("system_settings_develop_max_fps"));
- initHook(new AntiQues(), mPrefsMap.getBoolean("system_settings_anti_ques"));
-
- initHook(new UnlockSuperResolution(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_sr"));
- initHook(new UnlockAi(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_ai"));
- initHook(new UnlockMemc(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_memc"));
- initHook(UnLockAreaScreenshot.INSTANCE, mPrefsMap.getBoolean("system_settings_area_screenshot"));
- initHook(NoveltyHaptic.INSTANCE, mPrefsMap.getBoolean("system_settings_novelty_haptic"));
- initHook(new MoreNotificationSettings(), mPrefsMap.getBoolean("system_settings_more_notification_settings"));
- initHook(new AllowManageAllNotifications(), mPrefsMap.getBoolean("system_framework_allow_manage_all_notifications"));
- initHook(new LanguageMenuShowAllApps(), mPrefsMap.getBoolean("system_settings_lang_menu_shouw_all_app"));
-
- initHook(new EnablePadArea(), mPrefsMap.getBoolean("system_settings_enable_pad_area"));
- initHook(new EnableFoldArea(), mPrefsMap.getBoolean("system_settings_enable_fold_area"));
-
- initHook(new ModifySystemVersion(), mPrefsMap.getBoolean("updater_enable_miui_version") && mPrefsMap.getStringAsInt("updater_version_mode", 1) != 1);
-
- initHook(UnlockTaplusForSettings.INSTANCE, mPrefsMap.getBoolean("content_extension_unlock_taplus"));
-
- initHook(new AddGoogleListHeader(), mPrefsMap.getBoolean("system_settings_unlock_google_header"));
-
- initHook(new UnlockNeverSleepScreen(), mPrefsMap.getBoolean("system_settings_allow_never_lock_screen"));
-
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Phone/SystemSettingsU.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Phone/SystemSettingsU.java
index 646975217..fcf6eae3d 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Phone/SystemSettingsU.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Phone/SystemSettingsU.java
@@ -53,7 +53,6 @@
import com.sevtinge.hyperceiler.module.hook.systemsettings.UsbModeChoose;
import com.sevtinge.hyperceiler.module.hook.systemsettings.ViewWifiPasswordHook;
import com.sevtinge.hyperceiler.module.hook.systemsettings.VoipAssistantController;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.VolumeSeparateControlForSettings;
import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockAi;
import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockMemc;
import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockSuperResolution;
@@ -83,14 +82,12 @@ public void handleLoadPackage() {
initHook(new NewNFCPage(), mPrefsMap.getBoolean("system_settings_new_nfc_page"));
initHook(new AppsFreezerEnable(), mPrefsMap.getBoolean("system_settings_apps_freezer"));
// initHook(new BluetoothRestrict(), mPrefsMap.getBoolean("various_disable_bluetooth_restrict"));
- initHook(new VolumeSeparateControlForSettings(), mPrefsMap.getBoolean("system_framework_volume_separate_control") && !isMoreHyperOSVersion(1f));
initHook(UnlockMaxFps.INSTANCE, mPrefsMap.getBoolean("system_settings_develop_max_fps"));
initHook(new AntiQues(), mPrefsMap.getBoolean("system_settings_anti_ques"));
initHook(new UnlockSuperResolution(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_sr"));
initHook(new UnlockAi(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_ai"));
initHook(new UnlockMemc(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_memc"));
- initHook(UnLockAreaScreenshot.INSTANCE, mPrefsMap.getBoolean("system_settings_area_screenshot"));
initHook(NoveltyHaptic.INSTANCE, mPrefsMap.getBoolean("system_settings_novelty_haptic"));
initHook(new MoreNotificationSettings(), mPrefsMap.getBoolean("system_settings_more_notification_settings"));
initHook(new AllowManageAllNotifications(), mPrefsMap.getBoolean("system_framework_allow_manage_all_notifications"));
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Phone/SystemSettingsV.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Phone/SystemSettingsV.java
index 43c1efb53..2feb47204 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Phone/SystemSettingsV.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemSettings/Phone/SystemSettingsV.java
@@ -54,7 +54,6 @@
import com.sevtinge.hyperceiler.module.hook.systemsettings.UsbModeChoose;
import com.sevtinge.hyperceiler.module.hook.systemsettings.ViewWifiPasswordHook;
import com.sevtinge.hyperceiler.module.hook.systemsettings.VoipAssistantController;
-import com.sevtinge.hyperceiler.module.hook.systemsettings.VolumeSeparateControlForSettings;
import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockAi;
import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockMemc;
import com.sevtinge.hyperceiler.module.hook.systemsettings.aiimage.UnlockSuperResolution;
@@ -85,14 +84,12 @@ public void handleLoadPackage() {
initHook(new NewNFCPage(), mPrefsMap.getBoolean("system_settings_new_nfc_page"));
initHook(new AppsFreezerEnable(), mPrefsMap.getBoolean("system_settings_apps_freezer"));
// initHook(new BluetoothRestrict(), mPrefsMap.getBoolean("various_disable_bluetooth_restrict"));
- initHook(new VolumeSeparateControlForSettings(), mPrefsMap.getBoolean("system_framework_volume_separate_control") && !isMoreHyperOSVersion(1f));
initHook(UnlockMaxFps.INSTANCE, mPrefsMap.getBoolean("system_settings_develop_max_fps"));
initHook(new AntiQues(), mPrefsMap.getBoolean("system_settings_anti_ques"));
initHook(new UnlockSuperResolution(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_sr"));
initHook(new UnlockAi(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_ai"));
initHook(new UnlockMemc(), mPrefsMap.getBoolean("system_settings_ai_image_unlock_memc"));
- initHook(UnLockAreaScreenshot.INSTANCE, mPrefsMap.getBoolean("system_settings_area_screenshot"));
initHook(NoveltyHaptic.INSTANCE, mPrefsMap.getBoolean("system_settings_novelty_haptic"));
initHook(new MoreNotificationSettings(), mPrefsMap.getBoolean("system_settings_more_notification_settings"));
initHook(new AllowManageAllNotifications(), mPrefsMap.getBoolean("system_framework_allow_manage_all_notifications"));
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Pad/SystemUiT.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Pad/SystemUiT.java
deleted file mode 100644
index 73792cec6..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Pad/SystemUiT.java
+++ /dev/null
@@ -1,384 +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.app.SystemUI.Pad;
-
-import static com.sevtinge.hyperceiler.utils.api.OldFunApisKt.isNewNetworkStyle;
-import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isMoreHyperOSVersion;
-
-import com.hchen.database.HookBase;
-import com.sevtinge.hyperceiler.module.base.BaseModule;
-import com.sevtinge.hyperceiler.module.hook.systemframework.FlagSecure;
-import com.sevtinge.hyperceiler.module.hook.systemui.AllowManageAllNotifications;
-import com.sevtinge.hyperceiler.module.hook.systemui.AutoCollapse;
-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.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.QSDetailBackGround;
-import com.sevtinge.hyperceiler.module.hook.systemui.RemoveMiuiMultiWinSwitch;
-import com.sevtinge.hyperceiler.module.hook.systemui.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.AddBlurEffectToNotificationView;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.AllowAllThemesNotificationBlur;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.CCGrid;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.CompactNotificationsHook;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.ControlCenterStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.DisableDeviceManaged;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.ExpandNotification;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.FiveGTile;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.FixTilesList;
-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.MediaButton;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.MediaControlPanelBackgroundMix;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.MediaControlPanelTimeViewTextSize;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.MediaSeekBar;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.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.NotificationWeatherNew;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationWeatherOld;
-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.QSControlDetailBackgroundAlpha;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSGrid;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSGridLabels;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.RedirectToNotificationChannelSetting;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.ReduceBrightColorsTile;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.RemoveNotifNumLimit;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.SnowLeopardModeTile;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.SunlightMode;
-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.lockscreen.AddBlurEffectToLockScreen;
-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;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ChargingCVP;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ClockDisplaySeconds;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.DisableUnlockByBleToast;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ForceClockUseSystemFontsHook;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockScreenHint;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockScreenStatusBar;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockscreenZenMode;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.LinkageAnimCustomer;
-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.plugin.PluginHelper;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.BlurEnable;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.DoubleTapToSleep;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.HideStatusBarBeforeScreenshot;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.NotificationIconColumns;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.SelectiveHideIconForAlarmClock;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.WifiStandard;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.DisableAnim;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.FixColor;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.StatusBarClockNew;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.TimeCustomization;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.TimeStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.device.DisplayHardwareDetail;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.BatteryStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.BluetoothIcon;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.DataSaverIcon;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.HideBatteryIcon;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.HideVoWiFiIcon;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.IconsFromSystemManager;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.StatusBarIcon;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.StatusBarIconPositionAdjust;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.StatusBarSimIcon;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.WifiNetworkIndicator;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.t.UseNewHD;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.layout.StatusBarLayout;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.DualRowSignalHook;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.MobileNetwork;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.MobilePublicHook;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.MobileTypeSingleHook;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.MobileTypeTextCustom;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.NetworkSpeedSec;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.NetworkSpeedSpacing;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.news.NewNetworkSpeed;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.news.NewNetworkSpeedStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.old.NetworkSpeed;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.old.NetworkSpeedStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.old.StatusBarNoNetSpeedSep;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.s.NetworkSpeedWidth;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.strongtoast.HideStrongToast;
-
-import java.util.Objects;
-
-@HookBase(targetPackage = "com.android.systemui", isPad = 1, targetSdk = 33)
-public class SystemUiT extends BaseModule {
- @Override
- public void handleLoadPackage() {
- // PluginHelper
- initHook(new PluginHelper(), true);// 充电动画
- // initHook(Island.INSTANCE, true); // 灵动岛
- initHook(new ChargeAnimationStyle(), mPrefsMap.getStringAsInt("system_ui_charge_animation_style", 0) > 0);
- // initHook(DisableChargeAnimation.INSTANCE);
-
- // 小窗
- initHook(new NotificationFreeform(), mPrefsMap.getBoolean("system_ui_notification_freeform"));
-
- // 禁用蓝牙临时关闭
- initHook(new BluetoothRestrict(), mPrefsMap.getBoolean("system_ui_disable_bluetooth_restrict"));
-
- // Monet
- initHook(new MonetThemeOverlay(), mPrefsMap.getBoolean("system_ui_monet_overlay_custom"));
-
- // 状态栏图标
- boolean isHideSim = (mPrefsMap.getBoolean("system_ui_status_bar_icon_mobile_network_hide_card_1") ||
- mPrefsMap.getBoolean("system_ui_status_bar_icon_mobile_network_hide_card_2")) &&
- !mPrefsMap.getBoolean("system_ui_statusbar_network_icon_enable") && !isMoreHyperOSVersion(1f);
-
- initHook(new StatusBarIcon(), true);
- initHook(new IconsFromSystemManager(), true);
- initHook(new UnlockCustomActions(), mPrefsMap.getBoolean("system_ui_control_center_media_control_unlock_custom_actions"));
- initHook(new BluetoothIcon(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_bluetooth", 0) != 0 && !isMoreHyperOSVersion(1f));
- initHook(new WifiStandard(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_wifi_standard", 0) > 0);
- initHook(new SelectiveHideIconForAlarmClock(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_alarm_clock", 0) == 3 && mPrefsMap.getInt("system_ui_status_bar_icon_alarm_clock_n", 0) > 0);
- initHook(new NotificationIconColumns(), mPrefsMap.getBoolean("system_ui_status_bar_notification_dots_maximum_enable") || mPrefsMap.getBoolean("system_ui_status_bar_notification_icon_maximum_enable"));
- initHook(new HideStatusBarBeforeScreenshot(), mPrefsMap.getBoolean("system_ui_status_bar_hide_icon"));
- initHook(new DataSaverIcon(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_data_saver", 0) != 0);
- initHook(WifiNetworkIndicator.INSTANCE, mPrefsMap.getStringAsInt("system_ui_status_bar_icon_wifi_network_indicator", 0) > 0);
- initHook(StatusBarSimIcon.INSTANCE, isHideSim);
- initHook(HideVoWiFiIcon.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_icon_vowifi") || mPrefsMap.getBoolean("system_ui_status_bar_icon_volte"));
- initHook(UseNewHD.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_use_new_hd"));
- initHook(new StickyFloatingWindowsForSystemUI(), mPrefsMap.getBoolean("system_framework_freeform_sticky"));
-
- // 移动网络图标
- boolean isEnableMobilePublic = mPrefsMap.getBoolean("system_ui_status_bar_icon_mobile_network_hide_card_1") ||
- mPrefsMap.getBoolean("system_ui_status_bar_icon_mobile_network_hide_card_2") ||
- mPrefsMap.getStringAsInt("system_ui_status_bar_icon_show_mobile_network_type", 0) != 0 ||
- mPrefsMap.getBoolean("system_ui_status_bar_mobile_hide_roaming_icon") ||
- mPrefsMap.getBoolean("system_ui_statusbar_mobile_type_enable") ||
- mPrefsMap.getBoolean("system_ui_status_bar_mobile_indicator");
- boolean isEnableMobileNetwork = mPrefsMap.getStringAsInt("system_ui_status_bar_icon_small_hd", 0) != 0 ||
- mPrefsMap.getStringAsInt("system_ui_status_bar_icon_big_hd", 0) != 0 ||
- mPrefsMap.getStringAsInt("system_ui_status_bar_icon_new_hd", 0) != 0;
-
- initHook(MobilePublicHook.INSTANCE, isEnableMobilePublic);
- initHook(new MobileNetwork(), isEnableMobileNetwork);
- initHook(new DualRowSignalHook(), mPrefsMap.getBoolean("system_ui_statusbar_network_icon_enable"));
- initHook(MobileTypeSingleHook.INSTANCE, mPrefsMap.getBoolean("system_ui_statusbar_mobile_type_enable"));
- initHook(MobileTypeTextCustom.INSTANCE, !Objects.equals(mPrefsMap.getString("system_ui_status_bar_mobile_type_custom", ""), ""));
-
- // 电池相关
- boolean isHideBatteryIcon = mPrefsMap.getBoolean("system_ui_status_bar_battery_icon") ||
- mPrefsMap.getBoolean("system_ui_status_bar_battery_percent") ||
- mPrefsMap.getBoolean("system_ui_status_bar_battery_percent_mark") ||
- mPrefsMap.getBoolean("system_ui_status_bar_battery_charging");
- initHook(HideBatteryIcon.INSTANCE, isHideBatteryIcon);
- initHook(BatteryStyle.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_battery_style_enable_custom") ||
- mPrefsMap.getBoolean("system_ui_status_bar_battery_style_change_location"));
- // initHook(new BatteryIndicator(), mPrefsMap.getBoolean("system_ui_status_bar_battery_indicator_enable"));
-
- // 网速指示器
- if (mPrefsMap.getBoolean("system_ui_statusbar_network_speed_all_status_enable")) {
- if (!isNewNetworkStyle()) {
- initHook(NetworkSpeed.INSTANCE, true);
- initHook(NetworkSpeedWidth.INSTANCE, mPrefsMap.getInt("system_ui_statusbar_network_speed_fixedcontent_width", 10) > 10);
- initHook(NetworkSpeedStyle.INSTANCE, true);
- initHook(StatusBarNoNetSpeedSep.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_no_netspeed_separator"));
- } else {
- initHook(NewNetworkSpeed.INSTANCE, true);
- initHook(NewNetworkSpeedStyle.INSTANCE, true);
- }
- initHook(new NetworkSpeedSpacing(), mPrefsMap.getInt("system_ui_statusbar_network_speed_update_spacing", 3) != 3);
- initHook(new NetworkSpeedSec(), mPrefsMap.getBoolean("system_ui_statusbar_network_speed_sec_unit"));
- }
-
- // 时钟指示器
- boolean isEnableTime = mPrefsMap.getStringAsInt("system_ui_statusbar_clock_mode", 0) != 0 ||
- mPrefsMap.getInt("system_ui_statusbar_clock_left_margin", 0) != 0 ||
- mPrefsMap.getInt("system_ui_statusbar_clock_right_margin", 0) != 0 ||
- mPrefsMap.getInt("system_ui_statusbar_clock_vertical_offset", 12) != 12 ||
- mPrefsMap.getBoolean("system_ui_statusbar_clock_bold");
-
- if (isMoreHyperOSVersion(1f)) {
- initHook(StatusBarClockNew.INSTANCE, mPrefsMap.getBoolean("system_ui_statusbar_clock_all_status_enable"));
- initHook(new DisableAnim(), mPrefsMap.getBoolean("system_ui_disable_clock_anim"));
- initHook(new FixColor(), mPrefsMap.getBoolean("system_ui_statusbar_clock_fix_color"));
- } else {
- initHook(TimeStyle.INSTANCE, isEnableTime);
- initHook(TimeCustomization.INSTANCE, mPrefsMap.getStringAsInt("system_ui_statusbar_clock_mode", 0) != 0);
- }
-
- // 硬件指示器
- initHook(new DisplayHardwareDetail(), mPrefsMap.getBoolean("system_ui_statusbar_battery_enable") ||
- mPrefsMap.getBoolean("system_ui_statusbar_temp_enable"));
-
- // initHook(new DisplayHardwareDetailForHyper(), true);
-
- // 灵动舞台
- initHook(HideStrongToast.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_hide_smart_strong_toast"));
-
- // 居右显示
- boolean isWiFiAtLeft = mPrefsMap.getBoolean("system_ui_status_bar_wifi_at_left");
- boolean isMobileNetworkAtLeft = mPrefsMap.getBoolean("system_ui_status_bar_mobile_network_at_left");
-
- boolean isNetworkSpeedAtRight = mPrefsMap.getBoolean("system_ui_status_bar_network_speed_at_right");
- boolean isAlarmClockAtRight = mPrefsMap.getBoolean("system_ui_status_bar_alarm_clock_at_right");
- boolean isNFCAtRight = mPrefsMap.getBoolean("system_ui_status_bar_nfc_at_right");
- boolean isVolumeAtRight = mPrefsMap.getBoolean("system_ui_status_bar_volume_at_right");
- boolean isZenAtRight = mPrefsMap.getBoolean("system_ui_status_bar_zen_at_right");
-
- boolean isSwapWiFiAndMobileNetwork = mPrefsMap.getBoolean("system_ui_status_bar_swap_wifi_and_mobile_network");
-
- boolean isStatusBarIconAtRightEnable = isWiFiAtLeft || isMobileNetworkAtLeft || isSwapWiFiAndMobileNetwork || isNetworkSpeedAtRight || isAlarmClockAtRight || isNFCAtRight || isVolumeAtRight || isZenAtRight;
-
- initHook(new StatusBarIconPositionAdjust(), isStatusBarIconAtRightEnable);
-
- // 导航栏
- initHook(new HandleLineCustom(), mPrefsMap.getBoolean("system_ui_navigation_handle_custom"));
- initHook(new NavigationCustom(), mPrefsMap.getBoolean("system_ui_navigation_custom"));
- initHook(new HideNavigationBar(), mPrefsMap.getBoolean("system_ui_hide_navigation_bar"));
- initHook(new RotationButton(), mPrefsMap.getStringAsInt("system_framework_other_rotation_button_int", 0) != 0);
- // 状态栏布局
- initHook(StatusBarLayout.INSTANCE, mPrefsMap.getBoolean("system_ui_statusbar_layout_compatibility_mode") ||
- mPrefsMap.getStringAsInt("system_ui_statusbar_layout_mode", 0) != 0);
-
- initHook(new FlagSecure(), mPrefsMap.getBoolean("system_other_flag_secure"));
- // 实验性功能
- // initHook(new SwitchControlPanel(), false);
- // initHook(new MiuiGxzwSize(), false);
-
- // 控制中心
- // initHook(new SmartHome(), false);
- initHook(new QSColor(), mPrefsMap.getBoolean("system_ui_control_center_qs_open_color") || mPrefsMap.getBoolean("system_ui_control_center_qs_big_open_color"));
- initHook(new UnimportantNotification(), mPrefsMap.getBoolean("system_ui_control_center_unimportant_notification"));
- initHook(new BlurEnable(), mPrefsMap.getBoolean("system_ui_control_center_statusbar_blur"));
- initHook(new ExpandNotification(), !mPrefsMap.getStringSet("system_ui_control_center_expand_notification").isEmpty());
- initHook(new HideDelimiter(), mPrefsMap.getStringAsInt("system_ui_control_center_hide_operator", 0) != 0);
- initHook(new QSDetailBackGround(), mPrefsMap.getInt("system_control_center_qs_detail_bg", 0) > 0);
- initHook(new GmsTile(), mPrefsMap.getBoolean("security_center_gms_open"));
- initHook(new TaplusTile(), mPrefsMap.getBoolean("security_center_taplus"));
- initHook(new ReduceBrightColorsTile(), mPrefsMap.getBoolean("security_center_reduce_bright_colors_tile"));
- initHook(new FiveGTile(), mPrefsMap.getStringAsInt("system_control_center_5g_new_tile", 0) != 0);
- initHook(new SnowLeopardModeTile(), mPrefsMap.getBoolean("system_ui_control_center_snow_leopard_mode"));
- initHook(new FlashLight(), mPrefsMap.getStringAsInt("security_flash_light_switch", 0) != 0);
- if (mPrefsMap.getStringAsInt("system_control_center_sunshine_new_mode_high", 0) != 0) {
- initHook(new SunlightModeHigh());
- } else {
- initHook(new SunlightMode(), mPrefsMap.getStringAsInt("system_control_center_sunshine_new_mode", 0) != 0);
- }
- initHook(new QSGridLabels(), mPrefsMap.getInt("system_control_center_old_qs_row", 1) > 1 ||
- mPrefsMap.getBoolean("system_control_center_qs_tile_label"));
- initHook(new MuteVisibleNotifications(), mPrefsMap.getBoolean("system_ui_control_center_mute_visible_notice"));
- initHook(new SwitchCCAndNotification(), mPrefsMap.getBoolean("system_ui_control_center_switch_cc_and_notification"));
- initHook(QSControlDetailBackgroundAlpha.INSTANCE, mPrefsMap.getInt("system_ui_control_center_control_detail_background_alpha", 255) != 255);
- initHook(NotificationWeather.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_show_weather"));
- initHook(NotificationWeatherOld.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_show_weather"));
- initHook(NotificationWeatherNew.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_show_weather"));
- initHook(CompactNotificationsHook.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_compact_notice"));
- /*initHook(CCGridOld.INSTANCE, mPrefsMap.getInt("system_control_center_cc_rows", 4) > 4 ||
- mPrefsMap.getInt("system_control_center_cc_columns", 4) > 4 ||
- (mPrefsMap.getBoolean("system_ui_control_center_rounded_rect") && !isMoreHyperOSVersion(1f)) ||
- mPrefsMap.getBoolean("system_control_center_qs_tile_label"));*/
- initHook(new CCGrid(), (mPrefsMap.getInt("system_control_center_cc_rows", 4) > 4 ||
- mPrefsMap.getInt("system_control_center_cc_columns", 4) > 4 ||
- mPrefsMap.getBoolean("system_ui_control_center_rounded_rect") ||
- mPrefsMap.getBoolean("system_control_center_qs_tile_label")) && !isMoreHyperOSVersion(1f));
- initHook(new QSGrid(), mPrefsMap.getBoolean("system_control_center_old_enable"));
- initHook(new QQSGrid(), mPrefsMap.getBoolean("system_control_center_old_enable"));
- initHook(new AutoCollapse(), mPrefsMap.getBoolean("system_ui_control_auto_close"));
- initHook(RedirectToNotificationChannelSetting.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_redirect_notice"));
- initHook(ControlCenterStyle.INSTANCE, mPrefsMap.getBoolean("system_control_center_unlock_old"));
- initHook(NotificationImportanceHyperOSFix.INSTANCE, mPrefsMap.getBoolean("system_settings_more_notification_settings") && isMoreHyperOSVersion(1f));
- initHook(new NotificationRowMenu(), mPrefsMap.getBoolean("system_ui_control_center_notifrowmenu"));
- initHook(new FixTilesList(), mPrefsMap.getBoolean("system_ui_control_center_fix_tiles_list"));
- initHook(new AllowAllThemesNotificationBlur(), mPrefsMap.getBoolean("system_ui_control_center_unlock_blur_supported"));
- initHook(new DisableTransparent(), mPrefsMap.getBoolean("system_ui_control_center_notification_disable_transparent"));
- initHook(new DisableDeviceManaged(), mPrefsMap.getBoolean("system_ui_control_center_disable_device_managed"));
- initHook(new RemoveNotifNumLimit(), mPrefsMap.getBoolean("system_ui_control_center_remove_notif_num_limit"));
-
- // Media Card
- initHook(new MediaControlPanelBackgroundMix(), mPrefsMap.getBoolean("system_ui_control_center_media_control_panel_background_mix"));
- initHook(new MediaButton(), mPrefsMap.getInt("system_ui_control_center_media_control_media_button", 140) != 140
- || mPrefsMap.getInt("system_ui_control_center_media_control_media_button_custom", 140) != 140);
- initHook(new MediaSeekBarColor(), mPrefsMap.getInt("system_ui_control_center_media_control_seekbar_color", -1) != -1
- || mPrefsMap.getInt("system_ui_control_center_media_control_seekbar_thumb_color", -1) != -1);
- initHook(new SquigglyProgress(), mPrefsMap.getStringAsInt("system_ui_control_center_media_control_progress_mode", 0) == 1);
- initHook(new MediaControlPanelTimeViewTextSize(), mPrefsMap.getInt("system_ui_control_center_media_control_time_view_text_size", 13) != 13);
- initHook(MediaSeekBar.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_remove_media_control_panel_background") ||
- mPrefsMap.getStringAsInt("system_ui_control_center_media_control_progress_mode", 0) == 2);
-
- // Actions
- initHook(new StatusBarActions(), true);
-
- // Other
- initHook(new UiLockApp(), mPrefsMap.getBoolean("system_framework_guided_access"));
- 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(RemoveMiuiMultiWinSwitch.INSTANCE, mPrefsMap.getBoolean("system_ui_remove_miui_multi_win_switch"));
- initHook(DisableInfinitymodeGesture.INSTANCE, mPrefsMap.getBoolean("system_ui_disable_infinitymode_gesture"));
- initHook(DisableBottomBar.INSTANCE, mPrefsMap.getBoolean("system_ui_disable_bottombar"));
- initHook(UnlockClipboard.INSTANCE, mPrefsMap.getBoolean("system_ui_unlock_clipboard"));
- initHook(new VolumeTimerValuesHook(), mPrefsMap.getBoolean("system_ui_volume_timer"));
-
- // 锁屏
- initHook(new ScramblePIN(), mPrefsMap.getBoolean("system_ui_lock_screen_scramble_pin"));
- initHook(ClockDisplaySeconds.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_show_second"));
- 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(ForceClockUseSystemFontsHook.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_force_system_fonts"));
- initHook(HideLockscreenZenMode.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_not_disturb_mode"));
- initHook(HideLockScreenHint.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_unlock_tip"));
- initHook(HideLockScreenStatusBar.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_hide_status_bar"));
- initHook(new BlockEditor(), mPrefsMap.getBoolean("system_ui_lock_screen_block_editor"));
- initHook(AllowThirdLockScreenUseFace.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_allow_third_face"));
- initHook(new DisableUnlockByBleToast(), mPrefsMap.getBoolean("system_ui_lock_screen_disable_unlock_by_ble_toast"));
- initHook(new LinkageAnimCustomer(), mPrefsMap.getBoolean("system_ui_lock_screen_linkage_anim"));
-
- initHook(AddBlurEffectToLockScreen.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_blur_button"));
- initHook(AddBlurEffectToNotificationView.INSTANCE, mPrefsMap.getBoolean("n_enable"));
- initHook(BlurButton.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_blur_button"));
-
- initHook(DoubleTapToSleep.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_double_tap_to_sleep"));
-
- initHook(new AllowManageAllNotifications(), mPrefsMap.getBoolean("system_framework_allow_manage_all_notifications"));
- }
-}
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 c2e2bdbf1..606d3cc31 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
@@ -18,15 +18,10 @@
*/
package com.sevtinge.hyperceiler.module.app.SystemUI.Pad;
-import static com.sevtinge.hyperceiler.utils.api.OldFunApisKt.isNewNetworkStyle;
-import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isMoreHyperOSVersion;
-
import com.hchen.database.HookBase;
import com.sevtinge.hyperceiler.module.base.BaseModule;
-import com.sevtinge.hyperceiler.module.hook.systemframework.FlagSecure;
import com.sevtinge.hyperceiler.module.hook.systemui.AllowManageAllNotifications;
import com.sevtinge.hyperceiler.module.hook.systemui.AutoCollapse;
-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;
@@ -36,7 +31,6 @@
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.QSDetailBackGround;
import com.sevtinge.hyperceiler.module.hook.systemui.RemoveMiuiMultiWinSwitch;
import com.sevtinge.hyperceiler.module.hook.systemui.SquigglyProgress;
import com.sevtinge.hyperceiler.module.hook.systemui.StatusBarActions;
@@ -46,9 +40,7 @@
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.AddBlurEffectToNotificationView;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.AllowAllThemesNotificationBlur;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.CCGrid;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.CompactNotificationsHook;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.ControlCenterStyle;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.DisableDeviceManaged;
@@ -67,11 +59,8 @@
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.NotificationWeatherNew;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationWeatherOld;
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.QSControlDetailBackgroundAlpha;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSGrid;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSGridLabels;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.RedirectToNotificationChannelSetting;
@@ -82,14 +71,11 @@
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.lockscreen.AddBlurEffectToLockScreen;
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;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ChargingCVP;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ClockDisplaySeconds;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.DisableUnlockByBleToast;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ForceClockUseSystemFontsHook;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockScreenHint;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockScreenStatusBar;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockscreenZenMode;
@@ -113,20 +99,14 @@
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.DisableAnim;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.FixColor;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.StatusBarClockNew;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.TimeCustomization;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.TimeStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.device.DisplayHardwareDetail;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.BatteryStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.BluetoothIcon;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.DataSaverIcon;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.HideBatteryIcon;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.HideVoWiFiIcon;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.IconsFromSystemManager;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.StatusBarIcon;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.StatusBarIconPositionAdjust;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.StatusBarSimIcon;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.WifiNetworkIndicator;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.layout.StatusBarLayout;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.DualRowSignalHook;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.MobileNetwork;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.MobilePublicHook;
@@ -136,10 +116,6 @@
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.NetworkSpeedSpacing;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.news.NewNetworkSpeed;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.news.NewNetworkSpeedStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.old.NetworkSpeed;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.old.NetworkSpeedStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.old.StatusBarNoNetSpeedSep;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.s.NetworkSpeedWidth;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.strongtoast.HideStrongToast;
import java.util.Objects;
@@ -163,21 +139,15 @@ public void handleLoadPackage() {
initHook(new MonetThemeOverlay(), mPrefsMap.getBoolean("system_ui_monet_overlay_custom"));
// 状态栏图标
- boolean isHideSim = (mPrefsMap.getBoolean("system_ui_status_bar_icon_mobile_network_hide_card_1") ||
- mPrefsMap.getBoolean("system_ui_status_bar_icon_mobile_network_hide_card_2")) &&
- !mPrefsMap.getBoolean("system_ui_statusbar_network_icon_enable") && !isMoreHyperOSVersion(1f);
-
initHook(new StatusBarIcon(), true);
initHook(new IconsFromSystemManager(), true);
initHook(new UnlockCustomActions(), mPrefsMap.getBoolean("system_ui_control_center_media_control_unlock_custom_actions"));
- initHook(new BluetoothIcon(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_bluetooth", 0) != 0 && !isMoreHyperOSVersion(1f));
initHook(new WifiStandard(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_wifi_standard", 0) > 0);
initHook(new SelectiveHideIconForAlarmClock(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_alarm_clock", 0) == 3 && mPrefsMap.getInt("system_ui_status_bar_icon_alarm_clock_n", 0) > 0);
- initHook(new NotificationIconColumns(), mPrefsMap.getBoolean("system_ui_status_bar_notification_dots_maximum_enable") || mPrefsMap.getBoolean("system_ui_status_bar_notification_icon_maximum_enable"));
+ initHook(new NotificationIconColumns(), mPrefsMap.getBoolean("system_ui_status_bar_notification_icon_maximum_enable"));
initHook(new HideStatusBarBeforeScreenshot(), mPrefsMap.getBoolean("system_ui_status_bar_hide_icon"));
initHook(new DataSaverIcon(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_data_saver", 0) != 0);
initHook(WifiNetworkIndicator.INSTANCE, mPrefsMap.getStringAsInt("system_ui_status_bar_icon_wifi_network_indicator", 0) > 0);
- initHook(StatusBarSimIcon.INSTANCE, isHideSim);
initHook(HideVoWiFiIcon.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_icon_vowifi") || mPrefsMap.getBoolean("system_ui_status_bar_icon_volte"));
initHook(new StickyFloatingWindowsForSystemUI(), mPrefsMap.getBoolean("system_framework_freeform_sticky"));
@@ -210,15 +180,8 @@ public void handleLoadPackage() {
// 网速指示器
if (mPrefsMap.getBoolean("system_ui_statusbar_network_speed_all_status_enable")) {
- if (!isNewNetworkStyle()) {
- initHook(NetworkSpeed.INSTANCE, true);
- initHook(NetworkSpeedWidth.INSTANCE, mPrefsMap.getInt("system_ui_statusbar_network_speed_fixedcontent_width", 10) > 10);
- initHook(NetworkSpeedStyle.INSTANCE, true);
- initHook(StatusBarNoNetSpeedSep.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_no_netspeed_separator"));
- } else {
- initHook(NewNetworkSpeed.INSTANCE, true);
- initHook(NewNetworkSpeedStyle.INSTANCE, true);
- }
+ initHook(NewNetworkSpeed.INSTANCE, true);
+ initHook(NewNetworkSpeedStyle.INSTANCE, true);
initHook(new NetworkSpeedSpacing(), mPrefsMap.getInt("system_ui_statusbar_network_speed_update_spacing", 3) != 3);
initHook(new NetworkSpeedSec(), mPrefsMap.getBoolean("system_ui_statusbar_network_speed_sec_unit"));
}
@@ -230,18 +193,9 @@ public void handleLoadPackage() {
mPrefsMap.getInt("system_ui_statusbar_clock_vertical_offset", 12) != 12 ||
mPrefsMap.getBoolean("system_ui_statusbar_clock_bold");
- if (isMoreHyperOSVersion(1f)) {
- initHook(StatusBarClockNew.INSTANCE, mPrefsMap.getBoolean("system_ui_statusbar_clock_all_status_enable"));
- initHook(new DisableAnim(), mPrefsMap.getBoolean("system_ui_disable_clock_anim"));
- initHook(new FixColor(), mPrefsMap.getBoolean("system_ui_statusbar_clock_fix_color"));
- } else {
- initHook(TimeStyle.INSTANCE, isEnableTime);
- initHook(TimeCustomization.INSTANCE, mPrefsMap.getStringAsInt("system_ui_statusbar_clock_mode", 0) != 0);
- }
-
- // 硬件指示器
- initHook(new DisplayHardwareDetail(), mPrefsMap.getBoolean("system_ui_statusbar_battery_enable") ||
- mPrefsMap.getBoolean("system_ui_statusbar_temp_enable"));
+ initHook(StatusBarClockNew.INSTANCE, mPrefsMap.getBoolean("system_ui_statusbar_clock_all_status_enable"));
+ initHook(new DisableAnim(), mPrefsMap.getBoolean("system_ui_disable_clock_anim"));
+ initHook(new FixColor(), mPrefsMap.getBoolean("system_ui_statusbar_clock_fix_color"));
// initHook(new DisplayHardwareDetailForHyper(), true);
@@ -269,9 +223,6 @@ public void handleLoadPackage() {
initHook(new NavigationCustom(), mPrefsMap.getBoolean("system_ui_navigation_custom"));
initHook(new HideNavigationBar(), mPrefsMap.getBoolean("system_ui_hide_navigation_bar"));
initHook(new RotationButton(), mPrefsMap.getStringAsInt("system_framework_other_rotation_button_int", 0) != 0);
- // 状态栏布局
- initHook(StatusBarLayout.INSTANCE, mPrefsMap.getBoolean("system_ui_statusbar_layout_compatibility_mode") ||
- mPrefsMap.getStringAsInt("system_ui_statusbar_layout_mode", 0) != 0);
// 实验性功能
// initHook(new SwitchControlPanel(), false);
@@ -284,7 +235,6 @@ public void handleLoadPackage() {
initHook(new BlurEnable(), mPrefsMap.getBoolean("system_ui_control_center_statusbar_blur"));
initHook(new ExpandNotification(), !mPrefsMap.getStringSet("system_ui_control_center_expand_notification").isEmpty());
initHook(new HideDelimiter(), mPrefsMap.getStringAsInt("system_ui_control_center_hide_operator", 0) != 0);
- initHook(new QSDetailBackGround(), mPrefsMap.getInt("system_control_center_qs_detail_bg", 0) > 0);
initHook(new GmsTile(), mPrefsMap.getBoolean("security_center_gms_open"));
initHook(new TaplusTile(), mPrefsMap.getBoolean("security_center_taplus"));
initHook(new ReduceBrightColorsTile(), mPrefsMap.getBoolean("security_center_reduce_bright_colors_tile"));
@@ -300,23 +250,18 @@ public void handleLoadPackage() {
mPrefsMap.getBoolean("system_control_center_qs_tile_label"));
initHook(new MuteVisibleNotifications(), mPrefsMap.getBoolean("system_ui_control_center_mute_visible_notice"));
initHook(new SwitchCCAndNotification(), mPrefsMap.getBoolean("system_ui_control_center_switch_cc_and_notification"));
- initHook(QSControlDetailBackgroundAlpha.INSTANCE, mPrefsMap.getInt("system_ui_control_center_control_detail_background_alpha", 255) != 255);
initHook(NotificationWeather.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_show_weather"));
initHook(CompactNotificationsHook.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_compact_notice"));
/*initHook(CCGridOld.INSTANCE, mPrefsMap.getInt("system_control_center_cc_rows", 4) > 4 ||
mPrefsMap.getInt("system_control_center_cc_columns", 4) > 4 ||
(mPrefsMap.getBoolean("system_ui_control_center_rounded_rect") && !isMoreHyperOSVersion(1f)) ||
mPrefsMap.getBoolean("system_control_center_qs_tile_label"));*/
- initHook(new CCGrid(), (mPrefsMap.getInt("system_control_center_cc_rows", 4) > 4 ||
- mPrefsMap.getInt("system_control_center_cc_columns", 4) > 4 ||
- mPrefsMap.getBoolean("system_ui_control_center_rounded_rect") ||
- mPrefsMap.getBoolean("system_control_center_qs_tile_label")) && !isMoreHyperOSVersion(1f));
initHook(new QSGrid(), mPrefsMap.getBoolean("system_control_center_old_enable"));
initHook(new QQSGrid(), mPrefsMap.getBoolean("system_control_center_old_enable"));
initHook(new AutoCollapse(), mPrefsMap.getBoolean("system_ui_control_auto_close"));
initHook(RedirectToNotificationChannelSetting.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_redirect_notice"));
initHook(ControlCenterStyle.INSTANCE, mPrefsMap.getBoolean("system_control_center_unlock_old"));
- initHook(NotificationImportanceHyperOSFix.INSTANCE, mPrefsMap.getBoolean("system_settings_more_notification_settings") && isMoreHyperOSVersion(1f));
+ initHook(NotificationImportanceHyperOSFix.INSTANCE, mPrefsMap.getBoolean("system_settings_more_notification_settings"));
initHook(new NotificationRowMenu(), mPrefsMap.getBoolean("system_ui_control_center_notifrowmenu"));
initHook(new FixTilesList(), mPrefsMap.getBoolean("system_ui_control_center_fix_tiles_list"));
initHook(new AllowAllThemesNotificationBlur(), mPrefsMap.getBoolean("system_ui_control_center_unlock_blur_supported"));
@@ -340,7 +285,7 @@ public void handleLoadPackage() {
// Other
initHook(new UiLockApp(), mPrefsMap.getBoolean("system_framework_guided_access"));
- initHook(new NotificationFix(), mPrefsMap.getBoolean("system_ui_other_notification_fix") && isMoreHyperOSVersion(1f));
+ initHook(new NotificationFix(), mPrefsMap.getBoolean("system_ui_other_notification_fix"));
initHook(new BrightnessPct(), mPrefsMap.getBoolean("system_showpct_title"));
initHook(DisableMiuiMultiWinSwitch.INSTANCE, mPrefsMap.getBoolean("system_ui_disable_miui_multi_win_switch"));
initHook(RemoveMiuiMultiWinSwitch.INSTANCE, mPrefsMap.getBoolean("system_ui_remove_miui_multi_win_switch"));
@@ -351,13 +296,11 @@ public void handleLoadPackage() {
// 锁屏
initHook(new ScramblePIN(), mPrefsMap.getBoolean("system_ui_lock_screen_scramble_pin"));
- initHook(ClockDisplaySeconds.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_show_second"));
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(ForceClockUseSystemFontsHook.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_force_system_fonts"));
initHook(HideLockscreenZenMode.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_not_disturb_mode"));
initHook(HideLockScreenHint.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_unlock_tip"));
initHook(HideLockScreenStatusBar.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_hide_status_bar"));
@@ -366,8 +309,6 @@ public void handleLoadPackage() {
initHook(new DisableUnlockByBleToast(), mPrefsMap.getBoolean("system_ui_lock_screen_disable_unlock_by_ble_toast"));
initHook(new LinkageAnimCustomer(), mPrefsMap.getBoolean("system_ui_lock_screen_linkage_anim"));
- initHook(AddBlurEffectToLockScreen.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_blur_button"));
- initHook(AddBlurEffectToNotificationView.INSTANCE, mPrefsMap.getBoolean("n_enable"));
initHook(BlurButton.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_blur_button"));
initHook(DoubleTapToSleep.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_double_tap_to_sleep"));
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 a84ae7e57..7647a87e2 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
@@ -23,11 +23,9 @@
import com.hchen.database.HookBase;
import com.sevtinge.hyperceiler.module.base.BaseModule;
-import com.sevtinge.hyperceiler.module.hook.systemframework.FlagSecure;
import com.sevtinge.hyperceiler.module.hook.systemui.AllowManageAllNotifications;
import com.sevtinge.hyperceiler.module.hook.systemui.AutoCollapse;
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;
@@ -35,7 +33,6 @@
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.QSDetailBackGround;
import com.sevtinge.hyperceiler.module.hook.systemui.RemoveMiuiMultiWinSwitch;
import com.sevtinge.hyperceiler.module.hook.systemui.SquigglyProgress;
import com.sevtinge.hyperceiler.module.hook.systemui.StatusBarActions;
@@ -44,7 +41,6 @@
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.controlcenter.AddBlurEffectToNotificationView;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.AllowAllThemesNotificationBlur;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.CCGrid;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.CompactNotificationsHook;
@@ -66,11 +62,8 @@
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.NotificationWeatherNew;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationWeatherOld;
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.QSControlDetailBackgroundAlpha;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSGrid;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSGridLabels;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.ReduceBrightColorsTile;
@@ -84,9 +77,7 @@
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.ClockDisplaySeconds;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.DisableUnlockByBleToast;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ForceClockUseSystemFontsHook;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockScreenHint;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockScreenStatusBar;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockscreenZenMode;
@@ -109,9 +100,7 @@
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.WifiStandard;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.FixColor;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.StatusBarClockNew;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.device.DisplayHardwareDetail;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.BatteryStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.BluetoothIcon;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.DataSaverIcon;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.HideBatteryIcon;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.HideVoWiFiIcon;
@@ -146,10 +135,9 @@ public void handleLoadPackage() {
initHook(new StatusBarIcon(), true);
initHook(new IconsFromSystemManager(), true);
initHook(new UnlockCustomActions(), mPrefsMap.getBoolean("system_ui_control_center_media_control_unlock_custom_actions"));
- initHook(new BluetoothIcon(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_bluetooth", 0) != 0 && !isMoreHyperOSVersion(1f));
initHook(new WifiStandard(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_wifi_standard", 0) > 0);
initHook(new SelectiveHideIconForAlarmClock(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_alarm_clock", 0) == 3 && mPrefsMap.getInt("system_ui_status_bar_icon_alarm_clock_n", 0) > 0);
- initHook(new NotificationIconColumns(), mPrefsMap.getBoolean("system_ui_status_bar_notification_dots_maximum_enable") || mPrefsMap.getBoolean("system_ui_status_bar_notification_icon_maximum_enable"));
+ initHook(new NotificationIconColumns(), mPrefsMap.getBoolean("system_ui_status_bar_notification_icon_maximum_enable"));
initHook(new HideStatusBarBeforeScreenshot(), mPrefsMap.getBoolean("system_ui_status_bar_hide_icon"));
initHook(new DataSaverIcon(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_data_saver", 0) != 0);
initHook(WifiNetworkIndicator.INSTANCE, mPrefsMap.getStringAsInt("system_ui_status_bar_icon_wifi_network_indicator", 0) > 0);
@@ -178,10 +166,6 @@ public void handleLoadPackage() {
initHook(StatusBarClockNew.INSTANCE, mPrefsMap.getBoolean("system_ui_statusbar_clock_all_status_enable"));
initHook(new FixColor(), mPrefsMap.getBoolean("system_ui_statusbar_clock_fix_color"));
- // 硬件指示器
- initHook(new DisplayHardwareDetail(), mPrefsMap.getBoolean("system_ui_statusbar_battery_enable") ||
- mPrefsMap.getBoolean("system_ui_statusbar_temp_enable"));
-
// initHook(new DisplayHardwareDetailForHyper(), true);
// 焦点歌词
@@ -208,7 +192,6 @@ public void handleLoadPackage() {
initHook(new BlurEnable(), mPrefsMap.getBoolean("system_ui_control_center_statusbar_blur"));
initHook(new ExpandNotification(), !mPrefsMap.getStringSet("system_ui_control_center_expand_notification").isEmpty());
initHook(new HideDelimiter(), mPrefsMap.getStringAsInt("system_ui_control_center_hide_operator", 0) != 0);
- initHook(new QSDetailBackGround(), mPrefsMap.getInt("system_control_center_qs_detail_bg", 0) > 0);
initHook(new GmsTile(), mPrefsMap.getBoolean("security_center_gms_open"));
initHook(new TaplusTile(), mPrefsMap.getBoolean("security_center_taplus"));
initHook(new ReduceBrightColorsTile(), mPrefsMap.getBoolean("security_center_reduce_bright_colors_tile"));
@@ -224,23 +207,18 @@ public void handleLoadPackage() {
mPrefsMap.getBoolean("system_control_center_qs_tile_label"));
initHook(new MuteVisibleNotifications(), mPrefsMap.getBoolean("system_ui_control_center_mute_visible_notice"));
initHook(new SwitchCCAndNotification(), mPrefsMap.getBoolean("system_ui_control_center_switch_cc_and_notification"));
- initHook(QSControlDetailBackgroundAlpha.INSTANCE, mPrefsMap.getInt("system_ui_control_center_control_detail_background_alpha", 255) != 255);
initHook(NotificationWeather.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_show_weather"));
initHook(CompactNotificationsHook.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_compact_notice"));
/*initHook(CCGridOld.INSTANCE, mPrefsMap.getInt("system_control_center_cc_rows", 4) > 4 ||
mPrefsMap.getInt("system_control_center_cc_columns", 4) > 4 ||
(mPrefsMap.getBoolean("system_ui_control_center_rounded_rect") && !isMoreHyperOSVersion(1f)) ||
mPrefsMap.getBoolean("system_control_center_qs_tile_label"));*/
- initHook(new CCGrid(), (mPrefsMap.getInt("system_control_center_cc_rows", 4) > 4 ||
- mPrefsMap.getInt("system_control_center_cc_columns", 4) > 4 ||
- mPrefsMap.getBoolean("system_ui_control_center_rounded_rect") ||
- mPrefsMap.getBoolean("system_control_center_qs_tile_label")) && !isMoreHyperOSVersion(1f));
initHook(new QSGrid(), mPrefsMap.getBoolean("system_control_center_old_enable"));
initHook(new QQSGrid(), mPrefsMap.getBoolean("system_control_center_old_enable"));
initHook(new AutoCollapse(), mPrefsMap.getBoolean("system_ui_control_auto_close"));
// initHook(RedirectToNotificationChannelSetting.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_redirect_notice"));
initHook(ControlCenterStyle.INSTANCE, mPrefsMap.getBoolean("system_control_center_unlock_old"));
- initHook(NotificationImportanceHyperOSFix.INSTANCE, mPrefsMap.getBoolean("system_settings_more_notification_settings") && isMoreHyperOSVersion(1f));
+ initHook(NotificationImportanceHyperOSFix.INSTANCE, mPrefsMap.getBoolean("system_settings_more_notification_settings"));
initHook(new NotificationRowMenu(), mPrefsMap.getBoolean("system_ui_control_center_notifrowmenu"));
initHook(new FixTilesList(), mPrefsMap.getBoolean("system_ui_control_center_fix_tiles_list"));
initHook(new AllowAllThemesNotificationBlur(), mPrefsMap.getBoolean("system_ui_control_center_unlock_blur_supported"));
@@ -265,7 +243,7 @@ public void handleLoadPackage() {
// Other
initHook(new UiLockApp(), mPrefsMap.getBoolean("system_framework_guided_access"));
- initHook(new NotificationFix(), mPrefsMap.getBoolean("system_ui_other_notification_fix") && isMoreHyperOSVersion(1f));
+ initHook(new NotificationFix(), mPrefsMap.getBoolean("system_ui_other_notification_fix"));
initHook(new BrightnessPct(), mPrefsMap.getBoolean("system_showpct_title"));
initHook(DisableMiuiMultiWinSwitch.INSTANCE, mPrefsMap.getBoolean("system_ui_disable_miui_multi_win_switch"));
initHook(RemoveMiuiMultiWinSwitch.INSTANCE, mPrefsMap.getBoolean("system_ui_remove_miui_multi_win_switch"));
@@ -275,13 +253,11 @@ public void handleLoadPackage() {
// 锁屏
initHook(new ScramblePIN(), mPrefsMap.getBoolean("system_ui_lock_screen_scramble_pin"));
- initHook(ClockDisplaySeconds.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_show_second"));
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(ForceClockUseSystemFontsHook.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_force_system_fonts"));
initHook(HideLockscreenZenMode.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_not_disturb_mode"));
initHook(HideLockScreenHint.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_unlock_tip"));
initHook(HideLockScreenStatusBar.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_hide_status_bar"));
@@ -289,7 +265,6 @@ public void handleLoadPackage() {
initHook(AllowThirdLockScreenUseFace.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_allow_third_face"));
initHook(new DisableUnlockByBleToast(), mPrefsMap.getBoolean("system_ui_lock_screen_disable_unlock_by_ble_toast"));
initHook(new LinkageAnimCustomer(), mPrefsMap.getBoolean("system_ui_lock_screen_linkage_anim"));
- initHook(AddBlurEffectToNotificationView.INSTANCE, mPrefsMap.getBoolean("n_enable"));
initHook(BlurButton.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_blur_button"));
initHook(DoubleTapToSleep.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_double_tap_to_sleep"));
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Phone/SystemUiT.java b/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Phone/SystemUiT.java
deleted file mode 100644
index dd79b43bc..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/app/SystemUI/Phone/SystemUiT.java
+++ /dev/null
@@ -1,384 +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.app.SystemUI.Phone;
-
-import static com.sevtinge.hyperceiler.utils.api.OldFunApisKt.isNewNetworkStyle;
-import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isMoreHyperOSVersion;
-
-import com.hchen.database.HookBase;
-import com.sevtinge.hyperceiler.module.base.BaseModule;
-import com.sevtinge.hyperceiler.module.hook.systemframework.FlagSecure;
-import com.sevtinge.hyperceiler.module.hook.systemui.AllowManageAllNotifications;
-import com.sevtinge.hyperceiler.module.hook.systemui.AutoCollapse;
-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.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.QSDetailBackGround;
-import com.sevtinge.hyperceiler.module.hook.systemui.RemoveMiuiMultiWinSwitch;
-import com.sevtinge.hyperceiler.module.hook.systemui.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.AddBlurEffectToNotificationView;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.AllowAllThemesNotificationBlur;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.CCGrid;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.CompactNotificationsHook;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.ControlCenterStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.DisableDeviceManaged;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.ExpandNotification;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.FiveGTile;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.FixTilesList;
-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.MediaButton;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.MediaControlPanelBackgroundMix;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.MediaControlPanelTimeViewTextSize;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.MediaSeekBar;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.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.NotificationWeatherNew;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationWeatherOld;
-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.QSControlDetailBackgroundAlpha;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSGrid;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSGridLabels;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.RedirectToNotificationChannelSetting;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.ReduceBrightColorsTile;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.RemoveNotifNumLimit;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.SnowLeopardModeTile;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.SunlightMode;
-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.lockscreen.AddBlurEffectToLockScreen;
-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;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ChargingCVP;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ClockDisplaySeconds;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.DisableUnlockByBleToast;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ForceClockUseSystemFontsHook;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockScreenHint;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockScreenStatusBar;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockscreenZenMode;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.LinkageAnimCustomer;
-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.plugin.PluginHelper;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.BlurEnable;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.DoubleTapToSleep;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.HideStatusBarBeforeScreenshot;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.NotificationIconColumns;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.SelectiveHideIconForAlarmClock;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.WifiStandard;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.DisableAnim;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.FixColor;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.StatusBarClockNew;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.TimeCustomization;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.TimeStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.device.DisplayHardwareDetail;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.BatteryStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.BluetoothIcon;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.DataSaverIcon;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.HideBatteryIcon;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.HideVoWiFiIcon;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.IconsFromSystemManager;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.StatusBarIcon;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.StatusBarIconPositionAdjust;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.StatusBarSimIcon;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.WifiNetworkIndicator;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.t.UseNewHD;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.layout.StatusBarLayout;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.DualRowSignalHook;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.MobileNetwork;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.MobilePublicHook;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.MobileTypeSingleHook;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.MobileTypeTextCustom;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.NetworkSpeedSec;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.NetworkSpeedSpacing;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.news.NewNetworkSpeed;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.news.NewNetworkSpeedStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.old.NetworkSpeed;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.old.NetworkSpeedStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.old.StatusBarNoNetSpeedSep;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.s.NetworkSpeedWidth;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.strongtoast.HideStrongToast;
-
-import java.util.Objects;
-
-@HookBase(targetPackage = "com.android.systemui", isPad = 2, targetSdk = 33)
-public class SystemUiT extends BaseModule {
- @Override
- public void handleLoadPackage() {
- // PluginHelper
- initHook(new PluginHelper(), true);// 充电动画
- // initHook(Island.INSTANCE, true); // 灵动岛
- initHook(new ChargeAnimationStyle(), mPrefsMap.getStringAsInt("system_ui_charge_animation_style", 0) > 0);
- // initHook(DisableChargeAnimation.INSTANCE);
-
- // 小窗
- initHook(new NotificationFreeform(), mPrefsMap.getBoolean("system_ui_notification_freeform"));
-
- // 禁用蓝牙临时关闭
- initHook(new BluetoothRestrict(), mPrefsMap.getBoolean("system_ui_disable_bluetooth_restrict"));
-
- // Monet
- initHook(new MonetThemeOverlay(), mPrefsMap.getBoolean("system_ui_monet_overlay_custom"));
-
- // 状态栏图标
- boolean isHideSim = (mPrefsMap.getBoolean("system_ui_status_bar_icon_mobile_network_hide_card_1") ||
- mPrefsMap.getBoolean("system_ui_status_bar_icon_mobile_network_hide_card_2")) &&
- !mPrefsMap.getBoolean("system_ui_statusbar_network_icon_enable") && !isMoreHyperOSVersion(1f);
-
- initHook(new StatusBarIcon(), true);
- initHook(new IconsFromSystemManager(), true);
- initHook(new UnlockCustomActions(), mPrefsMap.getBoolean("system_ui_control_center_media_control_unlock_custom_actions"));
- initHook(new BluetoothIcon(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_bluetooth", 0) != 0 && !isMoreHyperOSVersion(1f));
- initHook(new WifiStandard(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_wifi_standard", 0) > 0);
- initHook(new SelectiveHideIconForAlarmClock(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_alarm_clock", 0) == 3 && mPrefsMap.getInt("system_ui_status_bar_icon_alarm_clock_n", 0) > 0);
- initHook(new NotificationIconColumns(), mPrefsMap.getBoolean("system_ui_status_bar_notification_dots_maximum_enable") || mPrefsMap.getBoolean("system_ui_status_bar_notification_icon_maximum_enable"));
- initHook(new HideStatusBarBeforeScreenshot(), mPrefsMap.getBoolean("system_ui_status_bar_hide_icon"));
- initHook(new DataSaverIcon(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_data_saver", 0) != 0);
- initHook(WifiNetworkIndicator.INSTANCE, mPrefsMap.getStringAsInt("system_ui_status_bar_icon_wifi_network_indicator", 0) > 0);
- initHook(StatusBarSimIcon.INSTANCE, isHideSim);
- initHook(HideVoWiFiIcon.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_icon_vowifi") || mPrefsMap.getBoolean("system_ui_status_bar_icon_volte"));
- initHook(UseNewHD.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_use_new_hd"));
- initHook(new StickyFloatingWindowsForSystemUI(), mPrefsMap.getBoolean("system_framework_freeform_sticky"));
-
- // 移动网络图标
- boolean isEnableMobilePublic = mPrefsMap.getBoolean("system_ui_status_bar_icon_mobile_network_hide_card_1") ||
- mPrefsMap.getBoolean("system_ui_status_bar_icon_mobile_network_hide_card_2") ||
- mPrefsMap.getStringAsInt("system_ui_status_bar_icon_show_mobile_network_type", 0) != 0 ||
- mPrefsMap.getBoolean("system_ui_status_bar_mobile_hide_roaming_icon") ||
- mPrefsMap.getBoolean("system_ui_statusbar_mobile_type_enable") ||
- mPrefsMap.getBoolean("system_ui_status_bar_mobile_indicator");
- boolean isEnableMobileNetwork = mPrefsMap.getStringAsInt("system_ui_status_bar_icon_small_hd", 0) != 0 ||
- mPrefsMap.getStringAsInt("system_ui_status_bar_icon_big_hd", 0) != 0 ||
- mPrefsMap.getStringAsInt("system_ui_status_bar_icon_new_hd", 0) != 0;
-
- initHook(MobilePublicHook.INSTANCE, isEnableMobilePublic);
- initHook(new MobileNetwork(), isEnableMobileNetwork);
- initHook(new DualRowSignalHook(), mPrefsMap.getBoolean("system_ui_statusbar_network_icon_enable"));
- initHook(MobileTypeSingleHook.INSTANCE, mPrefsMap.getBoolean("system_ui_statusbar_mobile_type_enable"));
- initHook(MobileTypeTextCustom.INSTANCE, !Objects.equals(mPrefsMap.getString("system_ui_status_bar_mobile_type_custom", ""), ""));
-
- // 电池相关
- boolean isHideBatteryIcon = mPrefsMap.getBoolean("system_ui_status_bar_battery_icon") ||
- mPrefsMap.getBoolean("system_ui_status_bar_battery_percent") ||
- mPrefsMap.getBoolean("system_ui_status_bar_battery_percent_mark") ||
- mPrefsMap.getBoolean("system_ui_status_bar_battery_charging");
- initHook(HideBatteryIcon.INSTANCE, isHideBatteryIcon);
- initHook(BatteryStyle.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_battery_style_enable_custom") ||
- mPrefsMap.getBoolean("system_ui_status_bar_battery_style_change_location"));
- // initHook(new BatteryIndicator(), mPrefsMap.getBoolean("system_ui_status_bar_battery_indicator_enable"));
-
- // 网速指示器
- if (mPrefsMap.getBoolean("system_ui_statusbar_network_speed_all_status_enable")) {
- if (!isNewNetworkStyle()) {
- initHook(NetworkSpeed.INSTANCE, true);
- initHook(NetworkSpeedWidth.INSTANCE, mPrefsMap.getInt("system_ui_statusbar_network_speed_fixedcontent_width", 10) > 10);
- initHook(NetworkSpeedStyle.INSTANCE, true);
- initHook(StatusBarNoNetSpeedSep.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_no_netspeed_separator"));
- } else {
- initHook(NewNetworkSpeed.INSTANCE, true);
- initHook(NewNetworkSpeedStyle.INSTANCE, true);
- }
- initHook(new NetworkSpeedSpacing(), mPrefsMap.getInt("system_ui_statusbar_network_speed_update_spacing", 3) != 3);
- initHook(new NetworkSpeedSec(), mPrefsMap.getBoolean("system_ui_statusbar_network_speed_sec_unit"));
- }
-
- // 时钟指示器
- boolean isEnableTime = mPrefsMap.getStringAsInt("system_ui_statusbar_clock_mode", 0) != 0 ||
- mPrefsMap.getInt("system_ui_statusbar_clock_left_margin", 0) != 0 ||
- mPrefsMap.getInt("system_ui_statusbar_clock_right_margin", 0) != 0 ||
- mPrefsMap.getInt("system_ui_statusbar_clock_vertical_offset", 12) != 12 ||
- mPrefsMap.getBoolean("system_ui_statusbar_clock_bold");
-
- if (isMoreHyperOSVersion(1f)) {
- initHook(StatusBarClockNew.INSTANCE, mPrefsMap.getBoolean("system_ui_statusbar_clock_all_status_enable"));
- initHook(new DisableAnim(), mPrefsMap.getBoolean("system_ui_disable_clock_anim"));
- initHook(new FixColor(), mPrefsMap.getBoolean("system_ui_statusbar_clock_fix_color"));
- } else {
- initHook(TimeStyle.INSTANCE, isEnableTime);
- initHook(TimeCustomization.INSTANCE, mPrefsMap.getStringAsInt("system_ui_statusbar_clock_mode", 0) != 0);
- }
-
- // 硬件指示器
- initHook(new DisplayHardwareDetail(), mPrefsMap.getBoolean("system_ui_statusbar_battery_enable") ||
- mPrefsMap.getBoolean("system_ui_statusbar_temp_enable"));
-
- // initHook(new DisplayHardwareDetailForHyper(), true);
-
- // 灵动舞台
- initHook(HideStrongToast.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_hide_smart_strong_toast"));
-
- // 居右显示
- boolean isWiFiAtLeft = mPrefsMap.getBoolean("system_ui_status_bar_wifi_at_left");
- boolean isMobileNetworkAtLeft = mPrefsMap.getBoolean("system_ui_status_bar_mobile_network_at_left");
-
- boolean isNetworkSpeedAtRight = mPrefsMap.getBoolean("system_ui_status_bar_network_speed_at_right");
- boolean isAlarmClockAtRight = mPrefsMap.getBoolean("system_ui_status_bar_alarm_clock_at_right");
- boolean isNFCAtRight = mPrefsMap.getBoolean("system_ui_status_bar_nfc_at_right");
- boolean isVolumeAtRight = mPrefsMap.getBoolean("system_ui_status_bar_volume_at_right");
- boolean isZenAtRight = mPrefsMap.getBoolean("system_ui_status_bar_zen_at_right");
-
- boolean isSwapWiFiAndMobileNetwork = mPrefsMap.getBoolean("system_ui_status_bar_swap_wifi_and_mobile_network");
-
- boolean isStatusBarIconAtRightEnable = isWiFiAtLeft || isMobileNetworkAtLeft || isSwapWiFiAndMobileNetwork || isNetworkSpeedAtRight || isAlarmClockAtRight || isNFCAtRight || isVolumeAtRight || isZenAtRight;
-
- initHook(new StatusBarIconPositionAdjust(), isStatusBarIconAtRightEnable);
-
- // 导航栏
- initHook(new HandleLineCustom(), mPrefsMap.getBoolean("system_ui_navigation_handle_custom"));
- initHook(new NavigationCustom(), mPrefsMap.getBoolean("system_ui_navigation_custom"));
- initHook(new HideNavigationBar(), mPrefsMap.getBoolean("system_ui_hide_navigation_bar"));
- initHook(new RotationButton(), mPrefsMap.getStringAsInt("system_framework_other_rotation_button_int", 0) != 0);
- // 状态栏布局
- initHook(StatusBarLayout.INSTANCE, mPrefsMap.getBoolean("system_ui_statusbar_layout_compatibility_mode") ||
- mPrefsMap.getStringAsInt("system_ui_statusbar_layout_mode", 0) != 0);
-
- initHook(new FlagSecure(), mPrefsMap.getBoolean("system_other_flag_secure"));
- // 实验性功能
- // initHook(new SwitchControlPanel(), false);
- // initHook(new MiuiGxzwSize(), false);
-
- // 控制中心
- // initHook(new SmartHome(), false);
- initHook(new QSColor(), mPrefsMap.getBoolean("system_ui_control_center_qs_open_color") || mPrefsMap.getBoolean("system_ui_control_center_qs_big_open_color"));
- initHook(new UnimportantNotification(), mPrefsMap.getBoolean("system_ui_control_center_unimportant_notification"));
- initHook(new BlurEnable(), mPrefsMap.getBoolean("system_ui_control_center_statusbar_blur"));
- initHook(new ExpandNotification(), !mPrefsMap.getStringSet("system_ui_control_center_expand_notification").isEmpty());
- initHook(new HideDelimiter(), mPrefsMap.getStringAsInt("system_ui_control_center_hide_operator", 0) != 0);
- initHook(new QSDetailBackGround(), mPrefsMap.getInt("system_control_center_qs_detail_bg", 0) > 0);
- initHook(new GmsTile(), mPrefsMap.getBoolean("security_center_gms_open"));
- initHook(new TaplusTile(), mPrefsMap.getBoolean("security_center_taplus"));
- initHook(new ReduceBrightColorsTile(), mPrefsMap.getBoolean("security_center_reduce_bright_colors_tile"));
- initHook(new FiveGTile(), mPrefsMap.getStringAsInt("system_control_center_5g_new_tile", 0) != 0);
- initHook(new SnowLeopardModeTile(), mPrefsMap.getBoolean("system_ui_control_center_snow_leopard_mode"));
- initHook(new FlashLight(), mPrefsMap.getStringAsInt("security_flash_light_switch", 0) != 0);
- if (mPrefsMap.getStringAsInt("system_control_center_sunshine_new_mode_high", 0) != 0) {
- initHook(new SunlightModeHigh());
- } else {
- initHook(new SunlightMode(), mPrefsMap.getStringAsInt("system_control_center_sunshine_new_mode", 0) != 0);
- }
- initHook(new QSGridLabels(), mPrefsMap.getInt("system_control_center_old_qs_row", 1) > 1 ||
- mPrefsMap.getBoolean("system_control_center_qs_tile_label"));
- initHook(new MuteVisibleNotifications(), mPrefsMap.getBoolean("system_ui_control_center_mute_visible_notice"));
- initHook(new SwitchCCAndNotification(), mPrefsMap.getBoolean("system_ui_control_center_switch_cc_and_notification"));
- initHook(QSControlDetailBackgroundAlpha.INSTANCE, mPrefsMap.getInt("system_ui_control_center_control_detail_background_alpha", 255) != 255);
- initHook(NotificationWeather.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_show_weather"));
- initHook(NotificationWeatherOld.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_show_weather"));
- initHook(NotificationWeatherNew.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_show_weather"));
- initHook(CompactNotificationsHook.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_compact_notice"));
- /*initHook(CCGridOld.INSTANCE, mPrefsMap.getInt("system_control_center_cc_rows", 4) > 4 ||
- mPrefsMap.getInt("system_control_center_cc_columns", 4) > 4 ||
- (mPrefsMap.getBoolean("system_ui_control_center_rounded_rect") && !isMoreHyperOSVersion(1f)) ||
- mPrefsMap.getBoolean("system_control_center_qs_tile_label"));*/
- initHook(new CCGrid(), (mPrefsMap.getInt("system_control_center_cc_rows", 4) > 4 ||
- mPrefsMap.getInt("system_control_center_cc_columns", 4) > 4 ||
- mPrefsMap.getBoolean("system_ui_control_center_rounded_rect") ||
- mPrefsMap.getBoolean("system_control_center_qs_tile_label")) && !isMoreHyperOSVersion(1f));
- initHook(new QSGrid(), mPrefsMap.getBoolean("system_control_center_old_enable"));
- initHook(new QQSGrid(), mPrefsMap.getBoolean("system_control_center_old_enable"));
- initHook(new AutoCollapse(), mPrefsMap.getBoolean("system_ui_control_auto_close"));
- initHook(RedirectToNotificationChannelSetting.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_redirect_notice"));
- initHook(ControlCenterStyle.INSTANCE, mPrefsMap.getBoolean("system_control_center_unlock_old"));
- initHook(NotificationImportanceHyperOSFix.INSTANCE, mPrefsMap.getBoolean("system_settings_more_notification_settings") && isMoreHyperOSVersion(1f));
- initHook(new NotificationRowMenu(), mPrefsMap.getBoolean("system_ui_control_center_notifrowmenu"));
- initHook(new FixTilesList(), mPrefsMap.getBoolean("system_ui_control_center_fix_tiles_list"));
- initHook(new AllowAllThemesNotificationBlur(), mPrefsMap.getBoolean("system_ui_control_center_unlock_blur_supported"));
- initHook(new DisableTransparent(), mPrefsMap.getBoolean("system_ui_control_center_notification_disable_transparent"));
- initHook(new DisableDeviceManaged(), mPrefsMap.getBoolean("system_ui_control_center_disable_device_managed"));
- initHook(new RemoveNotifNumLimit(), mPrefsMap.getBoolean("system_ui_control_center_remove_notif_num_limit"));
-
- // Media Card
- initHook(new MediaControlPanelBackgroundMix(), mPrefsMap.getBoolean("system_ui_control_center_media_control_panel_background_mix"));
- initHook(new MediaButton(), mPrefsMap.getInt("system_ui_control_center_media_control_media_button", 140) != 140
- || mPrefsMap.getInt("system_ui_control_center_media_control_media_button_custom", 140) != 140);
- initHook(new MediaSeekBarColor(), mPrefsMap.getInt("system_ui_control_center_media_control_seekbar_color", -1) != -1
- || mPrefsMap.getInt("system_ui_control_center_media_control_seekbar_thumb_color", -1) != -1);
- initHook(new SquigglyProgress(), mPrefsMap.getStringAsInt("system_ui_control_center_media_control_progress_mode", 0) == 1);
- initHook(new MediaControlPanelTimeViewTextSize(), mPrefsMap.getInt("system_ui_control_center_media_control_time_view_text_size", 13) != 13);
- initHook(MediaSeekBar.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_remove_media_control_panel_background") ||
- mPrefsMap.getStringAsInt("system_ui_control_center_media_control_progress_mode", 0) == 2);
-
- // Actions
- initHook(new StatusBarActions(), true);
-
- // Other
- initHook(new UiLockApp(), mPrefsMap.getBoolean("system_framework_guided_access"));
- 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(RemoveMiuiMultiWinSwitch.INSTANCE, mPrefsMap.getBoolean("system_ui_remove_miui_multi_win_switch"));
- initHook(DisableInfinitymodeGesture.INSTANCE, mPrefsMap.getBoolean("system_ui_disable_infinitymode_gesture"));
- initHook(DisableBottomBar.INSTANCE, mPrefsMap.getBoolean("system_ui_disable_bottombar"));
- initHook(UnlockClipboard.INSTANCE, mPrefsMap.getBoolean("system_ui_unlock_clipboard"));
- initHook(new VolumeTimerValuesHook(), mPrefsMap.getBoolean("system_ui_volume_timer"));
-
- // 锁屏
- initHook(new ScramblePIN(), mPrefsMap.getBoolean("system_ui_lock_screen_scramble_pin"));
- initHook(ClockDisplaySeconds.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_show_second"));
- 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(ForceClockUseSystemFontsHook.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_force_system_fonts"));
- initHook(HideLockscreenZenMode.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_not_disturb_mode"));
- initHook(HideLockScreenHint.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_unlock_tip"));
- initHook(HideLockScreenStatusBar.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_hide_status_bar"));
- initHook(new BlockEditor(), mPrefsMap.getBoolean("system_ui_lock_screen_block_editor"));
- initHook(AllowThirdLockScreenUseFace.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_allow_third_face"));
- initHook(new DisableUnlockByBleToast(), mPrefsMap.getBoolean("system_ui_lock_screen_disable_unlock_by_ble_toast"));
- initHook(new LinkageAnimCustomer(), mPrefsMap.getBoolean("system_ui_lock_screen_linkage_anim"));
-
- initHook(AddBlurEffectToLockScreen.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_blur_button"));
- initHook(AddBlurEffectToNotificationView.INSTANCE, mPrefsMap.getBoolean("n_enable"));
- initHook(BlurButton.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_blur_button"));
-
- initHook(DoubleTapToSleep.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_double_tap_to_sleep"));
-
- initHook(new AllowManageAllNotifications(), mPrefsMap.getBoolean("system_framework_allow_manage_all_notifications"));
- }
-}
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 a4ff84267..1130cea74 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
@@ -18,15 +18,10 @@
*/
package com.sevtinge.hyperceiler.module.app.SystemUI.Phone;
-import static com.sevtinge.hyperceiler.utils.api.OldFunApisKt.isNewNetworkStyle;
-import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isMoreHyperOSVersion;
-
import com.hchen.database.HookBase;
import com.sevtinge.hyperceiler.module.base.BaseModule;
-import com.sevtinge.hyperceiler.module.hook.systemframework.FlagSecure;
import com.sevtinge.hyperceiler.module.hook.systemui.AllowManageAllNotifications;
import com.sevtinge.hyperceiler.module.hook.systemui.AutoCollapse;
-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;
@@ -36,7 +31,6 @@
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.QSDetailBackGround;
import com.sevtinge.hyperceiler.module.hook.systemui.RemoveMiuiMultiWinSwitch;
import com.sevtinge.hyperceiler.module.hook.systemui.SquigglyProgress;
import com.sevtinge.hyperceiler.module.hook.systemui.StatusBarActions;
@@ -46,9 +40,7 @@
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.AddBlurEffectToNotificationView;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.AllowAllThemesNotificationBlur;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.CCGrid;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.CompactNotificationsHook;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.ControlCenterStyle;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.DisableDeviceManaged;
@@ -67,11 +59,8 @@
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.NotificationWeatherNew;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationWeatherOld;
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.QSControlDetailBackgroundAlpha;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSGrid;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSGridLabels;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.RedirectToNotificationChannelSetting;
@@ -82,14 +71,11 @@
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.lockscreen.AddBlurEffectToLockScreen;
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;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ChargingCVP;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ClockDisplaySeconds;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.DisableUnlockByBleToast;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ForceClockUseSystemFontsHook;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockScreenHint;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockScreenStatusBar;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockscreenZenMode;
@@ -113,20 +99,14 @@
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.DisableAnim;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.FixColor;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.StatusBarClockNew;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.TimeCustomization;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.clock.TimeStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.device.DisplayHardwareDetail;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.BatteryStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.BluetoothIcon;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.DataSaverIcon;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.HideBatteryIcon;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.HideVoWiFiIcon;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.IconsFromSystemManager;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.StatusBarIcon;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.StatusBarIconPositionAdjust;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.StatusBarSimIcon;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.icon.all.WifiNetworkIndicator;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.layout.StatusBarLayout;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.DualRowSignalHook;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.MobileNetwork;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.model.MobilePublicHook;
@@ -136,10 +116,6 @@
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.NetworkSpeedSpacing;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.news.NewNetworkSpeed;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.news.NewNetworkSpeedStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.old.NetworkSpeed;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.old.NetworkSpeedStyle;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.old.StatusBarNoNetSpeedSep;
-import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.network.s.NetworkSpeedWidth;
import com.sevtinge.hyperceiler.module.hook.systemui.statusbar.strongtoast.HideStrongToast;
import java.util.Objects;
@@ -160,21 +136,15 @@ public void handleLoadPackage() {
initHook(new MonetThemeOverlay(), mPrefsMap.getBoolean("system_ui_monet_overlay_custom"));
// 状态栏图标
- boolean isHideSim = (mPrefsMap.getBoolean("system_ui_status_bar_icon_mobile_network_hide_card_1") ||
- mPrefsMap.getBoolean("system_ui_status_bar_icon_mobile_network_hide_card_2")) &&
- !mPrefsMap.getBoolean("system_ui_statusbar_network_icon_enable") && !isMoreHyperOSVersion(1f);
-
initHook(new StatusBarIcon(), true);
initHook(new IconsFromSystemManager(), true);
initHook(new UnlockCustomActions(), mPrefsMap.getBoolean("system_ui_control_center_media_control_unlock_custom_actions"));
- initHook(new BluetoothIcon(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_bluetooth", 0) != 0 && !isMoreHyperOSVersion(1f));
initHook(new WifiStandard(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_wifi_standard", 0) > 0);
initHook(new SelectiveHideIconForAlarmClock(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_alarm_clock", 0) == 3 && mPrefsMap.getInt("system_ui_status_bar_icon_alarm_clock_n", 0) > 0);
- initHook(new NotificationIconColumns(), mPrefsMap.getBoolean("system_ui_status_bar_notification_dots_maximum_enable") || mPrefsMap.getBoolean("system_ui_status_bar_notification_icon_maximum_enable"));
+ initHook(new NotificationIconColumns(), mPrefsMap.getBoolean("system_ui_status_bar_notification_icon_maximum_enable"));
initHook(new HideStatusBarBeforeScreenshot(), mPrefsMap.getBoolean("system_ui_status_bar_hide_icon"));
initHook(new DataSaverIcon(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_data_saver", 0) != 0);
initHook(WifiNetworkIndicator.INSTANCE, mPrefsMap.getStringAsInt("system_ui_status_bar_icon_wifi_network_indicator", 0) > 0);
- initHook(StatusBarSimIcon.INSTANCE, isHideSim);
initHook(HideVoWiFiIcon.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_icon_vowifi") || mPrefsMap.getBoolean("system_ui_status_bar_icon_volte"));
initHook(new StickyFloatingWindowsForSystemUI(), mPrefsMap.getBoolean("system_framework_freeform_sticky"));
@@ -207,38 +177,16 @@ public void handleLoadPackage() {
// 网速指示器
if (mPrefsMap.getBoolean("system_ui_statusbar_network_speed_all_status_enable")) {
- if (!isNewNetworkStyle()) {
- initHook(NetworkSpeed.INSTANCE, true);
- initHook(NetworkSpeedWidth.INSTANCE, mPrefsMap.getInt("system_ui_statusbar_network_speed_fixedcontent_width", 10) > 10);
- initHook(NetworkSpeedStyle.INSTANCE, true);
- initHook(StatusBarNoNetSpeedSep.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_no_netspeed_separator"));
- } else {
- initHook(NewNetworkSpeed.INSTANCE, true);
- initHook(NewNetworkSpeedStyle.INSTANCE, true);
- }
+ initHook(NewNetworkSpeed.INSTANCE, true);
+ initHook(NewNetworkSpeedStyle.INSTANCE, true);
initHook(new NetworkSpeedSpacing(), mPrefsMap.getInt("system_ui_statusbar_network_speed_update_spacing", 3) != 3);
initHook(new NetworkSpeedSec(), mPrefsMap.getBoolean("system_ui_statusbar_network_speed_sec_unit"));
}
// 时钟指示器
- boolean isEnableTime = mPrefsMap.getStringAsInt("system_ui_statusbar_clock_mode", 0) != 0 ||
- mPrefsMap.getInt("system_ui_statusbar_clock_left_margin", 0) != 0 ||
- mPrefsMap.getInt("system_ui_statusbar_clock_right_margin", 0) != 0 ||
- mPrefsMap.getInt("system_ui_statusbar_clock_vertical_offset", 12) != 12 ||
- mPrefsMap.getBoolean("system_ui_statusbar_clock_bold");
-
- if (isMoreHyperOSVersion(1f)) {
- initHook(StatusBarClockNew.INSTANCE, mPrefsMap.getBoolean("system_ui_statusbar_clock_all_status_enable"));
- initHook(new DisableAnim(), mPrefsMap.getBoolean("system_ui_disable_clock_anim"));
- initHook(new FixColor(), mPrefsMap.getBoolean("system_ui_statusbar_clock_fix_color"));
- } else {
- initHook(TimeStyle.INSTANCE, isEnableTime);
- initHook(TimeCustomization.INSTANCE, mPrefsMap.getStringAsInt("system_ui_statusbar_clock_mode", 0) != 0);
- }
-
- // 硬件指示器
- initHook(new DisplayHardwareDetail(), mPrefsMap.getBoolean("system_ui_statusbar_battery_enable") ||
- mPrefsMap.getBoolean("system_ui_statusbar_temp_enable"));
+ initHook(StatusBarClockNew.INSTANCE, mPrefsMap.getBoolean("system_ui_statusbar_clock_all_status_enable"));
+ initHook(new DisableAnim(), mPrefsMap.getBoolean("system_ui_disable_clock_anim"));
+ initHook(new FixColor(), mPrefsMap.getBoolean("system_ui_statusbar_clock_fix_color"));
// initHook(new DisplayHardwareDetailForHyper(), true);
@@ -266,9 +214,6 @@ public void handleLoadPackage() {
initHook(new NavigationCustom(), mPrefsMap.getBoolean("system_ui_navigation_custom"));
initHook(new HideNavigationBar(), mPrefsMap.getBoolean("system_ui_hide_navigation_bar"));
initHook(new RotationButton(), mPrefsMap.getStringAsInt("system_framework_other_rotation_button_int", 0) != 0);
- // 状态栏布局
- initHook(StatusBarLayout.INSTANCE, mPrefsMap.getBoolean("system_ui_statusbar_layout_compatibility_mode") ||
- mPrefsMap.getStringAsInt("system_ui_statusbar_layout_mode", 0) != 0);
// 实验性功能
// initHook(new SwitchControlPanel(), false);
@@ -281,7 +226,6 @@ public void handleLoadPackage() {
initHook(new BlurEnable(), mPrefsMap.getBoolean("system_ui_control_center_statusbar_blur"));
initHook(new ExpandNotification(), !mPrefsMap.getStringSet("system_ui_control_center_expand_notification").isEmpty());
initHook(new HideDelimiter(), mPrefsMap.getStringAsInt("system_ui_control_center_hide_operator", 0) != 0);
- initHook(new QSDetailBackGround(), mPrefsMap.getInt("system_control_center_qs_detail_bg", 0) > 0);
initHook(new GmsTile(), mPrefsMap.getBoolean("security_center_gms_open"));
initHook(new TaplusTile(), mPrefsMap.getBoolean("security_center_taplus"));
initHook(new ReduceBrightColorsTile(), mPrefsMap.getBoolean("security_center_reduce_bright_colors_tile"));
@@ -297,23 +241,18 @@ public void handleLoadPackage() {
mPrefsMap.getBoolean("system_control_center_qs_tile_label"));
initHook(new MuteVisibleNotifications(), mPrefsMap.getBoolean("system_ui_control_center_mute_visible_notice"));
initHook(new SwitchCCAndNotification(), mPrefsMap.getBoolean("system_ui_control_center_switch_cc_and_notification"));
- initHook(QSControlDetailBackgroundAlpha.INSTANCE, mPrefsMap.getInt("system_ui_control_center_control_detail_background_alpha", 255) != 255);
initHook(NotificationWeather.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_show_weather"));
initHook(CompactNotificationsHook.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_compact_notice"));
/*initHook(CCGridOld.INSTANCE, mPrefsMap.getInt("system_control_center_cc_rows", 4) > 4 ||
mPrefsMap.getInt("system_control_center_cc_columns", 4) > 4 ||
(mPrefsMap.getBoolean("system_ui_control_center_rounded_rect") && !isMoreHyperOSVersion(1f)) ||
mPrefsMap.getBoolean("system_control_center_qs_tile_label"));*/
- initHook(new CCGrid(), (mPrefsMap.getInt("system_control_center_cc_rows", 4) > 4 ||
- mPrefsMap.getInt("system_control_center_cc_columns", 4) > 4 ||
- mPrefsMap.getBoolean("system_ui_control_center_rounded_rect") ||
- mPrefsMap.getBoolean("system_control_center_qs_tile_label")) && !isMoreHyperOSVersion(1f));
initHook(new QSGrid(), mPrefsMap.getBoolean("system_control_center_old_enable"));
initHook(new QQSGrid(), mPrefsMap.getBoolean("system_control_center_old_enable"));
initHook(new AutoCollapse(), mPrefsMap.getBoolean("system_ui_control_auto_close"));
initHook(RedirectToNotificationChannelSetting.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_redirect_notice"));
initHook(ControlCenterStyle.INSTANCE, mPrefsMap.getBoolean("system_control_center_unlock_old"));
- initHook(NotificationImportanceHyperOSFix.INSTANCE, mPrefsMap.getBoolean("system_settings_more_notification_settings") && isMoreHyperOSVersion(1f));
+ initHook(NotificationImportanceHyperOSFix.INSTANCE, mPrefsMap.getBoolean("system_settings_more_notification_settings"));
initHook(new NotificationRowMenu(), mPrefsMap.getBoolean("system_ui_control_center_notifrowmenu"));
initHook(new FixTilesList(), mPrefsMap.getBoolean("system_ui_control_center_fix_tiles_list"));
initHook(new AllowAllThemesNotificationBlur(), mPrefsMap.getBoolean("system_ui_control_center_unlock_blur_supported"));
@@ -338,7 +277,7 @@ public void handleLoadPackage() {
// Other
initHook(new UiLockApp(), mPrefsMap.getBoolean("system_framework_guided_access"));
- initHook(new NotificationFix(), mPrefsMap.getBoolean("system_ui_other_notification_fix") && isMoreHyperOSVersion(1f));
+ initHook(new NotificationFix(), mPrefsMap.getBoolean("system_ui_other_notification_fix"));
initHook(new BrightnessPct(), mPrefsMap.getBoolean("system_showpct_title"));
initHook(DisableMiuiMultiWinSwitch.INSTANCE, mPrefsMap.getBoolean("system_ui_disable_miui_multi_win_switch"));
initHook(RemoveMiuiMultiWinSwitch.INSTANCE, mPrefsMap.getBoolean("system_ui_remove_miui_multi_win_switch"));
@@ -349,13 +288,11 @@ public void handleLoadPackage() {
// 锁屏
initHook(new ScramblePIN(), mPrefsMap.getBoolean("system_ui_lock_screen_scramble_pin"));
- initHook(ClockDisplaySeconds.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_show_second"));
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(ForceClockUseSystemFontsHook.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_force_system_fonts"));
initHook(HideLockscreenZenMode.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_not_disturb_mode"));
initHook(HideLockScreenHint.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_unlock_tip"));
initHook(HideLockScreenStatusBar.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_hide_status_bar"));
@@ -364,8 +301,6 @@ public void handleLoadPackage() {
initHook(new DisableUnlockByBleToast(), mPrefsMap.getBoolean("system_ui_lock_screen_disable_unlock_by_ble_toast"));
initHook(new LinkageAnimCustomer(), mPrefsMap.getBoolean("system_ui_lock_screen_linkage_anim"));
- initHook(AddBlurEffectToLockScreen.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_blur_button"));
- initHook(AddBlurEffectToNotificationView.INSTANCE, mPrefsMap.getBoolean("n_enable"));
initHook(BlurButton.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_blur_button"));
initHook(DoubleTapToSleep.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_double_tap_to_sleep"));
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 1a6a5d19c..0db446931 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
@@ -23,7 +23,6 @@
import com.hchen.database.HookBase;
import com.sevtinge.hyperceiler.module.base.BaseModule;
-import com.sevtinge.hyperceiler.module.hook.systemframework.FlagSecure;
import com.sevtinge.hyperceiler.module.hook.systemui.AllowManageAllNotifications;
import com.sevtinge.hyperceiler.module.hook.systemui.AutoCollapse;
import com.sevtinge.hyperceiler.module.hook.systemui.BrightnessPct;
@@ -35,7 +34,6 @@
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.QSDetailBackGround;
import com.sevtinge.hyperceiler.module.hook.systemui.RemoveMiuiMultiWinSwitch;
import com.sevtinge.hyperceiler.module.hook.systemui.SquigglyProgress;
import com.sevtinge.hyperceiler.module.hook.systemui.StatusBarActions;
@@ -44,9 +42,7 @@
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.controlcenter.AddBlurEffectToNotificationView;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.AllowAllThemesNotificationBlur;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.CCGrid;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.CompactNotificationsHook;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.ControlCenterStyle;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.DisableDeviceManaged;
@@ -66,11 +62,8 @@
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.NotificationWeatherNew;
-import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.NotificationWeatherOld;
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.QSControlDetailBackgroundAlpha;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.QSGrid;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.ReduceBrightColorsTile;
import com.sevtinge.hyperceiler.module.hook.systemui.controlcenter.RemoveNotifNumLimit;
@@ -83,9 +76,7 @@
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.ClockDisplaySeconds;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.DisableUnlockByBleToast;
-import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.ForceClockUseSystemFontsHook;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockScreenHint;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockScreenStatusBar;
import com.sevtinge.hyperceiler.module.hook.systemui.lockscreen.HideLockscreenZenMode;
@@ -151,7 +142,7 @@ public void handleLoadPackage() {
initHook(new UnlockCustomActions(), mPrefsMap.getBoolean("system_ui_control_center_media_control_unlock_custom_actions"));
initHook(new WifiStandard(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_wifi_standard", 0) > 0);
initHook(new SelectiveHideIconForAlarmClock(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_alarm_clock", 0) == 3 && mPrefsMap.getInt("system_ui_status_bar_icon_alarm_clock_n", 0) > 0);
- initHook(new NotificationIconColumns(), mPrefsMap.getBoolean("system_ui_status_bar_notification_dots_maximum_enable") || mPrefsMap.getBoolean("system_ui_status_bar_notification_icon_maximum_enable"));
+ initHook(new NotificationIconColumns(), mPrefsMap.getBoolean("system_ui_status_bar_notification_icon_maximum_enable"));
initHook(new HideStatusBarBeforeScreenshot(), mPrefsMap.getBoolean("system_ui_status_bar_hide_icon"));
initHook(new DataSaverIcon(), mPrefsMap.getStringAsInt("system_ui_status_bar_icon_data_saver", 0) != 0);
initHook(WifiNetworkIndicator.INSTANCE, mPrefsMap.getStringAsInt("system_ui_status_bar_icon_wifi_network_indicator", 0) > 0);
@@ -227,7 +218,6 @@ public void handleLoadPackage() {
initHook(new BlurEnable(), mPrefsMap.getBoolean("system_ui_control_center_statusbar_blur"));
initHook(new ExpandNotification(), !mPrefsMap.getStringSet("system_ui_control_center_expand_notification").isEmpty());
initHook(new HideDelimiter(), mPrefsMap.getStringAsInt("system_ui_control_center_hide_operator", 0) != 0);
- initHook(new QSDetailBackGround(), mPrefsMap.getInt("system_control_center_qs_detail_bg", 0) > 0);
initHook(new GmsTile(), mPrefsMap.getBoolean("security_center_gms_open"));
initHook(new TaplusTile(), mPrefsMap.getBoolean("security_center_taplus"));
initHook(new ReduceBrightColorsTile(), mPrefsMap.getBoolean("security_center_reduce_bright_colors_tile"));
@@ -243,19 +233,14 @@ public void handleLoadPackage() {
// mPrefsMap.getBoolean("system_control_center_qs_tile_label"));
initHook(new MuteVisibleNotifications(), mPrefsMap.getBoolean("system_ui_control_center_mute_visible_notice"));
initHook(new SwitchCCAndNotification(), mPrefsMap.getBoolean("system_ui_control_center_switch_cc_and_notification"));
- initHook(QSControlDetailBackgroundAlpha.INSTANCE, mPrefsMap.getInt("system_ui_control_center_control_detail_background_alpha", 255) != 255);
initHook(NotificationWeather.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_show_weather"));
initHook(CompactNotificationsHook.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_compact_notice"));
- initHook(new CCGrid(), (mPrefsMap.getInt("system_control_center_cc_rows", 4) > 4 ||
- mPrefsMap.getInt("system_control_center_cc_columns", 4) > 4 ||
- mPrefsMap.getBoolean("system_ui_control_center_rounded_rect") ||
- mPrefsMap.getBoolean("system_control_center_qs_tile_label")) && !isMoreHyperOSVersion(1f));
initHook(new QSGrid(), mPrefsMap.getBoolean("system_control_center_old_enable"));
initHook(new QQSGrid(), mPrefsMap.getBoolean("system_control_center_old_enable"));
initHook(new AutoCollapse(), mPrefsMap.getBoolean("system_ui_control_auto_close"));
// initHook(RedirectToNotificationChannelSetting.INSTANCE, mPrefsMap.getBoolean("system_ui_control_center_redirect_notice"));
initHook(ControlCenterStyle.INSTANCE, mPrefsMap.getBoolean("system_control_center_unlock_old"));
- initHook(NotificationImportanceHyperOSFix.INSTANCE, mPrefsMap.getBoolean("system_settings_more_notification_settings") && isMoreHyperOSVersion(1f));
+ initHook(NotificationImportanceHyperOSFix.INSTANCE, mPrefsMap.getBoolean("system_settings_more_notification_settings"));
initHook(new NotificationRowMenu(), mPrefsMap.getBoolean("system_ui_control_center_notifrowmenu"));
initHook(new FixTilesList(), mPrefsMap.getBoolean("system_ui_control_center_fix_tiles_list"));
initHook(new AllowAllThemesNotificationBlur(), mPrefsMap.getBoolean("system_ui_control_center_unlock_blur_supported"));
@@ -280,7 +265,7 @@ public void handleLoadPackage() {
// Other
initHook(new UiLockApp(), mPrefsMap.getBoolean("system_framework_guided_access"));
- initHook(new NotificationFix(), mPrefsMap.getBoolean("system_ui_other_notification_fix") && isMoreHyperOSVersion(1f));
+ initHook(new NotificationFix(), mPrefsMap.getBoolean("system_ui_other_notification_fix"));
initHook(new BrightnessPct(), mPrefsMap.getBoolean("system_showpct_title"));
initHook(DisableMiuiMultiWinSwitch.INSTANCE, mPrefsMap.getBoolean("system_ui_disable_miui_multi_win_switch"));
initHook(RemoveMiuiMultiWinSwitch.INSTANCE, mPrefsMap.getBoolean("system_ui_remove_miui_multi_win_switch"));
@@ -290,13 +275,11 @@ public void handleLoadPackage() {
// 锁屏
initHook(new ScramblePIN(), mPrefsMap.getBoolean("system_ui_lock_screen_scramble_pin"));
- initHook(ClockDisplaySeconds.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_show_second"));
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(ForceClockUseSystemFontsHook.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_force_system_fonts"));
initHook(NotificationShowOnKeyguard.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_unlock_notification_restrict"));
initHook(HideLockscreenZenMode.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_not_disturb_mode"));
initHook(HideLockScreenHint.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_unlock_tip"));
@@ -305,7 +288,6 @@ public void handleLoadPackage() {
initHook(AllowThirdLockScreenUseFace.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_allow_third_face"));
initHook(new DisableUnlockByBleToast(), mPrefsMap.getBoolean("system_ui_lock_screen_disable_unlock_by_ble_toast"));
initHook(new LinkageAnimCustomer(), mPrefsMap.getBoolean("system_ui_lock_screen_linkage_anim"));
- initHook(AddBlurEffectToNotificationView.INSTANCE, mPrefsMap.getBoolean("n_enable"));
initHook(BlurButton.INSTANCE, mPrefsMap.getBoolean("system_ui_lock_screen_blur_button"));
initHook(DoubleTapToSleep.INSTANCE, mPrefsMap.getBoolean("system_ui_status_bar_double_tap_to_sleep"));
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/Unlock120Fps.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/Unlock120Fps.java
deleted file mode 100644
index f8790b38e..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/Unlock120Fps.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class Unlock120Fps extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isSupported4K120Fps", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/Unlock60Fps.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/Unlock60Fps.java
deleted file mode 100644
index dc0731609..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/Unlock60Fps.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class Unlock60Fps extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.data.data.config.ComponentConfigVideoQuality", "isSupport60FPS", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockAiEnhance.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockAiEnhance.java
deleted file mode 100644
index e8c39d4e6..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockAiEnhance.java
+++ /dev/null
@@ -1,39 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockAiEnhance extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera2.CameraCapabilities", "supportAiEnhancedVideo", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "supportAiEnhancedVideo", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockAiShutter.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockAiShutter.java
deleted file mode 100644
index f4fa18a65..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockAiShutter.java
+++ /dev/null
@@ -1,45 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockAiShutter extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera2.CameraCapabilities", "isSupportAiShutter", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isSupportAiShutter", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera.CameraSettings", "isSupportAiShutter", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockAiWatermark.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockAiWatermark.java
deleted file mode 100644
index 89e636f77..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockAiWatermark.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockAiWatermark extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.aiwatermark.AIWaterModuleEntry", "support", new MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockAmbilight.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockAmbilight.java
deleted file mode 100644
index ecc192024..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockAmbilight.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockAmbilight extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.ambilight.AmbilightModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockAudioZoom.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockAudioZoom.java
deleted file mode 100644
index d38f9c666..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockAudioZoom.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockAudioZoom extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.aiaudio.AiAudioParameterManager", "isSupportAiAudioNew", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockClone.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockClone.java
deleted file mode 100644
index 164db297e..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockClone.java
+++ /dev/null
@@ -1,39 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockClone extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.clone.CloneModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera.features.mode.more.clone.MoreCloneModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockColorEnhance.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockColorEnhance.java
deleted file mode 100644
index 959b188eb..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockColorEnhance.java
+++ /dev/null
@@ -1,39 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockColorEnhance extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera2.CameraCapabilities", "isSupportedColorEnhance", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isSupportedColorEnhance", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockCosmeticMirror.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockCosmeticMirror.java
deleted file mode 100644
index 8704a9282..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockCosmeticMirror.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockCosmeticMirror extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.cosmeticmirror.CosmeticMirrorModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockCvlens.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockCvlens.java
deleted file mode 100644
index 0e5a4ebbd..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockCvlens.java
+++ /dev/null
@@ -1,57 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-
-public class UnlockCvlens extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.CameraSettings", "isSupportCvLensDevice", new MethodHook() {
- @Override
- protected void before(MethodHookParam param) {
- param.setResult(true);
- }
- });
- try {
- hookAllMethods("com.android.camera.CameraSettings", "getCvLensVersion", new MethodHook() {
- @Override
- protected void before(MethodHookParam param) {
- param.setResult(2);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilities", "getCvLensVersion", new MethodHook() {
- @Override
- protected void before(MethodHookParam param) {
- param.setResult(2);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "getCvLensVersion", new MethodHook() {
- @Override
- protected void before(MethodHookParam param) {
- param.setResult(2);
- }
- });
- } catch (Exception e) {
- logE(TAG, this.lpparam.packageName, "try to hook CvLensVersion failed" + e);
- throw new RuntimeException(e);
- }
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockCyberFocusVersion2.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockCyberFocusVersion2.java
deleted file mode 100644
index 22ff3a2e5..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockCyberFocusVersion2.java
+++ /dev/null
@@ -1,39 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockCyberFocusVersion2 extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera2.CameraCapabilities", "isCyberFocusVersion2", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isCyberFocusVersion2", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockDoc.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockDoc.java
deleted file mode 100644
index 084ab45cf..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockDoc.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockDoc extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.doc.DocModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockDualcam.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockDualcam.java
deleted file mode 100644
index fb34ba63d..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockDualcam.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockDualcam extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.dualcam.DualCamModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockDuration.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockDuration.java
deleted file mode 100644
index 805de7294..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockDuration.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockDuration extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.fast.FastMotionModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilm.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilm.java
deleted file mode 100644
index 755e59b39..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilm.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockFilm extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.more.film.MoreFilmModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmDelay.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmDelay.java
deleted file mode 100644
index 2dc9e8573..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmDelay.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockFilmDelay extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.film.delay.LongExpModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmDollyZoom.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmDollyZoom.java
deleted file mode 100644
index 8bd96d2b6..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmDollyZoom.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockFilmDollyZoom extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.film.dollyzoom.DollyZoomModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmDream.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmDream.java
deleted file mode 100644
index 9b7c79345..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmDream.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockFilmDream extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.film.dream.DreamModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmSlowShutter.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmSlowShutter.java
deleted file mode 100644
index ac647dc2f..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmSlowShutter.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockFilmSlowShutter extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.film.slowshutter.SlowShutterModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmTimeBackflow.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmTimeBackflow.java
deleted file mode 100644
index 7a176d713..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmTimeBackflow.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockFilmTimeBackflow extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.film.timebackflow.TimeBackflowModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmTimeFreeze.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmTimeFreeze.java
deleted file mode 100644
index 1cb7628a6..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockFilmTimeFreeze.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockFilmTimeFreeze extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.film.timefreeze.TimeFreezeModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockHandGesture.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockHandGesture.java
deleted file mode 100644
index 493754adb..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockHandGesture.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockHandGesture extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.data.data.runing.DataItemRunning", "supportHandGesture", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockHdr.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockHdr.java
deleted file mode 100644
index a13558e2c..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockHdr.java
+++ /dev/null
@@ -1,51 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockHdr extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera2.CameraCapabilities", "isSupportVideoHdr", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isSupportVideoHdr", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilities", "isSupportQcomVideoHdr", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isSupportQcomVideoHdr", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockHeic.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockHeic.java
deleted file mode 100644
index 4d0a0e7b4..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockHeic.java
+++ /dev/null
@@ -1,39 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockHeic extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera2.CameraCapabilities", "isHeicSupported", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isHeicSupported", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockIdcard.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockIdcard.java
deleted file mode 100644
index 57327c3b3..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockIdcard.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockIdcard extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.idcard.IDCardModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockLog.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockLog.java
deleted file mode 100644
index bbcfcbb62..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockLog.java
+++ /dev/null
@@ -1,39 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockLog extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera2.CameraCapabilities", "isSupportedVideoLogFormat", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isSupportedVideoLogFormat", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockMakeup.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockMakeup.java
deleted file mode 100644
index 98d0d2394..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockMakeup.java
+++ /dev/null
@@ -1,51 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockMakeup extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera2.CameraCapabilities", "isSupportMakeups", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilities", "isSupportMakeups2", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isSupportMakeups", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isSupportMakeups2", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockMenMakeup.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockMenMakeup.java
deleted file mode 100644
index 482fce479..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockMenMakeup.java
+++ /dev/null
@@ -1,39 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockMenMakeup extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera2.CameraCapabilities", "isSupportMaleMakeupSwitch", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isSupportMaleMakeupSwitch", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockMilive.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockMilive.java
deleted file mode 100644
index 9fa51954f..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockMilive.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockMilive extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.milive.MiLiveModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockMoon.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockMoon.java
deleted file mode 100644
index 9b487b668..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockMoon.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockMoon extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.moon.MoonModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockNevus.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockNevus.java
deleted file mode 100644
index 9185dd801..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockNevus.java
+++ /dev/null
@@ -1,45 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockNevus extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera2.CameraCapabilities", "isSupportNevusWipeSwitch", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilities", "isSupportNevusSupported", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isSupportNevusWipeSwitch", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockNewBeauty.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockNewBeauty.java
deleted file mode 100644
index 0fce07ced..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockNewBeauty.java
+++ /dev/null
@@ -1,39 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockNewBeauty extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera2.CameraCapabilities", "isSupportPortraitBeautyItem", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isSupportPortraitBeautyItem", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockPano.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockPano.java
deleted file mode 100644
index 5b133758d..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockPano.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockPano extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.pano.pano3.PanoModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockPixel.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockPixel.java
deleted file mode 100644
index 4f86b3ffa..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockPixel.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockPixel extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.pixel.PixelModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockPortrait.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockPortrait.java
deleted file mode 100644
index 08300d354..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockPortrait.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockPortrait extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.portrait.PortraitModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockRaw.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockRaw.java
deleted file mode 100644
index d9794ea47..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockRaw.java
+++ /dev/null
@@ -1,39 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockRaw extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera2.CameraCapabilities", "isSupportRaw", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isSupportRaw", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockSlow.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockSlow.java
deleted file mode 100644
index ecd9e6bca..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockSlow.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockSlow extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.slow.SlowMotionModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockTrackFeature.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockTrackFeature.java
deleted file mode 100644
index 67b0dae69..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockTrackFeature.java
+++ /dev/null
@@ -1,39 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockTrackFeature extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera2.CameraCapabilities", "isSupportTrackFeatureEnable", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isSupportTrackFeatureEnable", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockTrackFocus.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockTrackFocus.java
deleted file mode 100644
index 809495269..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockTrackFocus.java
+++ /dev/null
@@ -1,45 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockTrackFocus extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera2.CameraCapabilities", "isSupportTrackFocus", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilities", "isTrackFocusDefined", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera2.CameraCapabilitiesUtil", "isSupportTrackFocus", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockVideosky.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockVideosky.java
deleted file mode 100644
index dcda3ca6e..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockVideosky.java
+++ /dev/null
@@ -1,33 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockVideosky extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.videosky.VideoSkyModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockVlog.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockVlog.java
deleted file mode 100644
index a813b1dfc..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockVlog.java
+++ /dev/null
@@ -1,39 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockVlog extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.vlog.VlogModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera.features.mode.more.vlog.MoreVVModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockVlogPro.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockVlogPro.java
deleted file mode 100644
index f8690742b..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/camera/UnlockVlogPro.java
+++ /dev/null
@@ -1,39 +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.camera;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-public class UnlockVlogPro extends BaseHook {
- @Override
- public void init() {
- hookAllMethods("com.android.camera.features.mode.vlogpro.VlogProModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- hookAllMethods("com.android.camera.features.mode.more.vlogpro.MoreVlogProModuleEntry", "support", new BaseHook.MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/recent/DisableRecentViewWallpaperDarken.kt b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/recent/DisableRecentViewWallpaperDarken.kt
deleted file mode 100644
index d3c111ad7..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/recent/DisableRecentViewWallpaperDarken.kt
+++ /dev/null
@@ -1,39 +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.home.recent
-
-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.setObjectField
-
-object DisableRecentViewWallpaperDarken : BaseHook() {
- override fun init() {
- loadClass("com.miui.home.recents.DimLayer").methodFinder()
- .filterByName("dim")
- .filterByParamCount(3)
- .single().createHook {
- before {
- it.args[0] = 0.0f
- it.thisObject.setObjectField("mCurrentAlpha", 0.0f)
- }
- }
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/title/AnimParamCustom.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/title/AnimParamCustom.java
index 4c6473163..9cae3cc19 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/title/AnimParamCustom.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/title/AnimParamCustom.java
@@ -18,7 +18,6 @@
*/
package com.sevtinge.hyperceiler.module.hook.home.title;
-import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isMoreHyperOSVersion;
import static de.robv.android.xposed.XposedHelpers.callMethod;
import static de.robv.android.xposed.XposedHelpers.setObjectField;
@@ -32,172 +31,92 @@
public class AnimParamCustom extends BaseHook {
@Override
public void init() {
- if (isMoreHyperOSVersion(1f)) {
- AndroidLogUtils.logI(TAG, "HyperOS");
- findAndHookMethod("com.miui.home.recents.util.RectFSpringAnim", "setAnimParamByType", "com.miui.home.recents.util.RectFSpringAnim$AnimType", new XC_MethodReplacement() {
- @Override
- protected Object replaceHookedMethod(XC_MethodHook.MethodHookParam param) throws Throwable {
- Class> clazzRectFSpringAnimRectAnimType = findClassIfExists("com.miui.home.recents.util.RectFSpringAnim$RectAnimType");
- Object RECT_CENTERX = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnimRectAnimType, "RECT_CENTER_X");
- Object RECT_CENTERY = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnimRectAnimType, "RECT_CENTER_Y");
- Object RECT_WIDTH = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnimRectAnimType, "RECT_WIDTH");
- Object RECT_RATIO = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnimRectAnimType, "RECT_RATIO");
- Object RADIUS = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnimRectAnimType, "RADIUS");
- Object ALPHA = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnimRectAnimType, "ALPHA");
- Enum animType = (Enum) param.args[0];
- AndroidLogUtils.logI(TAG, "setAnimParamByType = " + animType);
- setObjectField(param.thisObject, "mLastAminType", param.args[0]);
- switch (animType.name()) {
- case "BREAK_OPEN": // 1/1
-
- case "CLOSE_TO_DRAG":// 2/9
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_9", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_9", 200) / 1000));// 0.9 0.2
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_9", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_9", 200) / 1000));// 0.9 0.2
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_9", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_9", 200) / 1000));// 0.9 0.2
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_9", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_9", 200) / 1000));// 0.9 0.2
- callMethod(param.thisObject, "setAnimParam", RADIUS, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RADIUS_9", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RADIUS_9", 200) / 1000));// 0.9 0.2
- callMethod(param.thisObject, "setAnimParam", ALPHA, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_ALPHA_9", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_ALPHA_9", 200) / 1000));// 0.9 0.2
- return null;
-
- case "OPEN_FROM_HOME":// 3/2
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_2", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_2", 330) / 1000));// 1 0.33
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_2", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_2", 330) / 1000));// 1 0.33
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_2", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_2", 330) / 1000));// 1 0.33
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_2", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_2", 330) / 1000));// 1 0.33
- callMethod(param.thisObject, "setAnimParam", RADIUS, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RADIUS_2", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RADIUS_2", 330) / 1000));// 1 0.33
- callMethod(param.thisObject, "setAnimParam", ALPHA, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_ALPHA_2", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_ALPHA_2", 200) / 1000));// 1 0.2
- return null;
-
- case "OPEN_FROM_RECENTS":// 4/3
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_3", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_3", 270) / 1000));// 0.9 0.27
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_3", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_3", 270) / 1000));// 0.9 0.27
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_3", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_3", 360) / 1000));// 0.99 0.36
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_3", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_3", 360) / 1000));// 0.99 0.36
- return null;
-
- case "CLOSE_TO_RECENTS":// 5/4
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_4", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_4", 400) / 1000));// 0.9 0.4
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_4", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_4", 400) / 1000));// 0.9 0.4
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_4", 950) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_4", 400) / 1000));// 0.9 0.4
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_4", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_4", 350) / 1000));// 0.97 0.35
- callMethod(param.thisObject, "setAnimParam", RADIUS, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RADIUS_4", 990) / 900), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RADIUS_4", 400) / 1000));// 0.9 0.4
- callMethod(param.thisObject, "setAnimParam", ALPHA, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_ALPHA_4", 990) / 900), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_ALPHA_4", 400) / 1000));// 0.9 0.4
- return null;
-
- case "CLOSE_TO_HOME":// 6/5
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_5", 880) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_5", 460) / 1000));// 0.88 0.46
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_5", 880) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_5", 460) / 1000));// 0.88 0.46
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_5", 850) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_5", 460) / 1000));// 0.85 0.46
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_5", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_5", 350) / 1000));// 1 0.35
- callMethod(param.thisObject, "setAnimParam", RADIUS, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RADIUS_5", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RADIUS_5", 350) / 1000));// 1 0.35
- callMethod(param.thisObject, "setAnimParam", ALPHA, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_ALPHA_5", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_ALPHA_5", 400) / 1000));// 1 0.4
- return null;
-
- case "CLOSE_FROM_FEED":// 7/6
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_6", 950) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_6", 378) / 1000));// 0.95 0.378
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_6", 950) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_6", 378) / 1000));// 0.95 0.378
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_6", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_6", 405) / 1000));// 0.9 0.405
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_6", 950) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_6", 333) / 1000));// 0.95 0.333
- callMethod(param.thisObject, "setAnimParam", RADIUS, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RADIUS_6", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RADIUS_6", 180) / 1000));// 0.99 0.18
- callMethod(param.thisObject, "setAnimParam", ALPHA, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_ALPHA_6", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_ALPHA_6", 378) / 1000));// 0.99 0.378
- return null;
-
- case "APP_TO_APP":// 8/7
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_7", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_7", 315) / 1000));// 0.99 0.315
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_7", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_7", 315) / 1000));// 0.99 0.315
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_7", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_7", 315) / 1000));// 0.99 0.315
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_7", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_7", 315) / 1000));// 0.99 0.315
- return null;
-
- case "START_FIRST_TASK":// 9/8
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_8", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_8", 180) / 1000));// 0.99 0.18
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_8", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_8", 180) / 1000));// 0.99 0.18
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_8", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_8", 180) / 1000));// 0.99 0.18
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_8", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_8", 180) / 1000));// 0.99 0.18
- return null;
-
- default:
- return null;
- }
+ findAndHookMethod("com.miui.home.recents.util.RectFSpringAnim", "setAnimParamByType", "com.miui.home.recents.util.RectFSpringAnim$AnimType", new XC_MethodReplacement() {
+ @Override
+ protected Object replaceHookedMethod(XC_MethodHook.MethodHookParam param) throws Throwable {
+ Class> clazzRectFSpringAnimRectAnimType = findClassIfExists("com.miui.home.recents.util.RectFSpringAnim$RectAnimType");
+ Object RECT_CENTERX = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnimRectAnimType, "RECT_CENTER_X");
+ Object RECT_CENTERY = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnimRectAnimType, "RECT_CENTER_Y");
+ Object RECT_WIDTH = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnimRectAnimType, "RECT_WIDTH");
+ Object RECT_RATIO = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnimRectAnimType, "RECT_RATIO");
+ Object RADIUS = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnimRectAnimType, "RADIUS");
+ Object ALPHA = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnimRectAnimType, "ALPHA");
+ Enum animType = (Enum) param.args[0];
+ AndroidLogUtils.logI(TAG, "setAnimParamByType = " + animType);
+ setObjectField(param.thisObject, "mLastAminType", param.args[0]);
+ switch (animType.name()) {
+ case "BREAK_OPEN": // 1/1
+
+ case "CLOSE_TO_DRAG":// 2/9
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_9", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_9", 200) / 1000));// 0.9 0.2
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_9", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_9", 200) / 1000));// 0.9 0.2
+ callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_9", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_9", 200) / 1000));// 0.9 0.2
+ callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_9", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_9", 200) / 1000));// 0.9 0.2
+ callMethod(param.thisObject, "setAnimParam", RADIUS, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RADIUS_9", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RADIUS_9", 200) / 1000));// 0.9 0.2
+ callMethod(param.thisObject, "setAnimParam", ALPHA, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_ALPHA_9", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_ALPHA_9", 200) / 1000));// 0.9 0.2
+ return null;
+
+ case "OPEN_FROM_HOME":// 3/2
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_2", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_2", 330) / 1000));// 1 0.33
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_2", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_2", 330) / 1000));// 1 0.33
+ callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_2", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_2", 330) / 1000));// 1 0.33
+ callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_2", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_2", 330) / 1000));// 1 0.33
+ callMethod(param.thisObject, "setAnimParam", RADIUS, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RADIUS_2", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RADIUS_2", 330) / 1000));// 1 0.33
+ callMethod(param.thisObject, "setAnimParam", ALPHA, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_ALPHA_2", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_ALPHA_2", 200) / 1000));// 1 0.2
+ return null;
+
+ case "OPEN_FROM_RECENTS":// 4/3
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_3", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_3", 270) / 1000));// 0.9 0.27
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_3", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_3", 270) / 1000));// 0.9 0.27
+ callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_3", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_3", 360) / 1000));// 0.99 0.36
+ callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_3", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_3", 360) / 1000));// 0.99 0.36
+ return null;
+
+ case "CLOSE_TO_RECENTS":// 5/4
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_4", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_4", 400) / 1000));// 0.9 0.4
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_4", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_4", 400) / 1000));// 0.9 0.4
+ callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_4", 950) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_4", 400) / 1000));// 0.9 0.4
+ callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_4", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_4", 350) / 1000));// 0.97 0.35
+ callMethod(param.thisObject, "setAnimParam", RADIUS, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RADIUS_4", 990) / 900), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RADIUS_4", 400) / 1000));// 0.9 0.4
+ callMethod(param.thisObject, "setAnimParam", ALPHA, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_ALPHA_4", 990) / 900), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_ALPHA_4", 400) / 1000));// 0.9 0.4
+ return null;
+
+ case "CLOSE_TO_HOME":// 6/5
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_5", 880) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_5", 460) / 1000));// 0.88 0.46
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_5", 880) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_5", 460) / 1000));// 0.88 0.46
+ callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_5", 850) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_5", 460) / 1000));// 0.85 0.46
+ callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_5", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_5", 350) / 1000));// 1 0.35
+ callMethod(param.thisObject, "setAnimParam", RADIUS, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RADIUS_5", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RADIUS_5", 350) / 1000));// 1 0.35
+ callMethod(param.thisObject, "setAnimParam", ALPHA, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_ALPHA_5", 1000) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_ALPHA_5", 400) / 1000));// 1 0.4
+ return null;
+
+ case "CLOSE_FROM_FEED":// 7/6
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_6", 950) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_6", 378) / 1000));// 0.95 0.378
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_6", 950) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_6", 378) / 1000));// 0.95 0.378
+ callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_6", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_6", 405) / 1000));// 0.9 0.405
+ callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_6", 950) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_6", 333) / 1000));// 0.95 0.333
+ callMethod(param.thisObject, "setAnimParam", RADIUS, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RADIUS_6", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RADIUS_6", 180) / 1000));// 0.99 0.18
+ callMethod(param.thisObject, "setAnimParam", ALPHA, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_ALPHA_6", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_ALPHA_6", 378) / 1000));// 0.99 0.378
+ return null;
+
+ case "APP_TO_APP":// 8/7
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_7", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_7", 315) / 1000));// 0.99 0.315
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_7", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_7", 315) / 1000));// 0.99 0.315
+ callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_7", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_7", 315) / 1000));// 0.99 0.315
+ callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_7", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_7", 315) / 1000));// 0.99 0.315
+ return null;
+
+ case "START_FIRST_TASK":// 9/8
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_8", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_8", 180) / 1000));// 0.99 0.18
+ callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_8", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_8", 180) / 1000));// 0.99 0.18
+ callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_8", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_8", 180) / 1000));// 0.99 0.18
+ callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_8", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_8", 180) / 1000));// 0.99 0.18
+ return null;
+
+ default:
+ return null;
}
- });
- } else {
- hookAllMethods("com.miui.home.recents.util.RectFSpringAnim", "setAnimParamByType", new MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws NoSuchFieldException, ClassNotFoundException {
- Class> clazzRectFSpringAnim = ClassUtils.loadClass("com.miui.home.recents.util.RectFSpringAnim", null);
- Object RECT_CENTERX = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnim, "RECT_CENTERX");
- Object RECT_CENTERY = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnim, "RECT_CENTERY");
- Object RECT_WIDTH = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnim, "RECT_WIDTH");
- Object RECT_RATIO = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnim, "RECT_RATIO");
- Object RADIUS = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnim, "RADIUS");
- Object ALPHA = ClassUtils.getStaticObjectOrNull(clazzRectFSpringAnim, "ALPHA");
- Enum animType = (Enum) param.args[0];
- switch (animType.name()) {
- case "BREAK_OPEN" -> {// 1
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_1", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_1", 135) / 1000));// 0.99 0.135
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_1", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_1", 135) / 1000));// 0.99 0.135
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_1", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_1", 135) / 1000));// 0.99 0.135
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_1", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_1", 135) / 1000));// 0.99 0.135
- callMethod(param.thisObject, "setAnimParam", RADIUS, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RADIUS_1", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RADIUS_1", 135) / 1000));// 0.99 0.135
- callMethod(param.thisObject, "setAnimParam", ALPHA, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_ALPHA_1", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_ALPHA_1", 135) / 1000));// 0.99 0.135
- }
- case "OPEN_FROM_HOME" -> {// 2
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_2", 960) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_2", 300) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_2", 960) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_2", 300) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_2", 960) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_2", 410) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_2", 960) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_2", 340) / 1000));
- callMethod(param.thisObject, "setAnimParam", RADIUS, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RADIUS_2", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RADIUS_2", 225) / 1000));
- callMethod(param.thisObject, "setAnimParam", ALPHA, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_ALPHA_2", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_ALPHA_2", 135) / 1000));
- }
- case "OPEN_FROM_RECENTS" -> {// 3
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_3", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_3", 270) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_3", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_3", 270) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_3", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_3", 360) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_3", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_3", 360) / 1000));
- }
- case "CLOSE_TO_RECENTS" -> {// 4
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_4", 950) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_4", 315) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_4", 950) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_4", 315) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_4", 950) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_4", 315) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_4", 950) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_4", 270) / 1000));
- callMethod(param.thisObject, "setAnimParam", RADIUS, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RADIUS_4", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RADIUS_4", 270) / 1000));
- callMethod(param.thisObject, "setAnimParam", ALPHA, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_ALPHA_4", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_ALPHA_4", 270) / 1000));
- }
- case "CLOSE_TO_HOME" -> {// 5
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_5", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_5", 450) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_5", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_5", 450) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_5", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_5", 450) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_5", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_5", 370) / 1000));
- callMethod(param.thisObject, "setAnimParam", RADIUS, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RADIUS_5", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RADIUS_5", 150) / 1000));
- callMethod(param.thisObject, "setAnimParam", ALPHA, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_ALPHA_5", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_ALPHA_5", 420) / 1000));
- }
- case "CLOSE_FROM_FEED" -> {// 6
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_6", 950) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_6", 378) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_6", 950) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_6", 378) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_6", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_6", 405) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_6", 950) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_6", 333) / 1000));
- callMethod(param.thisObject, "setAnimParam", RADIUS, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RADIUS_6", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RADIUS_6", 180) / 1000));
- callMethod(param.thisObject, "setAnimParam", ALPHA, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_ALPHA_6", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_ALPHA_6", 378) / 1000));
- }
- case "APP_TO_APP" -> {// 7
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_7", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_7", 315) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_7", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_7", 315) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_7", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_7", 315) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_7", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_7", 315) / 1000));
- }
- case "START_FIRST_TASK" -> {// 8
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERX, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERX_8", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERX_8", 180) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_CENTERY, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_CENTERY_8", 900) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_CENTERY_8", 180) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_WIDTH, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_WIDTH_8", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_WIDTH_8", 180) / 1000));
- callMethod(param.thisObject, "setAnimParam", RECT_RATIO, ((float) mPrefsMap.getInt("home_title_custom_anim_param_damping_RECT_RATIO_8", 990) / 1000), ((float) mPrefsMap.getInt("home_title_custom_anim_param_stiffness_RECT_RATIO_8", 180) / 1000));
- }
- default -> {
- }
- }
- param.setResult(null);
- }
- });
- }
+ }
+ });
}
}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/lbe/DisableClipboardTip.kt b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/lbe/DisableClipboardTip.kt
deleted file mode 100644
index 6db07dd33..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/lbe/DisableClipboardTip.kt
+++ /dev/null
@@ -1,112 +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.lbe
-
-import android.content.*
-import android.content.pm.*
-import android.os.*
-import android.widget.*
-import com.github.kyuubiran.ezxhelper.ClassUtils.loadClass
-import com.sevtinge.hyperceiler.*
-import com.sevtinge.hyperceiler.module.base.*
-import com.sevtinge.hyperceiler.module.base.tool.OtherTool.*
-import de.robv.android.xposed.*
-import de.robv.android.xposed.callbacks.*
-
-
-object DisableClipboardTip : BaseHook() {
- private val mDisableClipboardTip by lazy {
- mPrefsMap.getBoolean("lbe_disable_clipboard_tip")
- }
-
- private val permissionRequestClass by lazy {
- loadClass("com.lbe.security.sdk.PermissionRequest", lpparam.classLoader)
- }
-
- override fun init() {
- XposedHelpers.findAndHookMethod(
- "com.lbe.security.ui.SecurityPromptHandler",
- lpparam.classLoader,
- "handleNewRequest",
- permissionRequestClass,
- object : XC_MethodHook() {
- override fun afterHookedMethod(param: MethodHookParam) {
- val permissionRequest = param.args[0]
- val permission: Long =
- XposedHelpers.callMethod(permissionRequest, "getPermission") as Long
-
- // PermissionManager.PERM_ID_READ_CLIPBOARD
- if (permission == 274877906944L) {
- val packageName =
- XposedHelpers.callMethod(permissionRequest, "getPackage") as String
- val context =
- XposedHelpers.getObjectField(param.thisObject, "mContext") as Context
- val appName = getAppName(context, packageName)
- val modRes = getModuleRes(context)
-
- if (!mDisableClipboardTip) {
- Toast.makeText(context, "$appName ${modRes.getString(R.string.lbe_clipboard_tip)}", Toast.LENGTH_SHORT).show()
- }
- hideDialog(lpparam, packageName, param)
-
- logI(
- TAG,
- this@DisableClipboardTip.lpparam.packageName,
- " $packageName -> $appName read clipboard."
- )
- }
- }
- })
- }
-
- fun getAppName(context: Context, packageName: String): String {
- val pm: PackageManager = context.applicationContext.packageManager
- val ai: ApplicationInfo =
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
- pm.getApplicationInfo(packageName, PackageManager.ApplicationInfoFlags.of(0))
- } else {
- pm.getApplicationInfo(packageName, 0)
- }
- return (pm.getApplicationLabel(ai)) as String
- }
-
- private fun hideDialog(
- lpparam: XC_LoadPackage.LoadPackageParam,
- packageName: String,
- param: XC_MethodHook.MethodHookParam
- ) {
- val clipData = XposedHelpers.findClass(
- "com.lbe.security.utility.AnalyticsHelper",
- lpparam.classLoader
- )
- val hashMap = HashMap()
- hashMap["pkgName"] = packageName
- hashMap["count"] = "click"
- XposedHelpers.callStaticMethod(
- clipData,
- "recordCountEvent",
- "clip",
- "ask_allow",
- hashMap
- )
-
- XposedHelpers.callMethod(param.thisObject, "gotChoice", 3, true, true)
- XposedHelpers.callMethod(param.thisObject, "onStop")
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/mtb/BypassAuthentication.kt b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/mtb/BypassAuthentication.kt
index d86f03bc3..f343dcd07 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/mtb/BypassAuthentication.kt
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/mtb/BypassAuthentication.kt
@@ -31,15 +31,13 @@ object BypassAuthentication : BaseHook() {
// 在HyperOS上
runCatching {
- if (isMoreHyperOSVersion(1f)) {
- loadClass("com.xiaomi.mtb.XiaoMiServerPermissionCheck").methodFinder()
- .filterByName("getClassErrorString")
- .single().createHook {
- after {
- it.result = null
- }
+ loadClass("com.xiaomi.mtb.XiaoMiServerPermissionCheck").methodFinder()
+ .filterByName("getClassErrorString")
+ .single().createHook {
+ after {
+ it.result = null
}
- }
+ }
}
runCatching {
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/securitycenter/lab/AiClipboardEnable.kt b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/securitycenter/lab/AiClipboardEnable.kt
deleted file mode 100644
index 646bc21d0..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/securitycenter/lab/AiClipboardEnable.kt
+++ /dev/null
@@ -1,50 +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.securitycenter.lab
-
-import com.sevtinge.hyperceiler.module.base.*
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.LabUtilsClass.labUtilClass
-
-
-object AiClipboardEnable : BaseHook() {
- private var labUtils: Class<*>? = null
- override fun init() {
- labUtilClass.forEach {
- labUtils = it
- logI(TAG, this.lpparam.packageName, "labUtils class is $labUtils")
- findAndHookMethod(
- "com.miui.permcenter.settings.PrivacyLabActivity",
- "onCreateFragment",
- object : MethodHook() {
- override fun before(param: MethodHookParam) {
- val fm = getStaticObjectFieldSilently(labUtils, "b")
- if (fm != null) {
- try {
- val featMap = fm as MutableMap
- featMap["mi_lab_ai_clipboard_enable"] = 0
- // featMap.put("mi_lab_blur_location_enable", 0);
- } catch (ignore: Throwable) {
- }
- }
- }
- })
- }
-
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/securitycenter/lab/BlurLocationEnable.kt b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/securitycenter/lab/BlurLocationEnable.kt
deleted file mode 100644
index 220779ea6..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/securitycenter/lab/BlurLocationEnable.kt
+++ /dev/null
@@ -1,80 +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.securitycenter.lab
-
-import com.sevtinge.hyperceiler.module.base.*
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.LabUtilsClass.labUtilClass
-
-
-object BlurLocationEnable : BaseHook() {
- private var labUtils: Class<*>? = null
-
- override fun init() {
- labUtilClass.forEach {
- labUtils = it
- logI(TAG, this.lpparam.packageName, "labUtils class is $labUtils")
- findAndHookMethod(
- "com.miui.permcenter.settings.PrivacyLabActivity",
- "onCreateFragment",
- object : MethodHook() {
- @Throws(Throwable::class)
- override fun before(param: MethodHookParam) {
- val fm = getStaticObjectFieldSilently(labUtils, "b")
- if (fm != null) {
- try {
- val featMap = fm as MutableMap
- featMap["mi_lab_blur_location_enable"] = 0
- // featMap.put("mi_lab_blur_location_enable", 0);
- } catch (_: Throwable) {
- }
- }
- }
- })
- }
-
- /*try {
- val result: List = Objects.requireNonNull>(
- SecurityCenterDexKit.mSecurityCenterResultClassMap.get("LabUtils")
- )
- for (descriptor in result) {
- labUtils = descriptor.getClassInstance(lpparam.classLoader)
- log("labUtils class is $labUtils")
- findAndHookMethod(
- "com.miui.permcenter.settings.PrivacyLabActivity",
- "onCreateFragment",
- object : BaseHook.MethodHook() {
- @Throws(Throwable::class)
- protected override fun before(param: MethodHookParam) {
- val fm = Helpers.getStaticObjectFieldSilently(labUtils, "b")
- if (fm != null) {
- try {
- val featMap = fm as MutableMap
- featMap["mi_lab_blur_location_enable"] = 0
- // featMap.put("mi_lab_blur_location_enable", 0);
- } catch (ignore: Throwable) {
- }
- }
- }
- })
- }
- } catch (e: Throwable) {
- e.printStackTrace()
- }*/
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/securitycenter/lab/GetNumberEnable.kt b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/securitycenter/lab/GetNumberEnable.kt
deleted file mode 100644
index af3cefa91..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/securitycenter/lab/GetNumberEnable.kt
+++ /dev/null
@@ -1,78 +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.securitycenter.lab
-
-import com.sevtinge.hyperceiler.module.base.*
-import com.sevtinge.hyperceiler.module.hook.securitycenter.lab.LabUtilsClass.labUtilClass
-
-
-object GetNumberEnable : BaseHook() {
- private var labUtils: Class<*>? = null
- override fun init() {
- labUtilClass.forEach {
- labUtils = it
- logI(TAG, this.lpparam.packageName, "labUtils class is $labUtils")
- findAndHookMethod(
- "com.miui.permcenter.settings.PrivacyLabActivity",
- "onCreateFragment",
- object : MethodHook() {
- @Throws(Throwable::class)
- override fun before(param: MethodHookParam) {
- val fm = getStaticObjectFieldSilently(labUtils, "b")
- if (fm != null) {
- try {
- val featMap = fm as MutableMap
- featMap["mi_lab_operator_get_number_enable"] = 0
- // featMap.put("mi_lab_blur_location_enable", 0);
- } catch (_: Throwable) {
- }
- }
- }
- })
- }
-
- /* val result: List = Objects.requireNonNull>(
- SecurityCenterDexKit.mSecurityCenterResultClassMap.get("LabUtils")
- )
- for (descriptor in result) {
- labUtils = descriptor.getClassInstance(lpparam.classLoader)
- log("labUtils class is $labUtils")
- findAndHookMethod(
- "com.miui.permcenter.settings.PrivacyLabActivity",
- "onCreateFragment",
- object : BaseHook.MethodHook() {
- @Throws(Throwable::class)
- protected override fun before(param: MethodHookParam) {
- val fm = Helpers.getStaticObjectFieldSilently(labUtils, "b")
- if (fm != null) {
- try {
- val featMap = fm as MutableMap
- featMap["mi_lab_operator_get_number_enable"] = 0
- // featMap.put("mi_lab_blur_location_enable", 0);
- } catch (ignore: Throwable) {
- }
- }
- }
- })
- }
- } catch (e: Throwable) {
- e.printStackTrace()
- }*/
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/securitycenter/lab/LabUtilsClass.kt b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/securitycenter/lab/LabUtilsClass.kt
deleted file mode 100644
index 52ed161a4..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/securitycenter/lab/LabUtilsClass.kt
+++ /dev/null
@@ -1,33 +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.securitycenter.lab
-
-import com.sevtinge.hyperceiler.module.base.dexkit.*
-
-object LabUtilsClass {
- val labUtilClass by lazy>> {
- DexKit.findMemberList("labUtilClass") {
- it.findClass {
- matcher {
- usingEqStrings("mi_lab_ai_clipboard_enable", "mi_lab_blur_location_enable")
- }
- }
- }
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemframework/RotationButton.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemframework/RotationButton.java
deleted file mode 100644
index 5b763d620..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemframework/RotationButton.java
+++ /dev/null
@@ -1,95 +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.systemframework;
-
-import android.content.Context;
-import android.provider.Settings;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-import com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt;
-
-import de.robv.android.xposed.XposedHelpers;
-
-public class RotationButton extends BaseHook {
- Context context;
-
- boolean isHyper = false;
-
- @Override
- public void init() throws NoSuchMethodException {
- isHyper = SystemSDKKt.isMoreHyperOSVersion(1f);
- if (isHyper) return;
- hookAllConstructors("com.android.server.wm.DisplayRotation$OrientationListener",
- new MethodHook() {
- @Override
- protected void after(MethodHookParam param) {
- Object arg = param.args[1];
- if (arg instanceof Context) {
- context = (Context) param.args[1];
- }
- }
- }
- );
-
- findAndHookMethod("com.android.server.wm.DisplayRotation$OrientationListener",
- "onProposedRotationChanged", int.class,
- new MethodHook() {
- @Override
- protected void before(MethodHookParam param) {
- int rotation = (int) param.args[0];
- Object displayRotation = XposedHelpers.getObjectField(param.thisObject, "this$0");
- int mCurrentAppOrientation = XposedHelpers.getIntField(displayRotation, "mCurrentAppOrientation");
- boolean result = (boolean) XposedHelpers.callMethod(displayRotation, "isRotationChoicePossible",
- mCurrentAppOrientation);
- if (result) {
- if (context == null) {
- context = (Context) XposedHelpers.getObjectField(displayRotation, "mContext");
- if (context == null) {
- logE(TAG, "context can't is null!!!");
- return;
- }
- }
- boolean isValid = (boolean) XposedHelpers.callMethod(displayRotation, "isValidRotationChoice", rotation);
- setData(context, rotation + "," + isValid);
- }
- }
- }
- );
-
-
- /*findAndHookMethod("com.android.server.wm.DisplayRotation",
- "isRotationChoicePossible", int.class,
- new MethodHook() {
- @Override
- protected void after(MethodHookParam param) throws Throwable {
- super.after(param);
- // int orientation = (int) param.args[0];
- // boolean result = (boolean) param.getResult();
- // if (!result && (orientation == 1 || orientation == -1)) {
- // param.setResult(true);
- // }
- }
- }
- );*/
- }
-
- private void setData(Context context, String value) {
- Settings.System.putString(context.getContentResolver(), "rotation_button_data", value);
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemframework/VolumeDisableSafe.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemframework/VolumeDisableSafe.java
index 6d83999bd..4aef131cc 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemframework/VolumeDisableSafe.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemframework/VolumeDisableSafe.java
@@ -36,64 +36,51 @@ public class VolumeDisableSafe extends BaseHook {
@Override
public void init() {
- if (isMoreAndroidVersion(34)) {
- Class> SoundDoseHelperStub;
- Class> SoundDoseHelper = findClass("com.android.server.audio.SoundDoseHelper", lpparam.classLoader);
- try {
- SoundDoseHelperStub = findClass("com.android.server.audio.SoundDoseHelperStub", lpparam.classLoader);
- } catch (Throwable t) {
- SoundDoseHelperStub = findClass("com.android.server.audio.SoundDoseHelperStubImpl", lpparam.classLoader);
- }
+ Class> SoundDoseHelperStub;
+ Class> SoundDoseHelper = findClass("com.android.server.audio.SoundDoseHelper", lpparam.classLoader);
+ try {
+ SoundDoseHelperStub = findClass("com.android.server.audio.SoundDoseHelperStub", lpparam.classLoader);
+ } catch (Throwable t) {
+ SoundDoseHelperStub = findClass("com.android.server.audio.SoundDoseHelperStubImpl", lpparam.classLoader);
+ }
- findAndHookMethod(SoundDoseHelperStub, "updateSafeMediaVolumeIndex", int.class, new MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- if (mode == 1) {
- param.setResult(2147483646);
- return;
- }
- if (isHeadsetOn) param.setResult(2147483646);
+ findAndHookMethod(SoundDoseHelperStub, "updateSafeMediaVolumeIndex", int.class, new MethodHook() {
+ @Override
+ protected void before(MethodHookParam param) throws Throwable {
+ if (mode == 1) {
+ param.setResult(2147483646);
+ return;
}
- });
-
- findAndHookMethod(SoundDoseHelper, "safeMediaVolumeIndex", int.class, new MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- if (mode == 1) {
- param.setResult(2147483646);
- return;
- }
- if (isHeadsetOn) param.setResult(2147483646);
+ if (isHeadsetOn) param.setResult(2147483646);
+ }
+ });
+
+ findAndHookMethod(SoundDoseHelper, "safeMediaVolumeIndex", int.class, new MethodHook() {
+ @Override
+ protected void before(MethodHookParam param) throws Throwable {
+ if (mode == 1) {
+ param.setResult(2147483646);
+ return;
}
- });
+ if (isHeadsetOn) param.setResult(2147483646);
+ }
+ });
- hookAllConstructors(SoundDoseHelper, new MethodHook() {
- @Override
- protected void after(MethodHookParam param) throws Throwable {
- if (mode == 1) {
- return;
- }
- Context context = (Context) param.args[1];
- IntentFilter intentFilter = new IntentFilter();
- intentFilter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED);
- intentFilter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED);
- intentFilter.addAction(AudioManager.ACTION_HEADSET_PLUG);
- context.registerReceiver(new Listener(), intentFilter);
- }
- });
-
- } else {
- findAndHookMethod("com.android.server.audio.AudioService", "safeMediaVolumeIndex", new MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
- if (mode == 1) {
- param.setResult(2147483646);
- return;
- }
- if (isHeadsetOn) param.setResult(2147483646);
+ hookAllConstructors(SoundDoseHelper, new MethodHook() {
+ @Override
+ protected void after(MethodHookParam param) throws Throwable {
+ if (mode == 1) {
+ return;
}
- });
- }
+ Context context = (Context) param.args[1];
+ IntentFilter intentFilter = new IntentFilter();
+ intentFilter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED);
+ intentFilter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED);
+ intentFilter.addAction(AudioManager.ACTION_HEADSET_PLUG);
+ context.registerReceiver(new Listener(), intentFilter);
+ }
+ });
+
}
private static class Listener extends BroadcastReceiver {
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemframework/VolumeSeparateControl.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemframework/VolumeSeparateControl.java
deleted file mode 100644
index c753949c5..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemframework/VolumeSeparateControl.java
+++ /dev/null
@@ -1,100 +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.systemframework;
-
-import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isAndroidVersion;
-import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isMoreAndroidVersion;
-
-import android.os.Build;
-import android.provider.Settings;
-import android.util.SparseIntArray;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-import java.util.Set;
-
-import de.robv.android.xposed.XposedHelpers;
-
-public class VolumeSeparateControl extends BaseHook {
-
- Class> mAudioService;
-
- @Override
- public void init() {
-
- mAudioService = findClassIfExists("com.android.server.audio.AudioService");
-
- findAndHookMethod(mAudioService, "updateStreamVolumeAlias", boolean.class, String.class, new MethodHook() {
- @Override
- protected void after(MethodHookParam param) throws Throwable {
- int[] mStreamVolumeAlias =
- (int[]) (isMoreAndroidVersion(Build.VERSION_CODES.TIRAMISU) ?
- XposedHelpers.getStaticObjectField(mAudioService, "mStreamVolumeAlias") :
- XposedHelpers.getObjectField(param.thisObject, "mStreamVolumeAlias"));
- mStreamVolumeAlias[1] = 1;
- mStreamVolumeAlias[5] = 5;
-
- if (isAndroidVersion(33)) {
- XposedHelpers.setStaticObjectField(mAudioService, "mStreamVolumeAlias", mStreamVolumeAlias);
- } else {
- XposedHelpers.setObjectField(param.thisObject, "mStreamVolumeAlias", mStreamVolumeAlias);
- }
- }
- });
-
- findAndHookMethod("com.android.server.audio.AudioService$VolumeStreamState", "readSettings", new MethodHook() {
- @Override
- protected void before(MethodHookParam param) throws Throwable {
-
- int mStreamType = XposedHelpers.getIntField(param.thisObject, "mStreamType");
- if (mStreamType != 1) return;
-
- synchronized (param.method.getDeclaringClass()) {
- Class> audioSystem = XposedHelpers.findClassIfExists("android.media.AudioSystem", lpparam.classLoader);
- Set DEVICE_OUT_ALL = (Set) XposedHelpers.getStaticObjectField(audioSystem, "DEVICE_OUT_ALL_SET");
- int DEVICE_OUT_DEFAULT = XposedHelpers.getStaticIntField(audioSystem, "DEVICE_OUT_DEFAULT");
- int[] DEFAULT_STREAM_VOLUME = (int[]) XposedHelpers.getStaticObjectField(audioSystem, "DEFAULT_STREAM_VOLUME");
- Object mContentResolver = XposedHelpers.getObjectField(XposedHelpers.getSurroundingThis(param.thisObject), "mContentResolver");
- SparseIntArray mIndexMap = (SparseIntArray) XposedHelpers.getObjectField(param.thisObject, "mIndexMap");
-
- for (Integer deviceType : DEVICE_OUT_ALL) {
- int device = deviceType;
- String name = (String) XposedHelpers.callMethod(param.thisObject, "getSettingNameForDevice", device);
- int index = (int) XposedHelpers.callStaticMethod(Settings.System.class, "getIntForUser", mContentResolver, name, device == DEVICE_OUT_DEFAULT ? DEFAULT_STREAM_VOLUME[mStreamType] : -1, -2);
- if (index != -1) {
- mIndexMap.put(device, (int) XposedHelpers.callMethod(param.thisObject, "getValidIndex", 10 * index, true));
- }
- }
- XposedHelpers.setObjectField(param.thisObject, "mIndexMap", mIndexMap);
- }
- param.setResult(null);
- }
- });
-
- findAndHookMethodSilently(mAudioService, "shouldZenMuteStream", int.class, new MethodHook() {
- protected void after(MethodHookParam param) throws Throwable {
- int mStreamType = (int) param.args[0];
- if (mStreamType == 5 && !(boolean) param.getResult()) {
- int mZenMode = (int) XposedHelpers.callMethod(XposedHelpers.getObjectField(param.thisObject, "mNm"), "getZenMode");
- if (mZenMode == 1) param.setResult(true);
- }
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemframework/freeform/FreeFormCount.kt b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemframework/freeform/FreeFormCount.kt
index 228bae720..1a4df31e9 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemframework/freeform/FreeFormCount.kt
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemframework/freeform/FreeFormCount.kt
@@ -19,11 +19,9 @@
package com.sevtinge.hyperceiler.module.hook.systemframework.freeform
import com.github.kyuubiran.ezxhelper.ClassUtils.loadClass
-import com.github.kyuubiran.ezxhelper.HookFactory.`-Static`.createHook
import com.github.kyuubiran.ezxhelper.HookFactory.`-Static`.createHooks
import com.github.kyuubiran.ezxhelper.finders.MethodFinder.`-Static`.methodFinder
import com.sevtinge.hyperceiler.module.base.BaseHook
-import com.sevtinge.hyperceiler.utils.devicesdk.*
class FreeFormCount : BaseHook() {
override fun init() {
@@ -38,14 +36,5 @@ class FreeFormCount : BaseHook() {
}.toList().createHooks {
returnConstant(256)
}
-
- // ShouldStopStartFreeform
- if (isAndroidVersion(33)) {
- clazzMiuiFreeFormStackDisplayStrategy.methodFinder()
- .filterByName("shouldStopStartFreeform")
- .single().createHook {
- returnConstant(false)
- }
- }
}
}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemsettings/VolumeSeparateControlForSettings.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemsettings/VolumeSeparateControlForSettings.java
deleted file mode 100644
index 9c17068db..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemsettings/VolumeSeparateControlForSettings.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.systemsettings;
-
-import static com.sevtinge.hyperceiler.module.base.tool.OtherTool.getModuleRes;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.content.res.Resources;
-import android.os.Bundle;
-
-import com.sevtinge.hyperceiler.R;
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-import de.robv.android.xposed.XposedHelpers;
-
-public class VolumeSeparateControlForSettings extends BaseHook {
-
- Class> mVsbCls;
- Class> mPreferenceGroupCls;
- Class> mPreferenceCls;
-
- public static int mSystemResId;
- public static int mCallsResId;
- public static int mNotificationVolumeResId;
-
- @Override
- public void init() {
-
- mVsbCls = findClassIfExists("com.android.settings.sound.VolumeSeekBarPreference");
- mPreferenceGroupCls = findClassIfExists("androidx.preference.PreferenceGroup");
- mPreferenceCls = findClassIfExists("androidx.preference.Preference");
-
- findAndHookMethod("com.android.settings.MiuiSoundSettings", "onCreate", Bundle.class, new MethodHook() {
- @SuppressLint("DiscouragedApi")
- @Override
- protected void after(MethodHookParam param) throws Throwable {
- Object fragment = param.thisObject;
- Context context = (Context) XposedHelpers.callMethod(fragment, "getActivity");
- Resources modRes = getModuleRes(context);
- int order = 6;
-
- Method[] initSeekBar;
- String addPreference = "addPreference";
-
- try {
- initSeekBar = XposedHelpers.findMethodsByExactParameters(fragment.getClass(), void.class, String.class, int.class, int.class);
- if (mVsbCls == null || initSeekBar.length == 0) {
- logE(TAG, VolumeSeparateControlForSettings.this.lpparam.packageName, "Unable to find class/method in Settings to hook");
- return;
- } else {
- initSeekBar[0].setAccessible(true);
- }
-
- Method[] methods = XposedHelpers.findMethodsByExactParameters(mPreferenceGroupCls, void.class, mPreferenceCls);
- for (Method method : methods) {
- if (Modifier.isPublic(method.getModifiers())) {
- addPreference = method.getName();
- break;
- }
- }
- } catch (Throwable t) {
- logE(TAG, VolumeSeparateControlForSettings.this.lpparam.packageName, "Unable to find class/method in Settings to hook", t);
- return;
- }
-
- Object media = XposedHelpers.callMethod(fragment, "findPreference", "media_volume");
- if (media != null) order = (int) XposedHelpers.callMethod(media, "getOrder");
-
- Object prefScreen = XposedHelpers.callMethod(fragment, "getPreferenceScreen");
- Object pref = XposedHelpers.newInstance(mVsbCls, context);
-
- XposedHelpers.callMethod(pref, "setKey", "system_volume");
- XposedHelpers.callMethod(pref, "setTitle", modRes.getString(R.string.system_volume));
- XposedHelpers.callMethod(pref, "setPersistent", true);
- XposedHelpers.callMethod(prefScreen, addPreference, pref);
- initSeekBar[0].invoke(fragment, "system_volume", 1, context.getResources().getIdentifier("ic_audio_vol", "drawable", context.getPackageName()));
- XposedHelpers.callMethod(pref, "setOrder", order);
-
- pref = XposedHelpers.newInstance(mVsbCls, context);
- XposedHelpers.callMethod(pref, "setKey", "notification_volume");
- XposedHelpers.callMethod(pref, "setTitle", modRes.getString(R.string.notification_volume));
- XposedHelpers.callMethod(pref, "setPersistent", true);
- XposedHelpers.callMethod(prefScreen, addPreference, pref);
- initSeekBar[0].invoke(fragment, "notification_volume", 5, context.getResources().getIdentifier("ic_audio_ring_notif", "drawable", context.getPackageName()));
- XposedHelpers.callMethod(pref, "setOrder", order);
-
- Object mRingVolume = XposedHelpers.callMethod(param.thisObject, "findPreference", "ring_volume");
- XposedHelpers.callMethod(mRingVolume, "setTitle", mCallsResId);
- }
- });
- }
-
-
- public static void initRes() {
- mSystemResId = R.drawable.ic_audio_system;
- mNotificationVolumeResId = R.drawable.ic_miui_volume_notification;
- /*mCallsResId = XposedInit.mResHook.addResource("ring_volume_option_newtitle", R.string.calls);*/
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/BrightnessPct.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/BrightnessPct.java
index bacc68dc1..f5dcd244c 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/BrightnessPct.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/BrightnessPct.java
@@ -18,60 +18,19 @@
*/
package com.sevtinge.hyperceiler.module.hook.systemui;
-import static com.sevtinge.hyperceiler.module.base.tool.OtherTool.initPct;
import static com.sevtinge.hyperceiler.module.base.tool.OtherTool.mPct;
import static com.sevtinge.hyperceiler.module.base.tool.OtherTool.removePct;
-import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isMoreHyperOSVersion;
import android.annotation.SuppressLint;
-import android.view.View;
-import android.view.ViewGroup;
import com.sevtinge.hyperceiler.module.base.BaseHook;
-import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedHelpers;
public class BrightnessPct extends BaseHook {
@Override
@SuppressLint("SetTextI18n")
public void init() throws NoSuchMethodException {
- if (!isMoreHyperOSVersion(1f)) {
- findAndHookMethod("com.android.systemui.statusbar.policy.BrightnessMirrorController", "showMirror", new MethodHook() {
- @Override
- protected void after(MethodHookParam param) {
- ViewGroup mStatusBarWindow = (ViewGroup) XposedHelpers.getObjectField(param.thisObject, "mStatusBarWindow");
- if (mStatusBarWindow == null) {
- logE(TAG, lpparam.packageName, "mStatusBarWindow is null");
- return;
- }
- initPct(mStatusBarWindow, 1);
- mPct.setVisibility(View.VISIBLE);
- }
- });
-
- findAndHookMethod("com.android.systemui.statusbar.policy.BrightnessMirrorController", "hideMirror", new MethodHook() {
- @Override
- protected void after(MethodHookParam param) {
- removePct(mPct);
- }
- }
- );
-
- hookAllMethods("com.android.systemui.controlcenter.policy.MiuiBrightnessController", "onStart", new MethodHook() {
- @Override
- protected void before(MethodHookParam param) {
- Object windowView = getObject(param);
- if (windowView == null) {
- logE(TAG, lpparam.packageName, "mControlPanelContentView is null");
- return;
- }
- initPct((ViewGroup) windowView, 2);
- mPct.setVisibility(View.VISIBLE);
- }
- });
- }
-
hookAllMethods("com.android.systemui.controlcenter.policy.MiuiBrightnessController", "onStop", new MethodHook() {
@Override
protected void after(MethodHookParam param) {
@@ -96,14 +55,4 @@ protected void after(MethodHookParam param) {
}
});
}
-
- private static Object getObject(XC_MethodHook.MethodHookParam param) {
- Object mMirror = XposedHelpers.getObjectField(param.thisObject, "mControl");
- Object controlCenterWindowViewController = XposedHelpers.getObjectField(mMirror, "controlCenterWindowViewController");
- String clsName = controlCenterWindowViewController.getClass().getName();
- if (!clsName.equals("ControlCenterWindowViewController")) {
- controlCenterWindowViewController = XposedHelpers.callMethod(controlCenterWindowViewController, "get");
- }
- return XposedHelpers.callMethod(controlCenterWindowViewController, "getView");
- }
}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/DisableTransparent.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/DisableTransparent.java
index ed49910ef..faa3ab73a 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/DisableTransparent.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/DisableTransparent.java
@@ -18,18 +18,13 @@
*/
package com.sevtinge.hyperceiler.module.hook.systemui;
-import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isMoreHyperOSVersion;
-
import com.sevtinge.hyperceiler.module.base.BaseHook;
public class DisableTransparent extends BaseHook {
@Override
public void init() throws NoSuchMethodException {
// from https://www.coolapk.com/feed/52893204?shareKey=YTA3MTRkZGJmYTJmNjVlNmI4MTY~&shareUid=1499664&shareFrom=com.coolapk.app_5.3
- String methodName;
- if (isMoreHyperOSVersion(1f)) methodName = "isTransparent";
- else methodName = "isTransparentMode";
- findAndHookMethod("com.android.systemui.statusbar.notification.row.NotificationContentInflaterInjector", methodName, new MethodHook() {
+ findAndHookMethod("com.android.systemui.statusbar.notification.row.NotificationContentInflaterInjector", "isTransparent", new MethodHook() {
@Override
protected void before(MethodHookParam param) throws Throwable {
param.setResult(false);
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/MonetThemeOverlay.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/MonetThemeOverlay.java
index 8a95d0d88..f8ceb4308 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/MonetThemeOverlay.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/MonetThemeOverlay.java
@@ -37,9 +37,6 @@ public class MonetThemeOverlay extends BaseHook {
@Override
public void init() {
THEME_CLASS_AOSP = findClassIfExists("com.android.systemui.theme.ThemeOverlayController");
- String mMethodName;
- if (isMoreAndroidVersion(34)) mMethodName = "createOverlays";
- else mMethodName = "getOverlay";
hookAllConstructors(THEME_CLASS_AOSP, new MethodHook() {
@Override
@@ -49,7 +46,7 @@ protected void before(MethodHookParam param) throws Throwable {
}
});
- hookAllMethods(THEME_CLASS_AOSP, mMethodName, new MethodHook() {
+ hookAllMethods(THEME_CLASS_AOSP, "createOverlays", new MethodHook() {
@Override
protected void before(MethodHookParam param) throws Throwable {
mHandler = new Handler(mContext.getMainLooper());
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/NotificationFreeform.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/NotificationFreeform.java
index 1ba14b0d3..a933bdc16 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/NotificationFreeform.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/NotificationFreeform.java
@@ -1,46 +1,39 @@
/*
- * This file is part of HyperCeiler.
+ * 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.
+ * 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.
+ * 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 .
+ * 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
-*/
+ * Copyright (C) 2023-2025 HyperCeiler Contributions
+ */
package com.sevtinge.hyperceiler.module.hook.systemui;
import static com.sevtinge.hyperceiler.utils.devicesdk.SystemSDKKt.isMoreAndroidVersion;
import com.sevtinge.hyperceiler.module.base.BaseHook;
+
import de.robv.android.xposed.XposedHelpers;
public class NotificationFreeform extends BaseHook {
@Override
public void init() {
- if (isMoreAndroidVersion(34)) {
- findAndHookMethod(findClassIfExists("com.android.systemui.statusbar.notification.row.MiuiExpandableNotificationRow"), "updateMiniWindowBar", new MethodHook() {
- @Override
- protected void after(MethodHookParam param) throws Throwable {
- super.after(param);
- XposedHelpers.setObjectField(param.thisObject, "mCanSlide", true);
- }
- });
- } else {
- findAndHookMethod(findClassIfExists("com.android.systemui.statusbar.notification.NotificationSettingsManager"), "canSlide", String.class, new MethodHook() {
- @Override
- protected void after(MethodHookParam param) throws Throwable {
- param.setResult(true);
- }
- });
- }
+ findAndHookMethod(findClassIfExists("com.android.systemui.statusbar.notification.row.MiuiExpandableNotificationRow"), "updateMiniWindowBar", new MethodHook() {
+ @Override
+ protected void after(MethodHookParam param) throws Throwable {
+ super.after(param);
+ XposedHelpers.setObjectField(param.thisObject, "mCanSlide", true);
+ }
+ });
+
}
}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/QSDetailBackGround.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/QSDetailBackGround.java
deleted file mode 100644
index c7d068291..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/QSDetailBackGround.java
+++ /dev/null
@@ -1,54 +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.content.pm.ApplicationInfo;
-import android.graphics.Paint;
-
-import com.sevtinge.hyperceiler.module.base.BaseHook;
-
-import de.robv.android.xposed.XposedHelpers;
-
-public class QSDetailBackGround extends BaseHook {
-
- private ClassLoader mPluginLoader = null;
-
- @Override
- public void init() {
- findAndHookMethod("com.android.systemui.shared.plugins.PluginManagerImpl", "getClassLoader", ApplicationInfo.class, new MethodHook() {
- @Override
- protected void after(MethodHookParam param) throws Throwable {
- ApplicationInfo appInfo = (ApplicationInfo) param.args[0];
- if ("miui.systemui.plugin".equals(appInfo.packageName)) {
- if (mPluginLoader == null) {
- mPluginLoader = (ClassLoader) param.getResult();
- }
-
- hookAllMethods("miui.systemui.widget.SmoothRoundDrawable", mPluginLoader, "inflate", new MethodHook() {
- @Override
- protected void after(MethodHookParam param) throws Throwable {
- Paint mPaint = (Paint) XposedHelpers.getObjectField(param.thisObject, "mPaint");
- mPaint.setAlpha(mPrefsMap.getInt("system_control_center_qs_detail_bg", 0));
- }
- });
- }
- }
- });
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/controlcenter/AddBlurEffectToNotificationView.kt b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/controlcenter/AddBlurEffectToNotificationView.kt
deleted file mode 100644
index 95fc66b78..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/controlcenter/AddBlurEffectToNotificationView.kt
+++ /dev/null
@@ -1,790 +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.controlcenter
-
-import android.annotation.SuppressLint
-import android.graphics.drawable.Drawable
-import android.graphics.drawable.GradientDrawable
-import android.view.View
-import android.view.ViewGroup
-import com.github.kyuubiran.ezxhelper.ClassUtils.loadClass
-import com.github.kyuubiran.ezxhelper.EzXHelper.appContext
-import com.sevtinge.hyperceiler.module.base.BaseHook
-import com.sevtinge.hyperceiler.utils.blur.BlurUtils.createBlurDrawable
-import com.sevtinge.hyperceiler.utils.blur.BlurUtils.isBlurDrawable
-import com.sevtinge.hyperceiler.utils.callStaticMethod
-import com.sevtinge.hyperceiler.utils.devicesdk.isAndroidVersion
-import com.sevtinge.hyperceiler.utils.devicesdk.isMoreAndroidVersion
-import com.sevtinge.hyperceiler.utils.getObjectField
-import com.sevtinge.hyperceiler.utils.getValueByField
-import com.sevtinge.hyperceiler.utils.hookAfterMethod
-import com.sevtinge.hyperceiler.utils.replaceMethod
-import de.robv.android.xposed.XC_MethodHook
-import de.robv.android.xposed.XposedBridge
-import de.robv.android.xposed.XposedHelpers
-
-@SuppressLint("NewApi")
-object AddBlurEffectToNotificationView : BaseHook() {
- var blurBackgroundAlpha: Int =
- mPrefsMap.getInt("system_ui_control_center_blur_background_alpha", 100)
- var cornerRadius: Int = mPrefsMap.getInt("system_ui_control_center_corner_radius", 48)
- var blurRadius: Int = mPrefsMap.getInt("system_ui_control_center_blur_radius", 99)
- var defaultBackgroundAlpha: Int =
- mPrefsMap.getInt("system_ui_control_center_default_background_alpha", 200)
-
- fun setDrawableAlpha(thiz: Any?, alpha: Int) {
- if (isAndroidVersion(34)) {
- XposedHelpers.setObjectField(thiz, "mDrawableAlpha", alpha)
- } else {
- XposedHelpers.callMethod(
- thiz,
- "setDrawableAlpha",
- arrayOf>(Integer.TYPE),
- alpha
- )
- }
- }
-
- override fun init() {
- val miuiExpandableNotificationRowClass =
- findClassIfExists("com.android.systemui.statusbar.notification.row.MiuiExpandableNotificationRow")
- ?: return
-
- val notificationBackgroundViewClass =
- findClassIfExists("com.android.systemui.statusbar.notification.row.NotificationBackgroundView")
- ?: return
-
- val appMiniWindowRowTouchHelperClass =
- findClassIfExists("com.android.systemui.statusbar.notification.policy.AppMiniWindowRowTouchHelper")
- ?: return
-
- val miuiNotificationPanelViewControllerClass =
- findClassIfExists(
- if (isAndroidVersion(34))
- "com.android.systemui.shade.MiuiNotificationPanelViewController"
- else
- "com.android.systemui.statusbar.phone.MiuiNotificationPanelViewController"
- ) ?: return
-
- val notificationStackScrollLayoutClass =
- findClassIfExists("com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout")
- ?: return
-
- val lockScreenMagazineControllerClass =
- findClassIfExists("com.android.keyguard.magazine.LockScreenMagazineController")
- ?: return
-
- val blurRatioChangedListener =
- findClassIfExists(
- if (isAndroidVersion(34))
- "com.android.systemui.shade.MiuiNotificationPanelViewController\$mBlurRatioChangedListener\$1"
- else
- "com.android.systemui.statusbar.phone.MiuiNotificationPanelViewController\$mBlurRatioChangedListener\$1"
- ) ?: return
-
- // 通知模糊额外修正项,增加一个开关避免使用过程中暴毙
- if (isAndroidVersion(33) && mPrefsMap.getBoolean("n_enable_fix")) {
- val mediaDataFilterClass =
- findClassIfExists("com.android.systemui.media.MediaDataFilter") ?: return
-
- val expandableNotificationRowClass =
- findClassIfExists("com.android.systemui.statusbar.notification.row.ExpandableNotificationRow")
- ?: return
-
- // 增加一个锁屏页面判断
- var onKeyguard = false
-
- expandableNotificationRowClass.hookAfterMethod("isOnKeyguard") {
- onKeyguard = it.result as Boolean
- }
-
- // 增加一个控制中心音乐播放器判断
- var hasActiveMediaOrRecommendation = false
-
- mediaDataFilterClass.hookAfterMethod("hasActiveMediaOrRecommendation") {
- hasActiveMediaOrRecommendation = it.result as Boolean
- }
-
-
- // 换个方式修改通知上划极限值
- try {
- "com.android.systemui.statusbar.notification.stack.AmbientState".replaceMethod("getOverExpansion") {
- val getScreenHeight =
- loadClass("com.android.systemui.fsgesture.AppQuickSwitchActivity")
- .callStaticMethod("getScreenHeight", appContext) as Int
- val mOverExpansion = it.thisObject.getObjectField("mOverExpansion") as Float
- val isNCSwitching = it.thisObject.getObjectField("isNCSwitching") as Boolean
- val isSwipingUp = it.thisObject.getObjectField("mIsSwipingUp") as Boolean
- val isFlinging = it.thisObject.getObjectField("mIsFlinging") as Boolean
- val isAppearing = it.thisObject.getObjectField("mAppearing") as Boolean
- val isScreenLandscape =
- loadClass("com.android.systemui.statusbar.notification.NotificationUtil")
- .callStaticMethod("isScreenLandscape") as Boolean
-
- if (isAppearing && (isSwipingUp || isFlinging) && !isNCSwitching) {
- if (hasActiveMediaOrRecommendation) {
- if (isScreenLandscape)
- return@replaceMethod -getScreenHeight.toFloat()
- else
- return@replaceMethod -getScreenHeight.toFloat() * 6.0f
- } else {
- if (isScreenLandscape)
- return@replaceMethod -getScreenHeight.toFloat() / 3.0f
- else
- return@replaceMethod -getScreenHeight.toFloat() / 1.2f
- }
- } else {
- return@replaceMethod mOverExpansion
- }
- }
- } catch (t: Throwable) {
- logE(TAG, this.lpparam.packageName, t)
- }
- try {
- "com.android.systemui.statusbar.notification.stack.AmbientState".replaceMethod("getAppearFraction") {
- val isNCSwitching = it.thisObject.getObjectField("isNCSwitching") as Boolean
- val isSwipingUp = it.thisObject.getObjectField("mIsSwipingUp") as Boolean
- val isFlinging = it.thisObject.getObjectField("mIsFlinging") as Boolean
- val mAppearFraction = it.thisObject.getObjectField("mAppearFraction") as Float
- val isAppearing = it.thisObject.getObjectField("mAppearing") as Boolean
- val isScreenLandscape =
- loadClass("com.android.systemui.statusbar.notification.NotificationUtil")
- .callStaticMethod("isScreenLandscape") as Boolean
-
- if (isAppearing && (isSwipingUp || isFlinging) && !isNCSwitching && hasActiveMediaOrRecommendation && isScreenLandscape) {
- return@replaceMethod mAppearFraction * 6.0f
- } else {
- return@replaceMethod mAppearFraction
- }
- }
- } catch (t: Throwable) {
- logE(TAG, this.lpparam.packageName, t)
- }
- }
-
- // 每次设置背景的时候都同时改透明度
- XposedBridge.hookAllMethods(
- notificationBackgroundViewClass,
- "setCustomBackground",
- object : XC_MethodHook() {
- override fun afterHookedMethod(param: MethodHookParam) {
- val notificationBackgroundView = param.thisObject
- val mDrawableAlphaField =
- notificationBackgroundViewClass.getDeclaredField("mDrawableAlpha")
- mDrawableAlphaField.isAccessible = true
- val isHandsUp =
- XposedHelpers.callMethod(notificationBackgroundView, "headsUp") as Boolean
- if (isHandsUp) {
- mDrawableAlphaField.set(notificationBackgroundView, blurBackgroundAlpha)
- setDrawableAlpha(
- notificationBackgroundView,
- blurBackgroundAlpha
- )
- } else {
- mDrawableAlphaField.set(notificationBackgroundView, defaultBackgroundAlpha)
- setDrawableAlpha(
- notificationBackgroundView,
- defaultBackgroundAlpha
- )
- }
- }
- })
-
- // 背景bounds改动同步到模糊
- XposedBridge.hookAllMethods(
- notificationBackgroundViewClass,
- "draw",
- object : XC_MethodHook() {
- override fun afterHookedMethod(param: MethodHookParam) {
- val notificationBackground = param.thisObject as View
- val backgroundDrawable = notificationBackground.background ?: return
- if (isBlurDrawable(backgroundDrawable)) {
- val drawable = param.args[1] as Drawable
- backgroundDrawable.bounds = drawable.bounds
- }
- }
- })
-
- // 进入小窗模式的时候把模糊去掉
- XposedBridge.hookAllMethods(
- appMiniWindowRowTouchHelperClass,
- "onMiniWindowTrackingStart",
- object : XC_MethodHook() {
- override fun beforeHookedMethod(param: MethodHookParam) {
- val mPickedMiniWindowChild =
- getValueByField(param.thisObject, "mPickedMiniWindowChild")
- ?: return
-
- val mBackgroundNormal =
- getValueByField(mPickedMiniWindowChild, "mBackgroundNormal")
- ?: return
- mBackgroundNormal as View
-
- if (isBlurDrawable(mBackgroundNormal.background)) {
- XposedHelpers.callMethod(
- mBackgroundNormal.background, "setVisible",
- false, false
- )
- setDrawableAlpha(
- mBackgroundNormal,
- defaultBackgroundAlpha + 30
- )
- }
- }
- })
-
- XposedBridge.hookAllMethods(
- appMiniWindowRowTouchHelperClass,
- "onMiniWindowReset",
- object : XC_MethodHook() {
- override fun beforeHookedMethod(param: MethodHookParam) {
- val mPickedMiniWindowChild =
- getValueByField(param.thisObject, "mPickedMiniWindowChild")
- ?: return
-
- val mBackgroundNormal =
- getValueByField(mPickedMiniWindowChild, "mBackgroundNormal")
- ?: return
- mBackgroundNormal as View
-
- if (isBlurDrawable(mBackgroundNormal.background)) {
- XposedHelpers.callMethod(
- mBackgroundNormal.background,
- "setVisible",
- true,
- false
- )
- setDrawableAlpha(
- mBackgroundNormal,
- blurBackgroundAlpha
- )
- }
- }
- })
-
- // 悬浮的时候把模糊加上
- XposedBridge.hookAllMethods(
- miuiExpandableNotificationRowClass,
- "setHeadsUp",
- object : XC_MethodHook() {
- @SuppressLint("NewApi")
- override fun beforeHookedMethod(param: MethodHookParam) {
- val isHeadsUp = param.args[0] as Boolean
- val miuiNotificationBackgroundView = param.thisObject as View
- val mBackgroundNormal = getValueByField(
- miuiNotificationBackgroundView,
- "mBackgroundNormal"
- ) as View
- if (!mBackgroundNormal.isAttachedToWindow) {
- return
- }
- if (isHeadsUp) {
- if (mBackgroundNormal.background != null) {
- if (isBlurDrawable(mBackgroundNormal.background)) {
- return
- }
- }
- mBackgroundNormal.background =
- createBlurDrawable(
- mBackgroundNormal,
- blurRadius,
- cornerRadius
- )
-
- setDrawableAlpha(
- mBackgroundNormal,
- blurBackgroundAlpha
- )
- } /*else {
- if (isBlurDrawable(mBackgroundNormal.background)) {
- mBackgroundNormal.background = null
- }
- try {
- XposedHelpers.callMethod(
- mBackgroundNormal,
- "setDrawableAlpha",
- defaultBackgroundAlpha
- )
- } catch (e: Throwable) {
- logE("BlurNotificationView -> defaultBackgroundAlpha", e)
- }
- }*/
- }
- })
-
- // 进入不同状态,处理一下模糊
- XposedBridge.hookAllMethods(
- miuiNotificationPanelViewControllerClass,
- "onStateChanged",
- object : XC_MethodHook() {
- override fun afterHookedMethod(param: MethodHookParam) {
- // status 1 锁屏 2 锁屏下拉 0 其他
- val status = param.args[0] as Int
- val mNotificationStackScroller =
- getValueByField(
- param.thisObject,
- "mNotificationStackScroller"
- ) as ViewGroup
- if (status == 1) {
- if (!isDefaultLockScreenTheme()) {
- return
- }
- for (i in 0..mNotificationStackScroller.childCount) {
- val childAt =
- mNotificationStackScroller.getChildAt(i) ?: continue
- showBlurEffectForNotificationRow(childAt)
- }
- } else {
- for (i in 0..mNotificationStackScroller.childCount) {
- val childAt =
- mNotificationStackScroller.getChildAt(i) ?: continue
- try {
- val isHeadsUp =
- XposedHelpers.callMethod(childAt, "isHeadsUpState") as Boolean
- val isPinned = XposedHelpers.callMethod(
- childAt,
- "isPinned"
- ) as Boolean
- if (isHeadsUp && isPinned) {
- showBlurEffectForNotificationRow(childAt)
- } else {
- hideBlurEffectForNotificationRow(childAt)
- }
- } catch (e: Throwable) {
- hideBlurEffectForNotificationRow(childAt)
- }
- }
- }
- }
- })
-
- // 下拉完成处理模糊
- /*
- XposedBridge.hookAllMethods(
- NotificationPanelViewControllerClass,
- "onExpandingFinished",
- object : XC_MethodHook() {
- override fun afterHookedMethod(param: MethodHookParam) {
- val isOnKeyguard =
- XposedHelpers.callMethod(param.thisObject, "isOnKeyguard") as Boolean
- if (isOnKeyguard) {
- return
- }
- val mNotificationStackScroller =
- Hook.getValueByField(
- param.thisObject,
- "mNotificationStackScroller"
- ) ?: return
- mNotificationStackScroller as ViewGroup
- for (i in 0..mNotificationStackScroller.childCount) {
- val childAt =
- mNotificationStackScroller.getChildAt(i) ?: continue
- hideBlurEffectForNotificationRow(childAt)
- }
- }
- })
- */
-
- // 通知添加进视图的时候增加模糊
- XposedBridge.hookAllMethods(
- notificationStackScrollLayoutClass,
- "onViewAddedInternal",
- object : XC_MethodHook() {
- override fun afterHookedMethod(param: MethodHookParam) {
- val expandableView = param.args[0] as View
- val mController = getValueByField(param.thisObject, "mController")
- ?: return
- val mPanelViewController =
- getValueByField(mController, "mPanelViewController")
- ?: return
- val isExpanding =
- XposedHelpers.callMethod(
- mPanelViewController,
- if (isAndroidVersion(34)) "isExpandingOrCollapsing" else "isExpanding"
- ) as Boolean
- if (isExpanding) return
-
- val isOnKeyguard =
- XposedHelpers.callMethod(mPanelViewController, "isOnKeyguard") as Boolean
- if (isOnKeyguard) {
- if (!isDefaultLockScreenTheme()) {
- return
- }
- showBlurEffectForNotificationRow(expandableView)
- } else {
- // ZenModeView 没有 isHeadsUpState 方法
- try {
- val isHeadsUp =
- XposedHelpers.callMethod(
- expandableView,
- "isHeadsUpState"
- ) as Boolean
- if (isHeadsUp) {
- showBlurEffectForNotificationRow(expandableView)
- }
- } catch (e: Throwable) {
- return
- }
- }
- }
- })
-
- // 锁屏状态透明度修改的时候同步修改模糊透明度
- if (isAndroidVersion(31)) {
- XposedBridge.hookAllMethods(miuiNotificationPanelViewControllerClass,
- "updateKeyguardElementAlpha",
- object : XC_MethodHook() {
- override fun afterHookedMethod(param: MethodHookParam) {
- if (!isDefaultLockScreenTheme()) return
- val mNotificationStackScroller =
- getValueByField(
- param.thisObject,
- "mNotificationStackScroller"
- ) ?: return
- mNotificationStackScroller as ViewGroup
-
- val keyguardContentsAlpha =
- XposedHelpers.callMethod(
- param.thisObject,
- "getKeyguardContentsAlpha"
- ) as Float
- val drawableAlpha = keyguardContentsAlpha * 255
- for (i in 0..mNotificationStackScroller.childCount) {
- val childAt =
- mNotificationStackScroller.getChildAt(i) ?: continue
- setBlurEffectAlphaForNotificationRow(childAt, drawableAlpha.toInt())
- }
- }
- })
- }
-
- XposedBridge.hookAllMethods(
- miuiNotificationPanelViewControllerClass,
- "onBouncerShowingChanged",
- object : XC_MethodHook() {
- override fun beforeHookedMethod(param: MethodHookParam) {
- val isBouncerShowing = param.args[0] as Boolean
- val mNotificationStackScroller =
- getValueByField(param.thisObject, "mNotificationStackScroller")
- ?: return
- mNotificationStackScroller as ViewGroup
- for (i in 0..mNotificationStackScroller.childCount) {
- val childAt =
- mNotificationStackScroller.getChildAt(i) ?: continue
- if (isBouncerShowing) {
- hideBlurEffectForNotificationRow(childAt)
- } else {
- showBlurEffectForNotificationRow(childAt)
- }
- }
- }
- })
-
- if (isMoreAndroidVersion(33)) {
- // 锁屏画报 隐藏模糊
- // 修复 Android 13 锁屏画报模糊残留
- XposedBridge.hookAllMethods(
- lockScreenMagazineControllerClass,
- "setPanelViewAlpha",
- object : XC_MethodHook() {
- override fun beforeHookedMethod(param: MethodHookParam) {
- if (!isDefaultLockScreenTheme()) return
- val alpha = param.args[0] as Float
- val drawableAlpha = alpha * 255
-
- val mNotificationStackScrollLayoutController =
- getValueByField(
- param.thisObject,
- "mNotificationStackScrollLayoutController"
- )
- ?: return
- val mView =
- getValueByField(
- mNotificationStackScrollLayoutController,
- "mView"
- ) ?: return
-
- mView as ViewGroup
-
- for (i in 0..mView.childCount) {
- val childAt = mView.getChildAt(i) ?: continue
- setBlurEffectAlphaForNotificationRow(childAt, drawableAlpha.toInt())
- }
- }
- })
- } else {
- // 锁屏画报 隐藏模糊
- XposedBridge.hookAllMethods(
- lockScreenMagazineControllerClass,
- "setViewsAlpha",
- object : XC_MethodHook() {
- override fun beforeHookedMethod(param: MethodHookParam) {
- if (!isDefaultLockScreenTheme()) return
- val alpha = param.args[0] as Float
- val drawableAlpha = alpha * 255
- val mNotificationStackScrollLayout = getValueByField(
- param.thisObject,
- "mNotificationStackScrollLayout"
- ) as ViewGroup
- for (i in 0..mNotificationStackScrollLayout.childCount) {
- val childAt =
- mNotificationStackScrollLayout.getChildAt(i) ?: continue
- setBlurEffectAlphaForNotificationRow(childAt, drawableAlpha.toInt())
- }
- }
- })
-
- }
-
- XposedBridge.hookAllMethods(
- notificationStackScrollLayoutClass,
- "setDozing",
- object : XC_MethodHook() {
- override fun afterHookedMethod(param: MethodHookParam) {
- val isDozing = param.args[0] as Boolean
- val mNotificationStackScrollLayout = param.thisObject as ViewGroup
- for (i in 0..mNotificationStackScrollLayout.childCount) {
- val childAt =
- mNotificationStackScrollLayout.getChildAt(i) ?: continue
- if (isDozing) {
- hideBlurEffectForNotificationRow(childAt)
- } else {
- showBlurEffectForNotificationRow(childAt)
- }
- }
- }
- })
-
- /*
- XposedBridge.hookAllMethods(
- KeyguardPanelViewInjectorClass,
- "onKeyguardVisibilityChanged",
- object : XC_MethodHook() {
- override fun afterHookedMethod(param: MethodHookParam) {
- val isVisible = param.args[0] as Boolean
- val mPanelViewController =
- Hook.getValueByField(param.thisObject, "mPanelViewController") ?: return
-
- val mNotificationStackScroller =
- Hook.getValueByField(
- mPanelViewController,
- "mNotificationStackScroller"
- ) ?: return
- mNotificationStackScroller as ViewGroup
- for (i in 0..mNotificationStackScroller.childCount) {
- val childAt =
- mNotificationStackScroller.getChildAt(i) ?: continue
- if (isVisible) {
- showBlurEffectForNotificationRow(childAt)
- } else {
- try {
- val isHeadsUp =
- XposedHelpers.callMethod(
- childAt,
- "isHeadsUpState"
- ) as Boolean
- val isPinned = XposedHelpers.callMethod(
- childAt,
- "isPinned"
- ) as Boolean
- if (isHeadsUp && isPinned) {
- showBlurEffectForNotificationRow(childAt)
- } else {
- hideBlurEffectForNotificationRow(childAt)
- }
- } catch (e: Throwable) {
- hideBlurEffectForNotificationRow(childAt)
- }
- }
- }
- }
- })
- */
-
- XposedBridge.hookAllConstructors(miuiNotificationPanelViewControllerClass,
- object : XC_MethodHook() {
- override fun afterHookedMethod(param: MethodHookParam) {
- val mNotificationStackScroller =
- getValueByField(
- param.thisObject,
- "mNotificationStackScroller"
- ) ?: return
- mNotificationStackScroller as ViewGroup
- XposedBridge.hookAllMethods(blurRatioChangedListener,
- "onBlurRadiusChanged",
- object : XC_MethodHook() {
- override fun afterHookedMethod(params: MethodHookParam) {
- val radius = params.args[0] as Int
- val isOnKeyguard = XposedHelpers.callMethod(
- param.thisObject,
- "isOnKeyguard"
- ) as Boolean
- for (i in 0..mNotificationStackScroller.childCount) {
- val childAt =
- mNotificationStackScroller.getChildAt(i) ?: continue
- if (radius > 30 && !isOnKeyguard) {
- hideBlurEffectForNotificationRow(childAt)
- } /*else {
- // 锁屏状态显示模糊(不能留,点击通知进入密码页面模糊残留)
- if (isOnKeyguard) showBlurEffectForNotificationRow(childAt)
- }*/
- }
- }
- })
- }
- })
- }
-
- fun isDefaultLockScreenTheme(): Boolean {
- val miuiKeyguardUtilsClass = findClassIfExists(
- if (isAndroidVersion(34))
- "com.miui.systemui.util.CommonUtil"
- else
- "com.android.keyguard.utils.MiuiKeyguardUtils"
- ) ?: return true
- return XposedHelpers.callStaticMethod(
- miuiKeyguardUtilsClass,
- "isDefaultLockScreenTheme"
- ) as Boolean
- }
-
-
- fun hideBlurEffectForNotificationRow(notificationRow: View) {
- if (notificationRow.javaClass.name.contains("ZenModeView")) {
- val zenModeContentContainer =
- XposedHelpers.callMethod(notificationRow, "getContentView") ?: return
- zenModeContentContainer as ViewGroup
- val zenModeContent =
- zenModeContentContainer.getChildAt(0) ?: return
- val contentBackground =
- zenModeContent.background as GradientDrawable
- contentBackground.alpha = defaultBackgroundAlpha
- contentBackground.invalidateSelf()
- if (isBlurDrawable(zenModeContentContainer.background)) {
- zenModeContentContainer.background = null
- }
- } else {
- val mBackgroundNormal =
- getValueByField(notificationRow, "mBackgroundNormal")
- ?: return
- mBackgroundNormal as View
- if (isBlurDrawable(mBackgroundNormal.background)) {
- mBackgroundNormal.background = null
- }
- runCatching {
- setDrawableAlpha(
- mBackgroundNormal,
- defaultBackgroundAlpha
- )
- }
-
- runCatching {
- val childList =
- XposedHelpers.callMethod(notificationRow, "getAttachedChildren") ?: return
- childList as List<*>
- if (childList.size > 0) {
- childList.forEach { child ->
- if (child != null) {
- hideBlurEffectForNotificationRow(child as View)
- }
- }
- }
- }
- }
- }
-
- fun setBlurEffectAlphaForNotificationRow(notificationRow: View, alpha: Int) {
- if (alpha < 0 || alpha > 255) {
- return
- }
- if (notificationRow.javaClass.name.contains("ZenModeView")) {
- val zenModeContentContainer =
- XposedHelpers.callMethod(notificationRow, "getContentView") ?: return
- zenModeContentContainer as ViewGroup
- if (isBlurDrawable(zenModeContentContainer.background)) {
- XposedHelpers.callMethod(zenModeContentContainer.background, "setAlpha", alpha)
- }
- } else {
- val mBackgroundNormal =
- getValueByField(notificationRow, "mBackgroundNormal")
- ?: return
- mBackgroundNormal as View
- if (isBlurDrawable(mBackgroundNormal.background)) {
- XposedHelpers.callMethod(mBackgroundNormal.background, "setAlpha", alpha)
- }
- runCatching {
- val childList =
- XposedHelpers.callMethod(notificationRow, "getAttachedChildren") ?: return
- childList as List<*>
- if (childList.size > 0) {
- childList.forEach { child ->
- if (child != null) {
- setBlurEffectAlphaForNotificationRow(child as View, alpha)
- }
- }
- }
- }
- }
- }
-
- @SuppressLint("NewApi")
- fun showBlurEffectForNotificationRow(notificationRow: View) {
- if (notificationRow.javaClass.name.contains("ZenModeView")) {
- val zenModeContentContainer =
- XposedHelpers.callMethod(notificationRow, "getContentView") ?: return
- zenModeContentContainer as ViewGroup
- val zenModeContent =
- zenModeContentContainer.getChildAt(0) ?: return
- val contentBackground =
- zenModeContent.background as GradientDrawable
- contentBackground.alpha = blurBackgroundAlpha
- contentBackground.invalidateSelf()
- if (!isBlurDrawable(zenModeContentContainer.background)) {
- zenModeContentContainer.background =
- createBlurDrawable(notificationRow, blurRadius, cornerRadius)
- }
- } else {
- val mBackgroundNormal =
- getValueByField(notificationRow, "mBackgroundNormal") ?: return
- mBackgroundNormal as View
- if (!isBlurDrawable(mBackgroundNormal.background)) {
- mBackgroundNormal.background =
- createBlurDrawable(mBackgroundNormal, blurRadius, cornerRadius)
- runCatching {
- setDrawableAlpha(
- mBackgroundNormal,
- blurBackgroundAlpha
- )
- }
- }
- runCatching {
- val childList =
- XposedHelpers.callMethod(notificationRow, "getAttachedChildren") ?: return
- childList as List<*>
- if (childList.size > 0) {
- childList.forEach { child ->
- if (child != null) {
- showBlurEffectForNotificationRow(child as View)
- }
- }
- }
- }
- }
- }
-}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/controlcenter/BluetoothTileStyle.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/controlcenter/BluetoothTileStyle.java
deleted file mode 100644
index 5cf1e4f71..000000000
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/controlcenter/BluetoothTileStyle.java
+++ /dev/null
@@ -1,150 +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.controlcenter;
-
-import static com.sevtinge.hyperceiler.module.base.tool.HookTool.mPrefsMap;
-import static com.sevtinge.hyperceiler.utils.devicesdk.DisplayUtils.dp2px;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.LinearLayout;
-
-import com.sevtinge.hyperceiler.module.base.tool.HookTool;
-import com.sevtinge.hyperceiler.module.base.tool.ResourcesTool;
-
-import java.util.ArrayList;
-
-import de.robv.android.xposed.XC_MethodHook;
-import de.robv.android.xposed.XposedHelpers;
-
-public class BluetoothTileStyle {
- public static void initHideDeviceControlEntry(ClassLoader pluginLoader) {
- int styleId = mPrefsMap.getStringAsInt("system_ui_control_center_cc_bluetooth_tile_style", 1);
- if (styleId == 1) return;
-
- final int[] tileResIds = {0};
- HookTool.findAndHookMethod("miui.systemui.dagger.PluginComponentFactory", pluginLoader, "create", Context.class, Context.class, new HookTool.MethodHook() {
- @SuppressLint("DiscouragedApi")
- @Override
- protected void after(XC_MethodHook.MethodHookParam param) {
- Context pluginContext = (Context) param.args[1];
- tileResIds[0] = pluginContext.getResources().getIdentifier("big_tile", "layout", "miui.systemui.plugin");
- }
- });
- HookTool.hookAllMethods("miui.systemui.controlcenter.dagger.ControlCenterViewModule", pluginLoader, "createBigTileGroup", new HookTool.MethodHook() {
- @Override
- protected void after(XC_MethodHook.MethodHookParam param) {
- ViewGroup mView = (ViewGroup) param.getResult();
- LayoutInflater li = (LayoutInflater) XposedHelpers.callMethod(param.args[0], "injectable", param.args[1]);
- View btTileView = li.inflate(tileResIds[0], null);
- mView.addView(btTileView, 2);
- btTileView.setTag("big_tile_bt");
- }
- });
- HookTool.MethodHook updateStyleHook = new HookTool.MethodHook() {
- boolean United = false;
-
- @Override
- @SuppressLint("DiscouragedApi")
- protected void after(XC_MethodHook.MethodHookParam param) throws Throwable {
- ViewGroup mView = (ViewGroup) XposedHelpers.callMethod(param.thisObject, "getView");
- View bigTileB = (View) XposedHelpers.getObjectField(param.thisObject, "bigTileB");
- if (!United) {
- United = true;
- Object factory = XposedHelpers.getObjectField(param.thisObject, "tileViewFactory");
- View btTileView = mView.findViewWithTag("big_tile_bt");
- int btTileId = ResourcesTool.getFakeResId("bt_big_tile");
- btTileView.setId(btTileId);
- Object btController = XposedHelpers.callMethod(factory, "create", btTileView, "bt");
- XposedHelpers.setAdditionalInstanceField(param.thisObject, "btTileView", btTileView);
- XposedHelpers.setAdditionalInstanceField(param.thisObject, "btController", btController);
-
- Class> mConstraintSetClass = pluginLoader.loadClass("androidx.constraintlayout.widget.ConstraintSet");
- Object constraintSet = XposedHelpers.newInstance(mConstraintSetClass);
- XposedHelpers.callMethod(constraintSet, "clone", mView);
- View bigTileA = (View) XposedHelpers.getObjectField(param.thisObject, "bigTileA");
- if (styleId == 2) {
- XposedHelpers.callMethod(constraintSet, "connect", bigTileB.getId(), 7, btTileId, 6);
- XposedHelpers.callMethod(constraintSet, "connect", btTileId, 6, bigTileB.getId(), 7);
- XposedHelpers.callMethod(constraintSet, "connect", btTileId, 7, bigTileA.getId(), 7);
- XposedHelpers.callMethod(constraintSet, "connect", btTileId, 3, bigTileB.getId(), 3);
- XposedHelpers.callMethod(constraintSet, "connect", btTileId, 4, 0, 4);
- XposedHelpers.callMethod(constraintSet, "setMargin", btTileId, 6, dp2px(10));
- int labelResId = mView.getResources().getIdentifier("label_container", "id", "miui.systemui.plugin");
- bigTileB.findViewById(labelResId).setVisibility(View.GONE);
- btTileView.findViewById(labelResId).setVisibility(View.GONE);
- int iconResId = mView.getResources().getIdentifier("status_icon", "id", "miui.systemui.plugin");
- LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) bigTileB.findViewById(iconResId).getLayoutParams();
- layoutParams.leftMargin = dp2px(3);
- layoutParams = (LinearLayout.LayoutParams) btTileView.findViewById(iconResId).getLayoutParams();
- layoutParams.leftMargin = dp2px(3);
- } else {
- XposedHelpers.callMethod(constraintSet, "connect", bigTileB.getId(), 4, btTileId, 3);
- XposedHelpers.callMethod(constraintSet, "connect", btTileId, 6, bigTileA.getId(), 6);
- XposedHelpers.callMethod(constraintSet, "connect", btTileId, 7, bigTileA.getId(), 7);
- XposedHelpers.callMethod(constraintSet, "connect", btTileId, 3, bigTileB.getId(), 4);
- XposedHelpers.callMethod(constraintSet, "connect", btTileId, 4, 0, 4);
- }
- XposedHelpers.callMethod(constraintSet, "constrainWidth", btTileId, 0);
- XposedHelpers.callMethod(constraintSet, "constrainHeight", btTileId, 0);
- XposedHelpers.callMethod(constraintSet, "applyTo", mView);
- }
- if (styleId == 3) {
- ViewGroup.LayoutParams layoutParams = bigTileB.getLayoutParams();
- int verticalMargin = dp2px(4);
- ((ViewGroup.MarginLayoutParams) layoutParams).topMargin = verticalMargin;
- ((ViewGroup.MarginLayoutParams) layoutParams).bottomMargin = verticalMargin;
- }
- }
- };
- HookTool.findAndHookMethod("miui.systemui.controlcenter.qs.tileview.BigTileGroupController", pluginLoader, "updateResources", updateStyleHook);
- HookTool.findAndHookMethod("miui.systemui.controlcenter.qs.tileview.BigTileGroupController", pluginLoader, "setListening", boolean.class, new HookTool.MethodHook() {
- @Override
- protected void after(XC_MethodHook.MethodHookParam param) {
- Object btController = XposedHelpers.getAdditionalInstanceField(param.thisObject, "btController");
- if (btController != null) {
- XposedHelpers.callMethod(btController, "setListening", param.args[0]);
- }
- }
- });
- HookTool.findAndHookMethod("miui.systemui.controlcenter.qs.tileview.BigTileGroupController", pluginLoader, "getRowViews", int.class, new HookTool.MethodHook() {
- @Override
-
- protected void after(XC_MethodHook.MethodHookParam param) {
- int row = (int) param.args[0];
- Object btTileView;
- if (row == 1 && (btTileView = XposedHelpers.getAdditionalInstanceField(param.thisObject, "btTileView")) != null) {
- ((ArrayList
Dispositivos
Red
Privacidad
- Se muestra el lado izquierdo del icono
- Se muestra el lado derecho del icono
Wi-Fi
Wi-Fi auxiliar
Estándar de Wi-Fi
@@ -682,23 +671,17 @@ aplicaciones del sistema
Grupo de cajas de sonido Stereo
Televisión
Auricular inalámbrico
- Número máximo de puntos de notificaciones
Número máximo de iconos de notificaciones
Ocultar porcentaje de batería
Ocultar signo de porcentaje de batería
Ocultar indicador de carga
Ocultar icono de batería
Personalización de batería
- Indicador de batería
Wi-Fi
Red móvil
Intercambiar iconos de Wi-Fi y red móvil
Velocidad de internet
Escena de sonido
- Forzar el uso de nuevo icono de HD
- Solo funciona en algunas versiones de sistema
- Separador de velocidad de red
- La línea vertical entre el tiempo y la velocidad de Internet no se muestra en dispositivos con cámara centrada
Ocultar barra de estado al tomar captura de pantalla
Icono de tipo de red móvil
Activar modificación
@@ -714,21 +697,9 @@ aplicaciones del sistema
Los valores de velocidad de red por debajo de este nivel se consideran lentos y se mostrará un icono de indicador diferente (solo algunos iconos)
Ocultar Byte por segundo (*b/s)
Icono del indicador
- Modo de reloj personalizado
- Formato de reloj
- Mostrar año
- Mostrar mes
- Mostrar día
- Mostrar semana
- Mostrar doble hora
- Mostrar período de reloj
- Mostrar segundos
- Ocultar espacio
- Mostrar en dos filas
Alineamiento de dos filas
Ejemplo de formato de reloj
Tamaño de reloj
- Tamaño del reloj de dos filas
Funciona solo cuando se muestra en dos filas
Corregir color
Deshabilite la animación de transición del reloj deslizante en el Centro de notificaciones
@@ -736,35 +707,6 @@ aplicaciones del sistema
Mostrar
Formato del reloj de la barra de estado
Disposición del reloj de la barra de estado
- Potencia relacionada
- Temperatura relacionada
- Tamaño de fuente
- Mostrar contenidos
- Ocultar la parte decimal
- Ocultar unidades
- Mostrar a la derecha
- Siempre se muestra el valor positivo de corriente
- Se muestra en una fila
- Invertir orden
- Se muestra solo en carga
- Intervalo de actualización de estado
- Cambiar el método de adquisición de la temperatura de CPU
- Introduzca el número de /sys/devices/virtual/thermal/thermal_zone*
- Centrado
- Esquina redondeada
- Limitar visibilidad
- Se alinean verticalmente
- Color
- Color de batería llena
- Color de batería baja
- Color del modo de ahorrar batería
- Color de carga
- Altura
- Margen horizontal
- Transparencia
- Brillante
- Nivel de batería baja
- Prueba
Disposición
Información
Debug
@@ -774,10 +716,8 @@ aplicaciones del sistema
Texto
Este es un largo texto que será salida en forma de desplazamiento
Centro de control
- Tarjeta
Pegatinas
- Notificación
- Transparencia del fondo de tarjeta
+ Centro de notificaciones
%1$s está activado
%1$s está desactivado
Interruptor de red 5G
@@ -786,6 +726,8 @@ aplicaciones del sistema
Barra de estado se vuelve automáticamente
Color de fondo
Color de icono
+ Habilitar la personalización del mosaico pequeño
+ Habilitar la personalización del mosaico grande
Después de abrir, hacer clic en pegatinas y automáticamente se vuelve la barra de estado
Eliminar títulos
Filas
@@ -794,19 +736,6 @@ aplicaciones del sistema
Columnas
%d Columnas
Columnas (Horizontal)
- Entrada de MiPlay
- Entrada de Mi Hub inteligente
- Entrada del control de dispositivo
- Transparencia del control de fondo de detalles
- Configuraciones de notificación
- Optimización de notificación
- Función experimental, solo disponible en Android 13 o superior. Después de activar, el desenfoque de notificaciones en algunas áreas se optimizará\nPuede haber un problema de bloqueo de la interfaz del sistema en algunos modelos.
- Radio de desenfoque
- Sin notificaciones desplegables
- Radio de esquina
- El tema predeterminado no se necesita ajustar
- Valor de fondo desenfocado
- Valor de fondo predeterminado
Optimizar el efecto de mezcla de colores del panel de control de medios
Barra de progreso
Ondeado
@@ -839,8 +768,6 @@ aplicaciones del sistema
Solo se oculta el divisor
Mostrar el nombre del dispositivo
Se ocultan todos
- Estilo de pegatina de Bluetooth
- Mover la pegatina de Bluetooth a cerca de la de red
Menú de notificaciones extendido
Abrir información de la aplicación, cerrarla y abrirla en ventana flotante desde el menú de notificación (deslizar la notificación a la izquierda para abrirla)
Centro de control nuevo
@@ -853,15 +780,14 @@ aplicaciones del sistema
No añadido
Eliminar restricciones de notificación de burbaja
No hay restricciones en el desenfoque de fondo para materiales prémium de Xiaomi solo para la eliminación en temas no oficiales
+ Contenido
+ Porcentaje
+ Valor de origen
Otros
Barra de volumen de AOSP
- La modificación de la barra de volumen de Xiaomi no se aplica a la barra de volumen de AOSP
+ Menú de apagado nativo
Desbloquear el editor de portapapeles AOSP
- Animación de carga
- Estilo de animación de carga
- Seleccione el estilo de animación de carga de la pantalla de bloqueo
Otros
- Evitar que el bluetooth se apague temporalmente
Ocultar el botón de ventana fácil
Ocultar el botón de ventana fácil centrado en la parte superior de la pantalla horizontal de HyperOS para Pad
Sólo para tabletas
@@ -878,10 +804,10 @@ aplicaciones del sistema
Personalizar el color de tema
Personalizar colores de tema en lugar de extraer color del fondo de pantalla del sistema
Seleccionar el color de tema
- Temporizador extendido
Pestaña de interruptor rápido
Notificación
Desactivar lista blanca de notificaciones
+ Temporizador extendido
Activar desenfoque de la barra de volumen
Solo para Android 12+ y MTK, pero puede causar alta carga de GPU
@@ -913,8 +839,9 @@ aplicaciones del sistema
Conexión & compartimiento
Nueva página de NFC
Después de abrirse, la aplicación de pago predeterminada en los modelos no soportados no puede ser Xiaomi Monedero
+ HyperAI de Xiaomi
+ Desbloquear HyperAI de Xiaomi
Funciones destacadas
- Desbloquear la captura de un área
Asistente de VoIP
Mostrar & Pantalla de bloqueo
Desbloquear súperresolución
@@ -946,6 +873,7 @@ aplicaciones del sistema
Activar tema de Pad
Activar tema de Fold
+ Desactivar anuncios
Actualización
Activar disfrazar versión en el actualizador
@@ -961,22 +889,18 @@ aplicaciones del sistema
Introduzca el código de modelo del dispositivo que quiere para especificar el dispositivo, que puede ayudarle a usted para obtener ROM de otros modelos, lo cual es extremadamente peligroso
Permisos
- Portapapeles
- Ocultar Toast
- Leer el portapapeles usando Toast
- Ocultar el diálogo y permitir que la aplicación lea el portapapeles por defecto
- Leer el portapapeles
- Proyectar la pantalla
Servicios de interconexión
Desbloquear interconexión de dispositivo
Forzar el soporte para la transmisión de cámara
Bloquear la creación de carpetas de hpplay
+ Grabador de sonido
+ Desactivar marca de agua de IA
- Pantalla siempre activa
Editor de \"se muestra siempre\" y la pantalla de bloqueo
Desbloquear el límite de tiempo de visualización de la pantalla siempre activada
+ Reinicie la interfaz de usuario del sistema para activar completamente la función
Desbloquear Aod Aon
Taplus
@@ -1004,7 +928,9 @@ aplicaciones del sistema
Mi Canvas
Eliminar restricciones en el uso en móviles
+ LPA
IMEI personalizado
+ Asegúrese de que ha introducido correctamente el IMEI. Un IMEI incorrecto puede hacer que el eSIM no esté disponible o anormal. No nos hacemos responsables de las consecuencias que puedan derivarse de ello.
Galería
Desbloquear el rango dinámico alto
@@ -1026,10 +952,10 @@ aplicaciones del sistema
Servicio de Xiaomi Cloud
Google
Google & OneDrive
-
- Componentes de seguridad
+
Componentes de seguridad del sistema
Evitar la subida automática de la lista de aplicaciones instaladas
+ Deshabilitar verificación de entorno
Lanzador del sistema
Gestos y Navegación
@@ -1069,6 +995,7 @@ aplicaciones del sistema
Ninguna
Disposición
Pantalla de inicio
+ Indicador
Base
Barra de búsqueda
Indicador de página
@@ -1122,7 +1049,7 @@ aplicaciones del sistema
Insensidad de color
Cantidad de aplicaciones en una columna de carpeta
%d Columnas
-
+ Distancia de carpeta desde el margen lateral de la pantalla
Espacio horizontal de carpeta
Posición del título
Usar la anchura de toda la carpeta
@@ -1148,6 +1075,7 @@ aplicaciones del sistema
Icono y nombre
Icono
Animación de iconos
+ Desenfoque de aplicación
Nombre
Texto desplazable
Los nombres de aplicaciones que son demasiado largas desplazarán en lugar de presentarse en filas
@@ -1171,10 +1099,12 @@ aplicaciones del sistema
Parámetros de animación personalizada
Amortecimento
Rigidez
+ Ocultar texto del informe en el diálogo de desinstalación
+ Color de fondo del mensaje de notificación personalizado
Color personalizado
+ Tamaño de iconos
Tareas recientes
Velocidad de animación
- Desactivar que se obscurece el fondo de pantalla
Desbloquear aplicaciones fijadas
Ocultar barra de estado en Tareas recientes
Ocultar botón de Ventanas pequeñas
@@ -1196,6 +1126,8 @@ aplicaciones del sistema
Se oculta el icono de limpieza cuando no hay tarjeta
Desenfoque del fondo
Mostrar lanzador como fondo
+ Tamaño de fondo del lanzador
+ Ocultar aplicaciones en Recientes
Widget
Animación de widget
Se muestran widgets de HyperOS/MIUI
@@ -1246,6 +1178,7 @@ aplicaciones del sistema
Iconos grandes con esquinas redondeadas
Administración de iconos del lanzador
Prohibir Toast de \"por favor deslícese de nuevo\"
+ Ocultar barra de estado cuando la aplicación está bloqueada
Está prohibido llamar a la barra lateral cuando está fijada
Saltar a la pantalla de bloqueo cuando no está fijado
Aplicaciones fijadas
@@ -1268,6 +1201,7 @@ aplicaciones del sistema
Ninguno Desenfoque (con animación simple)
Desbloquear más opciones para configuraciones del inicio
Tal vez las funciones desbloqueadas no estén disponibles, y algunas funciones necesitan soporte subyacente del sistema
+ Optimizar el retraso de inicio de la aplicación
Editor de Galería
Funciones básicas
@@ -1280,9 +1214,11 @@ aplicaciones del sistema
Personalizar el tipo de marco
Desbloquear filtros de Leica
Solo en algunas versiones se funciona
+ Desbloquear AIGC
Mi Share
No se permite el cierre automático de Mi Share
+ Habilitar servicios de ubicación cuando el compartir de archivos está apagado
Desbloquear transferencia de turbo
Todos
@@ -1304,12 +1240,14 @@ aplicaciones del sistema
Se muestra más información sobre el paquete
Se muestra más información sobre la aplicación que se está instalando
No permitir subir información de la aplicación
+ La verificación de seguridad no será posible si está desactivada
Servicio de NFC
Desactivar el sonido de notificación de NFC
Se permite reconocimiento cuando la pantalla está apagada
Visor de HTML
+ Desactivar el control de la nube
Asistente personal
Widget de Pad/Fold
@@ -1319,6 +1257,7 @@ aplicaciones del sistema
Estilo del fondo
Valor del desenfoque del fondo de la pantalla inteligente
Color del fondo de la pantalla inteligente
+ Desbloquear límite de conteo de widgets
Batería y rendimiento
Personalizar FPS de aplicaciones
@@ -1345,9 +1284,8 @@ aplicaciones del sistema
Personalizar el modelo de la captura de pantalla con marco de móvil
Ingrese un código de modelo
+ Esto puede causar que otras funciones sean anormales
- Seguridad
- Centro de seguridad de Tablet
Herramientas de seguridad
Administración de aplicaciones
Ahorro de batería
@@ -1358,14 +1296,11 @@ aplicaciones del sistema
Cerrar la ventana emergente de Dolby
Mostrar temperatura de batería
Mostrar estado detallado de la batería
- Proteger el portapapeles
- Menor precisión de posicionamiento
Servicio de GMS
Interruptores de Taplus
Reemplazo de icono de pegatina de modo de exteriormente oscuro
Control de brillo de linterna
Se permite controlar el brillo de la linterna por el deslizador de brillo
- Administrar las aplicaciones que obtiene su número de teléfono móvil para iniciar sesión con un solo clic
Usar el PIN sin orden de aplicaciones
Se cambia aleatoriamente la secuencia del teclado de PIN de bloqueo de aplicaciones
Desbloquear el ajuste inteligente del brillo de la luz de relleno
@@ -1398,6 +1333,7 @@ aplicaciones del sistema
Se bloquean 100 puntos y se deshabilita la optimización
Saltar límite de cuenta
Saltar la espera de la confirmación para la mayoría de opciones peligrosas oficiales
+ Omitir la página de advertencia
Desenfoque de la barra lateral
Eliminar restricciones de notificación de burbaja
Ocultar el aviso de batería baja
@@ -1439,6 +1375,8 @@ aplicaciones del sistema
Función de barra lateral
Se inician juegos rápidamente
Al iniciarse el juego, cuya animación de pantalla de apertura pasa a una velocidad de 3 veces, que solo funciona con algunos juegos
+ Saltar seguridad SIM de la cuenta Xiaomi
+ Puede utilizar esta función incluso sin iniciar sesión en su cuenta de Xiaomi
Información de aplicación de AOSP
Añadir entrada de información de aplicación de AOSP
Administrador de aplicaciones de AOSP
@@ -1487,6 +1425,7 @@ aplicaciones del sistema
Prohibir el uso de iconos de terceros
Haz que el escritorio esté más limpio
Desactivar el monitor de paquetes
+ Desactivar anuncios
Auriculares
Aumentar la frecuencia de muestreo
@@ -1502,8 +1441,10 @@ aplicaciones del sistema
Método de entrada Sogou
Eliminar el límite en la cantidad de portapapeles
+ Añadir botón de borrar portapapeles
+
- Escáner
+ Escánear de IA
Desbloquear tarjeta de identificación escaneada
Desbloquear traducción
Desbloquear OCR
@@ -1512,9 +1453,14 @@ aplicaciones del sistema
Desbloquear escaneo de PPT
Desbloquear archivos escaneados
- Mi IA
+ Súper IA
Desactivar marca de agua en charlas
+ Activador de voz
+ Permitir la grabación del despertador con voz sin internet
+ Permite la grabación de palabras desde el despertador con voz cuando esté desconectado
+ Establecer precisión para despertador con detección de voz
+ Los valores más altos son más difíciles de detectar. El valor por defecto es 70%, para la palabra clave XATX es 0%. Después de ajustar, necesita reiniciar la aplicación de destino y volver a inscribir su palabra de activación.
Otro
Mi Hub Inteligente
@@ -1646,6 +1592,8 @@ aplicaciones del sistema
Ajustes
Modo avión
Brillo automático
+ SIM 1 de VoWiFi
+ SIM 2 de VoWiFi
Agregar hook
Seleccionar modo
Proyectos de código abierto
@@ -1656,4 +1604,8 @@ aplicaciones del sistema
Desactivar registro
Desactivar sugerencias
Activar sugerencias
+ La aplicación se está ejecutando anormalmente
+ %s bloqueos múltiples
+ Haga clic para ver los detalles
+ Ver
diff --git a/app/src/main/res/values-in-rID/strings.xml b/app/src/main/res/values-in-rID/strings.xml
index 66df2ec69..091db70e5 100644
--- a/app/src/main/res/values-in-rID/strings.xml
+++ b/app/src/main/res/values-in-rID/strings.xml
@@ -19,7 +19,7 @@
-->
- Jadikan HyperOS/MIUI Hebat Lagi!
+ Jadikan HyperOS Hebat Lagi!
menambah dan menghapus file pada penyimpanan internal perangkat
digunakan untuk menyediakan layanan latitude dan longitude
Selama penggunaan, untuk memberi Anda lebih banyak fitur, kami mungkin meminta izin Root/Su dari Anda. Anda dapat membuka Manajemen Izin kapan saja untuk menyesuaikan status otorisasi semua izin, dan silakan buka manajer Root/Su Anda untuk meng-izinkan.
@@ -187,10 +187,6 @@
Fungsi
Menyarankan
Editor
- Catatan
- Tembakan
- Potret
- Pro
Mengaktifkan
Cacat
Pengaktifan khusus
@@ -293,8 +289,6 @@
Frekuensi penggunaan
Penyimpanan bekas
Waktu instalasi
- Tiga ubin besar
- Satu ubin besar dan dua ubin kecil
Resmi hadir dengan blur
Latar belakang khusus buram
Menutup
@@ -343,9 +337,7 @@
Hanya mendukung tautan
Sesuaikan volume secara default
Penyesuaian volume instan
- Kontrol volume independen
Hapus batasan keamanan volume tinggi
- Penggeser volume notifikasi
Tingkat volume media
Hal ini dapat menyebabkan pengguliran bilah volume terhenti atau volume Bluetooth menjadi tidak normal
Pengganda tingkat volume
@@ -448,52 +440,7 @@
Tanda air perangkat khusus
Informasi Pabrikan
Informasi Perangkat
- Buka kunci tanda air AI
- Buka kunci eksposur panjang
- Buka kunci mode Klon
- Buka kunci cermin saku
- Buka kunci mode Dokumen
- Buka kunci mode Kartu ID
- Buka kunci kamera ganda
- Buka Kunci Durasi
- Buka kunci video pendek
- Buka kunci mode Super-bulan
- Buka kunci mode Panorama
- Buka kunci mode Piksel
- Buka kunci mode Potret
- Buka kunci Gerakan lambat
- Buka kunci Video-langit
- Buka kunci Vlog
- Buka kunci Vlog Pro
- Buka kunci kamera Film
- Buka kunci Long-exp
- Buka kunci zoom Dolly
- Buka Kunci Mimpi
- Buka kunci Rana Lambat
- Buka kunci aliran balik Waktu
- Buka kunci Pembekuan waktu
Buka kunci rana Palm
- Buka kunci Peningkatan warna
- Buka kunci Riasan
- Hanya berlaku saat menggunakan kamera depan
- Buka kunci 60FPS
- Tidak tersedia dalam beberapa kualitas, pastikan perangkat Anda didukung
- Buka kunci 120FPS
- Hanya mendukung kualitas 4K, pastikan perangkat Anda didukung
- Buka kunci pembesaran Audio
- Buka kunci HDR
- Buka kunci peningkatan AI
- Buka kecantikan baru
- Hanya berlaku saat menggunakan kamera depan
- Buka kunci lensa Master
- Tidak dapat berfungsi dengan baik pada beberapa perangkat
- Buka kunci RAW
- Buka kunci LOG
- Buka kunci HEIF
- Buka kunci fokus trek Gerak
- Buka kunci penangkapan gerak
- Buka kunci Hapus tahi lalat
- Buka kunci Sesuaikan efek riasan untuk pria
Aktifkan opsi Lab
Buka kunci Lacak mata
@@ -542,9 +489,7 @@
Sembunyikan kamera
Sembunyikan layar pintar
Saat ini
- Jam menunjukkan detik
Kamera buram dan tombol layar pintar
- Paksa jam menggunakan font sistem
Ketuk dua kali layar kunci
Ketuk dua kali lokasi kosong untuk mengunci layar
Sembunyikan notifikasi mode zen
@@ -574,12 +519,7 @@
Manajemen ikon
Manajemen indikator kecepatan jaringan
Manajemen indikator jam
- Indikator perangkat keras
Roti Bakar Kuat yang Cerdas
- Tata Letak
- Modus kompatibilitas
- Aktifkan secara paksa tata letak layar penuh untuk semua layar berbentuk khusus
- Modus tata letak
Ketuk dua kali untuk tidur
Bilah sinyal baris ganda
Tema ikon
@@ -608,8 +548,6 @@
Perangkat
Jaringan
Privasi
- Sisi kiri ikon muncul
- Sisi kanan ikon muncul
Wifi
Wi-Fi budak
Standar Wi-Fi
@@ -652,23 +590,17 @@
Grup Stereo Kotak Suara
Televisi
Headset nirkabel
- Jumlah maksimum titik notifikasi
Jumlah maksimum ikon notifikasi
Sembunyikan persentase baterai
Sembunyikan tanda persentase baterai
Sembunyikan indikator pengisian daya
Sembunyikan ikon baterai
Kustomisasi baterai
- Indikator baterai
Wifi
Jaringan Seluler
Tukar Wi-Fi dan Jaringan Seluler
Kecepatan internet
Adegan suara
- Paksa untuk menggunakan ikon HD baru
- Hanya mendukung beberapa versi sistem
- Pemisah kecepatan jaringan
- Garis vertikal antara waktu dan kecepatan internet tidak ditampilkan pada perangkat dengan kamera terpusat
Sembunyikan bilah status saat mengambil tangkapan layar
Ikon tipe jaringan seluler
Aktifkan Modifikasi
@@ -684,21 +616,9 @@
Nilai kecepatan jaringan di bawah level ini dianggap lambat dan ikon indikator berbeda akan ditampilkan (hanya beberapa ikon)
Sembunyikan akhiran Byte per detik (*b/s)
Ikon indikator
- Mode jam khusus
- Format jam
- Tampilkan tahun
- Tampilkan bulan
- Tampilkan hari
- Tampilkan minggu
- Tampilkan jam ganda
- Tampilkan periode jam
- Tampilkan detik
- Sembunyikan ruang
- Tampilkan ganda
Perataan baris ganda
Contoh format jam
Ukuran jam
- Ukuran jam baris ganda
Hanya valid jika ditampilkan dalam dua baris
Perbaiki warna
Nonaktifkan animasi transisi jam slide di Pusat Pemberitahuan
@@ -713,35 +633,6 @@
Format jam bilah status
Format jam mini bilah notifikasi
Pengaturan jam bilah status
- Terkait dengan kekuatan
- Terkait suhu
- Ukuran huruf
- Tampilkan isinya
- Sembunyikan tempat desimal
- Sembunyikan unit
- Tunjukkan di sebelah kanan
- Arus selalu menunjukkan nilai positif
- Tampilan baris tunggal
- Urutan terbalik
- Tampilkan hanya saat mengisi daya
- Interval pembaruan status
- Perbaiki suhu CPU
- Masukkan nomor /sys/devices/virtual/thermal/thermal_zone*
- terpusat
- Sudut membulat
- Batasi visibilitas
- Sejajarkan secara vertikal
- Warna
- Warna baterai penuh
- Warna baterai lemah
- Warna mode hemat daya
- Warna pengisian daya
- Tinggi
- Margin horisontal
- Transparansi
- Bersinar
- Tingkat baterai rendah
- Tes
Tata Letak
Informasi
Men-debug
@@ -751,11 +642,9 @@
Teks
Ini adalah teks panjang yang akan ditampilkan dalam bentuk bergulir
Pusat kendali
- Kartu
Kartu Pemberitahuan Media
magnet
Pemberitahuan
- Transparansi latar belakang kartu
%1$s aktif
%1$s tidak aktif
Sakelar jaringan 5G
@@ -772,21 +661,8 @@
Kolom
%d Daftar
Kolom (Lanskap)
- Entri MiPlay
- Entri hub pintar Mi
- Entri kontrol perangkat
- Kontrol Detail Nilai keburaman latar belakang
Nonaktifkan Mode Transparan
Nonaktifkan pengaturan latar belakang notifikasi menjadi transparan
- Model Buram Pemberitahuan
- Optimalisasi notifikasi
- Fungsi eksperimental, hanya tersedia untuk model Android 13 dan yang lebih baru. Setelah diaktifkan, notifikasi buram di beberapa area akan dioptimalkan\nMungkin ada masalah antarmuka sistem crash pada beberapa model.
- Radius Buram
- Tanpa pemberitahuan dropdown
- Radius Sudut
- Tema default tidak perlu disesuaikan
- Nilai Latar Belakang Buram
- Nilai Latar Belakang Default
Optimalkan efek pencampuran warna pada media panel kontrol
Bergelombang
Ramping
@@ -817,8 +693,6 @@
Kustomisasi nama operator
Hanya pembatas yang disembunyikan
Sembunyikan semua nama
- Gaya ubin Bluetooth
- Pindahkan ubin bluetooth di dekat ubin jaringan
Menu notifikasi yang diperluas
Buka info aplikasi, tutup paksa aplikasi dan buka di jendela mengambang dari menu notifikasi (geser notifikasi ke kiri untuk membukanya)
Pusat kendali baru
@@ -833,14 +707,8 @@
Tidak ada batasan keburaman latar belakang untuk materi premium resmi hanya untuk penghapusan tema pihak ketiga
Lainnya
Bilah volume asli
- Modifikasi bilah volume Xiaomi tidak berlaku untuk bilah volume asli
Buka kunci editor papan klip AOSP
- Setelah dibuka, itu akan muncul bersama dengan editor MIUI/HyperOS.
- Mengisi animasi
- Gaya animasi pengisian daya
- Pilih gaya animasi pengisian daya layar kunci
Lainnya
- Cegah bluetooth dimatikan sementara
Sembunyikan tombol Jendela Kenyamanan
Sembunyikan tombol jendela praktis yang berada di tengah bagian atas layar lanskap HyperOS untuk Pad
Nonaktifkan tombol Layar belah
@@ -859,10 +727,10 @@
Sesuaikan warna tema
Sesuaikan warna tema alih-alih mengambil warna dari wallpaper sistem
Pilih warna tema
- Pengatur waktu diperpanjang
Tab peralihan cepat
Pemberitahuan
Nonaktifkan daftar putih notifikasi
+ Pengatur waktu diperpanjang
Aktifkan kekaburan bilah volume
Hanya untuk model Android12+ MTK, mungkin terdapat beban GPU yang tinggi
@@ -896,7 +764,6 @@
Halaman NFC Baru
Setelah dibuka, aplikasi pembayaran default untuk model yang tidak didukung tidak dapat memilih Xiaomi Wallet
Fungsi unggulan
- Buka kunci tangkapan layar area
Asisten VoIP
Tampilan & Layar kunci
Buka kunci resolusi Super
@@ -952,21 +819,14 @@
Nonaktifkan pop-up dialog \"Aktifkan pembaruan otomatis\"
Izin
- papan klip
- Sembunyikan Tip Roti Bakar
Nonaktifkan mati otomatis dari mulai otomatis
- Baca clipboard menggunakan petunjuk Toast
- Sembunyikan dialog dan izinkan aplikasi membaca clipboard secara default
- Baca papan klip
- Pemeran
Layanan Interkonektivitas
Buka kunci interkoneksi Perangkat
Dukungan paksa untuk streaming kamera
Blokir pembuatan folder hpplay
- Tampilan selalu aktif
Tampilan Selalu Aktif dan Editor Layar Kunci
Buka kunci batas waktu tampilan layar selalu aktif
Mulai ulang UI Sistem untuk mengaktifkan fitur sepenuhnya
@@ -1018,8 +878,7 @@
Layanan Xiaomi Cloud
Google
Google & OneDrive
-
- Komponen keamanan MIUI
+
Komponen Keamanan Sistem
Cegah pengunggahan otomatis daftar aplikasi yang diinstal
@@ -1171,7 +1030,6 @@
Sembunyikan teks laporan
Terkini
Kecepatan animasi
- Nonaktifkan peredupan wallpaper
Buka kunci aplikasi yang disematkan
Sembunyikan bilah status di tampilan tugas
Sembunyikan jendela mengambang aplikasi pencerminan layar
@@ -1340,8 +1198,6 @@
Silakan masukkan kode model
- Keamanan
- Pusat keamanan tablet
Alat Keamanan
Manajemen aplikasi
Penghemat Baterai dan Baterai
@@ -1352,14 +1208,11 @@
Tutup jendela pop-up Dolby
Tampilkan suhu baterai
Tampilkan kesehatan baterai secara detail
- Lindungi papan klip
- Akurasi posisi lebih rendah
Layanan RUPS
Sakelar Taplus
Penggantian ikon ubin yang sangat gelap
Kontrol kecerahan senter
Memungkinkan Anda mengontrol kecerahan senter dengan menyeret penggeser kecerahan
- Kelola aplikasi untuk mendapatkan nomor ponsel dan masuk dengan satu klik
Applock rusak PIN pesanan
Ubah urutan papan tombol PIN kunci aplikasi secara acak
Buka kunci Sesuaikan kecerahan cahaya isi secara otomatis
@@ -1497,8 +1350,8 @@
Metode masukan Sogou
Hapus batasan jumlah clipboard
+
- Pemindai
Buka kunci pindaian kartu ID
Buka kunci terjemahan
Buka kunci OCR
@@ -1507,7 +1360,6 @@
Buka kunci pemindaian PPT
Buka kunci file pindaian
- Mi AI
Nonaktifkan tanda air obrolan
diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml
index 7d4d72dfa..e7146201d 100644
--- a/app/src/main/res/values-it-rIT/strings.xml
+++ b/app/src/main/res/values-it-rIT/strings.xml
@@ -18,8 +18,9 @@
~ Copyright (C) 2023-2025 HyperCeiler Contributions
-->
+ It
- Rendiamo HyperOS/MIUI ottimo di nuovo!
+ Rendiamo HyperOS ottimo di nuovo!
aggiungi ed elimina file nella memoria interna del dispositivo
usato per fornire servizi come latitudine e longitudine
Durante l\'uso, in modo da poterti fornire più funzionalità, potremmo chiederti i permessi di Root/SU. Puoi andare su Gestione permessi in qualsiasi momento per gestire tutte le autorizzazioni, e per favore controlla il tuo manager Root/SU per i permessi di Root/SU.
@@ -184,10 +185,6 @@
Funzione
Raccomandato
Editor
- Registra
- Scatto
- Ritratto
- Pro
Attivo
Disabilita
Attivazione personalizzata
@@ -289,8 +286,6 @@
Frequenza di utilizzo
Memoria utilizzata
Data di installazione
- Tre piastrelle grandi
- Una grande e due piastrelle piccole
Ufficiale è dotato di sfocatura
Sfocatura sfondo personalizzata
Chiudi
@@ -337,9 +332,7 @@
Supporta solo i link
Regola il volume di default
Regolazione istantanea del volume
- Controllo indipendente del volume
Rimuovi le restrizioni di sicurezza ad alto volume
- Cursore del volume notifiche
Livello volume multimediale
Può causare il blocco dello scorrimento della barra del volume o l\'anomalia del volume del Bluetooth
Moltiplicatore del livello volume
@@ -441,52 +434,7 @@
Filigrana del dispositivo personalizzata
Informazioni sul produttore
Informazioni sul dispositivo
- Sblocca filigrana AI
- Sblocca lunga esposizione
- Sblocca modalità clone
- Sblocca specchio tascabile
- Sblocca la modalità Documento
- Sblocca la modalità carta ID
- Sblocca doppia fotocamera
- Sblocca Durata
- Sblocca video brevi
- Sblocca la modalità Super-Luna
- Sblocca modalità Panorama
- Sblocca modalità Pixel
- Sblocca modalità Ritratto
- Sblocca Slow motion
- Sblocca Video-sky
- Sblocca Vlog
- Sblocca Vlog Pro
- Sblocca fotocamera film
- Sblocca lunga esposizione
- Sblocca zoom Dolly
- Sblocca Sogno
- Sblocca otturatore lento
- Sblocca tempo di back-flow
- Sblocca congelamento Tempo
Sblocca scatto con palmo
- Sblocca miglioramento colore
- Sblocca Trucco
- Ha effetto solo quando si utilizza la fotocamera frontale
- Sblocca 60FPS
- Non disponibile in alcune qualità, assicurati che il tuo dispositivo sia supportato
- Sblocca 120FPS
- Supporta solo le qualità 4K, assicurati che il tuo dispositivo sia supportato
- Sblocca zoom audio
- Sblocca HDR
- Sblocca miglioramento IA
- Sblocca nuova bellezza
- Ha effetto solo quando si utilizza la fotocamera frontale
- Sblocca Master-lens
- Potrebbe non funzionare su alcuni dispositivi
- Sblocca RAW
- Sblocca LOG
- Sblocca HEIF
- Sblocca messa a fuoco nel tracciamento del movimento
- Sblocca acquisizione in movimento
- Sblocca Rimuovi moli
- Sblocca Regola effetti di trucco per gli uomini
Abilita opzioni sperimentali (Lab)
Sblocca tracciamento degli occhi
@@ -535,9 +483,7 @@
Nascondi fotocamera
Nascondi carrello smart
Attuale
- Mostra secondi nell\'orologio
Sfoca pulsanti fotocamera e carrello intelligente
- Forza l\'uso di caratteri di sistema nell\'orologio
Doppio tocco per bloccare lo schermo
Tocca 2 volte su uno spazio vuoto nella schermata di blocco
Nascondi notifica modalità zen
@@ -568,12 +514,7 @@
Gestione Icone
Gestione Indicatore Di Velocità Di Rete
Gestione Indicatore Orologio
- Indicatori Hardware
Toast notifica intelligente
- Layout
- Modalità di compatibilità
- Abilitare forzatamente il layout a schermo intero per tutti gli schermi a forma speciale
- Modalità layout
Doppio tocco per spegnere lo schermo
Barra del segnale a doppia riga
Tema icone
@@ -602,8 +543,6 @@
Dispositivi
Rete
Privacy
- Il lato sinistro dell\'icona viene mostrato
- La parte destra dell\'icona viene mostrata
Wi-Fi
Slave Wi-Fi
Wi-Fi standard
@@ -646,23 +585,17 @@
Gruppo Suoni Box Stereo
TV
Cuffie Wireless
- Numero massimo di punti di notifica
Numero massimo di icone di notifica
Nascondi percentuale batteria
Nascondi percentuale batteria
Nascondi indicatore di ricarica
Nascondi icona batteria
Personalizzazione della batteria
- Indicatore Batteria
Wi-Fi
Rete mobile
Scambia Wi-Fi e rete mobile
Velocità di connessione
Scena audio
- Forza l\'uso della nuova icona HD
- Supporta solo alcune versioni di sistema
- Separatore velocità di rete
- La linea verticale tra orologio e velocità di internet non viene visualizzata sui dispositivi con fotocamera al centro
Nascondi la barra di stato quando si cattura uno screenshot
Icona tipo di rete mobile
Abilita Modifica
@@ -678,21 +611,9 @@
I valori di velocità di rete sotto questo livello sono considerati lenti e verrà visualizzato un indicatore differente (solo alcune icone)
Nascondi byte al secondo suffisso (*b/s)
Icona dell\'indicatore
- Modalità orologio personalizzata
- Formato orologio
- Mostra anno
- Mostra mese
- Mostra giorno
- Mostra settimana
- Mostra doppia ora
- Mostra periodo orologio
- Mostra i secondi
- Nascondi spazi
- Mostra il doppio
Allineamento a doppia riga
Esempio formato orologio
Dimensione orologio
- Dimensione orologio a doppia riga
Valido solo se visualizzato su due righe
Fix color
Disabilita l\'animazione di transizione dell\'orologio all\'apertura del centro notifiche
@@ -706,35 +627,6 @@
Formato orologio barra di stato
Formato mini orologio barra delle notifiche
Disposizione orologio barra di stato
- Potenza correlata
- Temperatura correlata
- Dimensione carattere
- Mostra contenuti
- Nascondi posizioni decimali
- Nascondi unità
- Mostra a destra
- La corrente mostra sempre un valore positivo
- Visualizzazione singola riga
- Ordine inverso
- Mostra solo durante la carica
- Imposta l\'intervallo di aggiornamento
- Correggi temperatura CPU
- Inserisci il numero di /sys/devices/virtual/thermal/thermal_zone*
- Centrato
- Angoli arrotondati
- Limita visibilità
- Allinea verticalmente
- Colore
- Colore batteria carica
- Colore con batteria scarica
- Colore modalità risparmio energetico
- Colore durante la carica
- Altezza
- Margine orizzontale
- Trasparenza
- Brillantezza
- Batteria scarica
- Test
Layout
Informazioni
Debug
@@ -744,11 +636,8 @@
Scrivi
Questo è un lungo pezzo di testo che sarà mostrato durante lo scorrimento
Centro di Controllo
- Scheda
Scheda Notifiche Media
- Magnet
Notifica
- Trasparenza sfondo carta
%1$s è attivo
%1$s è spento
Commutatore di rete 5G
@@ -763,21 +652,8 @@
Colonne
%d lista
Colonne (orizzontale)
- Elemento MiPlay
- Elemento Mi smart hub
- Elemento controllo dispositivo
- Controllo dettaglio Valore sfocatura sfondo
Disabilita Modalità Trasparente
Disabilita l\'impostazione trasparenza nello sfondo delle notifiche
- Modello sfocatura notifiche
- Ottimizzazione delle notifiche
- Funzione sperimentale, disponibile solo per i modelli Android 13 e versioni successive. Dopo l\'abilitazione, la sfocatura delle notifiche in alcune aree verrà ottimizzata\nSu alcuni modelli potrebbe verificarsi un problema di arresto anomalo dell\'interfaccia utente del sistema.
- Raggio sfocatura
- Senza notifica a discesa
- Raggio angolo
- Non è necessario modificare il tema predefinito
- Valore sfondo sfocato
- Valore sfondo predefinito
Ottimizza l\'effetto di miscelazione dei colori del pannello di controllo multimediale
Barra di avanzamento
Rimuovi la restrizione sull\'applicazione di azioni personalizzate per le schede di notifica multimediale
@@ -811,8 +687,6 @@
Personalizzazione nome operatore
Solo i divisori sono nascosti
Nascondi tutti i nomi
- Stile riquadro Bluetooth
- Sposta il riquadro Bluetooth vicino al riquadro della rete
Menu di notifica esteso
Apri informazioni sull\'app, forza la chiusura dell\'app e aprila in una finestra mobile dal menu di notifica (scorri la notifica verso sinistra per aprirla)
Nuovo centro di controllo
@@ -825,14 +699,8 @@
Non esiste alcuna restrizione sulla sfocatura dello sfondo per i materiali premium ufficiali solo per la rimozione di temi di terze parti
Altro
Barra del volume nativa
- La modifica della barra del volume di Xiaomi non si applica alla barra del volume nativa
Sblocca l\'editor degli appunti AOSP
- Dopo lo sblocco, verrà visualizzato insieme all\'editor MIUI/HyperOS.
- Animazione di ricarica
- Stile di animazione di ricarica
- Seleziona lo stile di animazione di ricarica della schermata di blocco
Altro
- Impedisci la disattivazione temporanea del Bluetooth
Nascondi il pulsante della finestra Comodità
Nascondi i tre punti permanenti, inclusa la parte superiore del piccolo e il pulsante al centro della parte superiore dello schermo orizzontale di HyperOS for Pad (non influisce sull\'uso delle funzioni)
Nascondi il gesto inferiore della piccola finestra
@@ -847,10 +715,10 @@
Personalizza tema colore
Personalizza i colori del tema invece di estrarre i colori dallo sfondo del sistema
Scegli il colore del tema
- Timer esteso
Scheda cambio rapido
Notifica
Disabilita whitelist notifiche
+ Timer esteso
Abilita sfocatura barra volume
Solo per i modelli Android12+ MTK, lì potrebbe essere elevato il carico della GPU
@@ -882,7 +750,6 @@
Nuova pagina NFC
Dopo l\'apertura, l\'applicazione di pagamento predefinita per i modelli non supportati non può selezionare Xiaomi Wallet
Funzioni in primo piano
- Schermata dell\'area di sblocco
Assistente VoIP
Visualizza e amp; Schermata di blocco
Sblocca risoluzione super
@@ -896,6 +763,7 @@
Installa i permessi delle app sconosciute senza cercare nell\'elenco delle applicazioni
Utilizza i permessi internazionali build, passa direttamente all\'interruttore di autorizzazione dell\'applicazione corrispondente “visualizzata sopra le altre applicazioni”
Autorizzazioni dei servizi di accessibilità senza cercare nell\'elenco delle applicazioni
+
Opzioni sviluppatore
Forza la visualizzazione delle app bloccate nella cache
Una volta abilitata, questa funzione può si trova in \"Opzioni sviluppatore\", ma la sua funzionalità non è garantita
@@ -931,20 +799,13 @@
Disabilita pop-up della finestra di dialogo \"Attiva aggiornamenti automatici\"
Permessi
- Appunti
- Nascondi suggerimenti Toast
- Leggi negli appunti utilizzando i suggerimenti di Toast
- Nascondi la finestra di dialogo e consenti all\'app di leggere gli appunti per impostazione predefinita
- Leggi appunti
- Trasmetti
Servizi di interconnettività
Sblocca l\'interconnessione dei dispositivi
Supporto forzato per lo streaming della fotocamera
Blocca la creazione di cartelle hpplay
- Display sempre attivo
Display sempre attivo e editor schermata di blocco
Sblocca il limite di tempo di visualizzazione dello schermo sempre attivo
Sblocca Aod Aon
@@ -994,8 +855,7 @@
Server di backup
Xiaomi Cloud Servizio
Google
-
- Componenti di sicurezza MIUI
+
Componenti di sicurezza del sistema
Impedisci il caricamento automatico dell\'elenco delle app installate
@@ -1137,7 +997,6 @@
Rigidità
Recenti
Velocità di animazione
- Disabilita oscuramento dello sfondo
Sblocca app aggiunte
Nascondi la barra di stato nella visualizzazione attività
Nascondi la finestra mobile dell\'app di mirroring dello schermo
@@ -1310,8 +1169,6 @@
Inserisci il codice del dispositivo e il dispositivo colorato deve essere riempito con un suffisso, ad esempio:\n- Xiaomi 13, inserisci il contenuto è fuxi \n- Versione rosa Xiaomi 14, compilare il contenuto è houji_PK
- Sicurezza
- Centro sicurezza tablet
Strumenti di sicurezza
Gestione app
Risparmio batteria e batteria
@@ -1322,14 +1179,11 @@
Chiudi la finestra pop-up Dolby
Mostra la temperatura della batteria
Mostra lo stato dettagliato della batteria
- Proteggi gli appunti
- Riduci la precisione di posizionamento
Servizio GMS
Interruttori Taplus
Sostituzione dell\'icona del riquadro molto scuro
Torcia controllo della luminosità
Ti permette di controllare la luminosità della torcia trascinando il cursore della luminosità
- Gestisci l\'applicazione per ottenere il numero di cellulare e accedi con un clic
PIN AppLock fuori servizio
Cambia casualmente il PIN di blocco dell\'app sequenza tastierino
Sblocca Regola automaticamente la luminosità della luce di riempimento
@@ -1469,8 +1323,8 @@
Metodo di immissione Sogou
Rimuovi il limite al numero di appunti
+
- Scanner
Sblocca scansione carta d\'identità
Sblocca traduzione
Sblocca OCR
@@ -1479,7 +1333,6 @@
Sblocca scansiona PPT
Sblocca scansiona file
- Mi AI
Disabilita filigrana chat
diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml
index b6fc39bf4..85afbc22b 100644
--- a/app/src/main/res/values-ja-rJP/strings.xml
+++ b/app/src/main/res/values-ja-rJP/strings.xml
@@ -19,9 +19,8 @@
-->
新しいバージョンがあります
- © 2023-2025 Sevtinge & HyperCeiler Contributors.
- Make HyperOS/MIUI Great Again!
+ Make HyperOS Great Again!
デバイスの内部ストレージ上のファイルを追加および削除
緯度や経度などのサービスを提供するために使用
使用中、より多くの機能を提供するために root/su 権限の許可を求める場合があります。アクセス許可の管理に移動すると、いつでもすべてのアクセス許可を変更できます。root/su 権限については、お使いの root/su マネージャーにアクセスして変更してください。
@@ -252,10 +251,6 @@
機能
おすすめ
編集者
- 録画
- スクショ
- ポートレート
- プロ
有効化
無効
カスタムを有効化
@@ -363,8 +358,6 @@
使用頻度
ストレージの使用量
インストール日時
- 3つの大きなタイル
- 大きいタイル1枚と小さいタイル2枚
公式のぼかし
カスタム背景ぼかし
オフ
@@ -420,11 +413,9 @@
リンクのみ対応
デフォルトで音量を調整
即座な音量調整
- 独立した音量コントロール
大音量の警告を無効化
すべての条件で有効
ヘッドフォン接続時にのみ有効
- 通知の音量スライダー
メディアの音量レベル
オンにすると、音量バーのスクロールがフリーズしたり、Bluetooth の音量が異常になったりする場合があります
音量のステップ数
@@ -552,52 +543,7 @@
デバイス透かしのカスタム
メーカー情報
デバイス情報
- AI の透かしをアンロック
- 長時間露出をアンロック
- クローンモードをアンロック
- ポケットミラーをアンロック
- ドキュメントモードをアンロック
- ID カードモードをアンロック
- デュアルカメラをアンロック
- タイムラプス撮影をアンロック
- ショートビデオをアンロック
- スーパームーンモードをアンロック
- パノラマモードをアンロック
- 超解像度モードをアンロック
- ポートレートモードをアンロック
- スローモーションをアンロック
- ビデオスカイをアンロック
- Vlog をアンロック
- Vlog Pro をアンロック
- フィルムカメラをアンロック
- 長時間露光ディレイをアンロック
- ドリーズームをアンロック
- パラレルドリームをアンロック
- スローシャッターをアンロック
- タイムワープをアンロック
- タイムスタシスをアンロック
手のひらジェスチャー撮影をアンロック
- 色の強化をアンロック
- メイクアップをアンロック
- フロントカメラを使用している場合にのみ効果があります
- 60FPS をアンロック
- 一部の品質では使用できません。お使いのデバイスが対応していることを確認してください
- 120FPS をアンロック
- 4K 品質の場合にのみ対応しています。お使いのデバイスが対応していることを確認してください
- オーディオズームをアンロック
- HDR をアンロック
- AI モードをアンロック
- 新しいビューティーモードをアンロック
- フロントカメラを使用している場合にのみ効果があります
- マスターレンズをアンロック
- 一部のデバイスでは正常に動作しません
- RAW をアンロック
- LOG をアンロック
- HEIF をアンロック
- モーショントラッキングフォーカスをアンロック
- モーションキャプチャをアンロック
- ほくろ除去をアンロック
- 男性用のメイクアップ効果をアンロック
ラボオプションを有効化
目のトラッキングをアンロック
カメラ使用時に明るさを最大にする
@@ -661,11 +607,9 @@
カメラを非表示
スマートスクリーンを非表示
電流
- 時計に秒を表示
カメラとサイドパネルのボタンをぼかす
背景の半径
背景の色
- システムフォントを時計に強制使用する
ロック画面のダブルタップ
空の場所をダブルタップすると画面をロックします
Zen モードの通知を非表示
@@ -700,13 +644,8 @@
アイコンの管理
ネットワーク速度インジケータの管理
時計の設定
- ハードウェアインジケーター
スマートトースト
歌詞のフォーカス
- レイアウト
- 互換モード
- すべての特殊な形状の画面で、フルスクリーンレイアウトを強制的に有効にします
- レイアウトモード
ダブルタップでスリープ
二行のシグナルバー
アイコンテーマ
@@ -735,8 +674,6 @@
デバイス
ネットワーク
プライバシー
- アイコンを左側に表示
- アイコンを右側に表示
Wi-Fi
補助 Wi-Fi
Wi-Fi 標準規格
@@ -779,23 +716,17 @@
サウンドボックスのグループステレオ
テレビ
ワイヤレスヘッドセット
- 通知ドットの最大数
表示する通知アイコンの最大数
バッテリー残量を非表示
バッテリー残量の%を非表示
充電中のインジケーターを非表示
バッテリーアイコンを非表示
バッテリーのカスタマイズ
- バッテリーインジケーター
Wi-Fi
モバイルネットワーク
Wi-Fi とモバイルネットワークの表示を入れ替える
インターネットの速度
サウンドシーン
- 新しい HD アイコンを強制的に使用する
- 一部の新しいシステムバージョンでのみ対応しています
- ネットワーク速度のセパレーター
- 中央カメラのデバイスでは、時間とインターネット速度の間の垂直線は表示されません
スクリーンショット撮影時にステータスバーを非表示にする
モバイルネットワークタイプのアイコン
変更を有効化
@@ -811,21 +742,9 @@
このレベル以下のネットワーク速度は低速とみなされ、別のインジケータアイコンが表示されます(一部のアイコンのみ)
バイト毎秒の接尾辞 (*b/s) を非表示
インジケーターアイコン
- カスタムクロックモード
- 時計のフォーマット
- 年を表示
- 月を表示
- 日付を表示
- 曜日を表示
- デュアル時計を表示
- 午前と午後を表示
- 秒を表示
- スペースを非表示
- 二行で表示
二行の配置
時計形式の例
時計のサイズ
- 二行の時計のサイズ
2 行で表示されている場合にのみ有効です
色を修正
通知センターでのスライド時計遷移アニメーションを無効化
@@ -841,36 +760,6 @@
ステータスバーの時計の形式
通知バーのミニ時計の形式
ステータスバーの時計の配置
- 電源関連
- 温度関連
- フォントのサイズ
- コンテンツを表示
- 小数点以下を非表示
- 単位を非表示
- 右側に表示
- 電流を常に正の値で表示
- 電力は常に正の値を表示します
- 単一行表示
- 順序を逆にする
- 充電時のみ表示
- 状態の更新間隔
- CPU の温度を修正
- /sys/devices/virtual/thermal/thermal_zone* の数を入力してください
- 中央
- 角を丸く
- 可視性を制限
- 垂直方向に配置
- 色
- フル充電時の色
- 低バッテリーの色
- 省電力モード時の色
- 充電時の色
- 高さ
- 横方向の余白
- 透過
- シャイン
- 低バッテリーレベル
- テスト
レイアウト
情報
デバッグ
@@ -883,11 +772,9 @@
ステータスバーの時計を隠す
タップで時計を表示
コントロールセンター
- カード
メディア通知カード
便利ツール
通知
- カード背景の透明度
%1$s はオンです
%1$s はオフです
5G ネットワークスイッチ
@@ -908,21 +795,8 @@
列
%d 件のリスト
列数 (横画面)
- MiPlay エントリ
- Mi スマートハブのエントリ
- デバイス制御項目
- コントロールセンター詳細の背景ぼかしの値
透明モードを無効化
通知の背景を透明にする設定を無効にします
- 通知のぼかしモデル
- 通知の最適化
- 実験的な機能で、Android 13以上のモデルでのみ利用可能です。有効にすると、一部の領域での通知のぼかしが最適化されます。\n一部のモデルではシステム UI がクラッシュする場合があります。
- ぼかしの半径
- ドロップダウン通知がない場合
- 角の丸み
- デフォルトのテーマでは調整する必要はありません
- 背景ぼかしの値
- デフォルトの背景値
メディアコントロールパネルの色混合効果を最適化
プログレスバー
メディア通知カードでのカスタムアクションのアプリ制限を解除
@@ -958,8 +832,6 @@
区切り文字のみ非表示
デバイス名の表示
すべての名前を非表示
- Bluetooth タイルのスタイル
- Bluetooth タイルをネットワークタイルの近くに移動する
拡張通知メニュー
アプリ情報を開く、強制停止、フローティングウィンドウで開く機能を通知メニューに追加します (通知を左にスワイプすると開けます)
新しいコントロールセンター
@@ -977,15 +849,8 @@
その他
ネイティブ音量バー
ネイティブシャットダウンメニュー
- MIUI はレガシーメニュー UI を使用しますが、HyperOS は AOSP メニュー UI を使用します
- Xiaomi の音量バーへの変更はネイティブの音量バーには適用されません
AOSP クリップボードエディタをアンロック
- アンロック後は MIUI/HyperOS エディタと一緒にポップアップします
- 充電時のアニメーション
- 充電アニメーションのスタイル
- ロック画面の充電アニメーションのスタイルを選択します
その他
- Bluetooth が一時的にオフにされないようにする
コンビニエンスウインドウボタンを非表示
三つのドットとスモールウィンドウの上部、HyperOS for Pad 横画面時の上部中央にあるボタンを非表示にします。機能には影響しません
コンビニエンスウィンドウボタンを無効化
@@ -1004,10 +869,10 @@
テーマカラーをカスタマイズ
壁紙から色を抽出する代わりに、テーマカラーをカスタマイズします
テーマカラーを選択
- 拡張されたタイマー
クイックスイッチタブ
通知
通知のホワイトリストを無効化
+ 拡張されたタイマー
音量バーのぼかしを有効化
Android 12 以降の MTKモデルのみ対応です。GPU 負荷が高くなる可能性があります
@@ -1046,7 +911,6 @@
Xiaomi HyperAI
Xiaomi HyperAI をアンロック
注目の機能
- 部分的なスクリーンショットをアンロック
VoIP アシスタント
ディスプレイとロック画面
超解像をアンロック
@@ -1103,14 +967,8 @@
「自動更新を有効にする」ダイアログのポップアップを無効化
権限
- クリップボード
- トーストのヒントを隠す
自動起動の自動停止を禁止
- クリップボード読み取りのトーストヒント
- ダイアログを非表示にし、アプリがデフォルトでクリップボードを読み込むことを許可します
- クリップボードの読み取り
- キャスト
相互接続サービス
デバイスの相互接続をアンロック
カメラストリーミングの強制サポート
@@ -1119,7 +977,6 @@
サウンドレコーダー
AI のウォーターマークを無効化
- 常時オンディスプレイ
常時表示とロック画面エディター
常時オンディスプレイの時間制限をアンロック
この機能を完全に有効にするには、システム UI を再起動してください
@@ -1173,8 +1030,7 @@
Xiaomi クラウドサービス
Google
Google & OneDrive
-
- MIUI セキュリティコンポーネント
+
システムセキュリティコンポーネント
インストール済みアプリリストの自動アップロードを防止
@@ -1331,7 +1187,6 @@
アイコンのサイズ
アプリ履歴
アニメーションの速度
- 壁紙の調光を無効化
固定アプリのロックを解除
アプリ履歴のステータスバーを非表示
画面ミラーリングアプリフローティングウィンドウを隠す
@@ -1527,8 +1382,6 @@
システムサービスプラグイン
Game Center 広告を無効化
- セキュリティ
- タブレットのセキュリティセンター
セキュリティツール
アプリの管理
バッテリーセーバーとバッテリー
@@ -1539,14 +1392,11 @@
Dolby ポップアップウィンドウを閉じる
バッテリーの温度を表示
詳細なバッテリー健康状態を表示
- クリップボードの保護
- おおまかな位置情報
GMS サービス
Taplus スイッチ
さらに輝度を下げるタイルのアイコンを置換
フラッシュライトの明るさ制御
明るさスライダーをドラッグしてフラッシュライトの明るさを制御できるようにします
- 電話番号を使って簡単ログインするアプリを管理
アプリロックのPINの順序をランダムにする
Magic Share の省電力モードを無効化
プレビュー画像のぼかしを無効化
@@ -1706,8 +1556,8 @@
Sogou 入力方法
クリップボードの150個上限を削除
クリアのクリップボードボタンを追加
+
- スキャナー
AI スキャナー
ID カードのスキャンをアンロック
翻訳をアンロック
@@ -1717,7 +1567,6 @@
PPT のスキャンをアンロック
ファイルのスキャンをアンロック
- Mi AI
スーパー AI
チャットの透かしを無効化
diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml
index bae7d4ebc..20d3f4c2e 100644
--- a/app/src/main/res/values-pl-rPL/strings.xml
+++ b/app/src/main/res/values-pl-rPL/strings.xml
@@ -21,7 +21,7 @@
Znaleziono nową wersję
© 2023-2025 Sevtinge & Współtwórcy HyperCeiler.
- Uczyńmy HyperOS/MIUI znów wielkim!
+ Uczyńmy HyperOS znów wielkim!
dodawanie i usuwanie plików z pamięci wewnętrznej urządzenia
używane do świadczenia usług takich jak szerokość i długość geograficzna
Podczas użytkowania, w celu zapewnienia Ci większej liczby funkcji, możemy poprosić o uprawnienia Root. Możesz w dowolnym momencie przejść do menedżera uprawnień, aby dostosować status autoryzacji wszystkich uprawnień, a także prosimy o przejście do swojego menedżera Root, aby przyznać uprawnienia Root.
@@ -156,12 +156,12 @@
Tłumacz
Dyskusja
Pozostałe
- Grupa QQ
+ Grupa na QQ
Kanał QQ
Grupa na Telegramie
Kanał na Telegramie
Kod źródłowy
- Ten projekt jest open source opartym na licencji AGPL-3.0
+ Ten projekt jest otwartym źródłem opartym na licencji AGPL-3.0
Oficjalna strona
Crowdin
Pomóż nam przetłumaczyć HyperCeilera na Twój język
@@ -219,7 +219,9 @@
Pasek indeksu
Anuluj
Wyczyść
+ Nieprawidłowa wartość. Proszę sprawdzić ją i wprowadzić ponownie.
Przezroczystość
+ Własny kolor
Monet
Siatka
Suwak
@@ -234,6 +236,7 @@
Pokaż pasek boczny
Wybierz
Ukryj pasek boczny
+ Nieprawidłowa wartość. Proszę sprawdzić ją i wprowadzić ponownie.
Przeciągnij w dół, aby odświeżyć
Pomyślnie odświeżono
Odświeżanie…
@@ -254,10 +257,6 @@
Funkcja
Zalecane
Edytor
- Film
- Zdjęcie
- Portret
- Profesjonalny
Włącz
Wyłącz
Włącz niestandardowe
@@ -365,8 +364,6 @@
Ostatnio używane
Zużycie pamięci
Czas instalacji
- Trzy duże płytki
- Jedna duża i dwie małe płytki
Oficjalne zawiera rozmycie
Niestandardowe rozmycie tła
Zamknij
@@ -398,6 +395,7 @@
Wyświetlanie w dwóch liniach\n\nMini zegar w powiadomieniach na górze\nZegar na dole
Myszka Miki
Truskawkowy Miś
+ Księżniczka Disney
Usługi Google Play
Tryb S-Leo
Taplus
@@ -424,11 +422,9 @@
Wspiera tylko linki
Ustaw głośność jako domyślną
Natychmiastowa regulacja głośności
- Niezależna regulacja głośności
Usuń ostrzeżenie dotyczące dużej głośności
We wszystkich przypadkach
Tylko gdy podłączone są słuchawki
- Suwak głośności powiadomień
Poziom głośności multimediów
Po włączeniu przewijanie paska głośności może się zawiesić lub głośność Bluetooth może działać nieprawidłowo
Mnożnik poziomu głośności
@@ -557,52 +553,7 @@
Własny znak wodny urządzenia
Informacje o producencie
Informacje o urządzeniu
- Odblokuj znak wodny SI
- Odblokuj długą ekspozycję
- Odblokuj tryb klonowania
- Odblokuj małe lusterko
- Odblokuj tryb dokumentu
- Odblokuj tryb dowodu tożsamości
- Odblokuj podwójną kamerę
- Odblokuj tryb poklatkowy
- Odblokuj krótkie filmy
- Odblokuj tryb Superksiężyca
- Odblokuj tryb panoramy
- Odblokuj tryb super rozdzielczości
- Odblokuj tryb portretowy
- Odblokuj zwolnione tempo
- Odblokuj wideo-niebo
- Odblokuj tryb VLOG
- Odblokuj tryb VLOG PRO
- Odblokuj efekty filmowe
- Odblokuj długie opóźnienie ekspozycji
- Odblokuj magiczny zoom
- Odblokuj równoległą rzeczywistość
- Odblokuj wolną migawkę
- Odblokuj podróże w czasie
- Odblokuj zatrzymanie czasu
Odblokuj migawkę dłoni
- Odblokuj ulepszone kolory
- Odblokuj makijaż
- Działa tylko w przypadku korzystania z przedniego aparatu
- Odblokuj 60FPS
- Niedostępne w niektórych wersjach. Upewnij się, że Twoje urządzenie jest obsługiwane.
- Odblokuj 120FPS
- Obsługiwane tylko w jakości 4K. Upewnij się, że Twoje urządzenie jest obsługiwane.
- Odblokuj zbliżenie audio
- Odblokuj HDR
- Odblokuj aparat SI
- Odblokuj nowe Upiększanie
- Działa tylko w przypadku korzystania z przedniego aparatu
- Odblokuj główny obiektyw
- Nie działa poprawnie na niektórych urządzeniach
- Odblokuj RAW
- Odblokuj LOG
- Odblokuj format HEIF
- Odblokuj ostrość śledzenia ruchu
- Odblokuj przechwytywanie ruchu
- Odblokuj usuwanie pieprzyków
- Odblokuj adaptację makijażu dla mężczyzn
Włącz opcje laboratoryjne
Odblokuj ostrość śledzenia oczu
Wymuś maksymalną jasność podczas używania aparatu
@@ -642,6 +593,8 @@
Wyłącz tryb usuwania sieci
Odblokuj VoLTE dla drugiej karty SIM
Używa danych mobilnych podczas połączeń VoLTE na wtórnej karcie SIM
+ Odblokuj łącze głosowe
+ Odblokuj łącze głosowe dla niektórych kart SIM obsługujących połączenia Wi-Fi
Pobrania
Blokuj tworzenie folderu .xlDownload
@@ -669,12 +622,10 @@
Ukryj aparat
Ukryj inteligentny ekran
Przepływ
- Pokaż sekundy na zegarze
Rozmycie przycisków ekranu blokady
Po włączeniu tło przycisków na ekranie blokady będą rozmyte, co może powodować wysokie zużycie energii.\nObsługiwany tylko domyślny motyw.
Rozmycie tła
Kolor tła
- Wymuś użycie systemowych czcionek przez zegar
Zablokuj ekran podwójnym dotknięciem
Kliknij dwukrotnie puste miejsce, aby zablokować ekran
Odblokuj limit powiadomień
@@ -711,13 +662,8 @@
Zarządzaj ikonami
Zarządzaj wskaźnikiem szybkości sieci
Zarządzaj wskaźnikiem zegara
- Wskaźniki sprzętowe
Inteligentne szybkie powiadomienia
Skoncentruj słowa piosenek
- Układ
- Tryb zgodności
- Wymusza włączenie układu pełnoekranowego dla wszystkich ekranów o specjalnych kształtach
- Tryb układu
Dwukrotnie dotknij, aby uśpić
Dwurzędowy pasek sygnału
Motywy ikon
@@ -746,8 +692,6 @@
Urządzenia
Sieć
Prywatność
- Pokaż ikony po lewej stronie
- Pokaż ikony po prawej stronie
Wi-Fi
Dodatkowe Wi-Fi
Standard Wi-Fi
@@ -790,23 +734,17 @@
Grupa głośników stereo
Telewizor
Bezprzewodowy zestaw słuchawkowy
- Maksymalna ilość kropek powiadomień
Maksymalna ilość ikon powiadomień
Ukryj procent baterii
Ukryj wskaźnik procentowy baterii
Ukryj wskaźnik ładowania
Ukryj ikonę baterii
Personalizacja baterii
- Wskaźnik baterii
Wi-Fi
Sieć mobilna
Zamień Wi-Fi i sieć mobilną
Prędkość Internetu
Scena dźwiękowa
- Wymuś użycie nowej ikony HD
- Obsługuje tylko niektóre wersje systemu
- Separator prędkości sieci
- Pionowa linia między czasem a szybkością internetu nie jest wyświetlana na urządzeniach z centralnie umieszczoną kamerą
Ukryj pasek stanu podczas wykonywania zrzutu ekranu
Ikona sieci komórkowej
Włącz modyfikację
@@ -822,21 +760,9 @@
Wartości prędkości sieci poniżej tego poziomu są uważane za powolne, a wyświetlana będzie inna ikona wskaźnika (tylko niektóre ikony)
Ukryj sufiks bajtów na sekundę (*b/s)
Ikona wskaźnika
- Niestandardowy tryb zegara
- Format zegara
- Pokaż rok
- Pokaż miesiąc
- Pokaż dzień
- Pokaż tydzień
- Pokaż podwójną godzinę
- Pokaż okres zegara
- Pokaż sekundy
- Ukryj spację
- Pokaż podwójnie
Podwójne wyrównanie wierszy
Przykładowy format zegara
Rozmiar zegara
- Rozmiar podwójnego wiersza zegara
Obowiązuje tylko wtedy, gdy jest wyświetlany w dwóch wierszach
Napraw kolor
Wyłącz animację przejścia zegara przy przewijaniu w pasku powiadomień
@@ -852,36 +778,6 @@
Format zegara paska stanu
Format mini zegara w pasku powiadomień
Układ zegara na pasku stanu
- Powiązane z mocą
- Powiązane z temperaturą
- Rozmiar czcionki
- Pokaż zawartość
- Ukryj miejsca dziesiętne
- Ukryj jednostki
- Wyświetl z prawej strony
- Natężenie zawsze wyświetla wartość dodatnią
- Moc zawsze wyświetla wartość dodatnią
- Wyświetl w jednej linii
- Odwróć kolejność
- Pokaż tylko podczas ładowania
- Częstotliwość aktualizacji statusu
- Napraw temperaturę CPU
- Wprowadź numer z /sys/devices/virtual/thermal/thermal_zone*
- Wyśrodkowany
- Zaokrąglone rogi
- Ogranicz widoczność
- Wyrównaj pionowo
- Kolor
- Kolor pełnej baterii
- Kolor niskiego poziomu baterii
- Kolor trybu oszczędzania baterii
- Kolor ładowania
- Wysokość
- Poziomy margines
- Przezroczystość
- Błyszczący
- Niski poziom baterii
- Test
Układ
Informacja
Debugowanie
@@ -902,11 +798,9 @@
Dodaj spację na końcu tekstu piosenki
Uczynia przewijanie tekstów jak najbardziej kompletnym
Centrum sterowania
- Karta
Karta powiadomienia multimedialnego
Magnet
Powiadomienie
- Przezroczystość tła karty
%1$s jest wł.
%1$s jest wył.
Przełącznik sieci 5G
@@ -929,21 +823,8 @@
Kolumny
%d kolumn
Kolumny (poziomo)
- Xiaomi Smart Play
- Inteligentne Centrum Xiaomi
- Sterowanie urządzeniem
- Kontroluj wartość rozmycia tła
Wyłącz tryb przezroczysty
Wyłącza ustawienie tła powiadomienia na przezroczyste
- Model rozmycia powiadomień
- Optymalizacja powiadomień
- Funkcja eksperymentalna. Dostępna tylko dla modeli z Androidem 13 i nowszym. Po jej włączeniu rozmycie powiadomień w niektórych obszarach zostanie zoptymalizowane. Może wystąpić problem z awarią interfejsu systemowego na niektórych modelach.
- Promień rozmycia
- Bez rozwijanego powiadomienia
- Zaokrąglenie rogów
- Domyślny motyw nie musi być dostosowany
- Wartość rozmycia tła
- Domyślna wartość tła
Optymalizuj efekt mieszania kolorów w panelu sterowania multimediami
Pasek postępu
Usuń ograniczenia niestandardowych akcji dla kart powiadomień multimediów
@@ -959,6 +840,8 @@
Usuń mieszane tło kolorów z karty
Promień rozmycia tła
Przezroczystość warstwy tła nakładki
+ Przycisk multimedialny
+ Suwak multimediów
Kompaktowe powiadomienia
Zmniejsza pionowe odstępy powiadomień
Przekieruj ustawienia powiadomień
@@ -981,8 +864,6 @@
Tylko separatory są ukryte
Wyświetl nazwę urządzenia
Ukryj wszystkie nazwy
- Styl kafelka Bluetooth
- Przesuń kafelek Bluetooth w pobliżu kafelka sieci
Rozszerzone menu powiadomień
Otwórz informacje o aplikacji, wymuś zamknięcie aplikacji i otwórz ją w oknie pływającym z menu powiadomień (przesuń powiadomienie w lewo, aby je otworzyć)
Nowe centrum kontroli
@@ -1001,18 +882,16 @@
Zezwalaj na wyświetlanie 10, 17 lub więcej powiadomień.
Optymalizuj mieszanie kolorów tła powiadomień
Przywróć standardowe mieszanie kolorów powiadomień
+ Wyświetl wartość jasności
+ Wyświetl wartość głośności
+ Treść
+ Procent
+ Wartość początkowa
Pozostałe
Natywny pasek głośności
Natywne menu wyłączenia
- MIUI używa starszego menu UI, podczas gdy HyperOS używa interfejsu menu AOSP.
- Modyfikacje paska głośności w HyperOS/MIUI nie mogą być zastosowane do natywnego paska głośności
Odblokuj edytor schowka AOSP
- Po odblokowaniu będzie pojawiać się razem z edytorem HyperOS/MIUI.
- Animacja ładowania
- Styl animacji ładowania
- Wybierz styl animacji ładowania ekranu blokady
Pozostałe
- Zapobiegaj tymczasowemu wyłączeniu Bluetooth
Ukryj przycisk \"Podziel ekran\"
Ukrywa trzy stałe kropki, w tym te na górze małego okna oraz przycisk w środku góry ekranu HyperOS dla poziomego widoku na Padzie (nie wpływa to na używanie funkcji).
Wyłącz przycisk \"Podziel ekran\"
@@ -1031,12 +910,16 @@
Dostosuj kolor motywu
Dostosuje kolory motywu, zamiast pobierać je z tapety systemowej
Wybierz kolor motywu
- Rozszerzony timer
Szybkie przełączanie karty
Powiadomienie
Wyłącz białą listę powiadomień
Usuń ograniczenia rozmycia dla zaawansowanych tekstur
Odblokuj rozmycie zaawansowanych tekstur, które jest domyślnie wyłączone dla motywów firm trzecich we wtyczce System UI.
+ Pasek głośności
+ Naciśnij, aby rozwinąć drugi pasek głośności
+ Gdy ta funkcja jest włączona, przycisk rozwijania jest wyłączony
+ Ukryj przyciski wyciszenia i trybu Nie Przeszkadzać
+ Rozszerzony timer
Włącz rozmycie paska głośności
Przenieś statusbar_gestures.dat do rejestru MIUI
Tylko dla modeli Android 12+ z procesorem MTK. Może wystąpić wysokie obciążenie GPU.
@@ -1077,7 +960,6 @@
Odblokuj Xiaomi HyperAI
Po włączeniu tej opcji w Ustawieniach zostanie wyświetlona opcja Xiaomi HyperAI. Wsparcie dla funkcji AI urządzenia jest określone przez Xiaomi.
Wyróżnione funkcje
- Odblokuj obszar zrzutu ekranu
Asystent VoIP
Wyświetlanie i jasność
Odblokuj superrozdzielczość
@@ -1134,14 +1016,8 @@
Wyłącz okno pop-up dialogu \"Włącz automatyczne aktualizacje\"
Uprawnienia
- Schowek
- Ukryj podpowiedzi
Wyłącz automatyczne wyłączanie auto-startu
- Odczytaj schowek za pomocą podpowiedzi
- Ukryj okno dialogowe i zezwalaj aplikacji na domyślne odczytywanie schowka
- Odczytywanie schowka
- Prześlij ekran
Usługi łączności
Odblokuj połączenie urządzeń
Wymuszone wsparcie dla strumieniowania aparatu
@@ -1150,7 +1026,6 @@
Dyktafon
Wyłącz znak wodny SI
- Ekran zawsze włączony
Ekran zawsze włączony i edytor Ekranu blokady
Odblokuj limit czasu wyświetlania
Uruchom ponownie interfejs systemu, aby w pełni włączyć funkcję
@@ -1205,8 +1080,7 @@
Chmura Xiaomi
Google
Google i OneDrive
-
- Komponenty bezpieczeństwa MIUI
+
Komponenty bezpieczeństwa systemu
Zapobiegaj automatycznemu przesyłaniu listy zainstalowanych aplikacji
Wyłącz sprawdzanie środowiska
@@ -1370,7 +1244,6 @@
Rozmiar ikon
Ostatnie
Prędkość animacji
- Wyłącz przyciemnianie tapety
Odblokuj przypięte aplikacje
Ukryj pasek stanu w Ostatnich
Ukryj okno pływające podczas mirroringu ekranu
@@ -1481,13 +1354,19 @@
Optymalizuj opóźnienie uruchamiania aplikacji
Edytor galerii
+ Instrukcja użycia:\n- Użyj haka v2 dla wersji 1.7.5.0.4 i nowszych, a haka v1 dla wersji niższych niż 1.7.5.0.4
+ Typ haka edytora galerii
Podkład
+ Autorstwo
Autoryzacja SI
+ Dostosuj ramkę
+ Wspólna funkcja
Odblokuj funkcje personalizacji Disney
Odblokowania obejmują następujące funkcje:\n• Niestandardowe ramki Disney (w konflikcie z innymi ramkami niestandardowymi)\n• Tło Mickey Mokeh\n• Naklejki Disney
Odblokuj niestandardowe ramki zdjęciowe na Chiński Nowy Rok
Aby na stałe dodać niestandardową ramkę zdjęciową na Chiński Nowy Rok, warunkiem jest posiadanie niestandardowej ramki zdjęciowej Leica lub niestandardowej ramki zdjęciowej Redmi.
Usuń minimalny limit przycinania obrazu
+ Odblokuj dostosowywanie ramki
Dostosuj typ ramki
Odblokuj filtr Leica
Obsługiwane są tylko niektóre wersje
@@ -1569,8 +1448,6 @@
Wyłącz reklamy Game Center
Może to powodować nieprawidłowe działanie innych funkcji
- Panel sterowania
- Bezpieczeństwo
Bezpieczeństwo
Zarządzaj aplikacjami
Bateria
@@ -1582,14 +1459,11 @@
Zamknij okno pop-up Dolby
Pokaż temperaturę baterii
Pokaż szczegółowy stan baterii
- Ochrona schowka
- Dokładność niższego położenia
Usługa GMS
Przełączniki Taplus
Zastąpienie bardzo ciemnej ikony kafelka
Kontrola jasności latarki
Zezwala na kontrolę jasności latarki poprzez przesuwanie suwaka jasności
- Zarządzaj aplikacją, aby uzyskać numer telefonu i zalogować się jednym kliknięciem
Uprość ekran główny Bezpieczeństwa
Usuń kartę rekomendacji funkcji
Blokada aplikacji z zatartym PIN-em
@@ -1753,8 +1627,12 @@
Metoda wprowadzania Sogou
Usuń ograniczenie liczby schowków
Dodaj przycisk czyszczenia schowka
+
+ Usługa aktywacji kart SIM Xiaomi
+ Wyłącz aktywację karty SIM 2 podczas roamingu
+ Obsługiwane tylko w Chinach kontynentalnych
+ Zastosuj bardziej agresywne filtrowanie roamingu
- Skaner
Skaner SI
Odblokuj skan dowodu tożsamości
Odblokuj tłumaczenie
@@ -1764,7 +1642,6 @@
Odblouj skanowanie prezentacji
Odblokuj skanowanie plików
- Mi SI
Super SI
Wyłącz znak wodny czatu
@@ -1916,4 +1793,8 @@
Wyłączone
Wyłącz sugestie
Włącz sugestie
+ Aplikacja działa nieprawidłowo
+ %s awarii(rie)
+ Kliknij, aby wyświetlić szczegóły
+ Wyświetl
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index e8c0bf983..ad1697a0a 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -21,7 +21,7 @@
Nova versão encontrada
© 2023-2025 Sevtinge & Contribuidores do HyperCeiler.
- Torne o HyperOS/MIUI ótimo novamente!
+ Torne o HyperOS ótimo novamente!
adicionar e excluir arquivos no armazenamento interno do dispositivo
ser usado para fornecer serviços como latitude e longitude
Durante o uso, para fornecer mais recursos, podemos solicitar permissão Root/Su. Você pode acessar o Gerenciador de permissões a qualquer momento para ajustar o status de autorização de todas as permissões e ir ao seu gerenciador Root/Su para obter permissões Root/Su.
@@ -219,7 +219,9 @@
Barra de índice
Cancelar
Limpar
+ Valor inválido. Por favor, verifique e digite novamente.
Transparência
+ Cor customizada
Monet
Grade
Slider
@@ -234,6 +236,7 @@
Mostrar barra lateral
Selecionar
Ocultar barra lateral
+ Valor inválido. Por favor, verifique e digite novamente.
Puxe para baixo para atualizar
Atualizado com sucesso
Atualizando…
@@ -254,10 +257,6 @@
Função
Recomendado
Editor
- Gravação
- Disparo
- Retrato
- Pro
Ativar
Desativar
Ativar personalização
@@ -365,8 +364,6 @@
Recentemente usado
Armazenamento usado
Data de instalação
- Três blocos grandes
- Um bloco grande e dois pequenos
Oficial vem com blur
Blur de fundo personalizado
Fechar
@@ -398,6 +395,7 @@
Exibição de duas linhas\n\nMini-relógio da Área de notificações na parte superior\nRelógio da barra de status na parte inferior
Mickey Mouse
Urso de morango
+ Princesa da Disney
Google Play Service
Modo S-Leo
Taplus
@@ -424,11 +422,9 @@
Suporta apenas links
Ajustar volume por padrão
Ajuste de volume instantâneo
- Controle de volume independente
Remover restrições de segurança de volume alto
Para todos os casos
Apenas quando o fone de ouvido estiver conectado
- Controle deslizante do volume de notificação
Nível do volume de mídia
Isso pode fazer com que a rolagem da barra de volume congele ou o volume do Bluetooth fique anormal
Multiplicador de nível de volume
@@ -557,52 +553,7 @@
Marca d’água do dispositivo personalizada
Informação do fabricante
Informação do dispositivo
- Desbloquear Marca d\'água por IA
- Desbloquear Longa exposição
- Desbloquear modo Clonar
- Desbloquear Espelho de bolso
- Desbloquear modo Documentos
- Desbloquear modo Cartão de identificação
- Desbloquear Câmera dupla
- Desbloquear Duração
- Desbloquear Vídeo curto
- Desbloquear modo Superlua
- Desbloquear modo Panorama
- Desbloquear modo Pixel
- Desbloquear modo Retrato
- Desbloquear Câmera lenta
- Desbloquear Video-céu
- Desbloquear VLOG
- Desbloquear VLOG PRO
- Desbloquear Câmera de filme
- Desbloquear Longa exposição
- Desbloquear Zoom mágico
- Desbloquear Sonho
- Desbloquear Disparo lento
- Desbloquear Fluxo de tempo
- Desbloquear Congelar tempo
Desbloquear Disparo com palma da mão
- Desbloquear Cores aprimoradas
- Desbloquear Maquiagem
- Tem efeito apenas ao usar a câmera frontal
- Desbloquear 60FPS
- Não está disponível em algumas qualidades. Por favor, verifique se o seu dispositivo é compatível.
- Desbloquear 120FPS
- Suporta apenas qualidade 4K. Por favor, verifique se o seu dispositivo é compatível.
- Desbloquear Zoom por áudio
- Desbloquear HDR
- Desbloquear Aprimoramento de IA
- Desbloquear Embelezador
- Tem efeito apenas ao usar a câmera frontal
- Desbloquear Retrato master
- Não funciona corretamente em alguns dispositivos
- Desbloquear RAW
- Desbloquear LOG
- Desbloquear HEIF
- Desbloquear Rastreamento de foco
- Desbloquear Rastrear movimento
- Desbloquear Remoção de verrugas
- Desbloquear Ajustar efeitos de maquiagem para homens
Ativar Opções de laboratório
Desbloquear Foco de rastreamento ocular
Forçar brilho máximo ao usar a câmera
@@ -642,6 +593,8 @@
Desativar remoção do modo de rede
Desbloquear Vice slot VoLTE
Use os dados móveis durante chamadas VoLTE no SIM secundário
+ Desbloquear Link de voz
+ Desbloqueie o Link de voz para alguns SIMs que suportam Chamada por Wi-Fi
Downloads
Bloquear a criação da pasta .xlDownload
@@ -669,12 +622,10 @@
Ocultar câmera
Ocultar tela inteligente
Corrente
- Exibir segundos do relógio
Desfocar botões da Tela de bloqueio
Após ativar, o fundo da câmera e do botão negativo da Tela de bloqueio ficam desfocados, o que pode causar alto consumo de energia.\nSuporta apenas o tema padrão.
Raio de fundo
Cor de fundo
- Forçar o relógio a usar fontes do sistema
Toque duas vezes na Tela de bloqueio
Toque duas vezes em um local vazio para bloquear a tela
Desbloquear restrição de notificação
@@ -711,13 +662,8 @@
Gerenciar ícones
Gerenciar indicador de velocidade da rede
Gerenciar indicador de relógio
- Indicadores de hardware
Dica inteligente
Letras de foco
- Layout
- Modo de compatibilidade
- Ative forçosamente o layout de tela inteira para todas as telas de formato especial
- Modo de layout
Toque duas vezes para desligar a tela
Barra de sinal de duas linhas
Tema do ícone
@@ -746,8 +692,6 @@
Dispositivos
Rede
Privacidade
- Exibir ícones do lado esquerdo
- Exibir ícones do lado direito
Wi-Fi
Wi-Fi auxiliar
Padrão Wi-Fi
@@ -790,23 +734,17 @@
Grupo de caixa de som estéreo
TV
Fone de ouvido sem fio
- Número máximo de pontos de notificação
Número máximo de ícones de notificação
Ocultar porcentagem da bateria
Ocultar sinal de porcentagem da bateria
Ocultar indicador de carregamento
Ocultar ícone da bateria
Personalização da bateria
- Indicador de bateria
Wi-Fi
Rede móvel
Trocar Wi-Fi e rede móvel
Velocidade da internet
Cena sonora
- Forçar o uso do novo ícone HD
- Suporta apenas algumas versões do sistema
- Separador de velocidade de rede
- A linha vertical entre o tempo e a velocidade da internet não é exibida em dispositivos com notch centralizado
Ocultar barra de status ao fazer uma captura de tela
Ícone do tipo de rede móvel
Ativar modificação
@@ -822,21 +760,9 @@
Os valores da velocidade de rede abaixo desse nível são considerados lentos e um indicador diferente será exibido (apenas alguns ícones)
Ocultar sufixo de bytes por segundo (*b/s)
Ícone indicador
- Modo de relógio personalizado
- Formato do relógio
- Exibir ano
- Exibir mês
- Exibir dia
- Exibir semana
- Exibir hora dupla
- Exibir período do relógio
- Exibir segundos
- Ocultar espaço
- Exibir duplo
Alinhamento de duas linhas
Exemplo do formato de relógio
Tamanho do relógio
- Tamanho do relógio de duas linhas
Válido somente quando exibido em duas linhas
Corrigir cor
Desativar animação de transição do relógio
@@ -852,36 +778,6 @@
Formato do relógio da barra de status
Formato do mini-relógio da Área de notificações
Arranjo do relógio da barra de status
- Relacionado à energia
- Relacionado à temperatura
- Tamanho da fonte
- Exibir conteúdo
- Ocultar casas decimais
- Ocultar unidades
- Exibir à direita
- A corrente sempre exibe um valor positivo
- A potência sempre exibe um valor positivo
- Exibir em linha única
- Ordem reversa
- Exibir apenas ao carregar
- Intervalo de atualização de status
- Corrigir temperatura da CPU
- Digite o número de /sys/devices/virtual/thermal/thermal_zone*
- Centralizado
- Cantos arredondados
- Limitar visibilidade
- Alinhar verticalmente
- Cor
- Cor da bateria cheia
- Cor da bateria baixa
- Cor do modo da Economia de bateria
- Cor do carregamento
- Altura
- Margem horizontal
- Transparência
- Brilhante
- Nível de bateria baixa
- Teste
Layout
Informação
Depurar
@@ -902,11 +798,9 @@
Adicionar espaço em branco no final da letra
Torne a rolagem das letras o mais completa possível
Centro de controle
- Cartão
Cartão de notificação de mídia
Magnético
- Notificação
- Transparência do fundo do cartão
+ Área de notificações
%1$s está ativado
%1$s está desativado
Interruptor de rede 5G
@@ -929,21 +823,8 @@
Colunas
%d colunas
Colunas (Paisagem)
- Entrada do Xiaomi Smart Play
- Entrada do Xiaomi Smart Hub
- Entrada de controle do dispositivo
- Valor do blur do detalhe de fundo do controle
Desativar modo transparente
Desative a configuração do plano de fundo da notificação para ser transparente
- Modelo do blur de notificação
- Otimização de notificação
- Recurso experimental. Disponível apenas para modelos Android 13 e superiores. Após a ativação, o blur de notificação em algumas áreas será otimizado. Pode haver um problema de travamento da UI do Sistema em alguns modelos.
- Raio do blur
- Sem notificação suspensa
- Raio do canto
- O tema padrão não precisa ser ajustado
- Valor do blur de fundo
- Valor padrão de fundo
Otimizar mistura de cores no painel de controle de mídia
Barra de progresso
Remover restrições personalizadas para notificação de mídia
@@ -959,6 +840,8 @@
Remover fundo de cores misturadas do cartão
Raio do blur da imagem de fundo
Opacidade da camada de sobreposição do fundo
+ Botão de mídia
+ Barra de busca de mídia
Notificações compactas
Reduza o espaçamento vertical das notificações
Redirecionar configurações de notificação
@@ -981,8 +864,6 @@
Ocultar apenas o delimitador
Exibir nome do dispositivo
Ocultar todos os nomes
- Estilo do ícone Bluetooth
- Mova o ícone do Bluetooth para perto do ícone de rede
Menu de notificação estendido
Abra as informações do app, force a parada do app e abra em uma janela flutuante no menu de notificação (deslize a notificação para a esquerda para abri-la)
Novo centro de controle
@@ -1001,18 +882,16 @@
Permite exibir 10, 17 ou mais notificações.
Otimizar mistura de cores de fundo do destaque da notificação
Reverte para a mistura normal de cores do estilo de notificação
+ Exibir valor do brilho
+ Exibir valor do volume
+ Conteúdo
+ Percentagem
+ Valor de origem
Outros
Barra de volume nativa
Menu de energia nativo
- MIUI usa a interface de menu herdada, enquanto o HyperOS usa a interface de menu AOSP.
- Modificações na barra de volume do HyperOS/MIUI não podem ser aplicadas à barra de volume nativa
Desbloquear editor da área de transferência AOSP
- Após o desbloqueio, ele aparecerá junto com o editor HyperOS/MIUI.
- Animação de carregamento
- Estilo da animação de carregamento
- Selecione o estilo da animação de carregamento da Tela de bloqueio
Outros
- Impedir que o Bluetooth seja desligado temporariamente
Ocultar botão de Tela dividida
Oculte os três pontos permanentes, incluindo a parte superior da janela pequena e o botão no meio da parte superior da tela horizontal do HyperOS para Pad (não afeta o uso das funções).
Desativar botão de Tela dividida
@@ -1031,15 +910,17 @@
Personalizar cores do tema
Personalize as cores do tema em vez de retirar as cores do plano de fundo do sistema
Escolha a cor do tema
- Timer estendido
Guia de troca rápida
Notificação
Desativar lista de permissões de notificação
Remover as restrições de blur das Texturas avançadas
Desbloqueie o blur das Texturas avançadas, que está desativado por padrão para temas de terceiros no Plug-in da IU do Sistema.
+ Barra de volume
+ Pressionar para expandir a barra de volume secundária
+ Timer estendido
Ativar blur na barra de volume
Mover statusbar_gestures.dat para o diretório MIUI
- Somente para modelos Android12+ MTK. Pode haver alta carga na GPU.
+ Pode haver alta carga na GPU.
Gerenciamento de chamadas
Permitir encaminhamento de chamadas através do código MMI
@@ -1077,7 +958,6 @@
Desbloquear Xiaomi HyperAI
Após ativar, exibe a opção Xiaomi HyperAI nas Configurações. O suporte para os recursos de IA do dispositivo é determinado pela Xiaomi.
Funções em destaque
- Desbloquear captura de tela da área
Assistente VoIP
Tela e brilho
Desbloquear Super resolução
@@ -1134,14 +1014,8 @@
Desativar pop-up de diálogo \"Ativar atualizações automáticas\"
Permissões
- Área de transferência
- Ocultar dicas rápidas
Desativar desligamento automático do início automático
- Ler área de transferência usando dicas rápidas
- Oculte a caixa de diálogo e permita que o app leia a área de transferência por padrão
- Ler área de transferência
- Transmitir
Serviços de interconectividade
Desbloquear Interconexão do dispositivo
Suporte forçado para streaming de câmera
@@ -1150,7 +1024,6 @@
Gravador
Desativar marca d\'água IA
- Tela sempre ativa
Tela ambiente e editor da Tela de bloqueio
Desbloquear limite de tempo de exibição da Tela ambiente
Reinicie a UI do Sistema para ativar totalmente o recurso
@@ -1205,8 +1078,7 @@
MiCloud
Google
Google e OneDrive
-
- Componentes de segurança da MIUI
+
Componentes de segurança do sistema
Impedir o upload automático da lista de apps instalados
Desativar verificação de ambiente
@@ -1370,7 +1242,6 @@
Tamanho do ícone
Recentes
Velocidade da animação
- Desativar escurecimento do plano de fundo
Desbloquear apps fixados
Ocultar barra de status nos Recentes
Ocultar janela flutuante ao espelhar tela
@@ -1482,12 +1353,16 @@
Editor da Galeria
Fundação
+ Autoria
Autoria de IA
+ Personalizar o quadro
+ Função conjunta
Desbloquear recursos de personalização da Disney
Os desbloqueios incluem os seguintes recursos:\n• Molduras personalizadas - Molduras personalizadas da Disney (em conflito com outras molduras personalizadas)\n• Fundo Bokeh - Mickey Mokeh\n• Adesivos - Adesivos da Disney
Desbloquear molduras do Ano Novo Chinês
Para adicionar permanentemente uma moldura personalizada do Ano Novo Chinês, o pré-requisito é que você precise de uma moldura personalizada Leica ou de uma moldura personalizada Redmi.
Remover limite mínimo de corte de imagem
+ Desbloquear Personalizar o quadro
Personalizar tipo de moldura
Desbloquear filtro Leica
Apenas algumas versões são suportadas
@@ -1569,8 +1444,6 @@
Desativar anúncios do Game Center
Isso pode fazer com que outras funções sejam anormais
- Segurança
- Segurança
Segurança
Gerenciar apps
Bateria
@@ -1582,14 +1455,11 @@
Fechar janela pop-up Dolby
Exibir temperatura da bateria
Exibir saúde da bateria detalhada
- Proteger área de transferência
- Precisão de localização mais baixa
Serviço GMS
Interruptores Taplus
Substituir ícone de bloco muito escuro
Controle do brilho da lanterna
Permite que você controle o brilho da lanterna arrastando o controle deslizante de brilho
- Gerenciar app para obter o número de telefone e faça login com um clique
Simplificar a tela inicial do Segurança
Remove o cartão de recomendação de funções
Bloqueio de apps com PIN embaralhado
@@ -1753,8 +1623,10 @@
Método de entrada Sogou
Remover limite do número de áreas de transferência
Adicionar botão limpar área de transferência
+
+ Serviço de ativação do SIM Xiaomi
+ Apenas o Continente Chinês é suportado
- Scanner
Scanner IA
Desbloquear Escanear cartão ID
Desbloquear Tradução
@@ -1764,7 +1636,6 @@
Desbloquear Escanear PPT
Desbloquear Escanear arquivos
- Mi AI
Super Mi AI
Desativar marca d\'água no chat
@@ -1916,4 +1787,6 @@
Desativado
Desativar sugestão
Ativar sugestão
+ Clique para ver detalhes
+ Ver
diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml
index 480fe964f..2588c67d5 100644
--- a/app/src/main/res/values-ru-rRU/strings.xml
+++ b/app/src/main/res/values-ru-rRU/strings.xml
@@ -21,7 +21,7 @@
Есть новая версия
© 2023-2025 Sevtinge & Вклад HyperCeiler.
- Сделайте HyperOS/MIUI снова великой!
+ Сделайте HyperOS снова великой!
добавление и удаление файлов в памяти устройства
используется для предоставления таких услуг, как широта и долгота
Во время использования, чтобы предоставить вам больше функций, мы можем запросить у вас разрешение Root/Su. Вы можете в любое время перейти к управлению разрешениями, чтобы настроить статус авторизации всех разрешений, а также обратиться к своему менеджеру Root/Su за разрешениями Root/Su.
@@ -219,7 +219,9 @@
Индексная панель
Отмена
Очистка
+ Неправильное значение. Пожалуйста, проверьте и введите снова.
Прозрачность
+ Пользовательский цвет
Monet
Сетка
Ползунок
@@ -234,6 +236,7 @@
Показать боковую панель
Выбрать
Скрыть боковую панель
+ Неправильное значение. Пожалуйста, проверьте и введите снова.
Потянуть вниз для обновления
Успешно обновлено
Обновление…
@@ -254,10 +257,6 @@
Функции
Рекомендованное
Редактор
- Видео
- Фото
- Портрет
- ПРО
Активировать
Отключено
Настройка дока
@@ -365,8 +364,6 @@
Частота использования
Занимаемое место
Время установки
- Три большие плитки
- Одна большая и две маленькие плитки
Официально поставляется с размытием
Своё значение размытия фона
Закрыть
@@ -398,6 +395,7 @@
Отображение в две строки\n\nМини-часы в панели уведомлений сверху\nЧасы в строке состояния снизу
Микки Маус
Клубничный мишка
+ Принцесса Disney
Сервис Google Play
Режим S-Leo
Переключатели Taplus
@@ -424,11 +422,9 @@
Только поддерживаемые ссылки
Настройка громкости по умолчанию
Мгновенная регулировка громкости
- Независимый регулятор громкости
Убрать предупреждение безопасности для высокой громкости
Включено во всех случаях
Включено только при подключении наушников
- Ползунок громкости уведомлений
Уровень громкости мультимедиа
Это может привести к зависанию прокрутки панели громкости или неправильному уровню громкости Bluetooth
Множитель уровня громкости
@@ -557,52 +553,7 @@
Пользовательский водяной знак
Информация о производителе
Информация об устройстве
- Умный водяной знак
- Длинная выдержка
- Режим Клон
- Карманное зеркало
- Режим Документ
- Режим ID-карта
- Двойная камера
- Замедленная съемка
- Короткие видео
- Супер-луна
- Панорама
- Режим Pixel
- Портрет
- Замедленная съемка
- Video-sky
- Vlog
- Vlog Pro
- Кино-камера
- Длительная выдержка
- Масштабирование
- Мечты
- Замедленная выдержка
- Обратный поток
- Заморозка
Снимок ладонью
- Улучшение цвета
- Макияж
- Работает только с фронтальной камерой
- 60 FPS
- Недоступно в некоторых качествах, убедитесь, что ваше устройство поддерживается
- 120 FPS
- Поддерживает только качество 4K, убедитесь, что ваше устройство поддерживается
- Фокусировка микрофона
- HDR
- AI улучшения
- Новая красота
- Работает только с фронтальной камерой
- Мастер-объектив
- Может не работать на некоторых устройствах
- RAW
- LOG
- HEIF
- Следящий автофокус
- Захват движения
- Удалить родинки
- Настройка макияжа для мужчин
Тестовые функции
Следить за глазами
Установить максимальную яркость при использовании камеры
@@ -642,6 +593,8 @@
Отключить \"Удалить сетевой режим\"
Интернет во время вызовов VoLTE
Используйте мобильные данные во время вызовов VoLTE на дополнительной SIM-карте
+ Разблокировать голосовую ссылку
+ Разблокировать голосовую ссылку для некоторых SIM-карт, поддерживающих WiFi-вызов.
Диспетчер загрузки
Заблокировать создание папки .xl Download
@@ -669,12 +622,10 @@
Скрыть камеру
Скрыть умный экран
Ток
- Показывать секунды на часах
Размытие камеры и кнопки умного экрана
После включения фон камеры и кнопки отрицательного экрана на экране блокировки размыты, что может привести к высокому энергопотреблению. Поддерживается только тема по умолчанию.
Радиус фона
Цвет фона
- Заставить часы использовать системные шрифты
Блокировка экрана двойным нажатием
Дважды коснитесь пустого места, чтобы заблокировать экран
Разблокировать ограничение на уведомления
@@ -711,13 +662,8 @@
Управление иконками
Управление индикатором скорости сети
Управление индикатором часов
- Индикаторы оборудования
Умное всплывающее уведомление
Фокус текста
- Отображение
- Режим совместимости
- Принудительно включить полный экран для всех специальных экранов
- Режим сетки
Блокировка двойным нажатием
Двухрядная индикаторная панель
Темы значков
@@ -746,8 +692,6 @@
Устройства
Сеть
Конфиденциальность
- Отображение иконок слева
- Отображение иконок справа
Wi-Fi
Дополнительный Wi-Fi
Стандарт Wi-Fi
@@ -790,23 +734,17 @@
Стерео группы звуковых блоков
Телевизор
Беспроводная гарнитура
- Максимальное количество пунктов уведомлений
Максимальное количество значков уведомлений
Скрыть процент заряда
Скрыть процент заряда батареи
Скрыть индикатор зарядки
Скрыть значок батареи
Настройка значка батареи в строке состояния
- Индикатор батареи
Wi-Fi
Мобильная сеть
Поменять местами Wi-Fi и мобильную сеть
Скорость интернета
Звуковой режим
- Принудительно использовать новый HD
- Требуется последняя версия системы, некоторые модели, возможно, не были обновлены
- Разделитель скорости сети
- Вертикальная линия между временем и скоростью интернета не отображается на устройствах с центральной камерой
Скрывать строку состояния при создании скриншота
Значок типа мобильной сети
Включить модификации
@@ -822,21 +760,9 @@
Значения скорости сети ниже этого уровня считаются низкими и будет отображаться другой значок индикатора (только часть значков).
Скрыть суффикс байт в секунду (*b/s)
Значок индикатора
- Свой режим часов
- Формат часов
- Показывать год
- Показывать месяц
- Показывать дату
- Показывать неделю
- Показывать двойные часы
- Отображение периода времени
- Показывать секунды
- Скрыть пространство
- Показать в две строки
Выравнивание двойных строк
Пример формата часов
Размер часов
- Размер двойной строки
Действителен только когда отображается две строки
Исправить цвет
Отключите анимацию перехода по времени слайда в \"Центр уведомлений\"
@@ -852,36 +778,6 @@
Формат часов в строке состояния
Формат мини-часов на панели уведомлений
Расположение часов в строке состояния
- Энергопотребление
- Температура
- Размер шрифта
- Показать содержимое
- Скрыть знаки после запятой
- Скрывать единицы измерения
- Показывать справа
- Ток всегда показывает положительное значение
- Мощность всегда показывает положительное значение
- Отображать в одной строке
- Обратный порядок
- Показывать только при зарядке
- Интервал обновления состояния
- Фиксировать температуру процессора
- Введите количество для /sys/devices/virtual/thermal/thermal_zone*
- По центру
- Закругленные углы
- Ограничение видимости
- Выровнять по вертикали
- Цвет
- Цвет 100% заряда
- Цвет разряженной батареи
- Цвет режима энергосбережения
- Цвет зарядки
- Высота
- Горизонтальный интервал
- Прозрачность
- Подсветка
- Низкий уровень заряда батареи
- Тест
Отображение
Информация
Отладка
@@ -902,11 +798,9 @@
Добавить пробел в конце текста
Сделайте прокручиваемый текст максимально полным
Центр управления
- Карта
Карточка мультимедийного уведомления
Магнит
Уведомления
- Прозрачность фона карты
%1$s вкл.
%1$s выкл.
Сетевой коммутатор 5G
@@ -929,21 +823,8 @@
Столбцы
Ряд: %d
Кол-во столбцов (ландшафт)
- Mi Play
- Умный хаб
- Элемент управления устройством
- Значение размытия фона элемента управления
Отключить прозрачный режим
Отключить настройку прозрачности фона уведомлений
- Настройка размытия уведомлений
- Оптимизация уведомлений
- Экспериментальная функция доступна только для моделей Android 13 и более поздних версий. После включения размытие уведомлений в некоторых областях будет оптимизировано. На некоторых моделях может возникнуть проблема сбоя системного интерфейса.
- Степень размытия
- Без раскрывающегося уведомления
- Радиус угла
- Тема по умолчанию не нуждается в настройке
- Значение размытия фона
- Фоновое значение по умолчанию
Оптимизировать эффект смешивания цветов на панели управления мультимедиа
Индикатор выполнения
Удалить ограничение на применение специальных действий для карточек мультимедийных уведомлений
@@ -959,6 +840,8 @@
Удалить смешанный цветной фон с карты
Радиус размытия фонового изображения
Непрозрачность слоя наложения фона
+ Кнопка \"Медиа\"
+ Панель поиска медиа
Компактные уведомления
Уменьшить вертикальные отступы уведомлений
Перенаправить настройки уведомлений
@@ -981,8 +864,6 @@
Скрывать только разделители
Отображение имени устройства
Скрыть все имена
- Стиль плитки Bluetooth
- Переместить Bluetooth-плитку рядом с сетевой плиткой
Расширенное меню уведомлений
Добавляет новые действия в меню уведомления (открывается по свайпу влево) - открыть информацию о приложении и принудительно закрыть приложение
Новый центр управления
@@ -1001,18 +882,16 @@
Разрешить отображение 10, 17 или более уведомлений.
Оптимизация смешивания цветов фона подсветки уведомлений
Вернуться к обычному стилю смешивания цветов уведомлений
+ Значение яркости дисплея
+ Отображать значение громкости
+ Содержание
+ Проценты
+ Оригинальное значение
Прочее
Встроенная панель громкости
Меню выключения от AOSP
- MIUI использует устаревший пользовательский интерфейс меню, а HyperOS использует пользовательский интерфейс меню AOSP
- Модификация панели громкости Xiaomi не применяется к встроенной панели громкости
Разблокировать редактор буфера обмена AOSP
- После разблокировки он появится вместе с редактором MIUI/HyperOS.
- Анимация заряда
- Стиль анимации зарядки
- Выберите стиль анимации зарядки на экране блокировки
Прочее
- Предотвратить временное отключение Bluetooth
Скрыть кнопку управления окнами
Скрыть кнопку с тремя точками
Отключить кнопку мульти окон
@@ -1031,12 +910,16 @@
Настройка цвета темы
Настройка цвета темы вместо получения цвета из системных обоев
Выберите цвет темы
- Расширенный таймер
Вкладка быстрого переключения
Уведомление
Отключить белый список уведомлений
Убрать ограничения размытия из расширенных текстур
Разблокировать размытие расширенных текстур, которое по умолчанию отключено для сторонних тем в плагине SystemUI.
+ Панель громкости
+ Нажмите, чтобы развернуть дополнительную панель громкости.
+ Когда эта функция включена, кнопка \"Развернуть\" отключается.
+ Скрыть кнопки отключения звука и \"Не беспокоить\"
+ Расширенный таймер
Включить размытие полосы громкости
Переместить statusbar_gestures.dat в каталог MIUI
Только для моделей MTK с Android 12+, возможна высокая загрузка графического процессора
@@ -1077,7 +960,6 @@
Разблокировать Xiaomi HyperAI
После включения? в настройках отображается опция Xiaomi HyperAI. Поддержка функций AI устройства определяется Xiaomi.
Избранные функции
- Скриншот области разблокировки
Помощник по VoIP
Отображение и экран блокировки
Сверхвысокое разрешение
@@ -1134,14 +1016,8 @@
Отключить всплывающее окно диалога \"Включить автоматические обновления\"
Разрешения
- Буфер обмена
- Скрыть всплывающие подсказки
Автоотключение автозапуска запрещено
- Использовать всплывающие подсказки для чтения содержимого буфера обмена
- Скрывает диалоговое окно и позволяет приложению считывать буфер обмена по умолчанию
- Чтение буфера обмена
- Cast
Сервисы подключения
Разблокировать подключение устройства
Принудительная поддержка вещания камеры
@@ -1150,7 +1026,6 @@
Запись звука
Отключить водяной знак AI
- Дисплей всегда включен (AOD)
AOD
Разблокирует ограничение по времени отображения постоянно включенного экрана
Перезапустите интерфейс системы, чтобы полностью включить функцию
@@ -1205,8 +1080,7 @@
Облачный сервис Xiaomi
Google
Google и OneDrive
-
- Безопасность MIUI
+
Компоненты безопасности системы
Запретить автозагрузку списка установленных приложений
Отключить проверку окружения
@@ -1370,7 +1244,6 @@
Размер иконки
Недавние
Скорость анимации
- Отключить затемнение обоев
Разблокировать закрепленные приложения
Скрыть строку состояния в режиме просмотра задач
Скрыть плавающее окно приложения зеркалирования экрана
@@ -1481,13 +1354,19 @@
Оптимизация задержки запуска приложения
Редактор галереи
+ Инструкции по использованию:\n- Пожалуйста, используйте хук v2 для версий 1.7.5.0.4 и более поздних, и пожалуйста, используйте хук v1 для версий ниже 1.7.5.0.4.
+ Тип хука редактора галереи
Foundation
+ Авторизация
Авторизация ИИ
+ Настройте рамку
+ Совместная функция
Разблокировать возможности настройки Disney
Разблокировка включает следующие функции: - Пользовательские рамки - Пользовательские рамки Disney (конфликтуют с другими пользовательскими рамками) - Фон Боке - Микки Моке - Стикеры - Наклейки Disney
Разблокировать пользовательские рамки для фото, посвященные китайскому Новому году
Чтобы навсегда добавить специальную рамку для изображения китайского Нового года, необходимо, чтобы вам нужна специальная рамка для изображения Leica или специальная рамка для изображения Redmi.
Разблокировать минимальное ограничение на обрезку изображения
+ Разблокируйте и настройте рамку
Изменить тип фрейма
Разблокировать фильтр Leica
Поддерживаются только некоторые версии
@@ -1495,6 +1374,7 @@
Mi Share
Отключить автозакрытие Mi Share
+ Включайте службы определения местоположения, когда общий доступ к файлам отключен.
Разблокировать турбоперенос
Все
@@ -1568,8 +1448,6 @@
Отключить рекламу в \"Центр игр\"
Это может привести к нарушению других функций
- Безопасность
- Центр безопасности
Безопасность
Управление приложениями
Энергосбережение и батарея
@@ -1581,14 +1459,11 @@
Закройте всплывающее окно Dolby
Показывать температуру батареи
Показать подробную информацию о состоянии батареи
- Защита буфера обмена
- Более низкая точность позиционирования
Служба GMS
Переключатели таплуса
Замена иконки очень темной плитки
Управление яркостью фонарика
Позволение управлять яркостью фонарика путем перетаскивания ползунка яркости
- Управляйте приложением, чтобы получить номер телефона для быстрого доступа
Упростить главный экран безопасности
Удалить функцию рекомендации карты
Хаотичная последовательность PIN-кода для блокировки приложения
@@ -1752,8 +1627,12 @@
Метод ввода Sogou
Снимите ограничение на количество буфера обмена
Добавить кнопку очистки буфера обмена
+
+ Служба активации SIM-карт Xiaomi
+ Отключить активацию SIM 2 при роуминге
+ Поддерживается только материковая часть Китая
+ Используйте более агрессивный подход к фильтрации роуминга
- Сканер
AI Сканер
Сканировать ID-карты
Переводчик
@@ -1763,7 +1642,6 @@
Сканировать презентации
Сканировать файлы
- Mi AI
Супер AI
Отключить водяной знак чата
@@ -1915,4 +1793,8 @@
Отключить журнал
Отключить предложение
Включить предложение
+ Приложение работает ненормально
+ %s множественные сбои
+ Нажмите, чтобы просмотреть детали.
+ Просмотреть
diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml
index 697b91f9d..6f8bcedb9 100644
--- a/app/src/main/res/values-tr-rTR/strings.xml
+++ b/app/src/main/res/values-tr-rTR/strings.xml
@@ -19,7 +19,7 @@
-->
- HyperOS/MIUI\'yi Yeniden Harika Hale Getirin!
+ HyperOS\'yi Yeniden Harika Hale Getirin!
cihazın dahili depolama alanınındaki dosyaları ekle ve sil
enlem ve boylam gibi hizmetleri sağlamak için kullanılır
Kullanım sırasında, size daha fazla özellik sunabilmek için sizden Root/Su izni talep edebiliriz. Tüm izinlerin yetki durumunu ayarlamak için istediğiniz zaman İzin Yönetimi\'ne gidebilirsiniz ve Root/Su izinlerini vermek için lütfen Root/Su yöneticinize gidin.
@@ -176,10 +176,6 @@
İşlev
Önerilen
Düzenleyici
- Kayıt
- Çekim
- Portre
- Pro
Etkinleştir
Kapat
Özelleştirmeyi aç
@@ -287,8 +283,6 @@
Kullanım sıklığı
Kullanılan depolama alanı
Yükleme zamanı
- Üç büyük düğme
- Bir büyük ve iki küçük düğme
Resmi bulanıklık
Özel arkaplan bulanıklığı
Kapat
@@ -342,11 +336,9 @@
Yalnızca bağlantıları destekler
Ses seviyesini varsayılan olarak ayarla
Anında ses ayarı
- Bağımsız ses kontrolü
Yüksek hacimli güvenlik kısıtlamalarını kaldırın
Tüm durumlar için
Yalnızca kulaklık bağlıyken
- Bildirim ses kaydırıcısı
Medya ses seviyesi
Ses çubuğunun kaydırılmasının donmasına veya Bluetooth ses seviyesinin anormal olmasına neden olabilir
Ses seviyesi çarpanı
@@ -466,52 +458,7 @@
Özel cihaz filigranı
Üretici bilgileri
Cihaz bilgisi
- AI filigranının kilidini aç
- Uzun pozlamanın kilidini aç
- Klon modunun kilidini aç
- Cep aynasının kilidini aç
- Belge modunun kilidini aç
- Kimlik Kartı modunun kilidini aç
- Çift kameranın kilidini aç
- Kilit Açma Süresi
- Kısa videoların kilidini aç
- Süper ay modunun kilidini aç
- Panorama modunun kilidini aç
- Piksel modunun kilidini aç
- Portre modunun kilidini aç
- Yavaş çekimin kilidini aç
- Videonun Kilidini Aç-gökyüzü
- Vlog\'un Kilidini Aç
- Vlog Pro\'nun kilidini Aç
- Film kamerasının kilidini aç
- Uzun deneyimin kilidini aç
- Dolly zoom\'un kilidini aç
- Rüyanın Kilidini Aç
- Yavaş deklanşörün kilidini aç
- Zamanın geri akışının kilidini aç
- Kilit Açma Süresi donuyor
Avuç içi deklanşörünün kilidini aç
- Renk geliştirmenin kilidini aç
- Makyajın Kilidini Aç
- Yalnızca ön kamerayı kullanırken etkili olur
- 60 FPS\'nin kilidini aç
- Bazı özelliklerde mevcut değildir, lütfen cihazınızın desteklendiğinden emin olun
- 120 FPS\'nin kilidini aç
- Sadece 4K kalitesinde destek, lütfen cihazınızın desteklendiğinden emin olun
- Sesli yakınlaştırmanın kilidini aç
- HDR\'nin kilidini aç
- AI geliştirmenin kilidini açın
- Yeni güzelliğin kilidini aç
- Yalnızca ön kamerayı kullanırken etkili olur
- Ana lensin kilidini aç
- Bazı cihazlarda iyi çalışmayabilir
- RAW\'ın kilidini aç
- Günlüğün kilidini aç
- HEIF\'in kilidini aç
- Hareket izi odağının kilidini aç
- Hareket yakalamanın kilidini aç
- Köstebekleri kaldır
- Erkekler için makyaj efektlerini ayarlama kilidini aç
Laboratuvar seçeneklerini etkinleştir
Parça gözlerinin kilidini aç
Kamerayı kullanırken maksimum parlaklığı zorla
@@ -574,10 +521,8 @@
Camerayı gizle
Akıllı ekranı gizle
Mevcut
- Saat saniyelerini göster
Arka plan bulanıklaştırma yarıçapı
Arka plan rengi
- Saati sistem yazı tiplerini kullanmaya zorla
Kilit ekranı için iki kez dokunun
Ekranı kilitlemek için boş bir konuma çift dokunun
DND modu bildirimini gizle
@@ -610,12 +555,7 @@
Simge yöneticisi
Ağ hızı göstergesi yönetimi
Saat göstergesi yönetimi
- Donanım işaretçileri
Akıllı Güçlü Toast
- Düzen
- Uyumluluk Modu
- Tam ekran düzenini özel şekilli ekranların tümü için etkinleştir
- Düzen modu
Çift dokunuşla uyutma
Çift sıralı sinyal çubuğu
Simge temaları
@@ -644,8 +584,6 @@
Cihazlar
Ağ
Gizlilik
- Simgenin sol tarafında gösterilir
- Simgenin sağ tarafı gösterir
Wi-Fi
Köle Wi-Fi
Wifi standardı
@@ -685,23 +623,17 @@
Ses kutusu
TV
Kablosuz Kulaklık
- Maksimum bildirim noktası sayısı
Maksimum bildirim simgesi sayısı
Pil yüzdesini gizle
Pil yüzdesi işaretini sakla
Şarj gösterge ışığını gizleme
Pil simgesini gizle
Pil özelleştirme
- Pil göstergesi
Wifi
Mobil ağ
Wi-Fi ve Mobil Ağı Değiştirin
İnternet hızı
Ses sahnesi
- Yeni HD simgesini kullanmaya zorla
- Yeni bir sistem sürümü gereklidir. Bazı modeller güncellenmemiş olabilir
- Ağ hızı ayırıcı
- Zaman ve şebeke hızı arasındaki dikey çizgi, su damlası ekranı olan cihazda görüntülenmez
Ekran görüntüsü alırken durum çubuğunu gizleyin
Mobil ağ türü simgesi
Ağ hızı güncelleme aralığı
@@ -715,21 +647,9 @@
Bu seviyenin altındaki ağ hızı değerleri yavaş kabul edilir ve farklı bir gösterge simgesi görüntülenir (yalnızca bazı simgeler)
İkinci sonek (*b/s) başına Bayt gizle
Gösterge simgesi
- Özel saat modu
- Saat biçimi
- Yılı göster
- Ayı göster
- Günü göster
- Haftayı göster
- Çift saati göster
- Saat periyodunu göster
- Saniyeleri göster
- Alanı gizle
- Çifte göster
Çift sıra hizalama
Saat biçimi örneği
Saat boyutu
- Çift sıra saat boyutu
Yalnızca iki satır halinde görüntülendiğinde geçerlidir
Renk düzeltme
Durum çubuğu saat ayarları senkronize değil
@@ -737,45 +657,14 @@
Saniye yenileme anahtarı
Bildirim çubuğu saat biçimi
Durum çubuğu saat düzenlemesi
- Güç ile ilgili
- Sıcaklıkla ilgili
- Yazı tipi boyutu
- İçerikleri göster
- Ondalık basamakları gizle
- Birimleri gizle
- Sağda göster
- Akım her zaman pozitif bir değer gösterir
- Tek sıra ekran
- Ters sıra
- Yalnızca şarj olurken göster
- Durum güncelleme aralığı
- CPU sıcaklığını düzelt
- /sys/devices/virtual/thermal/thermal_zone* sayısını girin
- Merkez
- Yuvarlatılmış köşeler
- Görünürlüğü sınırla
- Dikey olarak hizala
- Renk
- Tam dolu pil rengi
- Düşük pil rengi
- Power saving mode color
- Şarj rengi
- Yükseklik
- Yatay kenar boşluğu
- Şeffaf
- Parlama
- Düşük pil seviyesi
- Test
Yerleşim
Bilgilendirme
Hata ayıklama
Metin
Bu, kaydırma biçiminde çıktısı alınacak uzun bir metin parçasıdır
Kontrol merkezi
- Kart
Mıknatıs
Bildirim
- Kart arka plan saydamlığı
%1$s açık
%1$s kapalı
5G ağ anahtarı
@@ -790,18 +679,7 @@
Sütunlar
%d liste
Sütunlar (Yatay)
- MiPlay Girişini Gizle
- Cihaz kontrol girişi
- Ayrıntı Arka Plan bulanıklığı değerini kontrol etme
Bildirim arka planının şeffaf olarak ayarlanmasını devre dışı bırak
- Bildirim Bulanıklığı Modeli
- Bildirim optimizasyonu
- Deneysel özellik. Yalnızca Android 13 ve üzeri modeller için kullanılabilir. Etkinleştirdikten sonra, bazı alanlardaki bildirim bulanıklığı optimize edilecektir. Bazı modellerde Sistem Arayüzü çökmesi sorunu olabilir.
- Bulanıklık Yarıçapı
- Aşağı açılır bildirim olmadan
- Köşe Yarıçapı
- Arka Plan değerini bulanıklaştır
- Varsayılan Arka Plan değeri
Medya kontrol panelinin renk karıştırma etkisini optimize edin
İlerleme çubuğu
Dalgalı
@@ -831,7 +709,6 @@
Yalnızca ayırıcılar gizli
Cihaz adını görüntüle
Tüm isimleri gizle
- Bluetooth döşeme stili
Genişletilmiş bildirim menüsü
Uygulama bilgilerini açın, uygulamayı kapatmaya zorlayın ve bildirim menüsünden kayan pencerede açın (açmak için bildirimi sola kaydırın)
Yeni kontrol merkezi
@@ -849,15 +726,8 @@
Diğer
Yerel ses çubuğu
Yerel kapatma menüsü
- MIUI eski menü kullanıcı arayüzünü kullanırken HyperOS, AOSP menü kullanıcı arayüzünü kullan.
- HyperOS/MIUI\'deki ses çubuğuna yapılan değişiklikler yerel ses çubuğuna uygulanamaz
AOSP pano düzenleyicisinin kilidini açın
- Kilidi açtıktan sonra HyperOS/MIUI editörüyle birlikte açılır pencere açılacaktır.
- Şarj animasyonu
- Şarj animasyon stili
- Şarj animasyon stili
Diğer
- Bluetooth\'un geçici olarak kapatılmasını önleyin
Bölünmüş ekran düğmesini gizle
HyperOS for Pad yatay ekranının üst kısmındaki küçük pencerenin üst kısmı ve üst kısmın ortasındaki düğme dahil olmak üzere üç kalıcı noktayı gizleyin (fonksiyonların kullanımını etkilemez).
Bölünmüş ekran düğmesini devre dışı bırak
@@ -876,10 +746,10 @@
Tema rengini özelleştirme
Sistem duvar kağıdından renk çekmek yerine tema renklerini özelleştirin
Tema rengini seçin
- Genişletilmiş zamanlayıcı
Hızlı geçiş sekmesi
Bildirim
Bildirim beyaz listesini devre dışı bırak
+ Genişletilmiş zamanlayıcı
Ses çubuğu bulanıklığını etkinleştir
Sadece Android12+ MTK modelleri için. Yüksek GPU yükü olabilir.
@@ -911,7 +781,6 @@
Yeni NFC sayfası
Açıldıktan sonra, desteklenmeyen modeller için varsayılan ödeme uygulaması Xiaomi Cüzdan\'ı seçemiyor
Öne çıkan işlevler
- Ekran görüntüsü alanı kilidini aç
VoIP asistanı
Ekran ve parlaklık
Süper çözünürlüğün kilidini aç
@@ -963,18 +832,12 @@
Bu özellik gerçekten tehlikeli, lütfen günlük olarak kullanmayın
İzinler
- Pano
- Tost İpuçlarını Gizle
- İletişim kutusunu gizleyin ve uygulamanın varsayılan olarak panoyu okumasına izin verin
- Panoyu oku
- Yayınla
Cihaz ara bağlantısının kilidini aç
Kamera akışı desteğini zorla
Hpplay klasörlerinin oluşturulmasını engelleme
- Her zaman açık ekran
Aod Aon\'un kilidini aç
Taplus
@@ -1019,8 +882,7 @@
Yedekleme sunucusu
Google
Google & OneDrive
-
- MIUI güvenlik bileşenleri
+
Yüklü uygulama listesinin otomatik olarak yüklenmesini engelle
Sistem başlatıcı
@@ -1156,7 +1018,6 @@
Özel renk
Son
Animasyon hızı
- Duvar kağıdı kaydırmayı devre dışı bırak
Sabitlenmiş uygulamaların kilidini aç
Görev görünümünde durum çubuğunu gizle
Serbest biçim düğmesini gizle
@@ -1334,7 +1195,6 @@
Game Center Reklamlarını Devre Dışı Bırakma
- Güvenlik
Uygulama yönetimi
Pil Tasarrufu ve Pil
Gizlilik koruması
@@ -1343,13 +1203,10 @@
Kenar Çubuğu
Pil sıcaklığını göster
Ayrıntılı pil sağlığını göster
- Panoyu koru
- Daha düşük konumlandırma doğruluğu
GMS Hizmeti
Taplus anahtarları
Çok koyu renkli döşeme simgesi değişimi
El feneri parlaklık kontrolü
- Cep telefonu numarasını almak ve tek bir tıklama ile giriş yapmak için uygulamayı yönetin
Sipariş dışı PIN\'i kilitle
Kendi kendine başlayan bulanık önizleme görüntülerini devre dışı bırakma
Uygulama kilidi PIN tuş takımı sırasını rastgele değiştir
@@ -1465,8 +1322,8 @@
Sogou giriş yöntemi
Pano sayısındaki sınırlamayı kaldırın
+
- Tarayıcı
Tarama kimlik kartının kilidini aç
Çevirinin kilidini aç
OCR\'nin kilidini aç
@@ -1475,7 +1332,6 @@
Tarama ppt\'sinin kilidini aç
Tarama dosyalarının kilidini aç
- Mi AI
Sohbet filigranını devre dışı bırak
diff --git a/app/src/main/res/values-vi-rVN/strings.xml b/app/src/main/res/values-vi-rVN/strings.xml
index bf249ed30..605383526 100644
--- a/app/src/main/res/values-vi-rVN/strings.xml
+++ b/app/src/main/res/values-vi-rVN/strings.xml
@@ -21,7 +21,7 @@
Có phiên bản mới
© 2023-2025 Người đóng góp Sevtinge & HyperCeiler.
- Làm cho HyperOS/MIUI trở nên vĩ đại!
+ Làm cho HyperOS trở nên vĩ đại!
thêm và xóa tập tin trên bộ nhớ trong thiết bị
được sử dụng để cung cấp các dịch vụ như vĩ độ và kinh độ
Trong quá trình sử dụng, để cung cấp cho bạn nhiều tính năng hơn, chúng tôi có thể xin quyền Root/Su. Bạn có thể truy cập Quản lý quyền bất kỳ lúc nào để điều chỉnh trạng thái ủy quyền của tất cả các quyền và vui lòng truy cập trình quản lý Root/Su của bạn để cấp quyền Root/Su.
@@ -219,7 +219,9 @@
Thanh chỉ mục
Hủy bỏ
Xóa
+ Giá trị không hợp lệ. Vui lòng kiểm tra và nhập lại.
Trong suốt
+ Tuỳ chỉnh màu
Monet
Lưới
Thanh trượt
@@ -234,6 +236,7 @@
Hiện thanh bên
Chọn
Ẩn thanh bên
+ Giá trị không hợp lệ. Vui lòng kiểm tra và nhập lại.
Kéo xuống để làm mới
Làm mới thành công
Đang làm mới…
@@ -254,10 +257,6 @@
Tính năng
Đề xuất
Trình chỉnh sửa
- Quay phim
- Chụp
- Chụp chân dung
- Chuyên nghiệp
Kích hoạt
Tắt
Bật tùy chỉnh
@@ -365,8 +364,6 @@
Tần suất sử dụng
Bộ nhớ sử dụng
Thời gian cài đặt
- Ba hàng ô lớn
- Một ô lớn và hai ô nhỏ
Hiệu ứng làm mờ cài sẵn chính thức
Tùy chỉnh làm mờ nền
Đóng
@@ -398,6 +395,7 @@
Hiển thị hai dòng\n\nĐồng hồ nhỏ trên thanh thông báo ở trên cùng\nĐồng hồ trên thanh trạng thái ở dưới cùng
Chuột Mickey
Gấu dâu
+ Công chúa Disney
Dịch vụ Google Play
Chế độ S-Leo
Taplus
@@ -425,11 +423,9 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoChỉ hỗ trợ các liên kết
Điều chỉnh âm lượng mặc định
Cài đặt điều chỉnh âm lượng
- Kiểm soát âm lượng độc lập
Tắt cảnh báo âm lượng quá lớn
Đã bật cho mọi trường hợp
Chỉ kích hoạt khi tai nghe được kết nối
- Cột chỉnh âm lượng thông báo
Mức âm lượng
Nó có thể khiến cuộn thanh âm lượng bị đơ hoặc âm lượng Bluetooth bất thường
Hệ số bước âm lượng
@@ -559,52 +555,7 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoTùy chỉnh hình mờ thiết bị
Thông tin nhà sản xuất
Thông tin thiết bị
- Mở khóa Dấu chìm AI
- Mở khóa Phơi sáng lâu
- Mở khóa Bản sao
- Mở khóa Gương trang điểm
- Mở khóa Tài liệu
- Mở khóa Thẻ căn cước
- Mở khóa Máy ảnh kép
- Mở khóa Chuyển động nhanh ban đêm
- Mở khóa Video ngắn
- Mở khóa Siêu trăng
- Mở khóa Chụp toàn cảnh
- Mở khóa Siêu phân giải
- Mở khóa Chân dung
- Mở khóa Chuyển động chậm
- Mở khóa Video bầu trời
- Mở khóa Vlog
- Mở khóa Vlog Pro
- Mở khóa Khung phim
- Mở khóa Phơi sáng lâu
- Mở khóa Thu phóng ma thuật
- Mở khóa Thế giới song song
- Mở khóa Màn trập chậm
- Mở khóa Ngược dòng thời gian
- Mở khóa Đóng băng thời gian
Mở khóa Cử chỉ chụp ảnh
- Mở khóa Màu nâng cao
- Mở khóa Gương trang điểm
- Chỉ hoạt động với camera trước
- Mở khóa 60FPS
- Một số chất lượng hình ảnh không khả dụng, một số phần cứngị không hỗ trợ
- Mở khóa 120FPS
- Chỉ hỗ trợ chế độ 4K, một số phần cứng không hỗ trợ
- Mở khóa Thu phóng phím âm lượng
- Mở khóa HDR
- Mở khóa Chế độ AI
- Mở khóa Hiệu ứng làm đẹp mới
- Chỉ hoạt động với camera trước
- Mở khóa Ống kính Pro
- Một số thiết bị hoạt động không bình thường
- Mở khóa RAW
- Mở khóa Nhật ký
- Mở khóa Định dạng HEIF
- Mở khóa Theo dõi chuyển động
- Mở khóa Chụp chuyển động
- Mở khóa Loại bỏ nốt ruồi
- Mở khóa Trang điểm nam
Mở khóa Tính năng thử nghiệm
Mở khóa Theo dõi mắt người
Tăng tối đa độ sáng khi sử dụng camera
@@ -644,6 +595,8 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoTắt xóa chế độ mạng
Mở khoá VoLTE sim phụ
Sử dụng dữ liệu di động cho cuộc gọi VoLTE trên SIM phụ
+ Mở khóa liên kết thoại
+ Mở khóa liên kết thoại cho một số SIM hỗ trợ gọi qua Wi-Fi
Tải xuống
Chặn tạo thư mục .xlDownload
@@ -671,12 +624,10 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoẨn Camera
Ẩn Khoá tạp chí
Hiện tại
- Đồng hồ hiển thị giây
Làm mờ phím tắt và thông báo
Sau khi bật, nền của camera và nút màn hình điều hướng trên Màn hình khóa sẽ bị mờ, có thể gây tốn điện năng.\nChỉ hỗ trợ chủ đề mặc định.
Bán kính nền
Màu nền
- Buộc đồng hồ dùng phông hệ thống
Nhấn đúp để khoá màn hình
Nhấn đúp vào vị trí trống để khóa màn hình
Mở khóa giới hạn thông báo
@@ -713,13 +664,8 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoBiểu tượng
Tốc độ mạng
Đồng hồ
- Phần cứng
Lời nhắc thông minh
Lời bài hát Focus
- Bố cục
- Chế độ tương thích
- Buộc kích hoạt bố cục toàn màn hình cho các màn hình có hình dạng đặc biệt
- Bố cục thanh trạng thái
Nhấn đúp để khoá màn hình
Cột sóng kép
Chủ đề biểu tượng
@@ -748,8 +694,6 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoThiết bị
Mạng
Riêng tư
- Chuyển biểu tượng sang trái
- Chuyển biểu tượng sang phải
Wi-Fi
Biểu tượng Wi-Fi phụ
Hiển thị chuẩn Wi-Fi
@@ -792,23 +736,17 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoNhóm hộp âm nhạc nổi
TV
Tai nghe không dây
- Số lượng dấu chấm thông báo tối đa
Số lượng biểu tượng thông báo tối đa
Ẩn XXX% cạnh biểu tượng pin
Ẩn hậu tố (%) sau pin
Ẩn biểu tượng Sạc
Ẩn biểu tượng Pin
Tuỳ chỉnh Pin
- Chỉ số pin
Wi-Fi
Mạng di động
Đổi vị trí Wi-Fi và mạng di động
Tốc độ mạng
Âm thanh cảnh báo
- Dừng sử dụng biểu tượng HD
- Cần có phiên bản hệ thống mới hơn và một số kiểu máy có thể chưa cập nhật
- Bộ tách tốc độ internet
- Đường kẻ dọc giữa thời gian và tốc độ mạng không hiển thị trên thiết bị có màn hình giọt nước
Ẩn thanh trạng thái khi chụp ảnh màn hình
Biểu tượng mạng di động
Cho phép sửa đổi
@@ -824,21 +762,9 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoKhi giá trị tốc độ mạng thấp hơn mức này, nó được coi là chậm và một số biểu tượng chỉ báo sẽ hiển thị các biểu tượng chỉ báo khác nhau
Ẩn hậu tố Byte trên giây (*b/s)
Biểu tượng chỉ báo
- Tùy chỉnh đồng hồ
- Định dạng đồng hồ
- Hiển thị năm
- Hiện tháng
- Hiện ngày
- Hiện thứ
- Hiện giờ kép
- Hiển thị SA CH
- Hiện giây
- Ẩn khoảng cách
- Ngày giờ hàng đôi
Căn chỉnh hàng đôi
Ví dụ về định dạng đồng hồ
Kích thước đồng hồ (0 là giá trị gốc)
- Kích thước hàng đôi (0 là giá trị gốc)
Chỉ hợp lệ khi hiển thị ở hai hàng
Cố định màu
Tắt hoạt ảnh chuyển tiếp đồng hồ trong trung tâm thông báo
@@ -854,36 +780,6 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoĐịnh dạng đồng hồ trên thanh trạng thái
Định dạng đồng hồ nhỏ trên thanh thông báo
Sắp xếp đồng hồ trên thanh trạng thái
- Về năng lượng
- Về nhiệt độ
- Cỡ chữ
- Hiển thị nội dung
- Ẩn số thập phân
- Ẩn đơn vị
- Hiện thị bên phải
- Luôn hiển thị cưởng độ dòng điện
- Năng lượng pin luôn hiện giá trị dương
- Hiển thị 1 hàng
- Đảo thứ tự
- Chỉ hiển thị khi sạc
- Thời gian làm mới thanh trạng thái
- Sửa giới hạn nhiệt CPU
- Nhập vào /sys/devices/virtual/thermal/thermal_zone*
- Trung tâm
- Làm tròn góc
- Giới hạn hiển thị
- Căn chỉnh theo chiều dọc
- Màu sắc
- Màu sắc khi pin đầy
- Màu sắc khi pin yếu
- Màu chế độ tiết kiệm pin
- Màu khi sạc
- Chiều cao
- Lề ngang
- Độ trong suốt
- Tỏa sáng
- Mức pin yếu
- Chữ
Bố cục
Thông tin
Gỡ lỗi
@@ -904,11 +800,9 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoThêm khoảng trắng vào cuối lời bài hát
Làm cho lời bài hát cuộn càng đầy đủ càng tốt
Trung tâm điều khiển
- Độ trong suốt nền thẻ bổ sung
Thẻ thông báo phương tiện
Bảng điều khiển
Thông báo
- Độ trong suốt nền thẻ bổ sung
%1$s đang bật
%1$s đang tắt
Nút bật 5G nhanh
@@ -931,21 +825,8 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoCột
%d Danh sách
Cột (màn hình ngang)
- Thẻ Mi Smart Play
- Thẻ Mi Smart Hub
- Thẻ Nhà thông minh
- Giá trị mờ của nền
Tắt chế độ trong suốt
Tắt cài đặt nền thông báo trong suốt
- Thiết lập thông báo
- Tối ưu hóa thông báo
- Chức năng thử nghiệm, chỉ khả dụng cho Android 13 trở lên. Sau khi bật, thông báo mờ ở một số khu vực sẽ được tối ưu hóa\nCó thể gặp sự cố giao diện hệ thống trên một số thiết bị.
- Làm mờ nền thông báo nổi
- Không có thông báo thả xuống
- Làm làm mờ các góc thông báo
- Theme mặc định không cần chỉnh
- Giá trị làm mờ nền
- Độ trong suốt nền thanh thông báo kéo xuống
Tối ưu hóa hiệu ứng trộn màu của bảng điều khiển phương tiện
Thanh tiến trình
Loại bỏ hạn chế trong việc áp dụng các hành động tùy chỉnh cho thẻ thông báo phương tiện
@@ -961,6 +842,8 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoXóa nền màu hỗn hợp khỏi thẻ
Bán kính mờ ảnh nền
Độ mờ của lớp phủ nền
+ Phím phương tiện
+ Phím tua
Thu gọn thông báo
Giảm khoảng cách thông báo dọc
Chuyển hướng cài đặt thông báo
@@ -983,8 +866,6 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoẨn dấu phân cách giữa tên nhà mạng
Hiện tên thiết bị
Ẩn tên tất cả
- Kiểu ô Bluetooth
- Ô Bluetooth được di chuyển đến khu vực ô mạng
Menu thông báo mở rộng
Mở thông tin ứng dụng, buộc đóng ứng dụng và mở trong cửa sổ nổi từ menu thông báo (vuốt thông báo sang trái để mở)
Trung tâm điều khiển kiểu mới
@@ -1003,18 +884,16 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoCho phép hiển thị 10 tới 17 thông báo trở lên
Tối ưu trộn màu nền của đèn thông báo
Quay lại kiểu trộn màu thông báo bình thường
+ Hiện giá trị độ sáng
+ Hiện giá trị âm lượng
+ Nội dung
+ Phần trăm
+ Giá trị gốc
Khác
Thanh âm lượng gốc
Menu tắt nguồn mặc định
- MIUI sử dụng UI menu cũ, trong khi HyperOS sử dụng UI menu AOSP
- Việc sửa đổi thanh âm lượng của Xiaomi không áp dụng cho thanh âm lượng gốc
Mở khóa trình chỉnh sửa bảng ghi tạm AOSP
- Sau khi mở khóa, nó sẽ bật lên cùng với trình chỉnh sửa MIUI/HyperOS.
- Hiệu ứng sạc
- Hiệu ứng khi sạc
- Lựa chọn hiệu ứng sạc màn hình khóa
Khác
- Ngăn Bluetooth bị tắt tạm thời
Ẩn nút Cửa sổ tiện lợi
Ẩn nút cửa sổ tiện lợi ở giữa trên cùng trong HyperOS cho màn hình ngang của Pad
Tắt nút Chia đôi màn hình
@@ -1033,12 +912,16 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoTùy chỉnh chủ đề
Tùy chỉnh màu chủ đề thay vì kéo chúng từ hình nền
Chọn màu chủ đề
- Hẹn giờ mở rộng
Chuyển đổi tab nhanh
Thông báo
Tắt danh sách cho phép thông báo
Xóa các hạn chế làm mờ khỏi họa tiết nâng cao
Mở khóa hiệu ứng làm mờ của họa tiết nâng cao, mặc định bị tắt đối với các chủ đề của bên thứ ba trong Plug-in Giao diện người dùng hệ thống.
+ Thanh âm lượng
+ Nhấn để mở rộng thanh âm lượng thứ hai
+ Khi tính năng này được bật, nút mở rộng sẽ bị tắt
+ Ẩn nút tắt tiếng và không làm phiền
+ Hẹn giờ mở rộng
Làm mờ thanh âm lượng
Di chuyển statusbar_gestures.dat vào thư mục MIUI
Chỉ dành cho các mẫu Android12+ MTK, có thể có tải GPU cao
@@ -1079,7 +962,6 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoMở khóa Xiaomi HyperAI
Sau khi bật, tùy chọn Xiaomi HyperAI sẽ hiển thị trong Cài đặt. Việc hỗ trợ các tính năng AI của thiết bị sẽ do Xiaomi quyết định.
Tính năng đặc biệt
- Mở khóa Chụp một phần màn hình
Trợ lý VoIP
Hiển thị & Màn hình khóa
Mở khoá Siêu phân giải
@@ -1140,14 +1022,8 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoTắt hộp thoại \"Bật cập nhật tự động\"
Quyền
- Clipboard
- Ẩn mẹo nhanh
Tự động tắt khi tự khởi động bị cấm
- Đọc bảng ghi tạm bằng cách sử dụng hộp gợi ý thông báo
- Ẩn hộp thoại và cho phép ứng dụng đọc bảng ghi tạm theo mặc định
- Đọc clipboard
- Truyền
Dịch vụ kết nối
Mở khóa Kết nối thiết bị
Hỗ trợ bắt buộc cho việc truyền phát camera
@@ -1156,7 +1032,6 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoGhi âm
Tắt hình mờ AI
- Màn hình Ambient
Trình chỉnh sửa màn hình khóa và AOD
Mở khóa Giới hạn thời gian
Khởi động lại giao diện hệ thống để kích hoạt đầy đủ chức năng
@@ -1211,8 +1086,7 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoDịch vụ đám mây Xiaomi
Google
Google & OneDrive
-
- Bảo mật MIUI
+
Thành phần bảo mật hệ thống
Ngăn tự động tải lên danh sách ứng dụng đã cài đặt
Tắt kiểm tra root
@@ -1376,7 +1250,6 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoKích thước biểu tượng
Gần đây
Tốc độ của hoạt ảnh
- Tắt làm mờ hình nền
Mở khóa các ứng dụng được ghim
Ẩn thanh trạng thái
Ẩn cửa sổ ứng dụng nổi trong màn hình phản chiếu
@@ -1487,13 +1360,19 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoTối ưu hóa độ trễ khi mở ứng dụng
Chỉnh sửa thư viện
+ Hướng dẫn sử dụng:\n- Vui lòng sử dụng v2 hook cho phiên bản 1.7.5.0.4 trở lên và vui lòng sử dụng v1 hook cho phiên bản thấp hơn 1.7.5.0.4
+ Kiểu hook của trình chỉnh sửa thư viện
Nền tảng
+ Người tạo
Sáng tạo AI
+ Tùy chỉnh khung
+ Chức năng chung
Mở khóa các tính năng tùy chỉnh của Disney
Các tính năng được mở khóa bao gồm:\n- Khung tùy chỉnh – Khung tùy chỉnh của Disney (xung đột với các khung tùy chỉnh khác)\n- Làm mờ nền – Làm mờ Mickey\n- Hình dán – Hình dán Disney
Mở khóa khung ảnh tùy chỉnh năm mới Tết Nguyên đán
Để thêm vĩnh viễn khung ảnh tùy chỉnh Tết Nguyên đán, điều kiện tiên quyết là bạn cần có khung ảnh tùy chỉnh Leica hoặc khung ảnh tùy chỉnh Redmi.
Mở khóa giới hạn cắt hình
+ Mở khóa tùy chỉnh khung
Tùy chỉnh loại khung hình
Mở khóa bộ lọc Leica
Chỉ hỗ trợ một số phiên bản
@@ -1575,8 +1454,6 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoTắt quảng cáo trong trung tâm trò chơi
Điều này có thể khiến các chức năng khác trở nên bất thường
- Bảo mật
- Trung tâm bảo mật dạng máy tính bảng
Công cụ bảo mật
Quản lý ứng dụng
Pin và hiệu suất
@@ -1588,14 +1465,11 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoTắt pop-up Dolby
Hiển thị nhiệt độ pin
Hiển thị chi tiết tình trạng pin
- Bảo vệ khay nhớ tạm
- Độ chính xác định vị thấp hơn
Dịch vụ Google
Công tắc Taplus
Thay thế biểu tượng ô rất tối
Điều khiển độ sáng đèn pin
Cho phép bạn điều khiển độ sáng của đèn pin bằng cách kéo thanh trượt độ sáng
- Quản lý ứng dụng truy cập số điện thoại
Đơn giản hóa trang chủ của Trung tâm bảo mật
Xóa thẻ đề xuất tính năng
Mã PIN khoá ứng dụng ngẫu nhiên
@@ -1766,8 +1640,12 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoPhương thức nhập Sogou
Xóa giới hạn số lượng bảng ghi tạm
Thêm nút xóa bảng ghi tạm
+
+ Dịch vụ kích hoạt SIM Xiaomi
+ Tắt kích hoạt SIM 2 khi đang chuyển vùng
+ Chỉ hỗ trợ Trung Quốc đại lục
+ Sử dụng phương pháp lọc chuyển vùng tích cực hơn
- Máy quét
Máy quét AI
Mở khóa Scan danh thiếp
Mở khóa Phiên dịch
@@ -1777,7 +1655,6 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoMở khoá Scan tạo file PowerPoint PPT
Mở khóa Scan chữ
- Mi AI
Siêu AI
Tắt hình mờ trò chuyện
@@ -1930,4 +1807,8 @@ Hãy đảm bảo rằng các ứng dụng hệ thống có siêu dữ liệu is
Tắt nhật ký đầu ra
Tắt đề xuất
Bật đề xuất
+ Ứng dụng đang chạy bất thường
+ %s lần crash
+ Nhấp để xem chi tiết
+ Xem
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 11f94d1d3..547ecd57a 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -18,7 +18,7 @@
-->
- Make HyperOS/MIUI Great Again!
+ Make HyperOS Great Again!
用于xxx
用于提供经纬度等服务
@@ -275,10 +275,6 @@
功能
推荐
编辑
- 录像
- 拍照
- 人像
- 专业
启用
禁用
启用自定义
@@ -404,9 +400,6 @@
存储占用
安装时间
- 三排大磁贴
- 一大和二小磁贴
-
官方自带模糊
自定义背景模糊
@@ -478,11 +471,9 @@
默认调整音量
音量即时调整
- 音量独立控制
移除高音量安全限制
对全部情况启用
仅连接耳机时启用
- 通知音量滑块
媒体音量阶数
可能会导致音量条的滚动卡顿或蓝牙音量异常
音量级数倍增
@@ -615,52 +606,7 @@
自定义机型水印
厂商信息
机型信息
- 解锁 AI 水印
- 解锁长曝光
- 解锁魔法分身
- 解锁化妆镜
- 解锁文档
- 解锁身份证拍摄
- 解锁前后双景
- 解锁延时摄影
- 解锁短视频
- 解锁超级月亮
- 解锁全景
- 解锁超分辨率模式
- 解锁人像
- 解锁慢动作
- 解锁 Video-sky
- 解锁 Vlog
- 解锁 Vlog Pro
- 解锁电影镜头
- 解锁长曝光延时
- 解锁滑动变焦
- 解锁平行梦境
- 解锁慢快门
- 解锁时光倒流
- 解锁时间静止
解锁手势拍照
- 解锁艳丽模式
- 解锁妆容
- 仅在使用前置摄像头时生效
- 解锁 60FPS
- 部分画质下不可用,部分设备硬件不支持
- 解锁 120FPS
- 仅 4K 模式支持, 部分设备硬件不支持
- 解锁音源变焦
- 解锁 HDR
- 解锁 AI 模式
- 解锁新版美颜
- 仅在使用前置摄像头时生效
- 解锁大师镜头
- 部分设备无法正常工作
- 解锁 RAW
- 解锁 LOG
- 解锁 HEIF 格式
- 解锁万物追焦
- 解锁运动抓拍
- 解锁祛痣
- 解锁男性妆容适配
启用实验室选项
解锁人眼追焦
使用相机时使屏幕亮度最大
@@ -729,12 +675,10 @@
隐藏相机
隐藏负一屏
当前电流
- 时钟显示秒数
锁屏按钮背景模糊
启用后相机和负一屏按钮的背景带有模糊,可能存在功耗偏高的情况,仅支持默认主题
背景半径
背景颜色
- 时钟强制使用系统字体
双击锁屏
双击空白位置锁屏
解除通知限制
@@ -773,13 +717,8 @@
图标
网速指示器
时钟指示器
- 硬件指示器
灵动舞台
焦点歌词
- 布局
- 兼容模式
- 对所有异形屏强制开启完整屏布局
- 布局模式
双击状态栏锁屏
双排移动网络图标
@@ -812,8 +751,6 @@
互联互通
网络连接
敏感信息
- 图标左侧显示
- 图标右侧显示
WIFI 图标
辅助 WIFI 图标
WIFI 标准
@@ -846,23 +783,17 @@
隐藏麦克风静音图标
隐藏免提图标
隐藏录音图标
- 通知省略点数最大数量
通知图标最大数量
隐藏电量百分比
隐藏电量百分比符号
隐藏充电指示器
隐藏电池图标
电池自定义
- 电量指示器
WIFI
移动网络
交换 WIFI 与移动网络
网速
声音情景
- 强制使用新 HD 图标
- 仅支持部分系统版本
- 网速分隔符
- 于居中摄像头的设备上不显示时间和网速间的竖线
截屏时隐藏状态栏
移动网络类型图标
汽车
@@ -890,21 +821,9 @@
网速隐藏 *b/s 单位
指示器图标
- 自定义时钟模式
- 时钟格式
- 显示年份
- 显示月份
- 显示日期
- 显示星期
- 显示时辰
- 显示时段
- 显示秒数
- 隐藏间隔
- 双排显示
双排对齐方式
时钟格式示例
时钟大小
- 双排时钟大小
仅在双排显示下生效
禁用通知中心下滑时钟过渡动画
不同步状态栏时钟设置
@@ -922,38 +841,6 @@
通知中心迷你时钟格式
状态栏时钟排列
- 功耗相关
- 温度相关
- 字体大小
- 显示内容
- 隐藏小数位
- 隐藏单位
- 右侧显示
- 电流总显示正值
- 功率总显示正值
- 单排显示
- 反序
- 仅在充电时显示
- 状态更新间隔
- 更改 CPU 温度获取源
- 输入 /sys/devices/virtual/thermal/ 文件夹下 thermal_zone* 文件夹后的数字以指定源
-
- 居中
- 圆角
- 限制可见性
- 垂直对齐
- 颜色
- 满电量颜色
- 低电量颜色
- 省电模式颜色
- 充电颜色
- 高度
- 水平边距
- 透明度
- 发光
- 低电量水平
- 测试
-
布局
信息
调试
@@ -976,11 +863,9 @@
让滚动歌词尽可能滚动完整
通知与控制中心
- 卡片
媒体通知卡片
磁贴
通知中心
- 卡片背景透明度
%1$s已开启
%1$s已关闭
5G 网络开关
@@ -999,21 +884,8 @@
列数
%d 列
列数(横屏)
- 小米妙播
- 小米妙享
- 智能生活
- 面板详情背景透明度
禁用透明模式
禁止设置通知背景为非模糊或透明样式
- 通知模糊设置
- 通知优化
- 实验性功能,仅供 Android 13 及以上机型使用,启用后将对部分区域的通知模糊进行优化\n可能会存在部分机型系统界面崩溃的问题
- 通知模糊程度
- 不含下拉通知
- 通知模糊区域圆角
- 默认主题无需调节
- 通知背景透明度
- 下拉通知背景透明度
媒体进度条样式
波浪
圆滑
@@ -1057,8 +929,6 @@
隐藏分隔线
隐藏全部名称
显示设备名称
- 蓝牙磁贴样式
- 蓝牙磁贴移至网络磁贴区域
扩展通知菜单
从通知菜单打开应用信息、强制关闭应用和浮窗打开
解除通知背景模糊限制
@@ -1087,15 +957,10 @@
其他
原生音量条
原生关机菜单
- MIUI 为旧版菜单,HyperOS 为原生菜单
- 针对 MIUI/HyperOS 音量条的修改无法作用于原生音量条
+ 针对 HyperOS 音量条的修改无法作用于原生音量条
解锁原生剪切板编辑器
- 实验性功能,会导致 MIUI/HyperOS 的编辑器一并弹出
- 充电动画
- 充电动画样式
- 选择锁屏充电动画样式
+ 实验性功能,会导致 HyperOS 的编辑器一并弹出
其他
- 禁用蓝牙临时关闭
隐藏快捷窗口按钮
禁用快捷窗口按钮
禁用无极缩放手势
@@ -1166,7 +1031,6 @@
开启后在设置中展示小米澎湃 AI 入口\n设备 AI 功能支持由小米决定
特色功能
- 解锁区域截屏
解锁网络通话助手
显示与锁屏
@@ -1223,14 +1087,8 @@
移除 “开启自动更新” 弹窗
权限管理服务
- 剪切板
- 隐藏 Toast 提示
禁止自动关闭自启动
- 使用 Toast 提示读取剪贴板
- 隐藏对话框并允许应用默认读取剪切板
- 读取了剪贴板
- 投屏
互联互通服务
解锁小米妙享
强制支持摄像头流转
@@ -1239,7 +1097,6 @@
录音机
禁用水印
- 万象息屏
息屏与锁屏编辑
解锁息屏显示时长限制
重启系统界面以完整开启功能
@@ -1291,7 +1148,6 @@
Google
Google 与 OneDrive
- MIUI 安全组件
系统安全组件
阻止自动上传已安装应用列表
禁用环境检查
@@ -1460,7 +1316,6 @@
最近任务
动画速度
- 取消壁纸压暗
解锁固定应用
隐藏状态栏
隐藏投送应用浮窗
@@ -1673,8 +1528,6 @@
禁用游戏中心广告
可能导致其他功能出现异常
- 手机管家
- 平板管家
安全服务
应用管理
省电与电池
@@ -1686,14 +1539,11 @@
关闭杜比弹窗
显示电池温度
显示具体电池健康度
- 剪贴板隐私保护
- 模糊定位
GMS 开关
传送门开关
极暗磁贴图标替换
手电筒亮度控制
开启手电筒时劫持亮度条,拖动亮度条即可控制手电筒亮度
- 管理应用获取手机号并一键登录
精简手机管家首页
移除以下卡片:\n - 功能推荐\n - 大家都在用
应用锁乱序 PIN
@@ -1858,7 +1708,6 @@
解除剪贴板数量限制
添加清空剪贴板按钮
- 小爱视觉
AI 扫描
解锁扫名片
解锁翻译
@@ -1868,7 +1717,6 @@
解锁提取 PPT
解锁扫文件
- 小爱同学
超级小爱
禁用对话界面水印
diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index 2bcce0668..06ed40516 100644
--- a/app/src/main/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -19,7 +19,7 @@
-->
- 讓 HyperOS/MIUI 再次偉大!
+ 讓 HyperOS 再次偉大!
在裝置的內部儲存空間新增和刪除檔案
用於提供緯度和經度等服務
喺使用過程中,為咗為您提供更多功能,我哋可能會向您申請 Root/Su 權限。您可隨時前往權限管理調整所有權限嘅授權情況,Root/Su 權限請前往您嘅 Root/Su 管理器進行管理。
@@ -202,10 +202,6 @@
功能
推薦
編輯
- 錄影
- 拍照
- 人像
- 專業
啟用
停用
啟用自訂
@@ -309,8 +305,6 @@
使用頻率
存儲佔用
安裝時間
- 三個大磁貼
- 大尺寸磁貼與兩個小磁貼
官方自備模糊
自訂背景模糊
關閉
@@ -364,11 +358,9 @@
僅支援鏈接
預設調整音量
音量即時調整
- 音量獨立控制
移除高音量安全限制
對全部情況啟用
僅連接耳機時啟用
- 通知音量滑動條
媒體音量階數
可能會導致音量條的滾動卡頓或藍牙音量異常
音量級數倍增
@@ -483,52 +475,7 @@
自訂設備水印
廠商信息
機型信息
- 解鎖 AI 浮水印
- 解鎖長曝光
- 解鎖魔法分身
- 解鎖化妝鏡
- 解鎖文件
- 解鎖身份證拍攝
- 解鎖前後雙景
- 解鎖延時攝影
- 解鎖短視頻
- 解鎖超級月亮
- 解鎖全景
- 解鎖超解析度模式
- 解鎖人像
- 解鎖慢動作
- 解鎖 Video-sky
- 解鎖 VLOG
- 解鎖 VLOG Pro
- 解鎖電影鏡頭
- 解鎖長曝光延時
- 解鎖滑動變焦
- 解鎖平行夢境
- 解鎖慢快門
- 解鎖時光倒流
- 解鎖時間靜止
解鎖手勢拍照
- 解鎖艷麗模式
- 解鎖妝容
- 僅在使用前置鏡頭時生效
- 解鎖 60FPS
- 部分畫質下唔可用,部分設備硬件唔支持
- 解鎖 120FPS
- 僅 4K 模式支持, 部分設備硬件唔支持
- 解鎖音源變焦
- 解鎖 HDR
- 解鎖 AI 模式
- 解鎖新版美顏
- 僅在使用前置鏡頭時生效
- 解鎖大師鏡頭
- 部分設備無法正常工作
- 解鎖 RAW
- 解鎖 LOG
- 解鎖 HEIF 格式
- 解鎖萬物追焦
- 解鎖運動抓拍
- 解鎖除痣
- 解鎖男性妝容適配
啟用實驗室選項
解鎖人眼追焦
使用相機時使屏幕亮度最大
@@ -584,9 +531,7 @@
禁用相機
禁用資訊助理
當前
- 時鐘顯示秒數
相機同負一屏按鈕背景模糊
- 時鐘強制使用系統字體
雙擊鎖屏
雙擊空白處鎖定螢幕
解除通知限制
@@ -620,12 +565,7 @@
圖標
網速指示器
時鐘指示器
- 硬件指示器
靈動舞台
- 佈局
- 相容模式
- 對所有異形螢幕強制開啟完整螢幕版面配置
- 佈局模式
雙擊狀態欄鎖屏
雙排蜂窩移動網絡圖示
圖示主題
@@ -654,8 +594,6 @@
裝置
網絡連接
私隱資訊
- 圖標左側顯示
- 圖標右側顯示
Wi-Fi
輔助 WIFI 圖標
Wi-Fi 標準
@@ -698,23 +636,17 @@
小愛音箱組合立體聲
電視
無線耳機
- 通知點數最大數量
通知圖示最大數量
隱藏電量百分比
隱藏電量百分比符號
隱藏充電指示器
隱藏電池圖示
電池自訂
- 電量指示器
Wi-Fi
移動網絡
交換 WIFI 同移動網絡
網絡速度
聲音情境
- 強制使用新 HD 圖示
- 僅支援部分系统版本
- 網速分隔符號
- 於居中攝像頭嘅設備上唔顯示時間同網速間嘅豎線
截圖時隱藏狀態欄
蜂窩移動網絡類型圖示
啟用修改
@@ -730,21 +662,9 @@
網速值低於該水平時被認為慢,部分指示器圖示會有所不同
網速隱藏 *b/s 單位
指示器圖示
- 自訂時鐘模式
- 時鐘格式
- 顯示年份
- 顯示月份
- 顯示日期
- 顯示星期
- 顯示時辰
- 顯示時段
- 顯示秒數
- 隱藏間隔
- 雙排顯示
雙排對齊方式
時鐘格式範例
時鐘大小
- 雙排時鐘大小
僅在雙排顯示下生效
修復時鐘反色時的顏色異常
禁用通知中心下滑時鐘過渡動畫
@@ -760,35 +680,6 @@
狀態欄時鐘格式
通知中心迷你時鐘格式
狀態欄時鐘排列
- 功耗相關
- 溫度相關
- 字體大小
- 顯示內容
- 隱藏小數位
- 隱藏單位
- 右側顯示
- 電流總顯示正值
- 單排顯示
- 反序
- 僅在充電時顯示
- 狀態更新間隔
- 更改 CPU 溫度獲取源
- 輸入 /sys/devices/virtual/thermal/ 資料夾下 thermal_zone* 資料夾後的數位以指定源
- 置中
- 圓角
- 限制可見性
- 垂直對齊
- 顏色
- 滿電量顏色
- 低電量顏色
- 省電模式顏色
- 充電顏色
- 高度
- 水平邊距
- 透明度
- 發光
- 低電量水平
- 測試
佈局
訊息
除錯
@@ -798,11 +689,9 @@
測試
這是一條長文本,將以滾動形式輸出
通知與控制中心
- 卡片
媒體通知卡片
磁貼
通知中心
- 卡片背景透明度
%1$s已開啟
%1$s已關閉
5G 網絡開關
@@ -821,21 +710,8 @@
列數
%d 列
列(橫向)
- 小米妙播
- 小米妙享
- 智慧生活
- 面板詳情背景透明度
禁用透明模式
禁止將通知背景設為透明
- 通知模糊設置
- 通知優化
- 實驗性功能,僅供 Android 13 及以上機型使用,啟用後將對部分區域嘅通知模糊進行優化\n可能會存在部分機型系統界面崩潰嘅問題
- 通知模糊程度
- 不含下拉通知
- 通知模糊區域圓角
- 默認主題無需調節
- 通知背景透明度
- 下拉通知背景透明度
優化音樂面板背景混色效果
媒體進度條樣式
解除自定義動作應用限制
@@ -871,8 +747,6 @@
僅隱藏分隔線
顯示設備名稱
隱藏全部名稱
- 藍牙磁貼樣式
- 藍牙磁貼移至網絡磁貼區域
擴展通知選單
從通知選單中打開應用程式信息、強制關閉應用程式和視窗打開
新控制中心
@@ -890,15 +764,8 @@
其他
原生音量條
原生關機菜單
- MIUI 為舊版菜單,HyperOS 為原生菜單
- 針對 MIUI/HyperOS 音量條嘅修改無法作用於原生音量條
解鎖原生剪貼簿編輯器
- 實驗性功能,會導致 MIUI/HyperOS 嘅編輯器一並彈出
- 充電動畫
- 充電動畫樣式
- 選擇鎖屏充電動畫樣式
其他
- 禁用藍牙臨時關閉
隱藏快捷窗口按鈕
隱藏常駐嘅三個小點,包括小窗頂部同 HyperOS for Pad 橫屏頂部中間嘅按鈕 (唔影響功能使用)
禁用快捷窗口按鈕
@@ -917,10 +784,10 @@
自訂主題顏色
自訂主題顏色,而不是從桌布中提取顏色
選擇主題顏色
- 擴展計時器
快捷開關標籤
通知
禁用通知白名單
+ 擴展計時器
音量條模糊
將 statusbar_gestures.dat 移至 MIUI 目錄
僅供 Android 12 及以上嘅 MTK 機型使用,可能存在 GPU 負載較高嘅情況
@@ -958,7 +825,6 @@
新版 NFC 頁面
此功能會導致唔支持嘅機型默認付款應用無法選中小米錢包
特色功能
- 解鎖區域截圖
網絡通話助手
顯示與鎖屏
解鎖超解析度增強
@@ -1014,21 +880,14 @@
移除 “開啟自動更新” 彈窗
權限管理服務
- 剪貼簿
- 隱藏 Toast 提示
禁止自動關閉自啟動
- 使用 Toast 提示讀取剪貼板
- 隱藏對話框並允許應用程式默認讀取剪貼簿
- 讀取了剪貼簿
- 投影
互聯互通服務
解鎖小米妙享
強制支援攝影機串流媒體
阻止建立 hpplay 資料夾
- 萬象息屏
息屏與鎖屏編輯
解鎖息屏顯示時長限制
重啟系統界面以完整開啟功能
@@ -1080,8 +939,7 @@
小米雲服務
Google
Google & OneDrive
-
- MIUI 安全性群組件
+
系統安全組件
阻止自動上傳已安裝的應用程式列表
@@ -1234,7 +1092,6 @@
隱藏部分應用喺卸載對話框嘅 \"舉報該應用\" 入口
最近任務
動畫速度
- 取消桌布壓暗
解鎖應用程式固定功能
隱藏狀態欄
隱藏投送應用浮窗
@@ -1423,8 +1280,6 @@
系統服務組件
禁用遊戲中心廣告
- 手機管家
- 平板管家
安全服務
應用管理
省電與電池
@@ -1435,14 +1290,11 @@
關閉杜比彈窗
顯示電池溫度
顯示詳細的電池健康狀況
- 剪貼簿隱私保護
- 模糊定位
GMS 服務
傳送門開關
極暗磁貼優化
手電筒亮度控制
開啟手電筒時劫持亮度條,拖動亮度條即可控制手電筒亮度
- 管理應用獲取手機號並一鍵登錄
應用鎖亂序 PIN
禁止妙享省電
禁止自啟模糊預覽圖
@@ -1594,8 +1446,8 @@
搜狗輸入法
解除剪貼簿數量限制
新增清空剪貼簿按鈕
+
- 小愛視覺
解鎖掃名片
解鎖翻譯
解鎖識文字
@@ -1604,7 +1456,6 @@
解鎖提取 PPT
解鎖掃文件
- 小愛同學
停用聊天浮水印
語音喚醒
diff --git a/app/src/main/res/values-zh-rME/strings.xml b/app/src/main/res/values-zh-rME/strings.xml
index ada07039f..a2fbd3eea 100644
--- a/app/src/main/res/values-zh-rME/strings.xml
+++ b/app/src/main/res/values-zh-rME/strings.xml
@@ -197,10 +197,6 @@
函数
主人,看看西米露酱给您推荐的...
编辑
- 录
- 拍照
- 人像
- 专业
打开
关掉
自己搞
@@ -308,8 +304,6 @@
一段时间几次?
学习资料已占用
安装时间
- 三个 E 磁块
- 一个 E 和两个 A 磁块
小米自己搞的模糊
自定义背景模糊度
一定要关掉
@@ -365,11 +359,9 @@
只有广告链接
默认调节音响
即刻音响调节
- 独立体积控制
减掉高体积安全限制
都要关掉
仅手套耳机大水时
- 通知体积滚动条
媒体体积关卡
它可能会导致系统的音量栏冻结或蓝牙音量丸啦!
音量电平乘法器
@@ -498,52 +490,7 @@
水印?我全都要!
制造商的名片
设备的名片
- 凭什么不让我用AI水印!
- 我就要用长曝光!
- 解锁魔法分身
- 解锁化妆镜
- 解锁文档
- 解锁身份证拍摄
- 解锁前后双景
- 解锁延时摄影
- 解锁短视频
- 解锁P图月亮
- 解锁全景
- 解锁超分辨率模式
- 解锁人像
- 解锁慢~~~动~~~作~~~
- 解锁霍格沃兹天空
- 解锁 Vlog
- 解锁 Vlog Pro
- 解锁电影镜头
- 解锁长曝光延时
- 解锁滑动变焦
- 解锁平行梦境
- 解锁慢快门
- 你要穿越?
- 不是哥们,时间冻结?
上锁脚掌慢门
- 解锁颜色增强版
- 装扮全解锁
- 仅在拍摄哥布林时可用
- 我要高帧数!
- 某些Bug可能不适用于你的设备,请先确保你的瘦鸡可以支持这个Bug。
- 我要更高的帧数!
- 仅在4K画质下可用,请先确保你的瘦鸡可以支持拉姆搞基的花枝。
- 解锁音量大小
- 解锁HDR
- 解锁人工智障反向优化图像
- 使哥布林变成帅哥
- 仅在拍摄哥布林时可用
- 打开Damn尸画像
- 一些瘦鸡中可能没法工作
- 解锁生肉
- 解锁木头
- 解锁HEIF格式
- 解锁运动跟踪
- 解锁每一帧都让你丑的魔法🤓👆
- 解锁痔疮消失术
- 解锁男性妆容适配
启用实验室选项
解锁眼动追踪
使用相机时强制瞎眼(啊,我的眼睛!)
@@ -607,11 +554,9 @@
防止版本T0污蔑
隐藏并不聪明的屏幕
当前电流
- 时钟秒数? 都给你砍了(bushi)
糊上锁屏按钮
背景圆角
后背颜色
- 所以时钟也用系统字体的话真的会很好看吗?
屏幕怎么亮了?双击试试
霜鸡空白位置锁屏
别告诉我你开了免打扰😭
@@ -624,8 +569,6 @@
粗 细
状态不实时显示的栏
你还管上图标了?
- 躺外面
- 躺外面模式
双击睡大觉
典
你都把数据标隐藏了,你还想打开我吗❤️
@@ -650,14 +593,11 @@
卸载sim 2 图标
Wi-Fe
看看天翼 3G 有多快?
- ❤️叫声情景❤️
- 没电了
长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长
%1$s 已打开
%1$s 已关掉
启用5G开关,好让运营商多赚点钱。
人家的里面不好看吗...
- X 光半径
加了
没加
还想... 看更多吗❤️
@@ -672,7 +612,6 @@
神秘咒语
WiFe 详细
解锁咕噜咕噜条目
- 解锁区域视监👁️🗨️
让动作片更流畅
通知设置... 圆圆的... 还想要...
解锁 Moster 模式
@@ -696,7 +635,6 @@
- 烧屏小功能
你想要解锁?不是你配吗,要解锁?
@@ -710,7 +648,7 @@
Apiano 店
AI高清写真
-
+
能... 能不能... 再快一点...
我的后台卡片呢
@@ -779,9 +717,9 @@
道路千万条,安全第一条,玩机不规范,亲人两行泪(拨号盘输入\"*#*#MODEMTEST#*#*\"进入MTB界面)
+
- 人工智障
不自由,毋宁死
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 0a7aed6e1..cba6c361b 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -21,7 +21,7 @@
發現新版本
© 2023-2025 Sevtinge & HyperCeiler 的建設者.
- 讓 HyperOS/MIUI 再次偉大!
+ 讓 HyperOS 再次偉大!
在裝置的內部儲存空間新增和刪除檔案
用於提供緯度和經度等服務
在使用過程中,為了提供您更多功能,我們可能會向您申請 Root/Su 權限。您可以隨時到權限管理調整所有權限的授權狀態,並請到您的 Root/Su 管理員管理 Root/Su 權限。
@@ -254,10 +254,6 @@
功能
推薦
編輯
- 錄影
- 拍照
- 人像
- 專業
啟用
停用
啟用自訂
@@ -365,8 +361,6 @@
使用頻率
儲存空間佔用
安裝時間
- 三個大磁貼
- 大尺寸磁貼與兩個小磁貼
官方預設糢糊效果
自訂背景糢糊
關閉
@@ -424,11 +418,9 @@
僅支援連結
預設調整音量
音量即時調整
- 音量獨立控制
移除高音量安全限制
對所有情境下啟用
僅當連接耳機時啟用
- 通知音量滑動條
媒體音量階數
可能會導致音量條的滾動卡頓或藍牙音量異常
音量級數倍增
@@ -557,52 +549,7 @@
自訂機型浮水印
廠商資訊
機型資訊
- 解鎖 AI 浮水印
- 解鎖長曝光
- 解鎖魔法分身
- 解鎖化妝鏡
- 解鎖文件
- 解鎖身份證拍攝
- 解鎖前後雙景
- 解鎖延時攝影
- 解鎖短影片
- 解鎖超級月亮
- 解鎖全景
- 解鎖超解析度模式
- 解鎖人像
- 解鎖慢動作
- 解鎖 Video-sky
- 解鎖 VLOG
- 解鎖 VLOG Pro
- 解鎖電影鏡頭
- 解鎖長曝光延時
- 解鎖滑動變焦
- 解鎖平行夢境
- 解鎖慢快門
- 解鎖時光倒流
- 解鎖時間靜止
解鎖手勢拍照
- 解鎖鮮豔模式
- 解鎖妝容
- 僅在使用前置鏡頭時生效
- 解鎖 60FPS
- 部分畫質下不可用,部分裝置硬體不支援
- 解鎖 120FPS
- 僅 4K 模式支援,部分裝置硬體不支援
- 解鎖音源變焦
- 解鎖 HDR
- 解鎖 AI 模式
- 解鎖新版美肌
- 僅在使用前置鏡頭時生效
- 解鎖大師鏡頭
- 部分裝置無法正常工作
- 解鎖 RAW
- 解鎖 LOG
- 解鎖 HEIF 格式
- 解鎖萬物追焦
- 解鎖運動抓拍
- 解鎖除痣
- 解鎖男性妝容適配
啟用實驗室選項
解鎖人眼追焦
使用相機時強制調整至最大亮度
@@ -669,12 +616,10 @@
停用相機
停用資訊助理
當前
- 時鐘顯示秒數
相機和智慧助理按鈕背景模糊
啟用後,鎖定螢幕上的相機和負一螢幕按鈕背景會變得模糊,可能會導致功耗較高。\n僅支援預設主題。
背景模糊半徑
背景顏色
- 時鐘強制使用系統字體
雙擊鎖定螢幕
雙擊空白處鎖定螢幕
解除通知限制
@@ -711,13 +656,8 @@
圖示
網速指示器
時鐘指示器
- 硬體指示器
靈動提示
焦點歌詞
- 佈局
- 相容模式
- 對所有異形螢幕強制開啟完整螢幕版面配置
- 佈局模式
雙擊狀態欄鎖定螢幕
雙排蜂窩移動網路圖示
圖示主題
@@ -746,8 +686,6 @@
裝置
網路連接
隱私資訊
- 圖示左側顯示
- 圖示右側顯示
Wi-Fi
從 Wi-Fi
Wi-Fi 標準
@@ -790,23 +728,17 @@
小愛音箱組合立體聲
電視
無線耳機
- 通知點數最大數量
通知圖示最大數量
隱藏電量百分比
隱藏電量百分比符號
隱藏充電指示器
隱藏電池圖示
電池自訂
- 電量指示器
Wi-Fi
行動網路
交換 Wi-Fi 與行動網路
網路速度
聲音情境
- 強制使用新 HD 圖示
- 僅支援部分系統版本
- 網速分隔符號
- 於水滴螢幕的裝置上不顯示時間和網速間的分隔號
截圖時隱藏狀態欄
蜂窩移動網路類型圖示
啟用修改
@@ -822,21 +754,9 @@
網速值低於該水準時被認為慢,部分指示器圖示會有所不同
網速隱藏 *b/s 單位
指示器圖示
- 自訂時鐘模式
- 時鐘格式
- 顯示年份
- 顯示月份
- 顯示日期
- 顯示星期
- 顯示時辰
- 顯示時段
- 顯示秒數
- 隱藏間隔
- 雙排顯示
雙排對齊方式
時鐘格式範例
時鐘大小
- 雙排時鐘大小
僅在雙排顯示下生效
修復時鐘反色時的顏色異常
停用通知中心下滑時鐘過渡動畫
@@ -852,36 +772,6 @@
狀態欄時鐘格式
通知欄迷你時鐘格式
狀態欄時鐘排列
- 功耗相關
- 溫度相關
- 字體大小
- 顯示內容
- 隱藏小數位
- 隱藏單位
- 右側顯示
- 電流總顯示正值
- 功率始終顯示正值
- 單排顯示
- 反序
- 僅在充電時顯示
- 狀態更新間隔
- 更改 CPU 溫度獲取源
- 輸入 /sys/devices/virtual/thermal/ 資料夾下 thermal_zone* 資料夾後的數位以指定源
- 置中
- 圓角
- 限制可見性
- 垂直對齊
- 顏色
- 滿電量顏色
- 低電量顏色
- 省電模式顏色
- 充電顏色
- 高度
- 水平邊距
- 透明度
- 發光
- 低電量水平
- 測試
佈局
訊息
除錯
@@ -902,11 +792,9 @@
在歌詞末尾加入空格
讓滾動歌詞盡可能完整
通知與控制中心
- 卡片
媒體通知卡片
磁貼
通知中心
- 卡片背景透明度
%1$s已開啟
%1$s已關閉
5G 網路開關
@@ -929,21 +817,8 @@
列數
%d 列
列(橫向)
- 妙播入口
- 小米妙享
- 智慧生活
- 面板詳情背景透明度
停用透明模式
禁止將通知背景設為透明
- 通知設定
- 通知最佳化
- 實驗性功能,僅向 Android 13 及以上設備使用,啟用後將對部分區域的通知模糊進行最佳化\n可能會存在部分設備系統介面程式崩潰的問題
- 通知模糊程度
- 不含下拉通知
- 通知模糊區域圓角
- 預設主題無需調節
- 通知背景透明度
- 下拉通知背景透明度
最佳化媒體控制面板混色效果
進度條
取消媒體通知卡應用程式自訂操作的限制
@@ -981,8 +856,6 @@
只隱藏分隔線
顯示裝置名稱
隱藏全部名稱
- 藍牙磁貼樣式
- 調整藍牙磁貼位置至網路磁貼旁
擴展通知選單
從通知選單打開應用程式資訊、強制關閉應用程式和小窗打開
新控制中心
@@ -1004,15 +877,8 @@
其他
原生音量條
原生電源選單
- MIUI 使用舊版選單 UI,而 HyperOS 使用原生選單 UI
- 小米音量條修改不適用於原生音量條
解鎖原生剪貼簿編輯器
- 解鎖後會與 MIUI/HyperOS 編輯器一起彈出
- 充電動畫
- 充電動畫樣式
- 選擇鎖定螢幕充電動畫樣式
其他
- 停用藍牙臨時關閉
隱藏快捷視窗按鈕
隱藏常駐的三個小點,包括小窗應用程式頂部和 HyperOS for Pad 橫向螢幕下頂部中間的快速視窗按鈕(不影響功能使用)
隱藏快捷視窗按鈕
@@ -1031,12 +897,12 @@
自訂主題顏色
自訂主題顏色,而不是從桌布中提取顏色
選擇主題顏色
- 擴展計時器
快捷開關標籤
通知
停用通知白名單
移除高級材質的模糊限制
解除系統介面模組對第三方主題預設停用高級材質模糊效果
+ 擴展計時器
音量條模糊
將 statusbar_gestures.dat 移至 MIUI 目錄
僅供 Android 12 及以上 MTK 裝置使用,可能存在 GPU 負載較高的情形
@@ -1077,7 +943,6 @@
解鎖小米澎湃 AI
開啟後,設定中會顯示小米澎湃 AI 選項。 對裝置 AI 功能的支援由小米決定。
特色功能
- 解鎖區域截圖
網路通話助手
顯示與鎖定螢幕
解鎖超解析度增強
@@ -1134,14 +999,8 @@
移除「開啟自動更新」對話框
權限管理服務
- 剪貼簿
- 隱藏 Toast 提示
禁止自動關閉自啟動
- 使用 Toast 提示讀取剪貼簿
- 隱藏對話框並允許應用程式預設讀取剪貼簿
- 讀取了剪貼簿
- 投影
互聯互通服務
解鎖小米妙享
強制支援裝置流轉
@@ -1150,7 +1009,6 @@
錄音機
停用 AI 浮水印
- 萬象待機
待機與鎖定螢幕編輯
解鎖待機顯示時長限制
重啟系統介面即可完全啟用此功能
@@ -1205,8 +1063,7 @@
小米雲服務
Google
Google & OneDrive
-
- MIUI 安全性群組件
+
系統安全性群組件
阻止自動上傳已安裝的應用程式列表
停用環境檢查
@@ -1370,7 +1227,6 @@
圖標大小
最近任務
動畫速度
- 取消桌布壓暗
解鎖應用程式固定功能
隱藏狀態欄
隱藏螢幕鏡像應用程式浮動窗口
@@ -1569,8 +1425,6 @@
停用遊戲中心廣告
這可能會導致其他功能異常
- 手機管家
- 平板管家
安全服務
應用程式管理
省電與電池
@@ -1582,14 +1436,11 @@
關閉杜比彈出視窗
顯示電池溫度
顯示詳細的電池健康狀況
- 剪貼簿隱私保護
- 模糊定位
GMS 服務
傳送門開關
極暗磁貼優化
手電筒亮度控制
啟用手電筒時透過拖動亮度條來控制手電筒亮度
- 管理應用程式取得手機號碼並一鍵登入
精簡手機管家首頁
移除功能推薦卡片
應用程式鎖亂序 PIN
@@ -1753,8 +1604,8 @@
搜狗輸入法
解除剪貼簿數量限制
新增清空剪貼簿按鈕
+
- 小愛視覺
小愛視覺
解鎖掃名片
解鎖翻譯
@@ -1764,7 +1615,6 @@
解鎖提取 PPT
解鎖掃文件
- 小愛同學
超級小愛
停用聊天浮水印
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index c6df90a95..3c5af6bbe 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -93,30 +93,6 @@
- @string/various
-
- - @string/system_ui
- - @string/mihome
- - @string/system_settings
- - @string/security_center
-
-
-
-
- - @string/system_ui
- - @string/mihome
- - @string/system_settings
- - @string/security_center_pad
-
-
-
- @string/system_ui
- @string/mihome
@@ -463,35 +439,12 @@
- 3
-
- @string/array_default
- @string/home_folder_shade_solid
- @string/home_folder_shade_gradient
-
-
- - @string/array_align_top
- - @string/array_align_bottom
-
-
- - 0
- - 1
-
-
-
- - @string/array_discrete
- - @string/array_gradual
- - @string/array_rainbow
-
-
- - 0
- - 1
- - 2
-
-
-
- 0
- 1
@@ -844,18 +797,6 @@
- theme
-
- - @string/array_default
- - @string/array_bluetooth_tile_style_2rows2cols
- - @string/array_bluetooth_tile_style_3rows
-
-
-
- - 1
- - 2
- - 3
-
-
- 1
- 2
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 065c90a98..366122500 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -51,7 +51,6 @@
CLOSE_FROM_FEED
APP_TO_APP
START_FIRST_TASK
- CLOSE_TO_DRAG
RECT_CENTERX
RECT_CENTERY
RECT_WIDTH
@@ -62,6 +61,8 @@
reduce_brightness,vowifi1,vowifi2,cell,wifi,bt,airplane,autobrightness,mute,screenshot,flashlight,rotation,screenlock,dtmdtm,scanner,papermode,night,quietmode,batterysaver,uwb_shp,aitranslate,aisubtitles,freeformhang,vibrate,hotspot,sync,wirelesspower,nfc,dolbyatomssound,gps,edit,hearingassisttile,controls,wallet,inversion,saver,dark,onehanded,color_correction,user,dnd,settings
reduce_brightness,vowifi1,vowifi2,cell,wifi,rotation,airplane,mute,screenshot,bt,autobrightness,screenlock,dtmdtm,night,papermode,quietmode,batterysaver,gps,flashlight,scanner,freeformhang,vibrate,hotspot,sync,wirelesspower,nfc,dolbyatomssound,edit,controls,workmode,wallet,inversion,saver,dark,onehanded,color_correction,user,dnd,settings
+ Security Center
+
English
简体中文
繁體中文 (台灣)
@@ -78,10 +79,9 @@
Italiano
梗体中文
- Make HyperOS/MIUI Great Again!
+ Make HyperOS Great Again!
Make HyperOS Great Again!
- Make MIUI Great Again!
add and delete files on device\'s internal storage
used to provide services such as latitude and longitude
@@ -319,10 +319,6 @@
Function
Recommend
Editor
- Record
- Shot
- Portrait
- Pro
Enable
Disable
Custom enable
@@ -430,8 +426,6 @@
Used recently
Storage used
Installation time
- Three big tiles
- One big and two small tiles
Official comes with blur
Custom background blur
Close
@@ -490,11 +484,9 @@
Only supports links
Adjust volume by default
Instant volume adjustment
- Independent volume control
Remove high volume safety restrictions
For all cases
Only when headphones are connected
- Notification volume slider
Media volume level
It may cause the scrolling of the volume bar to freeze or the Bluetooth volume to be abnormal
Volume level multiplier
@@ -624,52 +616,7 @@
Custom device watermark
Manufacturer information
Device information
- Unlock AI watermark
- Unlock Long exposure
- Unlock Clone mode
- Unlock Pocket mirror
- Unlock Document mode
- Unlock ID Card mode
- Unlock Dual camera
- Unlock Duration
- Unlock Short video
- Unlock Supermoon mode
- Unlock Panorama mode
- Unlock Pixel mode
- Unlock Portrait mode
- Unlock Slow motion
- Unlock Video-sky
- Unlock Vlog
- Unlock Vlog Pro
- Unlock Film camera
- Unlock Long-exp
- Unlock Dolly zoom
- Unlock Dream
- Unlock Slow shutter
- Unlock Time back-flow
- Unlock Time freeze
Unlock Palm shutter
- Unlock Enhanced colors
- Unlock Makeup
- Takes effect only when using the front camera
- Unlock 60FPS
- Not available in some qualities. Please make sure that your device was supported.
- Unlock 120FPS
- Only support when 4K qualities. Please make sure that your device was supported.
- Unlock Audio zoom
- Unlock HDR
- Unlock AI enhance
- Unlock new Beautify
- Takes effect only when using the front camera
- Unlock Master portrait
- Doesn\'t work correctly on some devices
- Unlock RAW
- Unlock LOG
- Unlock HEIF
- Unlock Motion tracking focus
- Unlock Motion capture
- Unlock Remove moles
- Unlock Adjust makeup effects for men
Enable Lab options
Unlock Eye tracking focus
Force maximum brightness when using camera
@@ -738,12 +685,10 @@
Hide camera
Hide smart screen
Current
- Show clock seconds
Blur Lock screen buttons
After enabling, the background of the camera and negative screen button on the Lock screen is blurred, which may cause high power consumption.\nSupport default theme only.
Background radius
Background color
- Force clock to use system fonts
Double-tap the Lock screen
Double-tap an empty location to lock the screen
Unlock notification restrict
@@ -780,13 +725,8 @@
Manage icons
Manage network speed indicator
Manage clock indicator
- Hardware indicators
Smart strong toast
Focus lyrics
- Layout
- Compatibility mode
- Forcibly enable the full screen layout for all special-shaped screens
- Layout mode
Double-tap to sleep
Double row signal bar
Icon themes
@@ -815,8 +755,6 @@
Devices
Network
Privacy
- Show icons on the left side
- Show icons on the right side
Wi-Fi
Auxiliary Wi-Fi
Wi-Fi standard
@@ -859,23 +797,17 @@
Sound box group stereo
TV
Wireless headset
- Maximum number of notification points
Maximum number of notification icons
Hide battery percentage
Hide battery percentage sign
Hide charging indicator
Hide battery icon
Battery customization
- Battery indicator
Wi-Fi
Mobile network
Swap Wi-Fi and mobile network
Internet speed
Sound scene
- Force to use new HD icon
- Only supports some system versions
- Network speed separator
- The vertical line between time and internet speed isn\'t displayed on devices with centered camera
Hide the status bar when taking a screenshot
Mobile network type icon
Enable modification
@@ -891,21 +823,9 @@
Network speed values below this level are considered slow and a different indicator icon will be displayed (only some icons)
Hide byte per second suffix (*b/s)
Indicator icon
- Custom clock mode
- Clock format
- Show year
- Show month
- Show day
- Show week
- Show double hour
- Show clock period
- Show seconds
- Hide space
- Show double
Double row alignment
Clock format example
Clock size
- Double row clock size
Valid only when displayed in two rows
Fix color
Disable the slide clock transition animation in Notification shade
@@ -921,36 +841,6 @@
Status bar clock format
Notification shade mini clock format
Status bar clock arrangement
- Power related
- Temperature related
- Font size
- Show contents
- Hide decimal places
- Hide units
- Show on the right
- The current always shows a positive value
- The power always shows a positive value
- Single row display
- Reverse order
- Show only when charging
- Status update interval
- Fix CPU temperature
- Enter number of /sys/devices/virtual/thermal/thermal_zone*
- Centered
- Rounded corners
- Limit visibility
- Align vertically
- Color
- Full battery color
- Low battery color
- Battery saver mode color
- Charging color
- Height
- Horizontal margin
- Transparency
- Shine
- Low battery level
- Test
Layout
Information
Debug
@@ -971,11 +861,9 @@
Add whitespace at the end of lyrics
Make scrolling lyrics as complete as possible
Control center
- Card
Media notification card
Magnet
Notification center
- Card background transparency
%1$s is on
%1$s is off
5G network switch
@@ -998,21 +886,8 @@
Columns
%d cols
Columns (Landscape)
- Xiaomi Smart Play entry
- Xiaomi Smart Hub entry
- Device control entry
- Control detail background blur value
Disable transparent mode
Disable setting notification background to be transparent
- Notification blur model
- Notification optimization
- Experimental feature. Only available for Android 13 and above models. After enabling, notification blur in some areas will be optimized. There may be a problem of System UI crash on some models.
- Blur radius
- Without dropdown notification
- Corner radius
- The default theme doesn\'t need to be adjusted
- Blur background value
- Default background value
Optimize color mixing effect of the media control panel
Progress bar
Remove custom action restrictions for media notification cards
@@ -1052,8 +927,6 @@
Only dividers are hidden
Display device name
Hide all names
- Bluetooth tile style
- Move the Bluetooth tile near the network tile
Extended notification menu
Open app info, force close app and open in floating window from notification menu (swipe notification to the left to open it)
New control center
@@ -1081,15 +954,10 @@
Others
Native volume bar
Native shutdown menu
- MIUI uses the legacy menu UI, while HyperOS uses the AOSP menu UI.
- Modifications to the volume bar in HyperOS/MIUI cannot be applied to the native volume bar
+ Modifications to the volume bar in HyperOS cannot be applied to the native volume bar
Unlock the AOSP clipboard editor
- After unlocking, it will pop-up together with the HyperOS/MIUI editor.
- Charge animation
- Charging animation style
- Select the Lock screen charging animation style
+ After unlocking, it will pop-up together with the HyperOS editor.
Others
- Prevent Bluetooth from being turned off temporarily
Hide Split screen button
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 (doesn\'t affect the use of functions).
Disable Split screen button
@@ -1158,7 +1026,6 @@
Unlock Xiaomi HyperAI
After turning it on, the Xiaomi HyperAI option is displayed in the Settings. Support for the device\'s AI features is determined by Xiaomi.
Featured functions
- Unlock area screenshot
VoIP assistant
Display & brightness
Unlock Super resolution
@@ -1215,14 +1082,8 @@
Disable pop-up of \"Turn on automatic updates\" dialog
Permissions
- Clipboard
- Hide toast tips
Disable auto-shutdown of auto-start
- Read the clipboard using toast hints
- Hide the dialog and allow the app to read the clipboard by default
- Read clipboard
- Cast
Interconnectivity services
Unlock Device interconnection
Forced support for camera streaming
@@ -1231,7 +1092,6 @@
Sound Recorder
Disable AI watermark
- Always-on display
Always-on display and Lock screen editor
Unlock the display time limit of the Always-on display
Restart the System UI to fully enable the feature
@@ -1286,8 +1146,7 @@
Xiaomi Cloud
Google
Google & OneDrive
-
- MIUI security components
+
System security components
Prevent automatic upload of installed app list
Disable environment check
@@ -1452,7 +1311,6 @@
Recents
Animation speed
- Disable wallpaper dimming
Unlock pinned apps
Hide status bar in Recents
Hide floating window when screen mirroring
@@ -1660,8 +1518,6 @@
Disable Game Center ads
This may cause other functions to be abnormal
- Security
- Security
Security
Manage apps
Battery
@@ -1673,14 +1529,11 @@
Close the Dolby pop-up window
Show battery temperature
Show detailed battery health
- Protect clipboard
- Lower positioning accuracy
GMS Service
Taplus switches
Very dark tile icon replacement
Flashlight brightness control
Allows you to control the flashlight brightness by dragging the brightness slider
- Manage the app to obtain the mobile phone number and log in with one click
Simplify the Security home screen
Remove function recommendation card
App lock with scrambled PIN
@@ -1850,7 +1703,6 @@
Only Chinese mainland is supported
Use a more aggressive roaming filtering approach
- Scanner
AI Scanner
Unlock scan ID card
Unlock translation
@@ -1860,7 +1712,6 @@
Unlock scan PPT
Unlock scan files
- Mi AI
Super AI
Disable chat watermark
diff --git a/app/src/main/res/xml/aod.xml b/app/src/main/res/xml/aod.xml
index a6a681bec..2aecea095 100644
--- a/app/src/main/res/xml/aod.xml
+++ b/app/src/main/res/xml/aod.xml
@@ -18,17 +18,9 @@
-->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/xml/framework_volume.xml b/app/src/main/res/xml/framework_volume.xml
index 4373bd476..fba7d32cc 100644
--- a/app/src/main/res/xml/framework_volume.xml
+++ b/app/src/main/res/xml/framework_volume.xml
@@ -42,17 +42,6 @@
android:key="prefs_key_system_framework_volume_first_press"
android:title="@string/system_framework_volume_first_press" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/xml/lbe_security.xml b/app/src/main/res/xml/lbe_security.xml
index b76d85964..fc1fa36df 100644
--- a/app/src/main/res/xml/lbe_security.xml
+++ b/app/src/main/res/xml/lbe_security.xml
@@ -26,17 +26,5 @@
android:key="prefs_key_lbe_auto_start"
android:title="@string/lbe_auto_start" />
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/xml/milink.xml b/app/src/main/res/xml/milink.xml
index 8eff497df..ee47bcace 100644
--- a/app/src/main/res/xml/milink.xml
+++ b/app/src/main/res/xml/milink.xml
@@ -18,8 +18,7 @@
-->
+ android:title="@string/milink_hyperos" />
+ android:title="@string/aod_hyperos" />
+ android:title="@string/security_center_hyperos" />
+ android:title="@string/milink_hyperos" />
+ android:title="@string/aod_hyperos" />
+ android:title="@string/guard_provider_hyperos" />
+ android:title="@string/security_center_hyperos" />
+ android:title="@string/voiceassist_hyper" />
+ android:title="@string/scanner_hyper" />
+ android:title="@string/security_center_hyperos" />
+ app:myLocation="@string/security_center_hyperos">
-
-
-
-
-
-
-
-
@@ -153,6 +148,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -272,14 +163,6 @@
app:entries="@array/system_ui_control_center_hide_operator"
app:entryValues="@array/system_ui_control_center_hide_operator_value" />
-
-
-
-
-
-
-
-
-
-
-
@@ -146,11 +133,6 @@
-
-
-
+
-
+
-
+
-
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/xml/system_ui_status_bar_clock_indicator.xml b/app/src/main/res/xml/system_ui_status_bar_clock_indicator.xml
deleted file mode 100644
index 30aabc13a..000000000
--- a/app/src/main/res/xml/system_ui_status_bar_clock_indicator.xml
+++ /dev/null
@@ -1,223 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/xml/system_ui_status_bar_hardware_detail_indicator.xml b/app/src/main/res/xml/system_ui_status_bar_hardware_detail_indicator.xml
deleted file mode 100644
index ee608f168..000000000
--- a/app/src/main/res/xml/system_ui_status_bar_hardware_detail_indicator.xml
+++ /dev/null
@@ -1,306 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/xml/system_ui_status_bar_icon_manage.xml b/app/src/main/res/xml/system_ui_status_bar_icon_manage.xml
deleted file mode 100644
index c7105f4da..000000000
--- a/app/src/main/res/xml/system_ui_status_bar_icon_manage.xml
+++ /dev/null
@@ -1,377 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/xml/system_ui_status_bar_icon_manage_new.xml b/app/src/main/res/xml/system_ui_status_bar_icon_manage_new.xml
index c16b884c1..9b65b1a7c 100644
--- a/app/src/main/res/xml/system_ui_status_bar_icon_manage_new.xml
+++ b/app/src/main/res/xml/system_ui_status_bar_icon_manage_new.xml
@@ -219,23 +219,6 @@
-
-
-
-
-
-
diff --git a/app/src/main/res/xml/system_ui_status_bar_network_speed_indicator.xml b/app/src/main/res/xml/system_ui_status_bar_network_speed_indicator.xml
index 37d8caa61..2a7d103df 100644
--- a/app/src/main/res/xml/system_ui_status_bar_network_speed_indicator.xml
+++ b/app/src/main/res/xml/system_ui_status_bar_network_speed_indicator.xml
@@ -60,12 +60,6 @@
android:key="prefs_key_system_ui_statusbar_network_speed_sec_unit"
android:title="@string/system_ui_statusbar_network_speed_sec_unit" />
-
-
+ android:title="@string/home_layout">
diff --git a/app/src/main/res/xml/voiceassist.xml b/app/src/main/res/xml/voiceassist.xml
index fd8c91e1c..4bd846ae4 100644
--- a/app/src/main/res/xml/voiceassist.xml
+++ b/app/src/main/res/xml/voiceassist.xml
@@ -18,8 +18,7 @@
-->