diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 7dcd485ed7..8f2218c479 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -73,14 +73,15 @@ fun loadPropertiesFromFile(fileName: String): Properties? {
android {
namespace = "com.sevtinge.hyperceiler"
- compileSdk = 34
+ compileSdk = 35
+ buildToolsVersion = "35.0.0"
defaultConfig {
applicationId = namespace
minSdk = 33
- targetSdk = 34
- versionCode = 146
- versionName = "2.4.146"
+ targetSdk = 35
+ versionCode = 147
+ versionName = "2.4.147"
val buildTime = SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())
buildConfigField("String", "BUILD_TIME", "\"$buildTime\"")
diff --git a/app/src/main/assets/tips/tips b/app/src/main/assets/tips/tips
index 4c218b77b7..21dd277735 100644
--- a/app/src/main/assets/tips/tips
+++ b/app/src/main/assets/tips/tips
@@ -26,5 +26,8 @@ If there is no special annotation for the function that turns gray, it means tha
There has never been a bug in the Canary version.
HyperCeiler! Initiate!
Beware of Furuicon~ (whispering)
-Neko Qiqi has obsessive-compulsive disorder and always wants to clean up the HyperCeiler, but it backfires (cry~
-Neko Qiqi: Meow~ (Milk sweet)
+Ling Qiqi has obsessive-compulsive disorder and always wants to clean up the HyperCeiler, but it backfires (cry~
+This is a Tip from 2.x~
+I don't understand why Xiaomi doesn't do these user-friendly features.
+Improve the stability of the module | Optimize module fluency
+
diff --git a/app/src/main/assets/tips/tips-pt_BR b/app/src/main/assets/tips/tips-pt_BR
index f2496a6c53..815b14ec5d 100644
--- a/app/src/main/assets/tips/tips-pt_BR
+++ b/app/src/main/assets/tips/tips-pt_BR
@@ -15,8 +15,8 @@ A utopia ideal não existe na realidade.
Faça boas ações e não pergunte sobre o futuro.
Os desenvolvedores não fazem adivinhação, exceto Neko Qiqi.
Guardei alguns bugs para que você saiba que está usando o HyperCeiler.
-Você sabia? Na verdade, as dicas são tudo bobagem.
-Você sabia? O aniversário do HyperCeiler é em 1 de maio e o aniversário de Sevtinge é em 2 de fevereiro.
+Na verdade, as dicas são tudo bobagem.
+O aniversário do HyperCeiler é em 1 de maio e o aniversário de Sevtinge é em 2 de fevereiro.
O HyperCeiler está quebrado! Não deve ser um problema com o HyperCeiler!
É mais um dia querendo refatorar em RUST.
Se você é homem, abra o código.
@@ -27,4 +27,14 @@ Nunca houve um bug na versão Canary.
HyperCeiler iniciado!
Cuidado com o furacão.
Neko Qiqi tem transtorno obsessivo-compulsivo e sempre quer refatorar o HyperCeiler.
+Eu quero todas as estrelas...
+A cada momento, uma nova oportunidade.
+A UI do Sistema não está respondendo.
+Você é mais forte do que pensa.
+Seu sistema está destruído!
+Por que a Xiaomi não oferece esses recursos fáceis de usar?
+Melhore a estabilidade do módulo e otimize a fluência do módulo.
+Por favor, não envie problemas de FeSO₄, obrigado pela sua cooperação.
+Os usuários só precisam atualizar o módulo, mas os desenvolvedores têm muitas coisas a considerar.
+Vamos, vamos, novos bugs saindo do forno!
Obrigado por usar o HyperCeiler!
diff --git a/app/src/main/assets/tips/tips-zh_CN b/app/src/main/assets/tips/tips-zh_CN
index 06a15b7fd9..eec386b5e9 100644
--- a/app/src/main/assets/tips/tips-zh_CN
+++ b/app/src/main/assets/tips/tips-zh_CN
@@ -26,4 +26,9 @@ HyperCeiler!启动!
进程 "system" 没有响应
当你正在凝望 Tip 的时候,Tip 也在凝望你。
Tip: Tip: Tip: Tip:
-☆这不神奇吗★
\ No newline at end of file
+☆这不神奇吗★
+这是一条来自 2.x 的 Tip~
+提高模块的稳定性 | 优化模块的流畅度
+致用户:请不要提交 FeSO₄ 的 issues,谢谢配合
+柒柒:想猫叫一下,但是绀漓会敲我的,呜呜呜~(喵~
+用户只要更新模块就好了,可是开发者考虑的事情就很多了,什么时候添加新的功能,什么时候修复坏掉的功能,什么时候看用户反馈,都是要经过深思熟虑的
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/ToastSlideAgain.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/ToastSlideAgain.java
index e7f2a17669..259df2de3a 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/ToastSlideAgain.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/ToastSlideAgain.java
@@ -47,7 +47,7 @@ protected void after(MethodHookParam param) {
);
findAndHookMethod("com.miui.home.recents.GestureModeApp",
- "onStartGesture", new MethodHook() {
+ lpparam.classLoader, "onStartGesture", new MethodHook() {
@Override
protected void before(MethodHookParam param) {
unhook = hookToast();
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/recent/RecentResource.kt b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/recent/RecentResource.kt
index a51df74bcd..375df37d5f 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/recent/RecentResource.kt
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/home/recent/RecentResource.kt
@@ -41,7 +41,17 @@ object RecentResource : BaseHook() {
}
}
+ val sRoundedCorner by lazy {
+ mPrefsMap.getInt("task_view_corners", 20)
+ }
+
override fun init() {
+
+ findAndHookMethod("com.miui.home.recents.util.WindowCornerRadiusUtil", "getTaskViewCornerRadius", object : MethodHook(){
+ override fun before(param: MethodHookParam?) {
+ param?.result = sRoundedCorner
+ }
+ })
Application::class.java.hookBeforeMethod("attach", Context::class.java) { it ->
EzXHelper.initHandleLoadPackage(lpparam)
EzXHelper.setLogTag(TAG)
@@ -55,7 +65,7 @@ object RecentResource : BaseHook() {
Resources::class.java.hookBeforeMethod("getInteger", Int::class.javaPrimitiveType) { hook(it) }
Resources::class.java.hookBeforeMethod("getText", Int::class.javaPrimitiveType) { hook(it) }
- val value = mPrefsMap.getInt("task_view_corners", -1).toFloat()
+ val value = sRoundedCorner.toFloat()
val value1 = mPrefsMap.getInt("task_view_header_height", -1).toFloat()
if (value != -1f && value != 20f) {
hookMap["recents_task_view_rounded_corners_radius_min"] = ResourcesHookData("dimen", dp2px(value))
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/plugin/HideEditButton.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/plugin/HideEditButton.java
new file mode 100644
index 0000000000..a0aadd11b2
--- /dev/null
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/plugin/HideEditButton.java
@@ -0,0 +1,12 @@
+package com.sevtinge.hyperceiler.module.hook.systemui.plugin;
+
+import static de.robv.android.xposed.XC_MethodReplacement.returnConstant;
+
+import de.robv.android.xposed.XposedHelpers;
+
+public class HideEditButton {
+ public static void initHideEditButton(ClassLoader classLoader) {
+ XposedHelpers.findAndHookMethod("miui.systemui.controlcenter.panel.main.qs.EditButtonController", classLoader, "available", boolean.class, returnConstant(false));
+ XposedHelpers.findAndHookMethod("miui.systemui.controlcenter.panel.main.qs.EditButtonController", classLoader, "available", boolean.class, "miui.systemui.controlcenter.panel.main.MainPanelModeController$MainPanelMode", returnConstant(false));
+ }
+}
diff --git a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/plugin/PluginHelper.java b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/plugin/PluginHelper.java
index a86ba35c5b..56ae353cf4 100644
--- a/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/plugin/PluginHelper.java
+++ b/app/src/main/java/com/sevtinge/hyperceiler/module/hook/systemui/plugin/PluginHelper.java
@@ -123,6 +123,8 @@ protected void after(MethodHookParam param) {
public void setClassLoader(ClassLoader classLoader) {
// CCGrid.loadCCGrid(classLoader);
+ if (mPrefsMap.getBoolean("system_ui_control_center_hide_edit_botton"))
+ HideEditButton.initHideEditButton(classLoader);
if (mPrefsMap.getBoolean("system_ui_plugin_enable_volume_blur"))
EnableVolumeBlur.initEnableVolumeBlur(classLoader);
if (mPrefsMap.getStringAsInt("system_ui_control_center_mi_smart_hub_entry", 0) != 0)
diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml
index 09ae7fdb68..7e9a65cb4b 100644
--- a/app/src/main/res/values-ja-rJP/strings.xml
+++ b/app/src/main/res/values-ja-rJP/strings.xml
@@ -313,6 +313,8 @@
即座な音量調整
独立した音量コントロール
大音量の警告を無効化
+ すべての条件で有効
+ ヘッドフォン接続時にのみ有効
通知の音量スライダー
メディアの音量レベル
オンにすると、音量バーのスクロールがフリーズしたり、Bluetooth の音量が異常になったりする場合があります
@@ -358,6 +360,7 @@
アプリ設定で対応リンクを有効化しなくても、リンクを開いたときに対応しているアプリで直接開くようにします
共有メニューを整理する
選択中のアプリ
+ 自動起動の制限を除外
選択したアプリは共有メニューに表示されません
「アプリで開く」メニューを整理する
選択中のアプリ
@@ -389,6 +392,7 @@
スクリーンショットの遅延を無効化
LinkTurbo トーストを隠す
サードパーティテーマの使用を許可
+ 保護されたアプリの無効化を許可
パッケージマネージャーサービス
ダウングレードを許可
@@ -407,6 +411,8 @@
アプリケーションのいくつかの検証に合格させます
低 API チェックを無効化
API 23 未満のアプリを許可します
+ 常に稼働するアプリのチェックを無効化
+ システムインターフェースなど、常に稼働するアプリを直接更新できるようになります
ブラウザー
開発者オプションの有効化
@@ -581,7 +587,6 @@
プライバシー
アイコンを左側に表示
アイコンを右側に表示
- 肉球
Wi-Fi
補助 Wi-Fi
Wi-Fi 標準規格
@@ -892,6 +897,7 @@
アプリ一覧を検索せずに「不明なアプリのインストール」権限を表示
「不明なアプリのインストール」の権限スイッチに直接移動する、グローバル版と同様の動作にします
アプリ一覧を検索せずにユーザー補助サービスの権限を付与
+ 不明なパッケージのインストールの許可を有効にするときの認証を無効化
開発者オプション
「キャッシュに保存されたアプリの実行を停止」を強制的に表示
有効にすると開発者向けオプションで表示されますが、動作するかは不明です
@@ -1662,4 +1668,8 @@
明るさの自動調節
VoWiFi SIM1
VoWiFi SIM2
+
+ 電話
+ 通話転送の MMI コード を許可
+ 通話転送を有効にするための **21*8# などの MMI コードを許可します
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 5afc89a6d2..d5581aa5e5 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -360,6 +360,7 @@
Reverter para abrir apps suportados diretamente ao abrir links sem habilitar links suportados nas configurações do app
Limpar menu de compartilhamento
Apps selecionados
+ Exceções em cadeia de restrições
O app selecionado não aparecerá no menu de compartilhamento
Limpar menu Abrir com
Apps selecionados
@@ -391,6 +392,7 @@
Desative o atraso na captura de tela
Ocultar dica da rede móvel usada para aceleração
Permitir usar temas de terceiros
+ Permitir desativar apps protegidos
Serviço de Gerenciador de Pacotes
Permitir downgrade
@@ -895,6 +897,7 @@
Instalar apps desconhecidos sem pesquisar na lista de apps
Use a compilação internacional e vá diretamente para o interruptor de permissão correspondente do app exibido na parte superior de outros apps
Permissões de serviços de acessibilidade sem pesquisar na lista de apps
+ Desativar verificação ao instalar apps desconhecidos
Opções do desenvolvedor
Forçar exibição de apps congelados em cache
Uma vez ativado, esse recurso pode ser encontrado nas Opções do desenvolvedor, mas sua funcionalidade não é garantida.
diff --git a/app/src/main/res/values-vi-rVN/strings.xml b/app/src/main/res/values-vi-rVN/strings.xml
index fc0192f901..a43d2d42a0 100644
--- a/app/src/main/res/values-vi-rVN/strings.xml
+++ b/app/src/main/res/values-vi-rVN/strings.xml
@@ -361,6 +361,7 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoHoàn nguyên để mở trực tiếp các ứng dụng được hỗ trợ khi mở liên kết, không cần kiểm tra liên kết được hỗ trợ trong cài đặt ứng dụng
Dọn dẹp trình đơn chia sẻ
Ứng dụng đã chọn
+ Loại bỏ chuỗi hạn chế
Ứng dụng đã chọn sẽ không xuất hiện trong menu chia sẻ
Dọn dẹp mở với menu
Ứng dụng đã lựa chọn
@@ -392,6 +393,7 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoTắt độ trễ ảnh chụp màn hình
Ẩn thông báo \"Sử dụng mạng di động để tăng tốc\"
Cho phép sử dụng chủ đề của bên thứ ba
+ Cho phép tắt các ứng dụng được bảo vệ
Quản lý cài đặt gói
Cho phép hạ cấp
@@ -897,6 +899,7 @@ Chức năng này là chức năng thử nghiệm có độ ổn định caoQuyền cài đặt ứng dụng không xác định nhanh
Chuyển trực tiếp đến nơi cấp quyền của ứng dụng
Quyền dịch vụ trợ năng mà không cần tìm kiếm danh sách ứng dụng
+ Vô hiệu hóa xác minh khi bật cho phép quyền cài đặt gói không xác định
Tùy chọn nhà phát triển
Hiển thị tạm dừng thực thi cho các ứng dụng được lưu trữ
Khi bật, bạn có thể tìm thấy tùy chọn này trong \"Tùy chọn nhà phát triển\", nhưng không đảm bảo tính khả dụng
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 293d684a7d..73cbcb3dd3 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -860,6 +860,7 @@
显示天气
显示地区
隐藏网络监控提示
+ 隐藏编辑按钮
禁止折叠为历史通知
亮屏时静音
展开通知
diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
index 32114a2959..50dd1de46e 100644
--- a/app/src/main/res/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -313,6 +313,8 @@
音量即時調整
音量獨立控制
移除高音量安全限制
+ 對所有情境下啟用
+ 僅當連接耳機時啟用
通知音量滑動條
媒體音量階數
可能會導致音量條的滾動卡頓或藍牙音量異常
@@ -358,6 +360,7 @@
打開連結時還原為直接打開支援的應用程式,無需在應用程式設定中勾選支援的連結
清理分享選單
已選擇的應用程式
+ 限制鏈豁免
選取的應用程式將不會出現在分享選單中
清理打開方式選單
已選擇的應用程式
@@ -389,6 +392,7 @@
停用螢幕截圖延遲
隱藏 正在使用行動網络加速 Toast
允許使用第三方主題
+ 允許停用受保護的應用程式
包管理服務
允許降級安裝應用程式
@@ -407,6 +411,8 @@
可以解決一些應用程式內部的完整性校驗,一般不需要開啟
停用低版本 API 校驗
允許安裝 API 低於 23 的應用程式
+ 停用持久檢查
+ 允許您直接更新持久性應用程式,例如直接更新系統 UI,此功能較為危險,請僅在有救磚能力的情況下啟用
瀏覽器
開發者選項
@@ -581,7 +587,6 @@
私隱資訊
圖示左側顯示
圖示右側顯示
- 熊掌
Wi-Fi
從 Wi-Fi
Wi-Fi 標準
@@ -892,6 +897,7 @@
安裝未知應用程式許可權免翻應用程式列表
使用國際版行為,直接跳轉對應應用程式的「安裝未知應用程式」許可權開關
無障礙服務權限直達
+ 開啟允許安裝未知應用程式來源權限時停用驗證
開發者選項
强制顯示暫停執行已緩存的應用
開啓后可在「開發者選項」中找到此功能,為强制顯示,不保證可用
@@ -1662,4 +1668,8 @@
自動亮度
VoWiFi SIM1
VoWiFi SIM2
+
+ 通話管理
+ 允許直接撥號呼叫 MMI 碼
+ 允許直接撥打 MMI 碼(如 **21*8#)以啟用呼叫轉移
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index d93b3a9233..4a8205528d 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -313,6 +313,8 @@
音量即時調整
音量獨立控制
移除高音量安全限制
+ 對所有情境下啟用
+ 僅當連接耳機時啟用
通知音量滑動條
媒體音量階數
可能會導致音量條的滾動卡頓或藍牙音量異常
@@ -358,6 +360,7 @@
打開連結時還原為直接打開支援的應用程式,無需在應用程式設定中勾選支援的連結
清理分享選單
已選擇的應用程式
+ 限制鏈豁免
選取的應用程式將不會出現在分享選單中
清理打開方式選單
已選擇的應用程式
@@ -389,6 +392,7 @@
停用螢幕截圖延遲
隱藏 正在使用行動網路加速 Toast
允許使用第三方主題
+ 允許停用受保護的應用程式
包管理服務
允許降級安裝應用程式
@@ -407,6 +411,8 @@
可以解決一些應用程式內部的完整性校驗,一般不需要開啟
停用低版本 API 校驗
允許安裝 API 低於 23 的應用程式
+ 停用持久檢查
+ 允許您直接更新持久性應用程式,例如直接更新系統 UI,此功能較為危險,請僅在有救磚能力的情況下啟用
瀏覽器
開發者選項
@@ -581,7 +587,6 @@
隱私資訊
圖示左側顯示
圖示右側顯示
- 熊掌
Wi-Fi
從 Wi-Fi
Wi-Fi 標準
@@ -892,6 +897,7 @@
安裝未知應用程式許可權免翻應用程式列表
使用國際版行為,直接跳轉對應應用程式的「安裝未知應用程式」許可權開關
無障礙服務權限直達
+ 開啟允許安裝未知應用程式來源權限時停用驗證
開發者選項
強制顯示暫停執行快取的應用程式
開啟後可在「開發者選項」中找到此功能,為強制顯示,不保證可用
@@ -1662,4 +1668,8 @@
自動亮度
VoWiFi SIM1
VoWiFi SIM2
+
+ 通話管理
+ 允許直接撥號呼叫 MMI 碼
+ 允許直接撥打 MMI 碼(如 **21*8#)以啟用呼叫轉移
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 42099ac8b9..6a23922477 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -840,6 +840,7 @@
Show weather
Show city
Hide network monitoring prompts
+ Hide edit button
Mute when screen is on
Collapse into history notifications is prohibited
Expand Notifications
diff --git a/app/src/main/res/xml/home_recent.xml b/app/src/main/res/xml/home_recent.xml
index 166a564aea..ea6531bef1 100644
--- a/app/src/main/res/xml/home_recent.xml
+++ b/app/src/main/res/xml/home_recent.xml
@@ -82,7 +82,7 @@
android:title="@string/home_recent_task_view_card_rounded_corners"
android:defaultValue="20"
app:defaultValueText="@string/array_default"
- app:maxValue="60"
+ app:maxValue="180"
app:stepValue="1"
app:format="%d dp" />
diff --git a/app/src/main/res/xml/prefs_about.xml b/app/src/main/res/xml/prefs_about.xml
index f3410e0084..8ca9ebc102 100644
--- a/app/src/main/res/xml/prefs_about.xml
+++ b/app/src/main/res/xml/prefs_about.xml
@@ -30,7 +30,7 @@
android:icon="@drawable/ic_nekoqiqi"
android:layout="@layout/preference_round_layout"
android:summary="\@mu7220 | Architecture & Hook"
- android:title="Neko Qiqi">
+ android:title="铃柒柒">
diff --git a/app/src/main/res/xml/prefs_about_contributor.xml b/app/src/main/res/xml/prefs_about_contributor.xml
index 128b7a62b4..71d2b37dc0 100644
--- a/app/src/main/res/xml/prefs_about_contributor.xml
+++ b/app/src/main/res/xml/prefs_about_contributor.xml
@@ -73,11 +73,11 @@
android:data="https://github.com/igormiguell" />
+ android:data="https://github.com/NahidaBuer" />
+
+