71 Commits

Author SHA1 Message Date
乌堆小透明
4225d64ae3 New translations strings.xml (Chinese Traditional, Hong Kong)
[ci skip] New translations from Crowdin
2023-04-08 19:44:36 +08:00
乌堆小透明
a484a3ba04 New translations strings.xml (Vietnamese)
[ci skip] New translations from Crowdin
2023-02-20 23:55:08 +08:00
乌堆小透明
1429bcd392 New translations strings.xml (Spanish)
[ci skip] New translations from Crowdin
2023-02-20 23:55:07 +08:00
乌堆小透明
a4eb720b61 New translations strings.xml (Chinese Traditional)
[ci skip] New translations from Crowdin
2023-02-20 22:46:46 +08:00
乌堆小透明
1e78221408 New translations strings.xml (Portuguese)
[ci skip] New translations from Crowdin
2023-02-20 22:46:43 +08:00
乌堆小透明
07ecd3adb8 New translations strings.xml (Japanese)
[ci skip] New translations from Crowdin
2023-02-20 22:46:41 +08:00
乌堆小透明
86da593cff New translations strings.xml (Portuguese, Brazilian)
[ci skip] New translations from Crowdin
2023-02-20 21:32:14 +08:00
乌堆小透明
236e545706 New translations strings.xml (Chinese Simplified)
[ci skip] New translations from Crowdin
2023-02-20 21:32:12 +08:00
乌堆小透明
dc76d99fc6 New translations strings.xml (Portuguese)
[ci skip] New translations from Crowdin
2023-02-20 21:32:08 +08:00
乌堆小透明
20585c66ea New translations strings.xml (Portuguese, Brazilian)
[ci skip] New translations from Crowdin
2023-02-20 21:28:33 +08:00
乌堆小透明
8cbf9d2072 New translations strings.xml (Portuguese)
[ci skip] New translations from Crowdin
2023-02-20 21:28:27 +08:00
乌堆小透明
a5ba41260a New translations strings.xml (Chinese Traditional)
[ci skip] New translations from Crowdin
2023-02-19 11:43:16 +08:00
乌堆小透明
cbdf331035 New translations strings.xml (Spanish)
[ci skip] New translations from Crowdin
2023-02-19 09:11:59 +08:00
乌堆小透明
357c30bc3a New translations strings.xml (Japanese)
[ci skip] New translations from Crowdin
2023-02-19 08:15:33 +08:00
乌堆小透明
138c653a82 New translations strings.xml (Polish)
[ci skip] New translations from Crowdin
2023-02-19 06:56:34 +08:00
乌堆小透明
587141ca82 New translations strings.xml (Polish)
[ci skip] New translations from Crowdin
2023-02-19 05:52:59 +08:00
乌堆小透明
73d5e9855f New translations strings.xml (Chinese Traditional)
[ci skip] New translations from Crowdin
2023-02-19 02:20:48 +08:00
乌堆小透明
0eeff2646b New translations strings.xml (Portuguese, Brazilian)
[ci skip] New translations from Crowdin
2023-02-18 23:46:49 +08:00
乌堆小透明
2b5f903006 New translations strings.xml (Vietnamese)
[ci skip] New translations from Crowdin
2023-02-18 23:46:49 +08:00
乌堆小透明
8cba53fa3f New translations strings.xml (Chinese Simplified)
[ci skip] New translations from Crowdin
2023-02-18 23:46:47 +08:00
乌堆小透明
cea867374c New translations strings.xml (Portuguese)
[ci skip] New translations from Crowdin
2023-02-18 23:46:45 +08:00
乌堆小透明
a5c39da799 New translations strings.xml (Spanish)
[ci skip] New translations from Crowdin
2023-02-18 23:46:39 +08:00
乌堆小透明
870a742a0f New translations strings.xml (Chinese Traditional, Hong Kong)
[ci skip] New translations from Crowdin
2023-02-18 22:32:20 +08:00
乌堆小透明
367663df77 New translations strings.xml (Indonesian)
[ci skip] New translations from Crowdin
2023-02-18 22:32:19 +08:00
乌堆小透明
ea64b57d6a New translations strings.xml (Portuguese, Brazilian)
[ci skip] New translations from Crowdin
2023-02-18 22:32:18 +08:00
乌堆小透明
4bde2ccfdc New translations strings.xml (Vietnamese)
[ci skip] New translations from Crowdin
2023-02-18 22:32:17 +08:00
乌堆小透明
772b019631 New translations strings.xml (Chinese Traditional)
[ci skip] New translations from Crowdin
2023-02-18 22:32:16 +08:00
乌堆小透明
168ab492eb New translations strings.xml (Chinese Simplified)
[ci skip] New translations from Crowdin
2023-02-18 22:32:15 +08:00
乌堆小透明
7b613d76b6 New translations strings.xml (Turkish)
[ci skip] New translations from Crowdin
2023-02-18 22:32:13 +08:00
乌堆小透明
3b1651554d New translations strings.xml (Russian)
[ci skip] New translations from Crowdin
2023-02-18 22:32:11 +08:00
乌堆小透明
752fb84d39 New translations strings.xml (Portuguese)
[ci skip] New translations from Crowdin
2023-02-18 22:32:10 +08:00
乌堆小透明
b3fbfcea86 New translations strings.xml (Polish)
[ci skip] New translations from Crowdin
2023-02-18 22:32:10 +08:00
乌堆小透明
44b671fa9e New translations strings.xml (Dutch)
[ci skip] New translations from Crowdin
2023-02-18 22:32:08 +08:00
乌堆小透明
7020324ef7 New translations strings.xml (Korean)
[ci skip] New translations from Crowdin
2023-02-18 22:32:07 +08:00
乌堆小透明
5fc1e9deaa New translations strings.xml (Japanese)
[ci skip] New translations from Crowdin
2023-02-18 22:32:06 +08:00
乌堆小透明
2ce513bc97 New translations strings.xml (Hungarian)
[ci skip] New translations from Crowdin
2023-02-18 22:32:05 +08:00
乌堆小透明
28cf25b08c New translations strings.xml (Czech)
[ci skip] New translations from Crowdin
2023-02-18 22:32:01 +08:00
乌堆小透明
0b0b401d2f New translations strings.xml (Spanish)
[ci skip] New translations from Crowdin
2023-02-18 22:31:59 +08:00
乌堆小透明
f31bdab7f9 New translations strings.xml (French)
[ci skip] New translations from Crowdin
2023-02-18 22:31:58 +08:00
乌堆小透明
33be4dd4e9 New translations strings.xml (Romanian)
[ci skip] New translations from Crowdin
2023-02-18 22:31:57 +08:00
乌堆小透明
5eb4b08079 New translations strings.xml (Chinese Traditional)
[ci skip] New translations from Crowdin
2023-02-18 22:23:12 +08:00
LittleTurtle2333
e152a5ba74 更新BlockMIUI 2023-02-18 21:54:56 +08:00
LittleTurtle2333
efc77eb518 更新版本号至1.7.4 2023-02-18 21:53:21 +08:00
乌堆小透明
8cad8e371c 合并拉取请求 #225
* New translations strings.xml (Spanish)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Vietnamese)

* New translations strings.xml (Portuguese, Brazilian)

* New translations strings.xml (Japanese)

* New translations strings.xml (Chinese Traditional)

* New translations strings.xml (Chinese Traditional)

* New translations strings.xml (Chinese Traditional)

* New translations strings.xml (Chinese Traditional)
2023-02-18 21:52:39 +08:00
LittleTurtle2333
990ea8ef7e 新增修改划卡动画&桌面快捷小窗 2023-02-18 21:50:10 +08:00
LittleTurtle2333
4ce55d1fb3 移除无用dependencies 2023-02-18 21:48:42 +08:00
LittleTurtle2333
1feb754385 添加KotlinXposedHelper 2023-02-18 21:48:19 +08:00
LittleTurtle2333
a107f71986 修改状态栏图标顺序(未实现) 2023-02-18 19:00:57 +08:00
LittleTurtle2333
2177850498 修复A13状态栏兼容模式横屏 2023-02-17 23:55:48 +08:00
LittleTurtle2333
5e4160aed4 修复A13状态栏布局切换功能 2023-02-17 23:22:26 +08:00
LittleTurtle2333
99da21e762 修复A13控制中心时钟对齐问题 2023-02-17 23:07:44 +08:00
LittleTurtle2333
8fe9d09624 统一A13状态栏兼容模式 2023-02-17 23:07:07 +08:00
LittleTurtle2333
de220825a2 修复A13状态栏兼容模式 2023-02-17 22:29:30 +08:00
LittleTurtle2333
4ed3e40e99 修复A13大移动类型图标的一些问题 2023-02-17 22:24:32 +08:00
LittleTurtle2333
5f5bc6572c 更新版本号至1.7.3 2023-02-17 20:49:38 +08:00
乌堆小透明
b3859653ef 合并拉取请求 #224
* New translations strings.xml (Japanese)

* New translations strings.xml (Polish)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Vietnamese)

* New translations strings.xml (Portuguese, Brazilian)

* New translations strings.xml (Russian)

* New translations strings.xml (Russian)

* New translations strings.xml (Chinese Traditional)

* New translations strings.xml (Japanese)
2023-02-17 20:22:30 +08:00
LittleTurtle2333
7dcfdcced7 修复去除游戏自动连招黑名单 2023-02-17 20:19:39 +08:00
LittleTurtle2333
f2a4f06301 修复连接WiFi时非上网卡显示大移动类型 2023-02-17 17:31:49 +08:00
乌堆小透明
90294a1599 New Crowdin updates (#222)
* New translations strings.xml (Romanian)
[ci skip] New translations from Crowdin

* New translations strings.xml (French)
[ci skip] New translations from Crowdin

* New translations strings.xml (Spanish)
[ci skip] New translations from Crowdin

* New translations strings.xml (Czech)
[ci skip] New translations from Crowdin

* New translations strings.xml (Hungarian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Japanese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Dutch)
[ci skip] New translations from Crowdin

* New translations strings.xml (Polish)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Russian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Vietnamese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese, Brazilian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Indonesian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Russian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Vietnamese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese, Brazilian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Chinese Traditional, Hong Kong)
[ci skip] New translations from Crowdin

* New translations strings.xml (Spanish)
[ci skip] New translations from Crowdin

* New translations strings.xml (Japanese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Vietnamese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese, Brazilian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Spanish)
[ci skip] New translations from Crowdin

* New translations strings.xml (Russian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Vietnamese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Polish)
[ci skip] New translations from Crowdin

* New translations strings.xml (Polish)
[ci skip] New translations from Crowdin

* New translations strings.xml (Chinese Traditional)
[ci skip] New translations from Crowdin

* New translations strings.xml (Japanese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Chinese Traditional)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese, Brazilian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Spanish)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese, Brazilian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Chinese Simplified)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese, Brazilian)
[ci skip] New translations from Crowdin
2023-02-16 23:41:25 +08:00
LittleTurtle2333
2b7e5e0833 更新版本号至1.7.2 2023-02-16 23:29:30 +08:00
LittleTurtle2333
4a5e83cfda 暂时注释未开发完成的功能 2023-02-16 23:29:06 +08:00
YuKongA
b4bc91043e 合并部分针对小米桌面的钩子 (#223)
Co-authored-by: 乌堆小透明 <lturtle2333@outlook.com>
2023-02-16 23:05:24 +08:00
LittleTurtle2333
d07bd2aaf1 自定义时钟极客模式支持更多内容 2023-02-16 22:58:23 +08:00
LittleTurtle2333
8bd401b88f 更新BlockMIUI版本 2023-02-16 22:57:07 +08:00
LittleTurtle2333
2b36ad29d8 修复A13开启大移动类型图标后非上网卡显示箭头 2023-02-16 00:37:08 +08:00
LittleTurtle2333
3e0d94ab81 更新版本号至1.7.1 2023-02-15 22:04:27 +08:00
LittleTurtle2333
7914d51168 新增A13大移动类型图标显示位置 2023-02-15 22:01:30 +08:00
LittleTurtle2333
d8cf1bdc34 Merge remote-tracking branch 'origin/main' 2023-02-15 22:01:03 +08:00
LittleTurtle2333
2f69115907 新增A13大移动类型图标仅显示上网卡 2023-02-15 22:00:39 +08:00
乌堆小透明
4295af9cc5 New Crowdin updates (#221)
* New translations strings.xml (Romanian)
[ci skip] New translations from Crowdin

* New translations strings.xml (French)
[ci skip] New translations from Crowdin

* New translations strings.xml (Spanish)
[ci skip] New translations from Crowdin

* New translations strings.xml (Czech)
[ci skip] New translations from Crowdin

* New translations strings.xml (Hungarian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Japanese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Dutch)
[ci skip] New translations from Crowdin

* New translations strings.xml (Polish)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Russian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Vietnamese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese, Brazilian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Indonesian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Russian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Vietnamese)
[ci skip] New translations from Crowdin

* New translations strings.xml (Portuguese, Brazilian)
[ci skip] New translations from Crowdin

* New translations strings.xml (Chinese Traditional, Hong Kong)
[ci skip] New translations from Crowdin
2023-02-15 20:47:23 +08:00
LittleTurtle2333
179c82d563 Update README.md 2023-02-14 23:17:52 +08:00
60 changed files with 1978 additions and 977 deletions

View File

@@ -1,9 +1,7 @@
<div align="center">
<img width="160" src="https://raw.githubusercontent.com/LittleTurtle2333/SimplicityTools/main/doc/ic_launcher.png" alt="logo">
<h1>WooBox For MIUI</h1>
<p>
<b><a href="https://github.com/LittleTurtle2333/SimplicityTools/blob/main/README_EN.md">English</a> 丨 简体中文</b>
</p>
<p><b><a href="https://github.com/LittleTurtle2333/SimplicityTools/blob/main/README_EN.md">English</a> 丨 简体中文</b></p>
<a href="https://github.com/Xposed-Modules-Repo/com.lt2333.simplicitytools/releases"><img alt="GitHub all releases" src="https://img.shields.io/github/downloads/Xposed-Modules-Repo/com.lt2333.simplicitytools/total?label=Downloads"></a>
<a href="https://github.com/LittleTurtle2333/SimplicityTools/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/LittleTurtle2333/SimplicityTools"></a>
<a href="https://github.com/LittleTurtle2333/SimplicityTools/issues"><img alt="GitHub issues" src="https://img.shields.io/github/issues/LittleTurtle2333/SimplicityTools"></a>
@@ -14,42 +12,54 @@
---
### 模块说明
开发者:[酷安@乌堆小透明](http://www.coolapk.com/u/883441)
开发者:[酷安@乌堆小透明](http://www.coolapk.com/u/883441)
---
### 模块截图
![截图](https://raw.githubusercontent.com/LittleTurtle2333/SimplicityTools/main/doc/cn.jpg)
![截图](https://raw.githubusercontent.com/LittleTurtle2333/SimplicityTools/main/doc/cn.jpg)
---
### 下载地址
Xposed仓库下载:[点击此处下载最新发行版](https://github.com/Xposed-Modules-Repo/com.lt2333.simplicitytools/releases)
Xposed
仓库下载:[点击此处下载最新发行版](https://github.com/Xposed-Modules-Repo/com.lt2333.simplicitytools/releases)
酷安下载:[点击此处下载最新发行版](https://www.coolapk.com/apk/com.lt2333.simplicitytools)
酷安下载:[点击此处下载最新发行版](https://www.coolapk.com/apk/com.lt2333.simplicitytools)
---
### 改进翻译
[![Crowdin](https://badges.crowdin.net/simplicitytools/localized.svg)](https://crowdin.com/project/simplicitytools)[点击此处进入Crowdin](https://crowdin.com/project/simplicitytools)
[![Crowdin](https://badges.crowdin.net/simplicitytools/localized.svg)](https://crowdin.com/project/simplicitytools) [点击此处进入Crowdin](https://crowdin.com/project/simplicitytools)
---
### 第三方开源引用
##### GNU General Public License v3.0
[qqlittleice/MiuiHome](https://github.com/qqlittleice/MiuiHome)
[yujincheng08/BiliRoaming](https://github.com/yujincheng08/BiliRoaming)
[Mikanoshi/CustoMIUIzer](https://code.highspec.ru/Mikanoshi/CustoMIUIzer)
[yujincheng08/BiliRoaming](https://github.com/yujincheng08/BiliRoaming)
[Mikanoshi/CustoMIUIzer](https://code.highspec.ru/Mikanoshi/CustoMIUIzer)
[MonwF/customiuizer](https://github.com/MonwF/customiuizer)
##### GNU General Public License v2.0
[LSPosed/CorePatch](https://github.com/LSPosed/CorePatch)
[LSPosed/CorePatch](https://github.com/LSPosed/CorePatch)
##### GNU Lesser General Public License v2.1
[577fkj/blockmiui](https://github.com/577fkj/blockmiui)
[577fkj/blockmiui](https://github.com/577fkj/blockmiui)
##### Apache License 2.0
[KyuubiRan/EzXHelper](https://github.com/KyuubiRan/EzXHelper)
[KyuubiRan/EzXHelper](https://github.com/KyuubiRan/EzXHelper)
---
### License
[GNU General Public License v3.0](https://github.com/LittleTurtle2333/SimplicityTools/blob/main/LICENSE)

View File

@@ -1,9 +1,7 @@
<div align="center">
<img width="160" src="https://raw.githubusercontent.com/LittleTurtle2333/SimplicityTools/main/doc/ic_launcher.png" alt="logo">
<h1>WooBox For MIUI</h1>
<p>
<b>English 丨 <a href="https://github.com/LittleTurtle2333/SimplicityTools/blob/main/README.md">简体中文</a></b>
</p>
<p><b>English 丨 <a href="https://github.com/LittleTurtle2333/SimplicityTools/blob/main/README.md">简体中文</a></b></p>
<a href="https://github.com/Xposed-Modules-Repo/com.lt2333.simplicitytools/releases"><img alt="GitHub all releases" src="https://img.shields.io/github/downloads/Xposed-Modules-Repo/com.lt2333.simplicitytools/total?label=Downloads"></a>
<a href="https://github.com/LittleTurtle2333/SimplicityTools/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/LittleTurtle2333/SimplicityTools"></a>
<a href="https://github.com/LittleTurtle2333/SimplicityTools/issues"><img alt="GitHub issues" src="https://img.shields.io/github/issues/LittleTurtle2333/SimplicityTools"></a>
@@ -14,35 +12,45 @@
---
### Screenshot
![Screenshot](https://raw.githubusercontent.com/LittleTurtle2333/SimplicityTools/main/doc/en.jpg)
![Screenshot](https://raw.githubusercontent.com/LittleTurtle2333/SimplicityTools/main/doc/en.jpg)
---
### Download
Xposed Repo[Click here to download the latest release](https://github.com/Xposed-Modules-Repo/com.lt2333.simplicitytools/releases)
Xposed Repo[Click here to download the latest release](https://github.com/Xposed-Modules-Repo/com.lt2333.simplicitytools/releases)
---
### Participate in translation
[![Crowdin](https://badges.crowdin.net/simplicitytools/localized.svg)](https://crowdin.com/project/simplicitytools)[Click here to Crowdin](https://crowdin.com/project/simplicitytools)
[![Crowdin](https://badges.crowdin.net/simplicitytools/localized.svg)](https://crowdin.com/project/simplicitytools) [Click here to Crowdin](https://crowdin.com/project/simplicitytools)
---
## Third party open source references
##### GNU General Public License v3.0
[qqlittleice/MiuiHome](https://github.com/qqlittleice/MiuiHome)
[yujincheng08/BiliRoaming](https://github.com/yujincheng08/BiliRoaming)
[yujincheng08/BiliRoaming](https://github.com/yujincheng08/BiliRoaming)
[Mikanoshi/CustoMIUIzer](https://code.highspec.ru/Mikanoshi/CustoMIUIzer)
[MonwF/customiuizer](https://github.com/MonwF/customiuizer)
##### GNU General Public License v2.0
[LSPosed/CorePatch](https://github.com/LSPosed/CorePatch)
[LSPosed/CorePatch](https://github.com/LSPosed/CorePatch)
##### GNU Lesser General Public License v2.1
[577fkj/blockmiui](https://github.com/577fkj/blockmiui)
##### Apache License 2.0
[KyuubiRan/EzXHelper](https://github.com/KyuubiRan/EzXHelper)
---
## License
[GNU General Public License v3.0](https://github.com/LittleTurtle2333/SimplicityTools/blob/main/LICENSE)

View File

@@ -11,8 +11,8 @@ android {
applicationId = "com.lt2333.simplicitytools"
minSdk = 31
targetSdk = 33
versionCode = 70
versionName = "1.7.0"
versionCode = 74
versionName = "1.7.4"
buildConfigField("String", "BUILD_TIME", "\"${System.currentTimeMillis()}\"")
}
@@ -54,10 +54,9 @@ dependencies {
implementation("com.github.kyuubiran:EzXHelper:1.0.3")
//UI
implementation(project(":blockmiui"))
implementation("androidx.constraintlayout:constraintlayout:2.1.3")
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
//APP Center
val appCenterSdkVersion = "4.4.3"
implementation("com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}")
implementation("com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}")
implementation("androidx.core:core-splashscreen:1.0.0-rc01")
}

View File

@@ -66,7 +66,7 @@ class AboutPage : BasePage() {
})
Line()
TitleText(text = getString(R.string.thank_list))
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.contributor_list,
onClickListener = {
@@ -80,7 +80,7 @@ class AboutPage : BasePage() {
}
})
)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.third_party_open_source_statement,
onClickListener = {
@@ -96,7 +96,7 @@ class AboutPage : BasePage() {
)
Line()
TitleText(text = getString(R.string.discussions))
TextSummaryArrow(TextSummaryV(textId = R.string.qq_channel, onClickListener = {
TextSummaryWithArrow(TextSummaryV(textId = R.string.qq_channel, onClickListener = {
try {
val uri =
Uri.parse("https://qun.qq.com/qqweb/qunpro/share?_wv=3&_wwv=128&inviteCode=29Mu64&from=246610&biz=ka")
@@ -106,7 +106,7 @@ class AboutPage : BasePage() {
Toast.makeText(activity, "访问失败", Toast.LENGTH_SHORT).show()
}
}))
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.tg_channel,
tipsId = R.string.tg_channel_summary,
@@ -127,7 +127,7 @@ class AboutPage : BasePage() {
}
})
)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.issues,
tipsId = R.string.issues_url,
@@ -144,7 +144,7 @@ class AboutPage : BasePage() {
)
Line()
TitleText(getString(R.string.other))
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.app_coolapk_url,
tipsId = R.string.app_coolapk_url_summary,
@@ -166,7 +166,7 @@ class AboutPage : BasePage() {
}
})
)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.opensource,
tipsId = R.string.github_url,
@@ -181,7 +181,7 @@ class AboutPage : BasePage() {
}
})
)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.participate_in_translation,
tipsId = R.string.participate_in_translation_summary,

View File

@@ -13,7 +13,7 @@ import java.util.*
class MenuPage : BasePage() {
override fun onCreate() {
TextSummaryArrow(TextSummaryV(textId = R.string.reboot, onClickListener = {
TextSummaryWithArrow(TextSummaryV(textId = R.string.reboot, onClickListener = {
MIUIDialog(activity) {
setTitle(R.string.Tips)
setMessage(R.string.are_you_sure_reboot)
@@ -28,7 +28,7 @@ class MenuPage : BasePage() {
}.show()
}))
TextSummaryArrow(TextSummaryV(textId = R.string.reboot_host, onClickListener = {
TextSummaryWithArrow(TextSummaryV(textId = R.string.reboot_host, onClickListener = {
MIUIDialog(activity) {
setTitle(R.string.Tips)
setMessage(R.string.are_you_sure_reboot_scope)

View File

@@ -66,7 +66,7 @@ class AndroidPageForS : BasePage() {
tipsId = R.string.remove_small_window_restrictions_summary
), SwitchV("remove_small_window_restrictions")
)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.max_wallpaper_scale,
onClickListener = {

View File

@@ -35,7 +35,7 @@ class MainPageForS : BasePage() {
)
})
)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.matters_needing_attention,
colorId = R.color.red,
@@ -51,19 +51,19 @@ class MainPageForS : BasePage() {
)
Line()
TitleText(textId = R.string.scope)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.scope_systemui,
tipsId = R.string.scope_systemui_summary,
onClickListener = { showFragment("scope_systemui") })
)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.scope_android,
tipsId = R.string.scope_android_summary,
onClickListener = { showFragment("scope_android") })
)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.scope_other,
tipsId = R.string.scope_other_summary,
@@ -71,7 +71,7 @@ class MainPageForS : BasePage() {
)
Line()
TitleText(textId = R.string.about)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.about_module,
tips = getString(R.string.about_module_summary),

View File

@@ -2,7 +2,6 @@ package com.lt2333.simplicitytools.activity.pages.s
import android.content.ComponentName
import android.content.Intent
import android.content.pm.PackageManager
import android.view.View
import android.widget.Switch
import android.widget.Toast
@@ -11,12 +10,10 @@ import cn.fkj233.ui.activity.annotation.BMPage
import cn.fkj233.ui.activity.data.BasePage
import cn.fkj233.ui.activity.view.SwitchV
import cn.fkj233.ui.activity.view.TextSummaryV
import cn.fkj233.ui.dialog.MIUIDialog
import com.lt2333.simplicitytools.BuildConfig
import com.lt2333.simplicitytools.R
@BMPage("scope_other","Other", hideMenu = false)
@BMPage("scope_other", "Other", hideMenu = false)
class OtherPageForS : BasePage() {
override fun onCreate() {
@@ -33,6 +30,24 @@ class OtherPageForS : BasePage() {
tipsId = R.string.home_double_tap_to_sleep_summary
), SwitchV("double_tap_to_sleep")
)
TextSummaryWithSwitch(
TextSummaryV(
textId = R.string.miuihome_recentwiew_wallpaper_darkening, tipsId = R.string.miuihome_recentwiew_wallpaper_darkening_summary
), SwitchV("miuihome_recentwiew_wallpaper_darkening", false)
)
TextSummaryWithSwitch(
TextSummaryV(
textId = R.string.miuihome_recentview_remove_card_animation, tipsId = R.string.miuihome_recentview_remove_card_animation_summary
), SwitchV("miuihome_recentview_remove_card_animation", false)
)
TextSummaryWithSwitch(
TextSummaryV(textId = R.string.miuihome_shortcut_add_small_window, tipsId = R.string.miuihome_shortcut_add_small_window_summary),
SwitchV("miuihome_shortcut_add_small_window", false)
)
TextSummaryWithSwitch(
TextSummaryV(textId = R.string.miuihome_scroll_icon_name, tipsId = R.string.miuihome_scroll_icon_name_summary),
SwitchV("miuihome_scroll_icon_name", false)
)
Line()
TitleText(textId = R.string.scope_powerkeeper)
TextSummaryWithSwitch(
@@ -82,7 +97,7 @@ class OtherPageForS : BasePage() {
SwitchV("make_millet_ignore_active"),
dataBindingRecv = makeMilletMoreAggressiveSwitchBinding.binding.getRecv(2)
)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.battery_optimization,
tipsId = R.string.battery_optimization_summary,

View File

@@ -245,7 +245,7 @@ class SystemUIPageForS : BasePage() {
//预设模式结束
//极客模式起始
TextSummaryArrow(TextSummaryV(textId = R.string.custom_clock_format_geek) {
TextSummaryWithArrow(TextSummaryV(textId = R.string.custom_clock_format_geek) {
MIUIDialog(activity) {
setTitle(R.string.custom_clock_format_geek)
setEditText(MIUIActivity.safeSP.getString("custom_clock_format_geek", "HH:mm:ss"), "", isSingleLine = false)
@@ -287,7 +287,7 @@ class SystemUIPageForS : BasePage() {
Line()
TitleText(textId = R.string.status_bar_icon)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.hide_icon,
onClickListener = { showFragment("hide_icon") })
@@ -314,7 +314,7 @@ class SystemUIPageForS : BasePage() {
dataBindingSend = customMobileTypeTextBinding.bindingSend
)
)
TextSummaryArrow(TextSummaryV(textId = R.string.custom_mobile_type_text) {
TextSummaryWithArrow(TextSummaryV(textId = R.string.custom_mobile_type_text) {
MIUIDialog(activity) {
setTitle(R.string.custom_mobile_type_text)
setEditText(MIUIActivity.safeSP.getString("custom_mobile_type_text", "5G"), "")
@@ -358,7 +358,7 @@ class SystemUIPageForS : BasePage() {
SwitchV("big_mobile_type_icon_bold", true),
dataBindingRecv = bigMobileTypeIconBinding.binding.getRecv(2)
)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.big_mobile_type_icon_size,
onClickListener = {
@@ -385,7 +385,7 @@ class SystemUIPageForS : BasePage() {
}.show()
}), dataBindingRecv = bigMobileTypeIconBinding.binding.getRecv(2)
)
TextSummaryArrow(TextSummaryV(textId = R.string.big_mobile_type_icon_up_and_down_position) {
TextSummaryWithArrow(TextSummaryV(textId = R.string.big_mobile_type_icon_up_and_down_position) {
MIUIDialog(activity) {
setTitle(R.string.big_mobile_type_icon_up_and_down_position)
setMessage("${activity.getString(R.string.range)} -15~15")
@@ -418,7 +418,7 @@ class SystemUIPageForS : BasePage() {
}
}.show()
}, dataBindingRecv = bigMobileTypeIconBinding.binding.getRecv(2))
TextSummaryArrow(TextSummaryV(textId = R.string.big_mobile_type_icon_left_and_right_margins) {
TextSummaryWithArrow(TextSummaryV(textId = R.string.big_mobile_type_icon_left_and_right_margins) {
MIUIDialog(activity) {
setTitle(R.string.big_mobile_type_icon_left_and_right_margins)
setMessage("${activity.getString(R.string.range)} 0~30")
@@ -455,7 +455,7 @@ class SystemUIPageForS : BasePage() {
SeekBarWithText("maximum_number_of_notification_icons", 1, 30, 3)
Text(textId = R.string.maximum_number_of_notification_dots)
SeekBarWithText("maximum_number_of_notification_dots", 0, 4, 3)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.battery_percentage_font_size,
onClickListener = {

View File

@@ -66,7 +66,7 @@ class AndroidPageForT : BasePage() {
tipsId = R.string.remove_small_window_restrictions_summary
), SwitchV("remove_small_window_restrictions")
)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.max_wallpaper_scale,
onClickListener = {

View File

@@ -35,7 +35,7 @@ class MainPageForT : BasePage() {
)
})
)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.matters_needing_attention,
colorId = R.color.red,
@@ -51,19 +51,19 @@ class MainPageForT : BasePage() {
)
Line()
TitleText(textId = R.string.scope)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.scope_systemui,
tipsId = R.string.scope_systemui_summary,
onClickListener = { showFragment("scope_systemui") })
)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.scope_android,
tipsId = R.string.scope_android_summary,
onClickListener = { showFragment("scope_android") })
)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.scope_other,
tipsId = R.string.scope_other_summary,
@@ -71,7 +71,7 @@ class MainPageForT : BasePage() {
)
Line()
TitleText(textId = R.string.about)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.about_module,
tips = getString(R.string.about_module_summary),

View File

@@ -2,7 +2,6 @@ package com.lt2333.simplicitytools.activity.pages.t
import android.content.ComponentName
import android.content.Intent
import android.content.pm.PackageManager
import android.view.View
import android.widget.Switch
import android.widget.Toast
@@ -11,12 +10,10 @@ import cn.fkj233.ui.activity.annotation.BMPage
import cn.fkj233.ui.activity.data.BasePage
import cn.fkj233.ui.activity.view.SwitchV
import cn.fkj233.ui.activity.view.TextSummaryV
import cn.fkj233.ui.dialog.MIUIDialog
import com.lt2333.simplicitytools.BuildConfig
import com.lt2333.simplicitytools.R
@BMPage("scope_other","Other", hideMenu = false)
@BMPage("scope_other", "Other", hideMenu = false)
class OtherPageForT : BasePage() {
override fun onCreate() {
@@ -33,6 +30,24 @@ class OtherPageForT : BasePage() {
tipsId = R.string.home_double_tap_to_sleep_summary
), SwitchV("double_tap_to_sleep")
)
TextSummaryWithSwitch(
TextSummaryV(
textId = R.string.miuihome_recentwiew_wallpaper_darkening, tipsId = R.string.miuihome_recentwiew_wallpaper_darkening_summary
), SwitchV("miuihome_recentwiew_wallpaper_darkening", false)
)
TextSummaryWithSwitch(
TextSummaryV(
textId = R.string.miuihome_recentview_remove_card_animation, tipsId = R.string.miuihome_recentview_remove_card_animation_summary
), SwitchV("miuihome_recentview_remove_card_animation", false)
)
TextSummaryWithSwitch(
TextSummaryV(textId = R.string.miuihome_shortcut_add_small_window, tipsId = R.string.miuihome_shortcut_add_small_window_summary),
SwitchV("miuihome_shortcut_add_small_window", false)
)
TextSummaryWithSwitch(
TextSummaryV(textId = R.string.miuihome_scroll_icon_name, tipsId = R.string.miuihome_scroll_icon_name_summary),
SwitchV("miuihome_scroll_icon_name", false)
)
Line()
TitleText(textId = R.string.scope_powerkeeper)
TextSummaryWithSwitch(
@@ -82,7 +97,7 @@ class OtherPageForT : BasePage() {
SwitchV("make_millet_ignore_active"),
dataBindingRecv = makeMilletMoreAggressiveSwitchBinding.binding.getRecv(2)
)
TextSummaryArrow(
TextSummaryWithArrow(
TextSummaryV(
textId = R.string.battery_optimization,
tipsId = R.string.battery_optimization_summary,

View File

@@ -1,5 +1,7 @@
package com.lt2333.simplicitytools.activity.pages.t
import android.content.Intent
import android.net.Uri
import android.view.View
import android.widget.Switch
import android.widget.Toast
@@ -11,18 +13,16 @@ import cn.fkj233.ui.activity.view.SwitchV
import cn.fkj233.ui.activity.view.TextSummaryV
import cn.fkj233.ui.activity.view.TextV
import cn.fkj233.ui.dialog.MIUIDialog
import cn.fkj233.ui.dialog.NewDialog
import com.lt2333.simplicitytools.R
import java.util.HashMap
@BMPage("scope_systemui","System UI", hideMenu = false)
class SystemUIPageForT : BasePage() {
@BMPage("scope_systemui", "System UI", hideMenu = false) class SystemUIPageForT : BasePage() {
override fun onCreate() {
TitleText(textId = R.string.statusbar)
TextSummaryWithSwitch(
TextSummaryV(textId = R.string.double_tap_to_sleep),
SwitchV("status_bar_double_tap_to_sleep")
TextSummaryV(textId = R.string.double_tap_to_sleep), SwitchV("status_bar_double_tap_to_sleep")
)
Line()
TitleText(textId = R.string.status_bar_layout)
@@ -32,33 +32,29 @@ class SystemUIPageForT : BasePage() {
it[2] = getString(R.string.clock_right)
it[3] = getString(R.string.clock_center_and_icon_left)
}
TextWithSpinner(
TextV(textId = R.string.status_bar_layout_mode),
SpinnerV(
statusBarLayoutMode[MIUIActivity.safeSP.getInt(
"status_bar_layout_mode",
0
)].toString()
) {
add(statusBarLayoutMode[0].toString()) {
MIUIActivity.safeSP.putAny("status_bar_layout_mode", 0)
}
add(statusBarLayoutMode[1].toString()) {
MIUIActivity.safeSP.putAny("status_bar_layout_mode", 1)
}
add(statusBarLayoutMode[2].toString()) {
MIUIActivity.safeSP.putAny("status_bar_layout_mode", 2)
}
add(statusBarLayoutMode[3].toString()) {
MIUIActivity.safeSP.putAny("status_bar_layout_mode", 3)
}
})
TextWithSpinner(TextV(textId = R.string.status_bar_layout_mode), SpinnerV(
statusBarLayoutMode[MIUIActivity.safeSP.getInt(
"status_bar_layout_mode", 0
)].toString()
) {
add(statusBarLayoutMode[0].toString()) {
MIUIActivity.safeSP.putAny("status_bar_layout_mode", 0)
}
add(statusBarLayoutMode[1].toString()) {
MIUIActivity.safeSP.putAny("status_bar_layout_mode", 1)
}
add(statusBarLayoutMode[2].toString()) {
MIUIActivity.safeSP.putAny("status_bar_layout_mode", 2)
}
add(statusBarLayoutMode[3].toString()) {
MIUIActivity.safeSP.putAny("status_bar_layout_mode", 3)
}
})
val layoutCompatibilityModeBinding = GetDataBinding({
MIUIActivity.safeSP.getInt(
"screen_hole_location",
0
) == 2
val layoutCompatibilityBinding = GetDataBinding({
MIUIActivity.safeSP.getBoolean(
"layout_compatibility_mode", false
)
}) { view, flags, data ->
when (flags) {
1 -> (view as Switch).isEnabled = data as Boolean
@@ -66,57 +62,23 @@ class SystemUIPageForT : BasePage() {
}
}
val screenHoleLocation: HashMap<Int, String> = hashMapOf<Int, String>().also {
it[0] = getString(R.string.off)
it[1] = getString(R.string.center)
it[2] = getString(R.string.left_or_right)
}
TextSummaryWithSpinner(
TextSummaryWithSwitch(
TextSummaryV(
textId = R.string.layout_compatibility_mode,
tipsId = R.string.screen_hole_location
),
SpinnerV(
screenHoleLocation[MIUIActivity.safeSP.getInt(
"screen_hole_location",
0
)].toString()
) {
add(screenHoleLocation[0].toString()) {
MIUIActivity.safeSP.putAny("screen_hole_location", 0)
layoutCompatibilityModeBinding.binding.Send().send(false)
}
add(screenHoleLocation[1].toString()) {
MIUIActivity.safeSP.putAny("screen_hole_location", 1)
layoutCompatibilityModeBinding.binding.Send().send(false)
}
add(screenHoleLocation[2].toString()) {
MIUIActivity.safeSP.putAny("screen_hole_location", 2)
layoutCompatibilityModeBinding.binding.Send().send(true)
}
})
textId = R.string.layout_compatibility_mode, tipsId = R.string.layout_compatibility_mode_summary
), SwitchV("layout_compatibility_mode", dataBindingSend = layoutCompatibilityBinding.bindingSend)
)
Text(
textId = R.string.left_margin,
dataBindingRecv = layoutCompatibilityModeBinding.binding.getRecv(2)
textId = R.string.left_margin, dataBindingRecv = layoutCompatibilityBinding.binding.getRecv(2)
)
SeekBarWithText(
"status_bar_left_margin",
0,
300,
0,
dataBindingRecv = layoutCompatibilityModeBinding.binding.getRecv(2)
"status_bar_left_margin", 0, 300, 0, dataBindingRecv = layoutCompatibilityBinding.binding.getRecv(2)
)
Text(
textId = R.string.right_margin,
dataBindingRecv = layoutCompatibilityModeBinding.binding.getRecv(2)
textId = R.string.right_margin, dataBindingRecv = layoutCompatibilityBinding.binding.getRecv(2)
)
SeekBarWithText(
"status_bar_right_margin",
0,
300,
0,
dataBindingRecv = layoutCompatibilityModeBinding.binding.getRecv(2)
"status_bar_right_margin", 0, 300, 0, dataBindingRecv = layoutCompatibilityBinding.binding.getRecv(2)
)
Line()
TitleText(textId = R.string.status_bar_clock_format)
@@ -124,8 +86,7 @@ class SystemUIPageForT : BasePage() {
val customClockPresetBinding = GetDataBinding({
MIUIActivity.safeSP.getInt(
"custom_clock_mode",
0
"custom_clock_mode", 0
) == 1
}) { view, flags, data ->
when (flags) {
@@ -134,40 +95,41 @@ class SystemUIPageForT : BasePage() {
}
}
val customClockGeekBinding =
GetDataBinding({ MIUIActivity.safeSP.getInt("custom_clock_mode", 0) == 2 }
val customClockGeekBinding = GetDataBinding({ MIUIActivity.safeSP.getInt("custom_clock_mode", 0) == 2 }
) { view, flags, data ->
when (flags) {
1 -> (view as Switch).isEnabled = data as Boolean
2 -> view.visibility = if (data as Boolean) View.VISIBLE else View.GONE
}
) { view, flags, data ->
when (flags) {
1 -> (view as Switch).isEnabled = data as Boolean
2 -> view.visibility = if (data as Boolean) View.VISIBLE else View.GONE
}
}
val customClockMode: HashMap<Int, String> = hashMapOf<Int, String>().also {
it[0] = getString(R.string.off)
it[1] = getString(R.string.preset)
it[2] = getString(R.string.geek)
}
TextWithSpinner(
TextV(textId = R.string.custom_clock_mode),
SpinnerV(customClockMode[MIUIActivity.safeSP.getInt("custom_clock_mode", 0)].toString()) {
add(customClockMode[0].toString()) {
MIUIActivity.safeSP.putAny("custom_clock_mode", 0)
customClockPresetBinding.binding.Send().send(false)
customClockGeekBinding.binding.Send().send(false)
}
add(customClockMode[1].toString()) {
MIUIActivity.safeSP.putAny("custom_clock_mode", 1)
customClockPresetBinding.binding.Send().send(true)
customClockGeekBinding.binding.Send().send(false)
}
add(customClockMode[2].toString()) {
MIUIActivity.safeSP.putAny("custom_clock_mode", 2)
customClockPresetBinding.binding.Send().send(false)
customClockGeekBinding.binding.Send().send(true)
}
})
TextWithSpinner(TextV(textId = R.string.custom_clock_mode), SpinnerV(
customClockMode[MIUIActivity.safeSP.getInt(
"custom_clock_mode", 0
)].toString()
) {
add(customClockMode[0].toString()) {
MIUIActivity.safeSP.putAny("custom_clock_mode", 0)
customClockPresetBinding.binding.Send().send(false)
customClockGeekBinding.binding.Send().send(false)
}
add(customClockMode[1].toString()) {
MIUIActivity.safeSP.putAny("custom_clock_mode", 1)
customClockPresetBinding.binding.Send().send(true)
customClockGeekBinding.binding.Send().send(false)
}
add(customClockMode[2].toString()) {
MIUIActivity.safeSP.putAny("custom_clock_mode", 2)
customClockPresetBinding.binding.Send().send(false)
customClockGeekBinding.binding.Send().send(true)
}
})
//预设模式起始
TextWithSwitch(
@@ -221,48 +183,53 @@ class SystemUIPageForT : BasePage() {
dataBindingRecv = customClockPresetBinding.binding.getRecv(2)
)
Text(
textId = R.string.status_bar_clock_size,
dataBindingRecv = customClockPresetBinding.binding.getRecv(2)
textId = R.string.status_bar_clock_size, dataBindingRecv = customClockPresetBinding.binding.getRecv(2)
)
SeekBarWithText(
"status_bar_clock_size",
0,
18,
0,
dataBindingRecv = customClockPresetBinding.binding.getRecv(2)
"status_bar_clock_size", 0, 18, 0, dataBindingRecv = customClockPresetBinding.binding.getRecv(2)
)
Text(
textId = R.string.status_bar_clock_double_line_size,
dataBindingRecv = customClockPresetBinding.binding.getRecv(2)
)
SeekBarWithText(
"status_bar_clock_double_line_size",
0,
9,
0,
dataBindingRecv = customClockPresetBinding.binding.getRecv(2)
"status_bar_clock_double_line_size", 0, 9, 0, dataBindingRecv = customClockPresetBinding.binding.getRecv(2)
)
//预设模式结束
//极客模式起始
TextSummaryArrow(TextSummaryV(textId = R.string.custom_clock_format_geek) {
MIUIDialog(activity) {
TextSummaryWithArrow(TextSummaryV(textId = R.string.custom_clock_format_geek) {
NewDialog(activity) {
setTitle(R.string.custom_clock_format_geek)
setEditText(MIUIActivity.safeSP.getString("custom_clock_format_geek", "HH:mm:ss"), "", isSingleLine = false)
setLButton(textId = R.string.cancel) {
dismiss()
setEditText(
MIUIActivity.safeSP.getString("custom_clock_format_geek", "HH:mm:ss"), "", isSingleLine = false
)
Button(getString(R.string.click_to_view_use_cases)) {
val locale = context.resources.configuration.locale
val language = locale.language
if (language.endsWith("zh")) {
val uri = Uri.parse("https://zhuti.designer.xiaomi.com/docs/grammar/#%E6%97%B6%E9%97%B4%E6%97%A5%E6%9C%9F")
val intent = Intent(Intent.ACTION_VIEW, uri)
activity.startActivity(intent)
} else {
val uri = Uri.parse("https://docs.google.com/spreadsheets/d/1ghkT2iFbxB3bT4TKCiKAfmEdGt6kTVKFU3dm4Nz1or8/edit?usp=sharing")
val intent = Intent(Intent.ACTION_VIEW, uri)
activity.startActivity(intent)
}
}
setRButton(textId = R.string.Done) {
Button(getString(R.string.Done)) {
if (getEditText().isNotEmpty()) {
try {
MIUIActivity.safeSP.putAny("custom_clock_format_geek", getEditText())
dismiss()
return@setRButton
return@Button
} catch (_: Throwable) {
}
}
Toast.makeText(activity, R.string.input_error, Toast.LENGTH_SHORT)
.show()
Toast.makeText(activity, R.string.input_error, Toast.LENGTH_SHORT).show()
}
Button(getString(R.string.cancel), cancelStyle = true) {
dismiss()
}
}.show()
}, dataBindingRecv = customClockGeekBinding.binding.getRecv(2))
@@ -272,34 +239,25 @@ class SystemUIPageForT : BasePage() {
dataBindingRecv = customClockGeekBinding.binding.getRecv(2)
)
Text(
textId = R.string.status_bar_clock_size,
dataBindingRecv = customClockGeekBinding.binding.getRecv(2)
textId = R.string.status_bar_clock_size, dataBindingRecv = customClockGeekBinding.binding.getRecv(2)
)
SeekBarWithText(
"status_bar_clock_size_geek",
0,
18,
0,
dataBindingRecv = customClockGeekBinding.binding.getRecv(2)
"status_bar_clock_size_geek", 0, 18, 0, dataBindingRecv = customClockGeekBinding.binding.getRecv(2)
)
//极客模式结束
Line()
TitleText(textId = R.string.status_bar_icon)
TextSummaryArrow(
TextSummaryV(
textId = R.string.hide_icon,
onClickListener = { showFragment("hide_icon") })
TextSummaryWithArrow(
TextSummaryV(textId = R.string.hide_icon, onClickListener = { showFragment("hide_icon") })
)
TextWithSwitch(
TextV(textId = R.string.show_wifi_standard),
SwitchV("show_wifi_standard")
TextV(textId = R.string.show_wifi_standard), SwitchV("show_wifi_standard")
)
val customMobileTypeTextBinding = GetDataBinding({
MIUIActivity.safeSP.getBoolean(
"custom_mobile_type_text_switch",
false
"custom_mobile_type_text_switch", false
)
}) { view, flags, data ->
when (flags) {
@@ -308,13 +266,11 @@ class SystemUIPageForT : BasePage() {
}
}
TextSummaryWithSwitch(
TextSummaryV(textId = R.string.custom_mobile_type_text_switch),
SwitchV(
"custom_mobile_type_text_switch",
dataBindingSend = customMobileTypeTextBinding.bindingSend
TextSummaryV(textId = R.string.custom_mobile_type_text_switch), SwitchV(
"custom_mobile_type_text_switch", dataBindingSend = customMobileTypeTextBinding.bindingSend
)
)
TextSummaryArrow(TextSummaryV(textId = R.string.custom_mobile_type_text) {
TextSummaryWithArrow(TextSummaryV(textId = R.string.custom_mobile_type_text) {
MIUIDialog(activity) {
setTitle(R.string.custom_mobile_type_text)
setEditText(MIUIActivity.safeSP.getString("custom_mobile_type_text", "5G"), "")
@@ -330,15 +286,13 @@ class SystemUIPageForT : BasePage() {
} catch (_: Throwable) {
}
}
Toast.makeText(activity, R.string.input_error, Toast.LENGTH_SHORT)
.show()
Toast.makeText(activity, R.string.input_error, Toast.LENGTH_SHORT).show()
}
}.show()
}, dataBindingRecv = customMobileTypeTextBinding.binding.getRecv(2))
val bigMobileTypeIconBinding = GetDataBinding({
MIUIActivity.safeSP.getBoolean(
"big_mobile_type_icon",
false
"big_mobile_type_icon", false
)
}) { view, flags, data ->
when (flags) {
@@ -347,51 +301,67 @@ class SystemUIPageForT : BasePage() {
}
}
TextSummaryWithSwitch(
TextSummaryV(textId = R.string.big_mobile_type_icon),
SwitchV(
"big_mobile_type_icon",
dataBindingSend = bigMobileTypeIconBinding.bindingSend
TextSummaryV(textId = R.string.big_mobile_type_icon), SwitchV(
"big_mobile_type_icon", dataBindingSend = bigMobileTypeIconBinding.bindingSend
)
)
val bigMobileTypeLocation: HashMap<Int, String> = hashMapOf<Int, String>().also {
it[0] = getString(R.string.left)
it[1] = getString(R.string.right)
}
TextWithSpinner(
TextV(textId = R.string.big_mobile_type_location), SpinnerV(
bigMobileTypeLocation[MIUIActivity.safeSP.getInt(
"big_mobile_type_location", 1
)].toString()
) {
add(bigMobileTypeLocation[0].toString()) {
MIUIActivity.safeSP.putAny("big_mobile_type_location", 0)
}
add(bigMobileTypeLocation[1].toString()) {
MIUIActivity.safeSP.putAny("big_mobile_type_location", 1)
}
}, dataBindingRecv = bigMobileTypeIconBinding.binding.getRecv(2)
)
TextSummaryWithSwitch(
TextSummaryV(textId = R.string.big_mobile_type_only_show_network_card),
SwitchV("big_mobile_type_only_show_network_card", false),
dataBindingRecv = bigMobileTypeIconBinding.binding.getRecv(2)
)
TextSummaryWithSwitch(
TextSummaryV(textId = R.string.big_mobile_type_icon_bold),
SwitchV("big_mobile_type_icon_bold", true),
dataBindingRecv = bigMobileTypeIconBinding.binding.getRecv(2)
)
TextSummaryArrow(
TextSummaryV(
textId = R.string.big_mobile_type_icon_size,
onClickListener = {
MIUIDialog(activity) {
setTitle(R.string.big_mobile_type_icon_size)
setEditText(
"",
"${activity.getString(R.string.def)}12.5, ${activity.getString(R.string.current)}${
MIUIActivity.safeSP.getFloat("big_mobile_type_icon_size", 12.5f)
}"
)
setLButton(textId = R.string.cancel) {
dismiss()
TextSummaryWithArrow(
TextSummaryV(textId = R.string.big_mobile_type_icon_size, onClickListener = {
MIUIDialog(activity) {
setTitle(R.string.big_mobile_type_icon_size)
setEditText(
"", "${activity.getString(R.string.def)}12.5, ${activity.getString(R.string.current)}${
MIUIActivity.safeSP.getFloat("big_mobile_type_icon_size", 12.5f)
}"
)
setLButton(textId = R.string.cancel) {
dismiss()
}
setRButton(textId = R.string.Done) {
if (getEditText() != "") {
MIUIActivity.safeSP.putAny(
"big_mobile_type_icon_size", getEditText().toFloat()
)
}
setRButton(textId = R.string.Done) {
if (getEditText() != "") {
MIUIActivity.safeSP.putAny(
"big_mobile_type_icon_size",
getEditText().toFloat()
)
}
dismiss()
}
}.show()
}), dataBindingRecv = bigMobileTypeIconBinding.binding.getRecv(2)
dismiss()
}
}.show()
}), dataBindingRecv = bigMobileTypeIconBinding.binding.getRecv(2)
)
TextSummaryArrow(TextSummaryV(textId = R.string.big_mobile_type_icon_up_and_down_position) {
TextSummaryWithArrow(TextSummaryV(textId = R.string.big_mobile_type_icon_up_and_down_position) {
MIUIDialog(activity) {
setTitle(R.string.big_mobile_type_icon_up_and_down_position)
setMessage("${activity.getString(R.string.range)} -15~15")
setEditText(
"",
"${activity.getString(R.string.def)}0, ${activity.getString(R.string.current)}${
"", "${activity.getString(R.string.def)}0, ${activity.getString(R.string.current)}${
MIUIActivity.safeSP.getInt("big_mobile_type_icon_up_and_down_position", 0)
}"
)
@@ -404,8 +374,7 @@ class SystemUIPageForT : BasePage() {
val value = getEditText().toInt()
if (value in (-15..15)) {
MIUIActivity.safeSP.putAny(
"big_mobile_type_icon_up_and_down_position",
value
"big_mobile_type_icon_up_and_down_position", value
)
dismiss()
return@setRButton
@@ -413,18 +382,16 @@ class SystemUIPageForT : BasePage() {
} catch (_: Throwable) {
}
}
Toast.makeText(activity, R.string.input_error, Toast.LENGTH_SHORT)
.show()
Toast.makeText(activity, R.string.input_error, Toast.LENGTH_SHORT).show()
}
}.show()
}, dataBindingRecv = bigMobileTypeIconBinding.binding.getRecv(2))
TextSummaryArrow(TextSummaryV(textId = R.string.big_mobile_type_icon_left_and_right_margins) {
TextSummaryWithArrow(TextSummaryV(textId = R.string.big_mobile_type_icon_left_and_right_margins) {
MIUIDialog(activity) {
setTitle(R.string.big_mobile_type_icon_left_and_right_margins)
setMessage("${activity.getString(R.string.range)} 0~30")
setEditText(
"",
"${activity.getString(R.string.def)}0, ${activity.getString(R.string.current)}${
"", "${activity.getString(R.string.def)}0, ${activity.getString(R.string.current)}${
MIUIActivity.safeSP.getInt("big_mobile_type_icon_left_and_right_margins", 0)
}"
)
@@ -437,8 +404,7 @@ class SystemUIPageForT : BasePage() {
val value = getEditText().toInt()
if (value in (0..30)) {
MIUIActivity.safeSP.putAny(
"big_mobile_type_icon_left_and_right_margins",
value
"big_mobile_type_icon_left_and_right_margins", value
)
dismiss()
return@setRButton
@@ -446,8 +412,7 @@ class SystemUIPageForT : BasePage() {
} catch (_: Throwable) {
}
}
Toast.makeText(activity, R.string.input_error, Toast.LENGTH_SHORT)
.show()
Toast.makeText(activity, R.string.input_error, Toast.LENGTH_SHORT).show()
}
}.show()
}, dataBindingRecv = bigMobileTypeIconBinding.binding.getRecv(2))
@@ -455,37 +420,33 @@ class SystemUIPageForT : BasePage() {
SeekBarWithText("maximum_number_of_notification_icons", 1, 30, 3)
Text(textId = R.string.maximum_number_of_notification_dots)
SeekBarWithText("maximum_number_of_notification_dots", 0, 4, 3)
TextSummaryArrow(
TextSummaryV(
textId = R.string.battery_percentage_font_size,
onClickListener = {
MIUIDialog(activity) {
setTitle(R.string.battery_percentage_font_size)
setMessage(R.string.zero_do_no_change)
setEditText(
"", "${activity.getString(R.string.current)}${
MIUIActivity.safeSP.getFloat("battery_percentage_font_size", 0f)
}"
)
setLButton(textId = R.string.cancel) {
dismiss()
TextSummaryWithArrow(
TextSummaryV(textId = R.string.battery_percentage_font_size, onClickListener = {
MIUIDialog(activity) {
setTitle(R.string.battery_percentage_font_size)
setMessage(R.string.zero_do_no_change)
setEditText(
"", "${activity.getString(R.string.current)}${
MIUIActivity.safeSP.getFloat("battery_percentage_font_size", 0f)
}"
)
setLButton(textId = R.string.cancel) {
dismiss()
}
setRButton(textId = R.string.Done) {
if (getEditText() != "") {
MIUIActivity.safeSP.putAny(
"battery_percentage_font_size", getEditText().toFloat()
)
}
setRButton(textId = R.string.Done) {
if (getEditText() != "") {
MIUIActivity.safeSP.putAny(
"battery_percentage_font_size",
getEditText().toFloat()
)
}
dismiss()
}
}.show()
})
dismiss()
}
}.show()
})
)
TextSummaryWithSwitch(
TextSummaryV(
textId = R.string.hide_battery_percentage_icon,
tipsId = R.string.hide_battery_percentage_icon_summary
textId = R.string.hide_battery_percentage_icon, tipsId = R.string.hide_battery_percentage_icon_summary
), SwitchV("hide_battery_percentage_icon")
)
Line()
@@ -503,13 +464,11 @@ class SystemUIPageForT : BasePage() {
), SwitchV("hide_status_bar_network_speed_second")
)
TextWithSwitch(
TextV(textId = R.string.hide_network_speed_splitter),
SwitchV("hide_network_speed_splitter")
TextV(textId = R.string.hide_network_speed_splitter), SwitchV("hide_network_speed_splitter")
)
val statusBarDualRowNetworkSpeedBinding = GetDataBinding({
MIUIActivity.safeSP.getBoolean(
"status_bar_dual_row_network_speed",
false
"status_bar_dual_row_network_speed", false
)
}) { view, flags, data ->
when (flags) {
@@ -521,21 +480,17 @@ class SystemUIPageForT : BasePage() {
TextSummaryV(
textId = R.string.status_bar_dual_row_network_speed,
tipsId = R.string.status_bar_dual_row_network_speed_summary
),
SwitchV(
"status_bar_dual_row_network_speed",
dataBindingSend = statusBarDualRowNetworkSpeedBinding.bindingSend
), SwitchV(
"status_bar_dual_row_network_speed", dataBindingSend = statusBarDualRowNetworkSpeedBinding.bindingSend
)
)
val align: HashMap<Int, String> = hashMapOf()
align[0] = getString(R.string.left)
align[1] = getString(R.string.right)
TextWithSpinner(
TextV(textId = R.string.status_bar_network_speed_dual_row_gravity),
SpinnerV(
TextV(textId = R.string.status_bar_network_speed_dual_row_gravity), SpinnerV(
align[MIUIActivity.safeSP.getInt(
"status_bar_network_speed_dual_row_gravity",
0
"status_bar_network_speed_dual_row_gravity", 0
)].toString()
) {
add(align[0].toString()) {
@@ -545,33 +500,28 @@ class SystemUIPageForT : BasePage() {
MIUIActivity.safeSP.putAny("status_bar_network_speed_dual_row_gravity", 1)
}
},
dataBindingRecv = statusBarDualRowNetworkSpeedBinding.binding.getRecv(2)
}, dataBindingRecv = statusBarDualRowNetworkSpeedBinding.binding.getRecv(2)
)
TextWithSpinner(
TextV(textId = R.string.status_bar_network_speed_dual_row_icon),
SpinnerV(
MIUIActivity.safeSP.getString(
"status_bar_network_speed_dual_row_icon",
getString(R.string.none)
TextWithSpinner(TextV(textId = R.string.status_bar_network_speed_dual_row_icon), SpinnerV(
MIUIActivity.safeSP.getString(
"status_bar_network_speed_dual_row_icon", getString(R.string.none)
)
) {
add(getString(R.string.none)) {
MIUIActivity.safeSP.putAny(
"status_bar_network_speed_dual_row_icon", getString(R.string.none)
)
) {
add(getString(R.string.none)) {
MIUIActivity.safeSP.putAny(
"status_bar_network_speed_dual_row_icon",
getString(R.string.none)
)
}
add("▲▼") {
MIUIActivity.safeSP.putAny("status_bar_network_speed_dual_row_icon", "▲▼")
}
add("△▽") {
MIUIActivity.safeSP.putAny("status_bar_network_speed_dual_row_icon", "△▽")
}
add("↑↓") {
MIUIActivity.safeSP.putAny("status_bar_network_speed_dual_row_icon", "↑↓")
}
})
}
add("▲▼") {
MIUIActivity.safeSP.putAny("status_bar_network_speed_dual_row_icon", "▲▼")
}
add("△▽") {
MIUIActivity.safeSP.putAny("status_bar_network_speed_dual_row_icon", "△▽")
}
add("↑↓") {
MIUIActivity.safeSP.putAny("status_bar_network_speed_dual_row_icon", "↑↓")
}
})
Text(
textId = R.string.status_bar_network_speed_dual_row_size,
dataBindingRecv = statusBarDualRowNetworkSpeedBinding.binding.getRecv(2)
@@ -587,8 +537,7 @@ class SystemUIPageForT : BasePage() {
TitleText(textId = R.string.notification_center)
val showWeatherMainSwitchBinding = GetDataBinding({
MIUIActivity.safeSP.getBoolean(
"notification_weather",
false
"notification_weather", false
)
}) { view, flags, data ->
when (flags) {
@@ -598,20 +547,15 @@ class SystemUIPageForT : BasePage() {
}
TextSummaryWithSwitch(
TextSummaryV(
textId = R.string.show_weather_main_switch,
colorId = R.color.blue
),
SwitchV(
"notification_weather",
dataBindingSend = showWeatherMainSwitchBinding.bindingSend
textId = R.string.show_weather_main_switch, colorId = R.color.blue
), SwitchV(
"notification_weather", dataBindingSend = showWeatherMainSwitchBinding.bindingSend
)
)
TextSummaryWithSwitch(
TextSummaryV(
textId = R.string.show_city,
),
SwitchV("notification_weather_city"),
dataBindingRecv = showWeatherMainSwitchBinding.binding.getRecv(2)
), SwitchV("notification_weather_city"), dataBindingRecv = showWeatherMainSwitchBinding.binding.getRecv(2)
)
TextSummaryWithSwitch(
TextSummaryV(
@@ -624,8 +568,7 @@ class SystemUIPageForT : BasePage() {
TitleText(textId = R.string.control_center)
val controlCenterWeatherBinding = GetDataBinding({
MIUIActivity.safeSP.getBoolean(
"control_center_weather",
false
"control_center_weather", false
)
}) { view, flags, data ->
when (flags) {
@@ -638,18 +581,14 @@ class SystemUIPageForT : BasePage() {
textId = R.string.show_weather_main_switch,
colorId = R.color.blue,
tipsId = R.string.control_center_weather_summary
),
SwitchV(
"control_center_weather",
dataBindingSend = controlCenterWeatherBinding.bindingSend
), SwitchV(
"control_center_weather", dataBindingSend = controlCenterWeatherBinding.bindingSend
)
)
TextSummaryWithSwitch(
TextSummaryV(
textId = R.string.show_city,
),
SwitchV("control_center_weather_city"),
dataBindingRecv = controlCenterWeatherBinding.binding.getRecv(2)
), SwitchV("control_center_weather_city"), dataBindingRecv = controlCenterWeatherBinding.binding.getRecv(2)
)
Line()
TitleText(textId = R.string.lock_screen)
@@ -672,8 +611,7 @@ class SystemUIPageForT : BasePage() {
), SwitchV("remove_lock_screen_camera")
)
TextSummaryWithSwitch(
TextSummaryV(textId = R.string.enable_wave_charge_animation),
SwitchV("enable_wave_charge_animation")
TextSummaryV(textId = R.string.enable_wave_charge_animation), SwitchV("enable_wave_charge_animation")
)
TextSummaryWithSwitch(
TextSummaryV(
@@ -683,16 +621,14 @@ class SystemUIPageForT : BasePage() {
)
TextSummaryWithSwitch(
TextSummaryV(
textId = R.string.double_tap_to_sleep,
tipsId = R.string.home_double_tap_to_sleep_summary
textId = R.string.double_tap_to_sleep, tipsId = R.string.home_double_tap_to_sleep_summary
), SwitchV("lock_screen_double_tap_to_sleep")
)
Line()
TitleText(textId = R.string.old_quick_settings_panel)
val oldQSCustomSwitchBinding = GetDataBinding({
MIUIActivity.safeSP.getBoolean(
"old_qs_custom_switch",
false
"old_qs_custom_switch", false
)
}) { view, flags, data ->
when (flags) {
@@ -702,57 +638,35 @@ class SystemUIPageForT : BasePage() {
}
TextSummaryWithSwitch(
TextSummaryV(
textId = R.string.old_qs_custom_switch,
colorId = R.color.blue
),
SwitchV(
"old_qs_custom_switch",
dataBindingSend = oldQSCustomSwitchBinding.bindingSend
textId = R.string.old_qs_custom_switch, colorId = R.color.blue
), SwitchV(
"old_qs_custom_switch", dataBindingSend = oldQSCustomSwitchBinding.bindingSend
)
)
Text(
textId = R.string.qs_custom_rows,
dataBindingRecv = oldQSCustomSwitchBinding.binding.getRecv(2)
textId = R.string.qs_custom_rows, dataBindingRecv = oldQSCustomSwitchBinding.binding.getRecv(2)
)
SeekBarWithText(
"qs_custom_rows",
1,
6,
3,
dataBindingRecv = oldQSCustomSwitchBinding.binding.getRecv(2)
"qs_custom_rows", 1, 6, 3, dataBindingRecv = oldQSCustomSwitchBinding.binding.getRecv(2)
)
Text(
textId = R.string.qs_custom_rows_horizontal,
dataBindingRecv = oldQSCustomSwitchBinding.binding.getRecv(2)
textId = R.string.qs_custom_rows_horizontal, dataBindingRecv = oldQSCustomSwitchBinding.binding.getRecv(2)
)
SeekBarWithText(
"qs_custom_rows_horizontal",
1,
3,
2,
dataBindingRecv = oldQSCustomSwitchBinding.binding.getRecv(2)
"qs_custom_rows_horizontal", 1, 3, 2, dataBindingRecv = oldQSCustomSwitchBinding.binding.getRecv(2)
)
Text(
textId = R.string.qs_custom_columns,
dataBindingRecv = oldQSCustomSwitchBinding.binding.getRecv(2)
textId = R.string.qs_custom_columns, dataBindingRecv = oldQSCustomSwitchBinding.binding.getRecv(2)
)
SeekBarWithText(
"qs_custom_columns",
1,
7,
4,
dataBindingRecv = oldQSCustomSwitchBinding.binding.getRecv(2)
"qs_custom_columns", 1, 7, 4, dataBindingRecv = oldQSCustomSwitchBinding.binding.getRecv(2)
)
Text(
textId = R.string.qs_custom_columns_unexpanded,
dataBindingRecv = oldQSCustomSwitchBinding.binding.getRecv(2)
)
SeekBarWithText(
"qs_custom_columns_unexpanded",
1,
7,
5,
dataBindingRecv = oldQSCustomSwitchBinding.binding.getRecv(2)
"qs_custom_columns_unexpanded", 1, 7, 5, dataBindingRecv = oldQSCustomSwitchBinding.binding.getRecv(2)
)
}

View File

@@ -5,7 +5,9 @@ import com.lt2333.simplicitytools.hooks.rules.all.android.AllowUntrustedTouchesF
import com.lt2333.simplicitytools.hooks.rules.all.android.DeleteOnPostNotificationForAll
import com.lt2333.simplicitytools.hooks.rules.all.android.DisableFlagSecureForAll
import com.lt2333.simplicitytools.hooks.rules.all.corepatch.CorePatchMainHook
import com.lt2333.simplicitytools.hooks.rules.s.android.*
import com.lt2333.simplicitytools.hooks.rules.s.android.MaxWallpaperScaleForS
import com.lt2333.simplicitytools.hooks.rules.s.android.RemoveSmallWindowRestrictionsForS
import com.lt2333.simplicitytools.hooks.rules.s.android.SystemPropertiesHookForS
import com.lt2333.simplicitytools.hooks.rules.t.android.MaxWallpaperScaleForT
import com.lt2333.simplicitytools.hooks.rules.t.android.SystemPropertiesHookForT
import com.lt2333.simplicitytools.utils.xposed.base.AppRegister
@@ -29,6 +31,7 @@ object Android : AppRegister() {
AllowUntrustedTouchesForAll, //允许不受信任的触摸
)
}
Build.VERSION_CODES.S -> {
autoInitHooks(
lpparam,

View File

@@ -5,18 +5,21 @@ import com.lt2333.simplicitytools.hooks.rules.all.cast.ForceSupportSendAppForAll
import com.lt2333.simplicitytools.utils.xposed.base.AppRegister
import de.robv.android.xposed.callbacks.XC_LoadPackage
object Cast: AppRegister() {
object Cast : AppRegister() {
override val packageName: String = "com.milink.service"
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
when (Build.VERSION.SDK_INT) {
Build.VERSION_CODES.TIRAMISU -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
ForceSupportSendAppForAll, //强制允许所有应用接力
)
}
Build.VERSION_CODES.S -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
ForceSupportSendAppForAll, //强制允许所有应用接力
)
}

View File

@@ -17,6 +17,7 @@ object MediaEditor : AppRegister() {
UnlockUnlimitedCroppingForT, //解锁裁切最小值
)
}
Build.VERSION_CODES.S -> {
autoInitHooks(
lpparam,

View File

@@ -1,8 +1,13 @@
package com.lt2333.simplicitytools.hooks.apps
import android.os.Build
import com.lt2333.simplicitytools.hooks.rules.all.miuihome.AlwaysDisplayTimeForAll
import com.lt2333.simplicitytools.hooks.rules.all.miuihome.AlwaysShowStatusBarClockForAll
import com.lt2333.simplicitytools.hooks.rules.all.miuihome.DisableRecentViewWallpaperDarkeningForAll
import com.lt2333.simplicitytools.hooks.rules.all.miuihome.DoubleTapToSleepForAll
import com.lt2333.simplicitytools.hooks.rules.all.miuihome.ModifyRecentViewRemoveCardAnimForAll
import com.lt2333.simplicitytools.hooks.rules.all.miuihome.RemoveSmallWindowRestrictionForMiuiHomeForAll
import com.lt2333.simplicitytools.hooks.rules.all.miuihome.ScrollIconNameForAll
import com.lt2333.simplicitytools.hooks.rules.all.miuihome.ShortcutAddSmallWindowForAll
import com.lt2333.simplicitytools.utils.xposed.base.AppRegister
import de.robv.android.xposed.callbacks.XC_LoadPackage
@@ -14,15 +19,26 @@ object MiuiHome : AppRegister() {
Build.VERSION_CODES.TIRAMISU -> {
autoInitHooks(
lpparam,
AlwaysDisplayTimeForAll, //时钟显示时钟
AlwaysShowStatusBarClockForAll, //时钟显示时钟
DoubleTapToSleepForAll, //双击锁屏
DisableRecentViewWallpaperDarkeningForAll, //取消后台壁纸压暗效果
ModifyRecentViewRemoveCardAnimForAll, //横向排布后台划卡动画
ScrollIconNameForAll, //滚动显示应用标题
RemoveSmallWindowRestrictionForMiuiHomeForAll, //取消小窗限制
ShortcutAddSmallWindowForAll, //快捷菜单添加小窗
)
}
Build.VERSION_CODES.S -> {
autoInitHooks(
lpparam,
AlwaysDisplayTimeForAll, //时钟显示时钟
AlwaysShowStatusBarClockForAll, //时钟显示时钟
DoubleTapToSleepForAll, //双击锁屏
DisableRecentViewWallpaperDarkeningForAll, //取消后台壁纸压暗效果
ModifyRecentViewRemoveCardAnimForAll, //横向排布后台划卡动画
ScrollIconNameForAll, //滚动显示应用标题
RemoveSmallWindowRestrictionForMiuiHomeForAll, //取消小窗限制
ShortcutAddSmallWindowForAll, //快捷菜单添加小窗
)
}
}

View File

@@ -7,7 +7,7 @@ import com.lt2333.simplicitytools.utils.xposed.base.AppRegister
import de.robv.android.xposed.XposedBridge
import de.robv.android.xposed.callbacks.XC_LoadPackage
object PackageInstaller: AppRegister() {
object PackageInstaller : AppRegister() {
override val packageName: String = "com.miui.packageinstaller"

View File

@@ -8,21 +8,24 @@ import com.lt2333.simplicitytools.hooks.rules.s.powerkeeper.PreventRecoveryOfBat
import com.lt2333.simplicitytools.utils.xposed.base.AppRegister
import de.robv.android.xposed.callbacks.XC_LoadPackage
object PowerKeeper: AppRegister() {
object PowerKeeper : AppRegister() {
override val packageName: String = "com.miui.powerkeeper"
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
when (Build.VERSION.SDK_INT) {
Build.VERSION_CODES.TIRAMISU -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
LockMaxFpsForAll, //锁定最高刷新率
PreventRecoveryOfBatteryOptimizationWhitelistForS, //防止恢复电池优化白名单
DoNotClearAppForS,//阻止杀后台
MakeMilletMoreAggressiveForS,//使 Millet 更激进
)
}
Build.VERSION_CODES.S -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
LockMaxFpsForAll, //锁定最高刷新率
PreventRecoveryOfBatteryOptimizationWhitelistForS, //防止恢复电池优化白名单
DoNotClearAppForS,//阻止杀后台

View File

@@ -5,18 +5,21 @@ import com.lt2333.simplicitytools.hooks.rules.all.reardisplay.RearDisplayWeather
import com.lt2333.simplicitytools.utils.xposed.base.AppRegister
import de.robv.android.xposed.callbacks.XC_LoadPackage
object RearDisplay: AppRegister() {
object RearDisplay : AppRegister() {
override val packageName: String = "com.xiaomi.misubscreenui"
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
when (Build.VERSION.SDK_INT) {
Build.VERSION_CODES.TIRAMISU -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
RearDisplayWeatherForAll, //背屏显示天气
)
}
Build.VERSION_CODES.S -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
RearDisplayWeatherForAll, //背屏显示天气
)
}

View File

@@ -6,18 +6,21 @@ import com.lt2333.simplicitytools.hooks.rules.t.mediaeditor.UnlockUnlimitedCropp
import com.lt2333.simplicitytools.utils.xposed.base.AppRegister
import de.robv.android.xposed.callbacks.XC_LoadPackage
object ScreenShot: AppRegister() {
object ScreenShot : AppRegister() {
override val packageName: String = "com.miui.screenshot"
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
when (Build.VERSION.SDK_INT) {
Build.VERSION_CODES.TIRAMISU -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
UnlockUnlimitedCroppingForT, //解锁裁切限制
)
}
Build.VERSION_CODES.S -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
UnlockUnlimitedCroppingForS, //解锁裁切限制
)
}

View File

@@ -2,21 +2,22 @@ package com.lt2333.simplicitytools.hooks.apps
import android.os.Build
import com.lt2333.simplicitytools.hooks.rules.all.securitycenter.LockOneHundredForAll
import com.lt2333.simplicitytools.hooks.rules.all.securitycenter.RemoveMacroBlacklistForAll
import com.lt2333.simplicitytools.hooks.rules.all.securitycenter.RemoveOpenAppConfirmationPopupForAll
import com.lt2333.simplicitytools.hooks.rules.all.securitycenter.SkipWaitingTimeForAll
import com.lt2333.simplicitytools.hooks.rules.all.securitycenter.RemoveMacroBlacklistForAll
import com.lt2333.simplicitytools.hooks.rules.s.securitycenter.ShowBatteryTemperatureForS
import com.lt2333.simplicitytools.hooks.rules.t.securitycenter.ShowBatteryTemperatureForT
import com.lt2333.simplicitytools.utils.xposed.base.AppRegister
import de.robv.android.xposed.callbacks.XC_LoadPackage
object SecurityCenter: AppRegister() {
object SecurityCenter : AppRegister() {
override val packageName: String = "com.miui.securitycenter"
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
when (Build.VERSION.SDK_INT) {
Build.VERSION_CODES.TIRAMISU -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
SkipWaitingTimeForAll, //跳过 5/10秒等待时间
LockOneHundredForAll, //锁定 100分
RemoveMacroBlacklistForAll, //去除自动连招黑名单
@@ -24,8 +25,10 @@ object SecurityCenter: AppRegister() {
RemoveOpenAppConfirmationPopupForAll, //去除打开应用弹窗
)
}
Build.VERSION_CODES.S -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
SkipWaitingTimeForAll, //跳过 5/10秒等待时间
LockOneHundredForAll, //锁定 100分
RemoveMacroBlacklistForAll, //去除自动连招黑名单

View File

@@ -5,18 +5,21 @@ import com.lt2333.simplicitytools.hooks.rules.all.settings.ShowNotificationImpor
import com.lt2333.simplicitytools.utils.xposed.base.AppRegister
import de.robv.android.xposed.callbacks.XC_LoadPackage
object Settings: AppRegister() {
object Settings : AppRegister() {
override val packageName: String = "com.android.settings"
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
when (Build.VERSION.SDK_INT) {
Build.VERSION_CODES.TIRAMISU -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
ShowNotificationImportanceForAll, //显示通知重要程度
)
}
Build.VERSION_CODES.S -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
ShowNotificationImportanceForAll, //显示通知重要程度
)
}

View File

@@ -1,18 +1,79 @@
package com.lt2333.simplicitytools.hooks.apps
import android.os.Build
import com.lt2333.simplicitytools.hooks.rules.s.systemui.*
import com.lt2333.simplicitytools.hooks.rules.t.systemui.*
import com.lt2333.simplicitytools.hooks.rules.s.systemui.BatteryPercentageForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.CanNotificationSlideForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.ControlCenterWeatherForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.CustomMobileTypeTextForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.DoubleLineNetworkSpeedForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideBatteryIconForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideHDIconForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideMobileActivityIconForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideMobileTypeIconForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideNetworkSpeedSplitterForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideSimIconForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideStatusBarIconForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideStatusBarNetworkSpeedSecondForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.HideWifiActivityIconForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.LockScreenClockDisplaySecondsForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.LockScreenCurrentForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.LockScreenDoubleTapToSleepForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.MaximumNumberOfNotificationIconsForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.NewNotificationWeatherForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.NotificationWeatherForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.OldNotificationWeatherForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.OldQSCustomForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.RemoveLockScreenCameraForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.RemoveTheLeftSideOfTheLockScreenForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.ShowWifiStandardForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.StatusBarBigMobileTypeIconForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.StatusBarDoubleTapToSleepForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.StatusBarLayoutForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.StatusBarNetworkSpeedRefreshSpeedForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.StatusBarTimeCustomizationForS
import com.lt2333.simplicitytools.hooks.rules.s.systemui.WaveChargeForS
import com.lt2333.simplicitytools.hooks.rules.t.systemui.BatteryPercentageForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.CanNotificationSlideForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.ControlCenterWeatherForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.CustomMobileTypeTextForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.DoubleLineNetworkSpeedForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideBatteryIconForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideHDIconForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideMobileActivityIconForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideMobileTypeIconForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideNetworkSpeedSplitterForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideSimIconForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideStatusBarIconForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideStatusBarNetworkSpeedSecondForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.HideWifiActivityIconForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.LockScreenClockDisplaySecondsForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.LockScreenCurrentForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.LockScreenDoubleTapToSleepForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.MaximumNumberOfNotificationIconsForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.NewNotificationWeatherForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.NotificationWeatherForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.OldNotificationWeatherForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.OldQSCustomForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.RemoveLockScreenCameraForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.RemoveTheLeftSideOfTheLockScreenForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.ShowWifiStandardForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.StatusBarBigMobileTypeIconForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.StatusBarDoubleTapToSleepForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.StatusBarLayoutForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.StatusBarNetworkSpeedRefreshSpeedForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.StatusBarTimeCustomizationForT
import com.lt2333.simplicitytools.hooks.rules.t.systemui.WaveChargeForT
import com.lt2333.simplicitytools.utils.xposed.base.AppRegister
import de.robv.android.xposed.callbacks.XC_LoadPackage
object SystemUI: AppRegister() {
object SystemUI : AppRegister() {
override val packageName: String = "com.android.systemui"
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
when (Build.VERSION.SDK_INT) {
Build.VERSION_CODES.TIRAMISU -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
HideStatusBarIconForT, //隐藏状态栏图标
HideBatteryIconForT, //隐藏电池
HideHDIconForT, //隐藏HD图标
@@ -46,8 +107,10 @@ object SystemUI: AppRegister() {
ShowWifiStandardForT, // 显示 WIFI 角标
)
}
Build.VERSION_CODES.S -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
HideStatusBarIconForS, //隐藏状态栏图标
HideBatteryIconForS, //隐藏电池
HideHDIconForS, //隐藏HD图标

View File

@@ -5,18 +5,21 @@ import com.lt2333.simplicitytools.hooks.rules.all.thememanager.RemoveAdsForAll
import com.lt2333.simplicitytools.utils.xposed.base.AppRegister
import de.robv.android.xposed.callbacks.XC_LoadPackage
object ThemeManager: AppRegister() {
object ThemeManager : AppRegister() {
override val packageName: String = "com.android.thememanager"
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
when (Build.VERSION.SDK_INT) {
Build.VERSION_CODES.TIRAMISU -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
RemoveAdsForAll, //移除主题壁纸的广告
)
}
Build.VERSION_CODES.S -> {
autoInitHooks(lpparam,
autoInitHooks(
lpparam,
RemoveAdsForAll, //移除主题壁纸的广告
)
}

View File

@@ -1,12 +1,13 @@
package com.lt2333.simplicitytools.hooks.apps
import com.github.kyuubiran.ezxhelper.utils.findMethod
import com.github.kyuubiran.ezxhelper.utils.hookBefore
import com.github.kyuubiran.ezxhelper.utils.hookReturnConstant
import com.github.kyuubiran.ezxhelper.utils.loadClassOrNull
import com.github.kyuubiran.ezxhelper.utils.hookBefore
import com.lt2333.simplicitytools.utils.hasEnable
import com.lt2333.simplicitytools.utils.xposed.base.AppRegister
import de.robv.android.xposed.callbacks.XC_LoadPackage
object Updater : AppRegister() {
override val packageName: String = "com.android.updater"

View File

@@ -5,8 +5,7 @@ import com.github.kyuubiran.ezxhelper.utils.hookBefore
import com.lt2333.simplicitytools.utils.hasEnable
import com.lt2333.simplicitytools.utils.xposed.base.HookRegister
object AlwaysDisplayTimeForAll : HookRegister() {
object AlwaysShowStatusBarClockForAll : HookRegister() {
override fun init() {
try {
findMethod("com.miui.home.launcher.Workspace") {

View File

@@ -0,0 +1,19 @@
package com.lt2333.simplicitytools.hooks.rules.all.miuihome
import com.github.kyuubiran.ezxhelper.utils.findMethod
import com.github.kyuubiran.ezxhelper.utils.hookBefore
import com.github.kyuubiran.ezxhelper.utils.putObject
import com.lt2333.simplicitytools.utils.hasEnable
import com.lt2333.simplicitytools.utils.xposed.base.HookRegister
object DisableRecentViewWallpaperDarkeningForAll : HookRegister() {
override fun init() = hasEnable("miuihome_recentwiew_wallpaper_darkening") {
findMethod("com.miui.home.recents.DimLayer") {
name == "dim" && parameterCount == 3
}.hookBefore {
it.args[0] = 0.0f
it.thisObject.putObject("mCurrentAlpha", 0.0f)
}
}
}

View File

@@ -0,0 +1,46 @@
package com.lt2333.simplicitytools.hooks.rules.all.miuihome
import android.animation.ObjectAnimator
import android.animation.TimeInterpolator
import android.view.MotionEvent
import android.view.View
import com.lt2333.simplicitytools.utils.*
import com.lt2333.simplicitytools.utils.xposed.base.HookRegister
import de.robv.android.xposed.XposedHelpers
object ModifyRecentViewRemoveCardAnimForAll : HookRegister() {
override fun init() = hasEnable("miuihome_recentview_remove_card_animation") {
"com.miui.home.recents.views.SwipeHelperForRecents".hookAfterMethod("onTouchEvent", MotionEvent::class.java) {
val mCurrView = it.thisObject.getObjectField("mCurrView") as View?
if (mCurrView != null) {
mCurrView.alpha = 1f
mCurrView.scaleX = 1f
mCurrView.scaleY = 1f
}
}
"com.miui.home.recents.TaskStackViewLayoutStyleHorizontal".replaceMethod("createScaleDismissAnimation", View::class.java, Float::class.java) {
val view = it.args[0] as View
val getScreenHeight = "com.miui.home.launcher.DeviceConfig".findClass().callStaticMethod("getScreenHeight") as Int
val ofFloat = ObjectAnimator.ofFloat(view, View.TRANSLATION_Y, view.translationY, -getScreenHeight * 1.1484375f)
val physicBasedInterpolator = XposedHelpers.newInstance("com.miui.home.launcher.anim.PhysicBasedInterpolator".findClass(), 0.9f, 0.78f)
ofFloat.interpolator = physicBasedInterpolator as TimeInterpolator
ofFloat.duration = 400
return@replaceMethod ofFloat
}
"com.miui.home.recents.views.VerticalSwipe".hookAfterMethod("calculate", Float::class.java) {
val f = it.args[0] as Float
val asScreenHeightWhenDismiss = "com.miui.home.recents.views.VerticalSwipe".findClass().callStaticMethod("getAsScreenHeightWhenDismiss") as Int
val f2 = f / asScreenHeightWhenDismiss
val mTaskViewHeight = it.thisObject.getObjectField("mTaskViewHeight") as Float
val mCurScale = it.thisObject.getObjectField("mCurScale") as Float
val f3: Float = mTaskViewHeight * mCurScale
val i = if (f2 > 0.0f) 1 else if (f2 == 0.0f) 0 else -1
val afterFrictionValue: Float = it.thisObject.callMethod("afterFrictionValue", f, asScreenHeightWhenDismiss) as Float
if (i < 0) it.thisObject.setObjectField("mCurTransY", (mTaskViewHeight / 2.0f + afterFrictionValue * 2) - (f3 / 2.0f))
}
}
}

View File

@@ -0,0 +1,28 @@
package com.lt2333.simplicitytools.hooks.rules.all.miuihome
import com.github.kyuubiran.ezxhelper.utils.findAllMethods
import com.github.kyuubiran.ezxhelper.utils.hookBefore
import com.lt2333.simplicitytools.utils.hasEnable
import com.lt2333.simplicitytools.utils.xposed.base.HookRegister
object RemoveSmallWindowRestrictionForMiuiHomeForAll : HookRegister() {
override fun init() {
findAllMethods("com.miui.home.launcher.RecentsAndFSGestureUtils") {
name == "canTaskEnterSmallWindow"
}.hookBefore {
hasEnable("android_remove_small_window_restriction") {
it.result = true
}
}
findAllMethods("com.miui.home.launcher.RecentsAndFSGestureUtils") {
name == "canTaskEnterMiniSmallWindow"
}.hookBefore {
hasEnable("android_remove_small_window_restriction") {
it.result = true
}
}
}
}

View File

@@ -0,0 +1,85 @@
package com.lt2333.simplicitytools.hooks.rules.all.miuihome
import android.annotation.SuppressLint
import android.content.Context
import android.text.TextUtils
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import com.github.kyuubiran.ezxhelper.utils.Log
import com.github.kyuubiran.ezxhelper.utils.args
import com.github.kyuubiran.ezxhelper.utils.findMethod
import com.github.kyuubiran.ezxhelper.utils.getObject
import com.github.kyuubiran.ezxhelper.utils.hookAfter
import com.github.kyuubiran.ezxhelper.utils.invokeMethod
import com.lt2333.simplicitytools.utils.*
import com.lt2333.simplicitytools.utils.xposed.base.HookRegister
object ScrollIconNameForAll : HookRegister() {
@SuppressLint("DiscouragedApi")
override fun init() = hasEnable("miuihome_scroll_icon_name") {
val launcherClass = "com.miui.home.launcher.Launcher".findClass()
val shortcutInfoClass = "com.miui.home.launcher.ShortcutInfo".findClass()
try {
"com.miui.home.launcher.ItemIcon".hookAfterMethod(
"onFinishInflate"
) {
val mTitle = it.thisObject.getObjectField("mTitle") as TextView
mTitleScrolling(mTitle)
}
"com.miui.home.launcher.maml.MaMlWidgetView".hookAfterMethod(
"onFinishInflate"
) {
val mTitle = it.thisObject.getObjectField("mTitleTextView") as TextView
mTitleScrolling(mTitle)
}
"com.miui.home.launcher.LauncherMtzGadgetView".hookAfterMethod(
"onFinishInflate"
) {
val mTitle = it.thisObject.getObjectField("mTitleTextView") as TextView
mTitleScrolling(mTitle)
}
"com.miui.home.launcher.LauncherWidgetView".hookAfterMethod(
"onFinishInflate"
) {
val mTitle = it.thisObject.getObjectField("mTitleTextView") as TextView
mTitleScrolling(mTitle)
}
"com.miui.home.launcher.ShortcutIcon".hookAfterMethod(
"fromXml", Int::class.javaPrimitiveType, launcherClass, ViewGroup::class.java, shortcutInfoClass
) {
val buddyIconView = it.args[3].callMethod("getBuddyIconView", it.args[2]) as View
val mTitle = buddyIconView.getObjectField("mTitle") as TextView
mTitleScrolling(mTitle)
}
"com.miui.home.launcher.ShortcutIcon".hookAfterMethod(
"createShortcutIcon", Int::class.javaPrimitiveType, launcherClass, ViewGroup::class.java
) {
val buddyIcon = it.result as View
val mTitle = buddyIcon.getObjectField("mTitle") as TextView
mTitleScrolling(mTitle)
}
"com.miui.home.launcher.common.Utilities".hookAfterMethod(
"adaptTitleStyleToWallpaper", Context::class.java, TextView::class.java, Int::class.javaPrimitiveType, Int::class.javaPrimitiveType
) {
val mTitle = it.args[1] as TextView
if (mTitle.id == mTitle.resources.getIdentifier("icon_title", "id", "com.miui.home")) {
mTitleScrolling(mTitle)
}
}
} catch (e: Throwable) {
Log.ex(e)
}
}
private fun mTitleScrolling(mTitle: TextView) {
mTitle.ellipsize = TextUtils.TruncateAt.MARQUEE
mTitle.isHorizontalFadingEdgeEnabled = true
mTitle.setSingleLine()
mTitle.marqueeRepeatLimit = -1
mTitle.isSelected = true
mTitle.setHorizontallyScrolling(true)
}
}

View File

@@ -0,0 +1,89 @@
package com.lt2333.simplicitytools.hooks.rules.all.miuihome
import android.app.AndroidAppHelper
import android.content.ComponentName
import android.content.Intent
import android.content.res.Configuration
import android.os.Bundle
import android.view.View
import com.github.kyuubiran.ezxhelper.init.InitFields.moduleRes
import com.github.kyuubiran.ezxhelper.utils.args
import com.github.kyuubiran.ezxhelper.utils.findAllMethods
import com.github.kyuubiran.ezxhelper.utils.findMethod
import com.github.kyuubiran.ezxhelper.utils.getStaticObject
import com.github.kyuubiran.ezxhelper.utils.hookAfter
import com.github.kyuubiran.ezxhelper.utils.hookBefore
import com.github.kyuubiran.ezxhelper.utils.invokeMethod
import com.github.kyuubiran.ezxhelper.utils.invokeStaticMethod
import com.github.kyuubiran.ezxhelper.utils.loadClass
import com.github.kyuubiran.ezxhelper.utils.putStaticObject
import com.lt2333.simplicitytools.R
import com.lt2333.simplicitytools.utils.*
import com.lt2333.simplicitytools.utils.xposed.base.HookRegister
import de.robv.android.xposed.XposedHelpers
object ShortcutAddSmallWindowForAll : HookRegister() {
override fun init() = hasEnable("miuihome_shortcut_add_small_window") {
val mViewDarkModeHelper = ("com.miui.home.launcher.util.ViewDarkModeHelper").findClass()
val mSystemShortcutMenu = ("com.miui.home.launcher.shortcuts.SystemShortcutMenu").findClass()
val mSystemShortcutMenuItem = ("com.miui.home.launcher.shortcuts.SystemShortcutMenuItem").findClass()
val mAppShortcutMenu = ("com.miui.home.launcher.shortcuts.AppShortcutMenu").findClass()
val mShortcutMenuItem = ("com.miui.home.launcher.shortcuts.ShortcutMenuItem").findClass()
val mAppDetailsShortcutMenuItem = ("com.miui.home.launcher.shortcuts.SystemShortcutMenuItem\$AppDetailsShortcutMenuItem").findClass()
val mActivityUtilsCompat = ("com.miui.launcher.utils.ActivityUtilsCompat").findClass()
mViewDarkModeHelper.hookAfterAllMethods("onConfigurationChanged") {
mSystemShortcutMenuItem.callStaticMethod("createAllSystemShortcutMenuItems")
}
mShortcutMenuItem.hookAfterAllMethods("getShortTitle") {
if (it.result == "应用信息") {
it.result = "信息"
}
}
mAppDetailsShortcutMenuItem.hookBeforeMethod("lambda\$getOnClickListener$0", mAppDetailsShortcutMenuItem, View::class.java) {
val obj = it.args[0]
val view: View = it.args[1] as View
val mShortTitle = obj.callMethod("getShortTitle") as CharSequence
if (mShortTitle == moduleRes.getString(R.string.miuihome_shortcut_add_small_window_title)) {
it.result = null
val intent = Intent()
val mComponentName = obj.callMethod("getComponentName") as ComponentName
intent.action = "android.intent.action.MAIN"
intent.addCategory("android.intent.category.LAUNCHER")
intent.component = mComponentName
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
val callStaticMethod = mActivityUtilsCompat.callStaticMethod("makeFreeformActivityOptions", view.context, mComponentName.packageName)
if (callStaticMethod != null) {
view.context.startActivity(intent, callStaticMethod.callMethod("toBundle") as Bundle)
}
}
}
mSystemShortcutMenu.hookAfterAllMethods("getMaxShortcutItemCount") {
it.result = 5
}
mAppShortcutMenu.hookAfterAllMethods("getMaxShortcutItemCount") {
it.result = 5
}
mSystemShortcutMenuItem.hookAfterAllMethods("createAllSystemShortcutMenuItems") {
val isDarkMode =
AndroidAppHelper.currentApplication().applicationContext.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK == Configuration.UI_MODE_NIGHT_YES
val mAllSystemShortcutMenuItems = mSystemShortcutMenuItem.getStaticObjectField("sAllSystemShortcutMenuItems") as Collection<Any>
val mSmallWindowInstance = XposedHelpers.newInstance(mAppDetailsShortcutMenuItem)
mSmallWindowInstance.callMethod("setShortTitle", moduleRes.getString(R.string.miuihome_shortcut_add_small_window_title))
mSmallWindowInstance.callMethod(
"setIconDrawable",
if (isDarkMode) moduleRes.getDrawable(R.drawable.ic_small_window_dark) else moduleRes.getDrawable(R.drawable.ic_small_window_light)
)
val sAllSystemShortcutMenuItems = ArrayList<Any>()
sAllSystemShortcutMenuItems.add(mSmallWindowInstance)
sAllSystemShortcutMenuItems.addAll(mAllSystemShortcutMenuItems)
mSystemShortcutMenuItem.setStaticObjectField("sAllSystemShortcutMenuItems", sAllSystemShortcutMenuItems)
}
}
}

View File

@@ -1,27 +1,29 @@
package com.lt2333.simplicitytools.hooks.rules.all.securitycenter
import com.github.kyuubiran.ezxhelper.utils.*
import com.lt2333.simplicitytools.utils.XSPUtils
import com.lt2333.simplicitytools.utils.xposed.base.HookRegister
import de.robv.android.xposed.XC_MethodHook
import de.robv.android.xposed.XposedBridge
import de.robv.android.xposed.XposedHelpers
object RemoveMacroBlacklistForAll : HookRegister() {
override fun init() {
// TODO: 新版已失效
if (XSPUtils.getBoolean("remove_macro_blacklist", false)) {
var letter = 'a'
for (i in 0..25) {
val classIfExists = XposedHelpers.findClassIfExists(
"com.miui.gamebooster.v.$letter" + "0", getDefaultClassLoader()
"com.miui.gamebooster.utils.$letter" + "0", getDefaultClassLoader()
) ?: continue
if (classIfExists.declaredMethods.size in 6..12 && classIfExists.fields.isEmpty() && classIfExists.declaredFields.size >= 2) {
XposedHelpers.findAndHookMethod(classIfExists, "c", String::class.java,
object : XC_MethodHook() {
override fun beforeHookedMethod(param: MethodHookParam?) {
param?.result = false
}
})
if (classIfExists.declaredMethods.size in 10..15 && classIfExists.fields.isEmpty() && classIfExists.declaredFields.size >= 2) {
XposedBridge.log("Woobox: RemoveMacroBlacklist in ${classIfExists.name}")
findMethod(classIfExists){
name=="c" && returnType==Boolean::class.java && isStatic &&parameterCount==1
}.hookBefore {
XposedBridge.log("Woobox: c")
it.result = false
}
return
}
letter++

View File

@@ -3,11 +3,8 @@ package com.lt2333.simplicitytools.hooks.rules.t.systemui
import android.content.Context
import android.content.res.Resources
import android.graphics.Typeface
import android.util.TypedValue
import android.view.Gravity
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.TextView
import com.github.kyuubiran.ezxhelper.utils.*
import com.lt2333.simplicitytools.utils.XSPUtils
@@ -17,58 +14,76 @@ import com.lt2333.simplicitytools.utils.xposed.base.HookRegister
object StatusBarBigMobileTypeIconForT : HookRegister() {
private val getLocation = XSPUtils.getInt("big_mobile_type_location", 1)
private val upAndDownPosition = XSPUtils.getInt("big_mobile_type_icon_up_and_down_position", 0)
private val leftAndRightMargin =
XSPUtils.getInt("big_mobile_type_icon_left_and_right_margins", 0)
private val leftAndRightMargin = XSPUtils.getInt("big_mobile_type_icon_left_and_right_margins", 0)
private val isBold = XSPUtils.getBoolean("big_mobile_type_icon_bold", true)
private val size = XSPUtils.getFloat("big_mobile_type_icon_size", 12.5f)
private val isOnlyShowNetwork = XSPUtils.getBoolean("big_mobile_type_only_show_network_card", false)
override fun init() = hasEnable("big_mobile_type_icon") {
//使网络类型单独显示
findMethod("com.android.systemui.statusbar.StatusBarMobileView"){
findMethod("com.android.systemui.statusbar.StatusBarMobileView") {
name == "applyMobileState"
}.hookBefore {
val mobileIconState = it.args[0]
mobileIconState.putObject("showMobileDataTypeSingle",true)
mobileIconState.putObject("showMobileDataTypeSingle", true)
}
findMethod("com.android.systemui.statusbar.StatusBarMobileView") {
name == "init"
name == "initViewState"
}.hookAfter {
val mobileIconState = it.args[0]
val statusBarMobileView = it.thisObject as ViewGroup
val context: Context = statusBarMobileView.context
val res: Resources = context.resources
//获取组件
val mobileContainerLeftId: Int =
res.getIdentifier("mobile_container_left", "id", "com.android.systemui")
val mobileContainerLeft =
statusBarMobileView.findViewById<ViewGroup>(mobileContainerLeftId)
val mobileContainerLeftId: Int = res.getIdentifier("mobile_container_left", "id", "com.android.systemui")
val mobileContainerLeft = statusBarMobileView.findViewById<ViewGroup>(mobileContainerLeftId)
val mobileGroupId: Int =
res.getIdentifier("mobile_group", "id", "com.android.systemui")
val mobileGroup =
statusBarMobileView.findViewById<ViewGroup>(mobileGroupId)
val mobileGroupId: Int = res.getIdentifier("mobile_group", "id", "com.android.systemui")
val mobileGroup = statusBarMobileView.findViewById<ViewGroup>(mobileGroupId)
val mobileTypeSingleId: Int =
res.getIdentifier("mobile_type_single", "id", "com.android.systemui")
val mobileTypeSingleId: Int = res.getIdentifier("mobile_type_single", "id", "com.android.systemui")
val mobileTypeSingle = statusBarMobileView.findViewById<TextView>(mobileTypeSingleId)
//更改顺序
mobileGroup.removeView(mobileTypeSingle)
mobileGroup.addView(mobileTypeSingle)
mobileGroup.removeView(mobileContainerLeft)
mobileGroup.addView(mobileContainerLeft)
if (getLocation == 1) {
mobileGroup.removeView(mobileTypeSingle)
mobileGroup.addView(mobileTypeSingle)
mobileGroup.removeView(mobileContainerLeft)
mobileGroup.addView(mobileContainerLeft)
}
//更改样式
mobileTypeSingle.textSize = size
if (isBold){
if (isBold) {
mobileTypeSingle.typeface = Typeface.DEFAULT_BOLD
}
mobileTypeSingle.setPadding(leftAndRightMargin, upAndDownPosition,
leftAndRightMargin,0)
mobileTypeSingle.setPadding(
leftAndRightMargin, upAndDownPosition, leftAndRightMargin, 0
)
it.thisObject.invokeMethodAuto("updateState",mobileIconState)
}
//显示非上网卡的大图标
if (!isOnlyShowNetwork) {
findMethod("com.android.systemui.statusbar.StatusBarMobileView") {
name == "updateState"
}.hookAfter {
val mobileIconState = it.args[0]
val statusBarMobileView = it.thisObject as ViewGroup
val context: Context = statusBarMobileView.context
val res: Resources = context.resources
val mobileTypeSingleId: Int = res.getIdentifier("mobile_type_single", "id", "com.android.systemui")
val mobileTypeSingle = statusBarMobileView.findViewById<TextView>(mobileTypeSingleId)
if (!mobileIconState.getObjectAs<Boolean>("dataConnected") && !mobileIconState.getObjectAs<Boolean>("wifiAvailable")) {
mobileTypeSingle.visibility = View.VISIBLE
}
}
}
}
}

View File

@@ -16,10 +16,11 @@ import com.lt2333.simplicitytools.utils.XSPUtils
import com.lt2333.simplicitytools.utils.hasEnable
import com.lt2333.simplicitytools.utils.xposed.base.HookRegister
object StatusBarLayoutForT : HookRegister() {
private val getMode = XSPUtils.getInt("status_bar_layout_mode", 0)
private val getHoleLocation = XSPUtils.getInt("screen_hole_location", 0)
private val isCompatibilityMode = XSPUtils.getBoolean("layout_compatibility_mode", false)
private var statusBarLeft = 0
private var statusBarTop = 0
@@ -42,17 +43,12 @@ object StatusBarLayoutForT : HookRegister() {
mLeftLayout!!.setPadding(statusBarLeft, 0, 0, 0)
mRightLayout!!.setPadding(0, 0, statusBarRight, 0)
statusBar!!.setPadding(0, statusBarTop, 0, statusBarBottom)
} else {
//横屏状态
mLeftLayout!!.setPadding(175, 0, 0, 0)
mRightLayout!!.setPadding(0, 0, 175, 0)
statusBar!!.setPadding(0, statusBarTop, 0, statusBarBottom)
}
}
//判断是否开启居中挖孔兼容模式
if (getHoleLocation == 1) {
findMethod("com.android.systemui.ScreenDecorations\$DisplayCutoutView") {
//判断是否开启挖孔兼容模式
if (isCompatibilityMode) {
findMethod("com.android.systemui.ScreenDecorations") {
name == "boundsFromDirection" && parameterCount == 3 && isStatic
}.hookBefore {
it.args[1] = 0
@@ -64,43 +60,35 @@ object StatusBarLayoutForT : HookRegister() {
0 -> return
//时钟居中
1 -> {
findMethod("com.android.systemui.statusbar.phone.CollapsedStatusBarFragment") {
findMethod("com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment") {
name == "onViewCreated" && parameterCount == 2
}.hookAfter { param ->
val miuiPhoneStatusBarView =
param.thisObject.getObjectAs<ViewGroup>("mStatusBar")
val miuiPhoneStatusBarView = param.thisObject.getObjectAs<ViewGroup>("mStatusBar")
val context: Context = miuiPhoneStatusBarView.context
val res: Resources = miuiPhoneStatusBarView.resources
val statusBarId: Int =
res.getIdentifier("status_bar", "id", "com.android.systemui")
val statusBarContentsId: Int =
res.getIdentifier("status_bar_contents", "id", "com.android.systemui")
val systemIconAreaId: Int =
res.getIdentifier("system_icon_area", "id", "com.android.systemui")
val statusBarId: Int = res.getIdentifier("status_bar", "id", "com.android.systemui")
val statusBarContentsId: Int = res.getIdentifier(
"status_bar_contents", "id", "com.android.systemui"
)
val systemIconAreaId: Int = res.getIdentifier("system_icon_area", "id", "com.android.systemui")
val clockId: Int = res.getIdentifier("clock", "id", "com.android.systemui")
val phoneStatusBarLeftContainerId: Int =
res.getIdentifier(
"phone_status_bar_left_container",
"id",
"com.android.systemui"
)
val notificationIconAreaInnerId: Int =
res.getIdentifier(
"notification_icon_area_inner",
"id",
"com.android.systemui"
)
val phoneStatusBarLeftContainerId: Int = res.getIdentifier(
"phone_status_bar_left_container", "id", "com.android.systemui"
)
val notificationIconAreaInnerId: Int = res.getIdentifier(
"notification_icon_area_inner", "id", "com.android.systemui"
)
statusBar = miuiPhoneStatusBarView.findViewById(statusBarId)
val statusBarContents: ViewGroup =
miuiPhoneStatusBarView.findViewById(statusBarContentsId)
val statusBarContents: ViewGroup = miuiPhoneStatusBarView.findViewById(statusBarContentsId)
if (statusBar == null) return@hookAfter
val clock: TextView = miuiPhoneStatusBarView.findViewById(clockId)
val phoneStatusBarLeftContainer: ViewGroup =
miuiPhoneStatusBarView.findViewById(phoneStatusBarLeftContainerId)
val notificationIconAreaInner: ViewGroup =
miuiPhoneStatusBarView.findViewById(notificationIconAreaInnerId)
val systemIconArea: ViewGroup =
miuiPhoneStatusBarView.findViewById(systemIconAreaId)
val phoneStatusBarLeftContainer: ViewGroup = miuiPhoneStatusBarView.findViewById(
phoneStatusBarLeftContainerId
)
val notificationIconAreaInner: ViewGroup = miuiPhoneStatusBarView.findViewById(
notificationIconAreaInnerId
)
val systemIconArea: ViewGroup = miuiPhoneStatusBarView.findViewById(systemIconAreaId)
(clock.parent as ViewGroup).removeView(clock)
(phoneStatusBarLeftContainer.parent as ViewGroup).removeView(
@@ -111,41 +99,39 @@ object StatusBarLayoutForT : HookRegister() {
)
(systemIconArea.parent as ViewGroup).removeView(systemIconArea)
val mConstraintLayout =
ConstraintLayout(context).also {
it.layoutParams = ConstraintLayout.LayoutParams(
ConstraintLayout.LayoutParams.MATCH_PARENT,
ConstraintLayout.LayoutParams.MATCH_PARENT
)
}
val mConstraintLayout = ConstraintLayout(context).also {
it.layoutParams = ConstraintLayout.LayoutParams(
ConstraintLayout.LayoutParams.MATCH_PARENT, ConstraintLayout.LayoutParams.MATCH_PARENT
)
}
mConstraintLayout.addView(notificationIconAreaInner)
val fullscreenNotificationIconAreaLp = LinearLayout.LayoutParams(
ConstraintLayout.LayoutParams.MATCH_PARENT,
ConstraintLayout.LayoutParams.MATCH_PARENT
ConstraintLayout.LayoutParams.MATCH_PARENT, ConstraintLayout.LayoutParams.MATCH_PARENT
)
notificationIconAreaInner.layoutParams = fullscreenNotificationIconAreaLp
//增加一个左对齐布局
mLeftLayout = LinearLayout(context)
val leftLp: LinearLayout.LayoutParams =
LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT, 1.0f)
val leftLp: LinearLayout.LayoutParams = LinearLayout.LayoutParams(
0, LinearLayout.LayoutParams.MATCH_PARENT, 1.0f
)
mLeftLayout!!.layoutParams = leftLp
mLeftLayout!!.gravity = Gravity.START or Gravity.CENTER_VERTICAL
//增加一个居中布局
mCenterLayout = LinearLayout(context)
val centerLp: LinearLayout.LayoutParams = LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.MATCH_PARENT
LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT
)
mCenterLayout!!.layoutParams = centerLp
mCenterLayout!!.gravity = Gravity.CENTER or Gravity.CENTER_VERTICAL
mRightLayout = LinearLayout(context)
val rightLp: LinearLayout.LayoutParams =
LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT, 1.0f)
val rightLp: LinearLayout.LayoutParams = LinearLayout.LayoutParams(
0, LinearLayout.LayoutParams.MATCH_PARENT, 1.0f
)
mRightLayout!!.layoutParams = rightLp
mRightLayout!!.gravity = Gravity.END or Gravity.CENTER_VERTICAL
mLeftLayout!!.addView(phoneStatusBarLeftContainer)
@@ -163,7 +149,7 @@ object StatusBarLayoutForT : HookRegister() {
statusBarBottom = statusBar!!.paddingBottom
if (getHoleLocation == 2) {
if (isCompatibilityMode) {
val customLeftMargin = XSPUtils.getInt("status_bar_left_margin", 0)
if (customLeftMargin != 0) {
statusBarLeft = customLeftMargin
@@ -188,17 +174,15 @@ object StatusBarLayoutForT : HookRegister() {
}
//时钟居右
2 -> {
findMethod("com.android.systemui.statusbar.phone.CollapsedStatusBarFragment") {
findMethod("com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment") {
name == "onViewCreated" && parameterCount == 2
}.hookAfter { param ->
val miuiPhoneStatusBarView =
param.thisObject.getObjectAs<ViewGroup>("mStatusBar")
val miuiPhoneStatusBarView = param.thisObject.getObjectAs<ViewGroup>("mStatusBar")
val context: Context = miuiPhoneStatusBarView.context
val res: Resources = miuiPhoneStatusBarView.resources
//组件ID
val statusBarId: Int =
res.getIdentifier("status_bar", "id", "com.android.systemui")
val statusBarId: Int = res.getIdentifier("status_bar", "id", "com.android.systemui")
val clockId: Int = res.getIdentifier("clock", "id", "com.android.systemui")
val batteryId: Int = res.getIdentifier("battery", "id", "com.android.systemui")
@@ -210,8 +194,7 @@ object StatusBarLayoutForT : HookRegister() {
//新建布局
val rightLp = LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.MATCH_PARENT
LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT
).also {
it.marginStart = dp2px(context, 5f)
}
@@ -227,68 +210,48 @@ object StatusBarLayoutForT : HookRegister() {
}
//时钟居中+图标居左
3 -> {
findMethod("com.android.systemui.statusbar.phone.CollapsedStatusBarFragment") {
findMethod("com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment") {
name == "onViewCreated" && parameterCount == 2
}.hookAfter { param ->
val miuiPhoneStatusBarView =
param.thisObject.getObjectAs<ViewGroup>("mStatusBar")
val miuiPhoneStatusBarView = param.thisObject.getObjectAs<ViewGroup>("mStatusBar")
val context: Context = miuiPhoneStatusBarView.context
val res: Resources = miuiPhoneStatusBarView.resources
val statusBarId: Int =
res.getIdentifier("status_bar", "id", "com.android.systemui")
val statusBarContentsId: Int =
res.getIdentifier("status_bar_contents", "id", "com.android.systemui")
val systemIconAreaId: Int =
res.getIdentifier("system_icon_area", "id", "com.android.systemui")
val statusBarId: Int = res.getIdentifier("status_bar", "id", "com.android.systemui")
val statusBarContentsId: Int = res.getIdentifier(
"status_bar_contents", "id", "com.android.systemui"
)
val systemIconAreaId: Int = res.getIdentifier("system_icon_area", "id", "com.android.systemui")
val clockId: Int = res.getIdentifier("clock", "id", "com.android.systemui")
val phoneStatusBarLeftContainerId: Int =
res.getIdentifier(
"phone_status_bar_left_container",
"id",
"com.android.systemui"
)
val fullscreenNotificationIconAreaId: Int =
res.getIdentifier(
"fullscreen_notification_icon_area",
"id",
"com.android.systemui"
)
val statusIconsId: Int =
res.getIdentifier(
"statusIcons",
"id",
"com.android.systemui"
)
val systemIconsId: Int =
res.getIdentifier(
"system_icons",
"id",
"com.android.systemui"
)
val batteryId: Int =
res.getIdentifier(
"battery",
"id",
"com.android.systemui"
)
val phoneStatusBarLeftContainerId: Int = res.getIdentifier(
"phone_status_bar_left_container", "id", "com.android.systemui"
)
val fullscreenNotificationIconAreaId: Int = res.getIdentifier(
"fullscreen_notification_icon_area", "id", "com.android.systemui"
)
val statusIconsId: Int = res.getIdentifier(
"statusIcons", "id", "com.android.systemui"
)
val systemIconsId: Int = res.getIdentifier(
"system_icons", "id", "com.android.systemui"
)
val batteryId: Int = res.getIdentifier(
"battery", "id", "com.android.systemui"
)
statusBar = miuiPhoneStatusBarView.findViewById(statusBarId)
val statusBarContents: ViewGroup =
miuiPhoneStatusBarView.findViewById(statusBarContentsId)
val statusBarContents: ViewGroup = miuiPhoneStatusBarView.findViewById(statusBarContentsId)
if (statusBar == null) return@hookAfter
val clock: TextView = miuiPhoneStatusBarView.findViewById(clockId)
val phoneStatusBarLeftContainer: ViewGroup =
miuiPhoneStatusBarView.findViewById(phoneStatusBarLeftContainerId)
val fullscreenNotificationIconArea: ViewGroup =
miuiPhoneStatusBarView.findViewById(fullscreenNotificationIconAreaId)
val systemIconArea: ViewGroup =
miuiPhoneStatusBarView.findViewById(systemIconAreaId)
val statusIcons: ViewGroup =
miuiPhoneStatusBarView.findViewById(statusIconsId)
val systemIcons: ViewGroup =
miuiPhoneStatusBarView.findViewById(systemIconsId)
val battery: ViewGroup =
miuiPhoneStatusBarView.findViewById(batteryId)
val phoneStatusBarLeftContainer: ViewGroup = miuiPhoneStatusBarView.findViewById(
phoneStatusBarLeftContainerId
)
val fullscreenNotificationIconArea: ViewGroup = miuiPhoneStatusBarView.findViewById(
fullscreenNotificationIconAreaId
)
val systemIconArea: ViewGroup = miuiPhoneStatusBarView.findViewById(systemIconAreaId)
val statusIcons: ViewGroup = miuiPhoneStatusBarView.findViewById(statusIconsId)
val systemIcons: ViewGroup = miuiPhoneStatusBarView.findViewById(systemIconsId)
val battery: ViewGroup = miuiPhoneStatusBarView.findViewById(batteryId)
(clock.parent as ViewGroup).removeView(clock)
(phoneStatusBarLeftContainer.parent as ViewGroup).removeView(
@@ -302,29 +265,25 @@ object StatusBarLayoutForT : HookRegister() {
fullscreenNotificationIconArea
)
val mConstraintLayout =
ConstraintLayout(context).also {
it.layoutParams = ConstraintLayout.LayoutParams(
ConstraintLayout.LayoutParams.MATCH_PARENT,
ConstraintLayout.LayoutParams.MATCH_PARENT
)
}
val mConstraintLayout = ConstraintLayout(context).also {
it.layoutParams = ConstraintLayout.LayoutParams(
ConstraintLayout.LayoutParams.MATCH_PARENT, ConstraintLayout.LayoutParams.MATCH_PARENT
)
}
mConstraintLayout.addView(fullscreenNotificationIconArea)
mConstraintLayout.addView(battery)
battery.layoutParams = ConstraintLayout.LayoutParams(
ConstraintLayout.LayoutParams.WRAP_CONTENT,
ConstraintLayout.LayoutParams.MATCH_PARENT
ConstraintLayout.LayoutParams.WRAP_CONTENT, ConstraintLayout.LayoutParams.MATCH_PARENT
).also {
it.endToEnd = 0
}
fullscreenNotificationIconArea.layoutParams = ConstraintLayout.LayoutParams(
0,
ConstraintLayout.LayoutParams.MATCH_PARENT
0, ConstraintLayout.LayoutParams.MATCH_PARENT
).also {
it.startToEnd = batteryId
it.endToEnd = 0
@@ -334,24 +293,25 @@ object StatusBarLayoutForT : HookRegister() {
//增加一个左对齐布局
mLeftLayout = LinearLayout(context)
val leftLp: LinearLayout.LayoutParams =
LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT, 1.0f)
val leftLp: LinearLayout.LayoutParams = LinearLayout.LayoutParams(
0, LinearLayout.LayoutParams.MATCH_PARENT, 1.0f
)
mLeftLayout!!.layoutParams = leftLp
mLeftLayout!!.gravity = Gravity.START or Gravity.CENTER_VERTICAL
//增加一个居中布局
mCenterLayout = LinearLayout(context)
val centerLp: LinearLayout.LayoutParams = LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.MATCH_PARENT
LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT
)
mCenterLayout!!.layoutParams = centerLp
mCenterLayout!!.gravity = Gravity.CENTER or Gravity.CENTER_VERTICAL
//增加一个右布局
mRightLayout = LinearLayout(context)
val rightLp: LinearLayout.LayoutParams =
LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT, 1.0f)
val rightLp: LinearLayout.LayoutParams = LinearLayout.LayoutParams(
0, LinearLayout.LayoutParams.MATCH_PARENT, 1.0f
)
mRightLayout!!.layoutParams = rightLp
mRightLayout!!.gravity = Gravity.END or Gravity.CENTER_VERTICAL
@@ -378,7 +338,7 @@ object StatusBarLayoutForT : HookRegister() {
statusBarBottom = statusBar!!.paddingBottom
if (getHoleLocation == 2) {
if (isCompatibilityMode) {
val customLeftMargin = XSPUtils.getInt("status_bar_left_margin", 0)
if (customLeftMargin != 0) {
statusBarLeft = customLeftMargin
@@ -395,7 +355,7 @@ object StatusBarLayoutForT : HookRegister() {
findMethod("com.android.systemui.statusbar.phone.PhoneStatusBarView") {
name == "updateLayoutForCutout"
}.hookAfter {
if (getHoleLocation == 2) {
if (isCompatibilityMode) {
val context = (it.thisObject as ViewGroup).context
updateLayout(context)
}
@@ -407,18 +367,24 @@ object StatusBarLayoutForT : HookRegister() {
}.hookAfter {
val miuiPhoneStatusBarView = it.thisObject.getObjectAs<ViewGroup>("mStatusBar")
val res = miuiPhoneStatusBarView.resources
val statusBarId =
res.getIdentifier("status_bar", "id", "com.android.systemui")
val statusBarId = res.getIdentifier("status_bar", "id", "com.android.systemui")
val statusBar1 = miuiPhoneStatusBarView.findViewById<ViewGroup>(statusBarId)
//非锁屏下整个状态栏布局
val keyguardMgr =
statusBar1.context.getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager
val keyguardMgr = statusBar1.context.getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager
if (keyguardMgr.isKeyguardLocked) {
statusBar1!!.visibility = View.GONE
} else {
statusBar1!!.visibility = View.VISIBLE
}
}
//TODO: 修改图标的顺序
/*findConstructor("com.android.systemui.statusbar.phone.StatusBarIconList") {
parameterCount == 1
}.hookBefore {
}*/
}
}
}

View File

@@ -2,12 +2,10 @@ package com.lt2333.simplicitytools.hooks.rules.t.systemui
import android.annotation.SuppressLint
import android.content.Context
import android.content.res.Resources
import android.os.Handler
import android.provider.Settings
import android.util.TypedValue
import android.view.Gravity
import android.view.ViewGroup
import android.widget.TextView
import com.github.kyuubiran.ezxhelper.utils.*
import com.lt2333.simplicitytools.utils.XSPUtils
@@ -16,6 +14,7 @@ import java.lang.reflect.Method
import java.text.SimpleDateFormat
import java.util.*
object StatusBarTimeCustomizationForT : HookRegister() {
private val getMode = XSPUtils.getInt("custom_clock_mode", 0)
@@ -30,14 +29,12 @@ object StatusBarTimeCustomizationForT : HookRegister() {
private val isSecond = XSPUtils.getBoolean("status_bar_time_seconds", false)
private val isDoubleHour = XSPUtils.getBoolean("status_bar_time_double_hour", false)
private val isPeriod = XSPUtils.getBoolean("status_bar_time_period", true)
private val isCenterAlign =
XSPUtils.getBoolean("status_bar_time_double_line_center_align", false)
private val isCenterAlign = XSPUtils.getBoolean("status_bar_time_double_line_center_align", false)
//极客模式
private val getGeekClockSize = XSPUtils.getInt("status_bar_clock_size_geek", 0)
private val getGeekFormat = XSPUtils.getString("custom_clock_format_geek", "HH:mm:ss")
private val isGeekCenterAlign =
XSPUtils.getBoolean("status_bar_time_center_align_geek", false)
private val isGeekCenterAlign = XSPUtils.getBoolean("status_bar_time_center_align_geek", false)
private lateinit var nowTime: Date
private var str = ""
@@ -83,9 +80,7 @@ object StatusBarTimeCustomizationForT : HookRegister() {
}
}
Timer().scheduleAtFixedRate(
T(),
1000 - System.currentTimeMillis() % 1000,
1000
T(), 1000 - System.currentTimeMillis() % 1000, 1000
)
} catch (_: Exception) {
}
@@ -98,8 +93,7 @@ object StatusBarTimeCustomizationForT : HookRegister() {
val textV = it.thisObject as TextView
if (textV.resources.getResourceEntryName(textV.id) == "clock") {
val t = Settings.System.getString(
c!!.contentResolver,
Settings.System.TIME_12_24
c!!.contentResolver, Settings.System.TIME_12_24
)
val is24 = t == "24"
nowTime = Calendar.getInstance().time
@@ -113,9 +107,15 @@ object StatusBarTimeCustomizationForT : HookRegister() {
findConstructor("com.android.systemui.statusbar.views.MiuiClock") {
paramCount == 3
}.hookAfter {
c = it.args[0] as Context
val textV = it.thisObject as TextView
textV.gravity = Gravity.CENTER
try {
val textV = it.thisObject as TextView
if (textV.resources.getResourceEntryName(textV.id) == "clock") {
c = it.args[0] as Context
val textV = it.thisObject as TextView
textV.gravity = Gravity.CENTER
}
} catch (_: Exception) {
}
}
}
}
@@ -149,9 +149,7 @@ object StatusBarTimeCustomizationForT : HookRegister() {
}
}
Timer().scheduleAtFixedRate(
T(),
1000 - System.currentTimeMillis() % 1000,
1000
T(), 1000 - System.currentTimeMillis() % 1000, 1000
)
} catch (_: Exception) {
}
@@ -159,12 +157,20 @@ object StatusBarTimeCustomizationForT : HookRegister() {
findMethod("com.android.systemui.statusbar.views.MiuiClock") {
name == "updateTime"
}.hookAfter {
}.hookBefore {
try {
val textV = it.thisObject as TextView
if (textV.resources.getResourceEntryName(textV.id) == "clock") {
nowTime = Calendar.getInstance().time
textV.text = SimpleDateFormat(getGeekFormat).format(nowTime)
val mMiuiStatusBarClockController = textV.getObject("mMiuiStatusBarClockController")
val mCalendar = mMiuiStatusBarClockController.invokeMethodAuto("getCalendar")
mCalendar?.invokeMethodAuto(
"setTimeInMillis", System.currentTimeMillis()
)
val textSb = StringBuilder()
val formatSb = StringBuilder(getGeekFormat.toString())
mCalendar?.invokeMethodAuto("format", c, textSb, formatSb)
textV.text = textSb.toString()
it.result = null
}
} catch (_: Exception) {
}
@@ -174,9 +180,15 @@ object StatusBarTimeCustomizationForT : HookRegister() {
findConstructor("com.android.systemui.statusbar.views.MiuiClock") {
paramCount == 3
}.hookAfter {
c = it.args[0] as Context
val textV = it.thisObject as TextView
textV.gravity = Gravity.CENTER
try {
val textV = it.thisObject as TextView
if (textV.resources.getResourceEntryName(textV.id) == "clock") {
c = it.args[0] as Context
val textV = it.thisObject as TextView
textV.gravity = Gravity.CENTER
}
} catch (_: Exception) {
}
}
}
}
@@ -191,7 +203,6 @@ object StatusBarTimeCustomizationForT : HookRegister() {
if (isYear) {
if (isZh) {
datePattern += "YY年"
// if (!isHideSpace) datePattern = "$datePattern "
} else {
datePattern += "YY"
if (isMonth || isDay) datePattern += "/"
@@ -200,7 +211,6 @@ object StatusBarTimeCustomizationForT : HookRegister() {
if (isMonth) {
if (isZh) {
datePattern += "M月"
// if (!isHideSpace) datePattern = "$datePattern "
} else {
datePattern += "M"
if (isDay) datePattern += "/"

View File

@@ -0,0 +1,439 @@
@file:Suppress("unused")
package com.lt2333.simplicitytools.utils
import android.annotation.SuppressLint
import android.content.res.XResources
import com.github.kyuubiran.ezxhelper.init.InitFields.ezXClassLoader
import com.github.kyuubiran.ezxhelper.utils.Log
import dalvik.system.BaseDexClassLoader
import de.robv.android.xposed.XC_MethodHook
import de.robv.android.xposed.XC_MethodHook.MethodHookParam
import de.robv.android.xposed.XC_MethodReplacement
import de.robv.android.xposed.XposedBridge.*
import de.robv.android.xposed.XposedHelpers.*
import de.robv.android.xposed.callbacks.XC_LayoutInflated
import java.lang.reflect.Field
import java.lang.reflect.Member
import java.lang.reflect.Modifier
import java.util.Enumeration
typealias MethodHookParam = MethodHookParam
typealias Replacer = (MethodHookParam) -> Any?
typealias Hooker = (MethodHookParam) -> Unit
fun Class<*>.hookMethod(method: String?, vararg args: Any?) = try {
findAndHookMethod(this, method, *args)
} catch (e: NoSuchMethodError) {
Log.e(e)
null
} catch (e: ClassNotFoundError) {
Log.e(e)
null
} catch (e: ClassNotFoundException) {
Log.e(e)
null
}
fun Member.hookMethod(callback: XC_MethodHook) = try {
hookMethod(this, callback)
} catch (e: Throwable) {
Log.e(e)
null
}
inline fun MethodHookParam.callHooker(crossinline hooker: Hooker) = try {
hooker(this)
} catch (e: Throwable) {
Log.e("Error occurred calling hooker on ${this.method}")
Log.e(e)
}
inline fun MethodHookParam.callReplacer(crossinline replacer: Replacer) = try {
replacer(this)
} catch (e: Throwable) {
Log.e("Error occurred calling replacer on ${this.method}")
Log.e(e)
null
}
inline fun Member.replaceMethod(crossinline replacer: Replacer) = hookMethod(object : XC_MethodReplacement() {
override fun replaceHookedMethod(param: MethodHookParam) = param.callReplacer(replacer)
})
inline fun Member.hookAfterMethod(crossinline hooker: Hooker) = hookMethod(object : XC_MethodHook() {
override fun afterHookedMethod(param: MethodHookParam) = param.callHooker(hooker)
})
inline fun Member.hookBeforeMethod(crossinline hooker: (MethodHookParam) -> Unit) = hookMethod(object : XC_MethodHook() {
override fun beforeHookedMethod(param: MethodHookParam) = param.callHooker(hooker)
})
inline fun Class<*>.hookBeforeMethod(
method: String?, vararg args: Any?, crossinline hooker: Hooker
) = hookMethod(method, *args, object : XC_MethodHook() {
override fun beforeHookedMethod(param: MethodHookParam) = param.callHooker(hooker)
})
inline fun Class<*>.hookAfterMethod(
method: String?, vararg args: Any?, crossinline hooker: Hooker
) = hookMethod(method, *args, object : XC_MethodHook() {
override fun afterHookedMethod(param: MethodHookParam) = param.callHooker(hooker)
})
inline fun Class<*>.replaceMethod(
method: String?, vararg args: Any?, crossinline replacer: Replacer
) = hookMethod(method, *args, object : XC_MethodReplacement() {
override fun replaceHookedMethod(param: MethodHookParam) = param.callReplacer(replacer)
})
fun Class<*>.hookAllMethods(methodName: String?, hooker: XC_MethodHook): Set<XC_MethodHook.Unhook> = try {
hookAllMethods(this, methodName, hooker)
} catch (e: NoSuchMethodError) {
Log.e(e)
emptySet()
} catch (e: ClassNotFoundError) {
Log.e(e)
emptySet()
} catch (e: ClassNotFoundException) {
Log.e(e)
emptySet()
}
inline fun Class<*>.hookBeforeAllMethods(methodName: String?, crossinline hooker: Hooker) = hookAllMethods(methodName, object : XC_MethodHook() {
override fun beforeHookedMethod(param: MethodHookParam) = param.callHooker(hooker)
})
inline fun Class<*>.hookAfterAllMethods(methodName: String?, crossinline hooker: Hooker) = hookAllMethods(methodName, object : XC_MethodHook() {
override fun afterHookedMethod(param: MethodHookParam) = param.callHooker(hooker)
})
inline fun Class<*>.replaceAllMethods(methodName: String?, crossinline replacer: Replacer) =
hookAllMethods(methodName, object : XC_MethodReplacement() {
override fun replaceHookedMethod(param: MethodHookParam) = param.callReplacer(replacer)
})
fun Class<*>.hookConstructor(vararg args: Any?) = try {
findAndHookConstructor(this, *args)
} catch (e: NoSuchMethodError) {
Log.e(e)
null
} catch (e: ClassNotFoundError) {
Log.e(e)
null
} catch (e: ClassNotFoundException) {
Log.e(e)
null
}
inline fun Class<*>.hookBeforeConstructor(vararg args: Any?, crossinline hooker: Hooker) = hookConstructor(*args, object : XC_MethodHook() {
override fun beforeHookedMethod(param: MethodHookParam) = param.callHooker(hooker)
})
inline fun Class<*>.hookAfterConstructor(vararg args: Any?, crossinline hooker: Hooker) = hookConstructor(*args, object : XC_MethodHook() {
override fun afterHookedMethod(param: MethodHookParam) = param.callHooker(hooker)
})
inline fun Class<*>.replaceConstructor(vararg args: Any?, crossinline hooker: Hooker) = hookConstructor(*args, object : XC_MethodReplacement() {
override fun replaceHookedMethod(param: MethodHookParam) = param.callHooker(hooker)
})
fun Class<*>.hookAllConstructors(hooker: XC_MethodHook): Set<XC_MethodHook.Unhook> = try {
hookAllConstructors(this, hooker)
} catch (e: NoSuchMethodError) {
Log.e(e)
emptySet()
} catch (e: ClassNotFoundError) {
Log.e(e)
emptySet()
} catch (e: ClassNotFoundException) {
Log.e(e)
emptySet()
}
inline fun Class<*>.hookAfterAllConstructors(crossinline hooker: Hooker) = hookAllConstructors(object : XC_MethodHook() {
override fun afterHookedMethod(param: MethodHookParam) = param.callHooker(hooker)
})
inline fun Class<*>.hookBeforeAllConstructors(crossinline hooker: Hooker) = hookAllConstructors(object : XC_MethodHook() {
override fun beforeHookedMethod(param: MethodHookParam) = param.callHooker(hooker)
})
inline fun Class<*>.replaceAllConstructors(crossinline hooker: Hooker) = hookAllConstructors(object : XC_MethodReplacement() {
override fun replaceHookedMethod(param: MethodHookParam) = param.callHooker(hooker)
})
fun String.hookMethod(
method: String?, vararg args: Any?
) = try {
findClass().hookMethod(method, *args)
} catch (e: ClassNotFoundError) {
Log.e(e)
null
} catch (e: ClassNotFoundException) {
Log.e(e)
null
}
inline fun String.hookBeforeMethod(
method: String?, vararg args: Any?, crossinline hooker: Hooker
) = try {
findClass().hookBeforeMethod(method, *args, hooker = hooker)
} catch (e: ClassNotFoundError) {
Log.e(e)
null
} catch (e: ClassNotFoundException) {
Log.e(e)
null
}
inline fun String.hookAfterMethod(
method: String?, vararg args: Any?, crossinline hooker: Hooker
) = try {
findClass().hookAfterMethod(method, *args, hooker = hooker)
} catch (e: ClassNotFoundError) {
Log.e(e)
null
} catch (e: ClassNotFoundException) {
Log.e(e)
null
}
inline fun String.replaceMethod(
method: String?, vararg args: Any?, crossinline replacer: Replacer
) = try {
findClass().replaceMethod(method, *args, replacer = replacer)
} catch (e: ClassNotFoundError) {
Log.e(e)
null
} catch (e: ClassNotFoundException) {
Log.e(e)
null
}
fun MethodHookParam.invokeOriginalMethod(): Any? = invokeOriginalMethod(method, thisObject, args)
inline fun <T, R> T.runCatchingOrNull(func: T.() -> R?) = try {
func()
} catch (e: Throwable) {
null
}
fun Any.getObjectField(field: String?): Any? = getObjectField(this, field)
fun Any.getObjectFieldOrNull(field: String?): Any? = runCatchingOrNull {
getObjectField(this, field)
}
@Suppress("UNCHECKED_CAST")
fun <T> Any.getObjectFieldAs(field: String?) = getObjectField(this, field) as T
@Suppress("UNCHECKED_CAST")
fun <T> Any.getObjectFieldOrNullAs(field: String?) = runCatchingOrNull {
getObjectField(this, field) as T
}
fun Any.getIntField(field: String?) = getIntField(this, field)
fun Any.getIntFieldOrNull(field: String?) = runCatchingOrNull {
getIntField(this, field)
}
fun Any.getLongField(field: String?) = getLongField(this, field)
fun Any.getLongFieldOrNull(field: String?) = runCatchingOrNull {
getLongField(this, field)
}
fun Any.getBooleanField(field: String?) = getBooleanField(this, field)
fun Any.getBooleanFieldOrNull(field: String?) = runCatchingOrNull {
getBooleanField(this, field)
}
fun Any.callMethod(methodName: String?, vararg args: Any?): Any? = callMethod(this, methodName, *args)
fun Any.callMethodOrNull(methodName: String?, vararg args: Any?): Any? = runCatchingOrNull {
callMethod(this, methodName, *args)
}
fun Class<*>.callStaticMethod(methodName: String?, vararg args: Any?): Any? = callStaticMethod(this, methodName, *args)
fun Class<*>.callStaticMethodOrNull(methodName: String?, vararg args: Any?): Any? = runCatchingOrNull {
callStaticMethod(this, methodName, *args)
}
@Suppress("UNCHECKED_CAST")
fun <T> Class<*>.callStaticMethodAs(methodName: String?, vararg args: Any?) = callStaticMethod(this, methodName, *args) as T
@Suppress("UNCHECKED_CAST")
fun <T> Class<*>.callStaticMethodOrNullAs(methodName: String?, vararg args: Any?) = runCatchingOrNull {
callStaticMethod(this, methodName, *args) as T
}
@Suppress("UNCHECKED_CAST")
fun <T> Class<*>.getStaticObjectFieldAs(field: String?) = getStaticObjectField(this, field) as T
@Suppress("UNCHECKED_CAST")
fun <T> Class<*>.getStaticObjectFieldOrNullAs(field: String?) = runCatchingOrNull {
getStaticObjectField(this, field) as T
}
fun Class<*>.getStaticObjectField(field: String?): Any? = getStaticObjectField(this, field)
fun Class<*>.getStaticObjectFieldOrNull(field: String?): Any? = runCatchingOrNull {
getStaticObjectField(this, field)
}
fun Class<*>.setStaticObjectField(field: String?, obj: Any?) = apply {
setStaticObjectField(this, field, obj)
}
fun Class<*>.setStaticObjectFieldIfExist(field: String?, obj: Any?) = apply {
try {
setStaticObjectField(this, field, obj)
} catch (ignored: Throwable) {
}
}
inline fun <reified T> Class<*>.findFieldByExactType(): Field? = findFirstFieldByExactType(this, T::class.java)
fun Class<*>.findFieldByExactType(type: Class<*>): Field? = findFirstFieldByExactType(this, type)
@Suppress("UNCHECKED_CAST")
fun <T> Any.callMethodAs(methodName: String?, vararg args: Any?) = callMethod(this, methodName, *args) as T
@Suppress("UNCHECKED_CAST")
fun <T> Any.callMethodOrNullAs(methodName: String?, vararg args: Any?) = runCatchingOrNull {
callMethod(this, methodName, *args) as T
}
fun Any.callMethod(methodName: String?, parameterTypes: Array<Class<*>>, vararg args: Any?): Any? =
callMethod(this, methodName, parameterTypes, *args)
fun Any.callMethodOrNull(
methodName: String?, parameterTypes: Array<Class<*>>, vararg args: Any?
): Any? = runCatchingOrNull {
callMethod(this, methodName, parameterTypes, *args)
}
fun Class<*>.callStaticMethod(
methodName: String?, parameterTypes: Array<Class<*>>, vararg args: Any?
): Any? = callStaticMethod(this, methodName, parameterTypes, *args)
fun Class<*>.callStaticMethodOrNull(
methodName: String?, parameterTypes: Array<Class<*>>, vararg args: Any?
): Any? = runCatchingOrNull {
callStaticMethod(this, methodName, parameterTypes, *args)
}
fun String.findClass(): Class<*> = findClass(this, ezXClassLoader)
fun String.findClassOrNull(): Class<*>? = findClassIfExists(this, ezXClassLoader)
fun Class<*>.new(vararg args: Any?): Any = newInstance(this, *args)
fun Class<*>.new(parameterTypes: Array<Class<*>>, vararg args: Any?): Any = newInstance(this, parameterTypes, *args)
fun Class<*>.findField(field: String?): Field = findField(this, field)
fun Class<*>.findFieldOrNull(field: String?): Field? = findFieldIfExists(this, field)
fun <T> T.setIntField(field: String?, value: Int) = apply {
setIntField(this, field, value)
}
fun <T> T.setLongField(field: String?, value: Long) = apply {
setLongField(this, field, value)
}
fun <T> T.setFloatField(field: String?, value: Float) = apply {
setFloatField(this, field, value)
}
fun <T> T.setBooleanField(field: String?, value: Boolean) = apply {
setBooleanField(this, field, value)
}
fun <T> T.setObjectField(field: String?, value: Any?) = apply {
setObjectField(this, field, value)
}
inline fun XResources.hookLayout(
id: Int, crossinline hooker: (XC_LayoutInflated.LayoutInflatedParam) -> Unit
) {
try {
hookLayout(id, object : XC_LayoutInflated() {
override fun handleLayoutInflated(liparam: LayoutInflatedParam) {
try {
hooker(liparam)
} catch (e: Throwable) {
Log.e(e)
}
}
})
} catch (e: Throwable) {
Log.e(e)
}
}
@SuppressLint("DiscouragedApi")
inline fun XResources.hookLayout(
pkg: String, type: String, name: String, crossinline hooker: (XC_LayoutInflated.LayoutInflatedParam) -> Unit
) {
try {
val id = getIdentifier(name, type, pkg)
hookLayout(id, hooker)
} catch (e: Throwable) {
Log.e(e)
}
}
fun Class<*>.findFirstFieldByExactType(type: Class<*>): Field = findFirstFieldByExactType(this, type)
fun Class<*>.findFirstFieldByExactTypeOrNull(type: Class<*>?): Field? = runCatchingOrNull {
findFirstFieldByExactType(this, type)
}
fun Any.getFirstFieldByExactType(type: Class<*>): Any? = javaClass.findFirstFieldByExactType(type).get(this)
@Suppress("UNCHECKED_CAST")
fun <T> Any.getFirstFieldByExactTypeAs(type: Class<*>) = javaClass.findFirstFieldByExactType(type).get(this) as? T
inline fun <reified T : Any> Any.getFirstFieldByExactType() = javaClass.findFirstFieldByExactType(T::class.java).get(this) as? T
fun Any.getFirstFieldByExactTypeOrNull(type: Class<*>?): Any? = runCatchingOrNull {
javaClass.findFirstFieldByExactTypeOrNull(type)?.get(this)
}
@Suppress("UNCHECKED_CAST")
fun <T> Any.getFirstFieldByExactTypeOrNullAs(type: Class<*>?) = getFirstFieldByExactTypeOrNull(type) as? T
inline fun <reified T> Any.getFirstFieldByExactTypeOrNull() = getFirstFieldByExactTypeOrNull(T::class.java) as? T
inline fun ClassLoader.findDexClassLoader(crossinline delegator: (BaseDexClassLoader) -> BaseDexClassLoader = { x -> x }): BaseDexClassLoader? {
var classLoader = this
while (classLoader !is BaseDexClassLoader) {
if (classLoader.parent != null) classLoader = classLoader.parent
else return null
}
return delegator(classLoader)
}
inline fun ClassLoader.allClassesList(crossinline delegator: (BaseDexClassLoader) -> BaseDexClassLoader = { x -> x }): List<String> {
return findDexClassLoader(delegator)?.getObjectField("pathList")?.getObjectFieldAs<Array<Any>>("dexElements")?.flatMap {
it.getObjectField("dexFile")?.callMethodAs<Enumeration<String>>("entries")?.toList().orEmpty()
}.orEmpty()
}
val Member.isStatic: Boolean
inline get() = Modifier.isStatic(modifiers)
val Member.isFinal: Boolean
inline get() = Modifier.isFinal(modifiers)
val Member.isPublic: Boolean
inline get() = Modifier.isPublic(modifiers)
val Member.isNotStatic: Boolean
inline get() = !isStatic
val Class<*>.isAbstract: Boolean
inline get() = !isPrimitive && Modifier.isAbstract(modifiers)

View File

@@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="63dp"
android:height="63dp"
android:autoMirrored="true"
android:viewportWidth="63"
android:viewportHeight="63">
<path
android:fillColor="#BCBDBE"
android:pathData="m17.85,15.85v17.3c0,0.83 0.67,1.5 1.5,1.5h13.3c0.83,0 1.5,-0.67 1.5,-1.5L34.15,15.85c0,-0.83 -0.68,-1.5 -1.5,-1.5h-13.3c-0.82,0 -1.5,0.67 -1.5,1.5ZM29.16,30.25h-6.32c-0.32,0 -0.59,-0.27 -0.59,-0.61v-10.27c0,-0.34 0.26,-0.61 0.59,-0.61h6.32c0.32,0 0.59,0.27 0.59,0.61v10.27c0,0.34 -0.26,0.61 -0.59,0.61Z" />
<path
android:fillColor="#BCBDBE"
android:pathData="m48.5,6.5L14.2,6.5c-2.32,0 -4.2,1.88 -4.2,4.2v41.3c0,2.49 2.01,4.5 4.5,4.5h34c2.49,0 4.5,-2.01 4.5,-4.5L53,11c0,-2.49 -2.01,-4.5 -4.5,-4.5ZM46.65,51.15h-30.3c-0.55,0 -1,-0.45 -1,-1L15.35,12.85c0,-0.55 0.45,-1 1,-1h30.3c0.55,0 1,0.45 1,1v37.3c0,0.55 -0.45,1 -1,1Z" />
</vector>

View File

@@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="63dp"
android:height="63dp"
android:autoMirrored="true"
android:viewportWidth="63"
android:viewportHeight="63">
<path
android:fillColor="#4D4D4D"
android:pathData="m17.85,15.85v17.3c0,0.83 0.67,1.5 1.5,1.5h13.3c0.83,0 1.5,-0.67 1.5,-1.5L34.15,15.85c0,-0.83 -0.68,-1.5 -1.5,-1.5h-13.3c-0.82,0 -1.5,0.67 -1.5,1.5ZM29.16,30.25h-6.32c-0.32,0 -0.59,-0.27 -0.59,-0.61v-10.27c0,-0.34 0.26,-0.61 0.59,-0.61h6.32c0.32,0 0.59,0.27 0.59,0.61v10.27c0,0.34 -0.26,0.61 -0.59,0.61Z" />
<path
android:fillColor="#4D4D4D"
android:pathData="m48.5,6.5L14.2,6.5c-2.32,0 -4.2,1.88 -4.2,4.2v41.3c0,2.49 2.01,4.5 4.5,4.5h34c2.49,0 4.5,-2.01 4.5,-4.5L53,11c0,-2.49 -2.01,-4.5 -4.5,-4.5ZM46.65,51.15h-30.3c-0.55,0 -1,-0.45 -1,-1L15.35,12.85c0,-0.55 0.45,-1 1,-1h30.3c0.55,0 1,0.45 1,1v37.3c0,0.55 -0.45,1 -1,1Z" />
</vector>

View File

@@ -38,7 +38,6 @@
<string name="github_url">Vítejte více vývojářů, aby se podíleli na vývoji</string>
<string name="issues">Zpětná vazba/návrh</string>
<string name="issues_url">Kliknutím zobrazíte problémy GitHub</string>
<string name="xposeddescription">Nástroj pro přizpůsobení MIUI13(Android 12)</string>
<string name="statusbar">Stavová lišta</string>
<string name="status_bar_time_seconds">Zobrazit vteřiny</string>
<string name="status_bar_network_speed_refresh_speed">Obnovení rychlosti sítě v sekundách</string>
@@ -46,7 +45,6 @@
<string name="main_switch">Hlavní přepínač modulu</string>
<string name="hide_gps_icon">Skrýt ikonu GPS</string>
<string name="hide_status_bar_network_speed_second">Skrýt jednotky rychlosti sítě (/s)</string>
<string name="menu">Menu</string>
<string name="Tips">Tipy</string>
<string name="skip_waiting_time">Přeskočit upozornění na 5/10 vteřin</string>
<string name="unlock_unlimited_cropping">Odstranit omezení oříznutí obrázků/snímků obrazovky</string>
@@ -69,7 +67,6 @@
<string name="status_bar_clock_size">Velikost hodin (0: neměnit)</string>
<string name="status_bar_clock_double_line_size">Velikost dvojitého řádku (0: neměnit)</string>
<string name="matters_needing_attention">Funkce nefunguje? </string>
<string name="Done">OK</string>
<string name="about_module_summary">Zobrazit informace o modulu</string>
<string name="contributor_list">Seznam přispěvatelů Open source repozitáře</string>
<string name="developer">Vývojář</string>
@@ -95,7 +92,6 @@
<string name="lock_one_hundred">Nastavit 100 bodů v bezpečnostní aplikaci</string>
<string name="scope">Rozsah</string>
<string name="scope_android">Systémový framework</string>
<string name="scope_systemui">SystemUI</string>
<string name="scope_miuihome">Domovská obrazovka</string>
<string name="scope_other">Ostatní</string>
<string name="status_bar_network_speed_refresh_speed_summary">Změnit frekvenci obnovení složky rychlosti sítě ve stavové liště na 1 s</string>
@@ -135,11 +131,8 @@
<string name="layout_compatibility_mode">Režim kompatibility</string>
<string name="left_margin">Levý okraj (0: Auto)</string>
<string name="right_margin">Pravý okraj (0: Auto)</string>
<string name="layout_compatibility_mode_summary">Umožnit zobrazení levého a pravého otvoru</string>
<string name="remove_macro_blacklist">Odstranit makro-černou listinu</string>
<string name="hide_network_speed_splitter">Skrýt rozdělovač rychlosti sítě</string>
<string name="updater">Updater</string>
<string name="remove_ota_validate">*Remove OTA validate [LAB]</string>
<string name="remove_ota_validate_summary">- Podpořte pouze použití VAB série, prosím neotevírejte jiné série.\n- Nemusí být potřeba interní testovací kvalifikace, aby bylo možné nainstalovat celý interní testovací balíček.\n- Ti, kdo mají interní testovací oprávnění, nebudou moci přijímat aktualizace interních testů a mohou být použity k blokování aktualizací systému.\n- Po aktualizaci křížových verzí je doporučeno vymazat data.\n- Neoficiální ROM použití není podporováno.</string>
<string name="settings">Nastavení</string>
<string name="show_notification_importance">Zobrazit důležitost oznámení</string>
@@ -188,7 +181,6 @@
<string name="input_error">Chyba vstupu</string>
<string name="range">Rozsah: </string>
<string name="big_mobile_type_icon_left_and_right_margins">Velká ikona mobilního typu doleva a doprava</string>
<string name="cast">Cast</string>
<string name="force_support_send_app">Vynutit otevření všech aplikací na jiném zařízení</string>
<string name="status_bar_time_double_line_center_align">Zarovnání uprostřed dvojité řádky</string>
<string name="default1">Výchozí</string>

View File

@@ -29,6 +29,7 @@
<string name="hide_nfc_icon">Ocultar icono de NFC</string>
<string name="hide_big_hd_icon">Ocultar icono grande HD</string>
<string name="hide_small_hd_icon">Ocultar icono pequeño HD</string>
<string name="hide_new_hd_icon">Ocultar nuevo icono HD</string>
<string name="hide_hd_no_service_icon">Ocultar icono sin servicio HD</string>
<string name="about">Acerca de</string>
<string name="about_module">Acerca del Módulo</string>
@@ -38,7 +39,7 @@
<string name="github_url">Más desarrolladores están invitados a participar en el proyecto</string>
<string name="issues">Comentarios/Sugerencias</string>
<string name="issues_url">Clic para ver errores en GitHub</string>
<string name="xposeddescription">Herramienta de personalización para MIUI13 (Android 12)</string>
<string name="xposeddescription">Herramienta de personalización para MIUI13+(Android 12+)</string>
<string name="statusbar">Barra de estado</string>
<string name="status_bar_time_seconds">Mostrar segundos</string>
<string name="status_bar_network_speed_refresh_speed">La velocidad de red se actualiza en segundos</string>
@@ -69,7 +70,7 @@
<string name="status_bar_clock_size">Tamaño del reloj (0: no cambiar)</string>
<string name="status_bar_clock_double_line_size">Tamaño de la fila dual (0: no cambiar)</string>
<string name="matters_needing_attention">¿Alguna característica no funciona? </string>
<string name="Done">OK</string>
<string name="Done">Ok</string>
<string name="about_module_summary">Ver información relacionada con el módulo</string>
<string name="contributor_list">Lista de colaboradores del repositorio de código abierto</string>
<string name="developer">Desarrollador</string>
@@ -135,7 +136,7 @@
<string name="layout_compatibility_mode">Modo de compatibilidad</string>
<string name="left_margin">Margen izquierdo (0: Auto)</string>
<string name="right_margin">Margen derecho (0: Auto)</string>
<string name="layout_compatibility_mode_summary">Hace que los agujeros izquierdo y derecho de la pantalla se puedan mostrar normalmente</string>
<string name="layout_compatibility_mode_summary">Forzar el diseño a pantalla completa (compatible con cualquier forma de pantalla)</string>
<string name="remove_macro_blacklist">Remueve la lista negra de game macro</string>
<string name="hide_network_speed_splitter">Remover el divisor de la velocidad de red</string>
<string name="updater">Actualizador</string>
@@ -224,4 +225,27 @@
<string name="off">Apagado</string>
<string name="center">Centro</string>
<string name="left_or_right">Izquierda o Derecha</string>
<string name="preset">Preajuste</string>
<string name="geek">Geek</string>
<string name="do_not_clear_app">Evitar cerrar apps en segundo plano</string>
<string name="do_not_clear_app_summary">Puede incrementar el consumo de batería, recomendado con \"Hacer el Millet más agresivo\", NO recomendado para usar con tombstones</string>
<string name="make_millet_more_aggressive">Hacer el Millet más agresivo</string>
<string name="make_millet_more_aggressive_summary">Permitr a Millet congelar apps mientras las apps en segundo plano tengan notificaciones, servicios y procesos ejecutándose.\nApps que no se deseen congelar se pueden configurar como Sin restricciones en Ahorro de batería.\nPor favor desinstala módulos relacionados con tombstone y NoANR antes de activar esta opción.</string>
<string name="make_millet_ignore_active">Permitir a Millet congelar apps activas</string>
<string name="make_millet_ignore_active_summary">Muy agresivo y puede afectar el comportamiento de la aplicación</string>
<string name="pkg_installer">Instalador de Paquetes</string>
<string name="pkg_installer_summary">Desactivar la comprobación del conteo de la instalación</string>
<string name="big_mobile_type_only_show_network_card">Tipo de móvil grande solo muestra tarjeta de red</string>
<string name="big_mobile_type_location">Ubicación del tipo de red móvil grande</string>
<string name="miuihome_recentview_remove_card_animation">Modificar la animación de marcado de tarjetas</string>
<string name="miuihome_recentview_remove_card_animation_summary">Modificar el efecto de animación al remover ventana de tareas recientes</string>
<string name="miuihome_recentwiew_wallpaper_darkening">Deshabilitar atenuación de fondo de pantalla</string>
<string name="miuihome_recentwiew_wallpaper_darkening_summary">Esto deshabilitará el efecto en el que el fondo de pantalla se ilumina gradualmente cuando se abre y se cierra una tarea reciente</string>
<string name="miuihome_scroll_icon_name">Desplazar el nombre de la app</string>
<string name="miuihome_scroll_icon_name_summary">Si el nombre de la aplicación es demasiado largo se mostrará con desplazamiento y sin ningúna línea nueva</string>
<string name="miuihome_shortcut_add_small_window">Añadir ventana al menú de accesos directos</string>
<string name="miuihome_shortcut_add_small_window_summary">Mantener presionando el icono del escritorio para añadir a una ventana de acceso rápido</string>
<string name="miuihome_shortcut_add_small_window_title">Ventana pequeña </string>
<string name="click_to_view_use_cases">Clic para ver casos de uso</string>
<string name="disable_bluetooth_temporarily_off" comment="This function is used to completely close Bluetooth">Deshabilitar Bluetooth temporalmente apagado</string>
</resources>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="lock_max_fps">Verrouiller le taux de rafraîchissement actuel</string>
<string name="ui">Interface</string>
<string name="delete_on_post_notification">Supprimer l\'affichage sur la notification</string>
<string name="delete_on_post_notification_summary">Supprimer la notification \"Cette application s\'affiche au-dessus des autres applications\"</string>
<string name="other">Autre</string>
@@ -30,13 +29,11 @@
<string name="hide_hd_no_service_icon">Masquer l\'icône HD Non Service</string>
<string name="about">À propos</string>
<string name="about_module">À propos du Module</string>
<string name="verison">Version</string>
<string name="dev_coolapk">Développeur en Coolapk</string>
<string name="opensource">Référentiel Open Source</string>
<string name="github_url">Bienvenue à d\'autres développeurs pour participer au développement</string>
<string name="issues">Feed-back/Proposition</string>
<string name="issues_url">Cliquez pour voir GitHub</string>
<string name="xposeddescription">Outil de personnalisation pour MIUI13(Android 12)</string>
<string name="statusbar">Barre d\'État</string>
<string name="status_bar_time_seconds">Affichage des secondes</string>
<string name="status_bar_network_speed_refresh_speed">Rafraichissement de la vitesse du réseau en secondes</string>
@@ -44,7 +41,6 @@
<string name="main_switch">Interrupteur Généra</string>
<string name="hide_gps_icon">Masquer l\'icône GPS</string>
<string name="hide_status_bar_network_speed_second">Masquer les unités de vitesse réseau (/s)</string>
<string name="menu">Menu</string>
<string name="Tips">Conseils</string>
<string name="unlock_unlimited_cropping">Supprimer la restriction lors du recadrage des photos/captures d\'écran</string>
<string name="hide_slave_wifi_icon">Masquer l\'icône secondaire WIFI</string>
@@ -84,7 +80,6 @@
<string name="qq_channel">Joignez la chaîne officielle en QQ</string>
<string name="tg_channel">Joignez la chaîne officielle en Télégramme</string>
<string name="tg_channel_summary">Vous pouvez entrer dans le groupe de discussion sur la page de la chaîne</string>
<string name="discussions">Discussions</string>
<string name="remove_small_window_restrictions_summary">Ignorer la liste noire du système et l\'interdiction du logiciel des petites fenêtres</string>
<string name="remove_the_left_side_of_the_lock_screen">Supprimer le panneau latéral de l\'écran de verrouillage</string>
<string name="remove_lock_screen_camera">Supprimer le caméra de l\'écran de verrouillage</string>
@@ -92,7 +87,6 @@
<string name="lock_one_hundred">Définir 100 points dans la Centre Security</string>
<string name="scope">Aapplication activée</string>
<string name="scope_android">Cadre du Système</string>
<string name="scope_systemui">SystemUI</string>
<string name="scope_miuihome">Homepage</string>
<string name="scope_other">Autres</string>
<string name="status_bar_network_speed_refresh_speed_summary">Changer la fréquence d\'actualisation du composant de vitesse réseau de la barre d\'état à 1s</string>
@@ -132,7 +126,6 @@
<string name="layout_compatibility_mode">Mode Compatibilité</string>
<string name="left_margin">Marge gauche (0: Auto)</string>
<string name="right_margin">Marge droite (0: Auto)</string>
<string name="layout_compatibility_mode_summary">L\'écran de trou peut s\'afficher normalement</string>
<string name="remove_macro_blacklist">Supprimer la liste noire des macros du jeu</string>
<string name="hide_network_speed_splitter">Masquer le écart de vitesse du réseau</string>
<string name="updater">Mise à jour</string>

View File

@@ -37,7 +37,6 @@
<string name="github_url">Szeretnénk, hogy több fejlesztő vegyen részt a fejlesztésben</string>
<string name="issues">Visszajelzés/javaslat</string>
<string name="issues_url">Kattintson a GitHub problémák megtekintéséhez</string>
<string name="xposeddescription">Testreszabási eszköz a MIUI13(Android 12) számára</string>
<string name="statusbar">Állapotsor</string>
<string name="status_bar_time_seconds">Másodpercek kijelzése</string>
<string name="status_bar_network_speed_refresh_speed">Hálózati sebesség frissítése másodpercekben</string>
@@ -68,7 +67,6 @@
<string name="status_bar_clock_size">Óraméret (0: nem változtatható)</string>
<string name="status_bar_clock_double_line_size">Kettős sorméret (0: nem változtatható)</string>
<string name="matters_needing_attention">A funkció nem működik? </string>
<string name="Done">OK</string>
<string name="about_module_summary">Modulhoz kapcsolódó információk megtekintése</string>
<string name="contributor_list">Nyílt forráskódú adattár közreműködőinek listája</string>
<string name="developer">Fejlesztő</string>
@@ -134,7 +132,6 @@
<string name="layout_compatibility_mode">Kompatibilitási mód</string>
<string name="left_margin">Bal margó (0: Automatikus)</string>
<string name="right_margin">Jobb margó (0: Automatikus)</string>
<string name="layout_compatibility_mode_summary">A bal és jobb oldali lyuk képernyő normálisan jeleníthető meg</string>
<string name="remove_macro_blacklist">Játék makró feketelista eltávolítása</string>
<string name="hide_network_speed_splitter">Hálózati sebességosztó elrejtése</string>
<string name="updater">Frissítés</string>

View File

@@ -31,21 +31,16 @@
<string name="about">Tentang</string>
<string name="about_module">Tentang Module</string>
<string name="verison">Versi</string>
<string name="dev_coolapk">Author Coolapk</string>
<string name="opensource">Repositori Sumber Terbuka</string>
<string name="github_url">Selamat datang lebih banyak developer untuk berpartisipasi dalam pengembangan</string>
<string name="issues">Umpan Balik/Usulan</string>
<string name="issues_url">Klik untuk melihat Masalah GitHub</string>
<string name="xposeddescription">Alat perubahan untuk MIUI13 (Android 12)</string>
<string name="statusbar">Status bar</string>
<string name="status_bar_time_seconds">Tampilkan detik</string>
<string name="status_bar_network_speed_refresh_speed">Perubahan kecepatan jaringan dalam detik</string>
<string name="remove_the_maximum_number_of_notification_icons">Hapus jumlah maksimum ikon notifikasi</string>
<string name="main_switch">Tombol modul</string>
<string name="hide_gps_icon">Sembunyikan ikon GPS</string>
<string name="hide_status_bar_network_speed_second">Sembunyikan unit kecepatan jaringan (/d)</string>
<string name="menu">Menu</string>
<string name="Tips">Tips</string>
<string name="unlock_unlimited_cropping">Hilangkan pembatasan untuk memotong gambar/cuplikan layar</string>
<string name="hide_slave_wifi_icon">Sembunyikan ikon WIFI tambahan</string>
<string name="HideLauncherIcon">Sembunyikan ikon launcher</string>
@@ -66,10 +61,8 @@
<string name="status_bar_clock_size">Ukuran jam (0: jangan di ganti)</string>
<string name="status_bar_clock_double_line_size">Baris ganda (0: jangan di ganti)</string>
<string name="matters_needing_attention">Fitur tidak berjalan? </string>
<string name="Done">OK</string>
<string name="about_module_summary">Lihat informasi terkait modul</string>
<string name="contributor_list">Daftar kontributor repositori sumber terbuka</string>
<string name="developer">Developer</string>
<string name="thank_list">Daftar ucapan terimakasih</string>
<string name="third_party_open_source_statement">Pernyataan Sumber Terbuka Pihak Ketiga</string>
<string name="corepacth">Hapus pembatasan</string>
@@ -132,7 +125,6 @@
<string name="layout_compatibility_mode">Mode kompatibel</string>
<string name="left_margin">Batas kiri (0: Otomatis)</string>
<string name="right_margin">Batas kanan (0: Otomatis)</string>
<string name="layout_compatibility_mode_summary">Buat layar lubang kiri dan kanan dapat ditampilkan secara normal</string>
<string name="remove_macro_blacklist">Hapus pengecualian makro game</string>
<string name="hide_network_speed_splitter">Sembunyikan pembagi kecepatan jaringan</string>
<string name="updater">Pembaruan</string>
@@ -146,7 +138,6 @@
<string name="battery_life_function">Halaman baterai menunjukkan suhu saat ini</string>
<string name="enable_wave_charge_animation">Tampilkan animasi gelombang saat pengisian daya</string>
<string name="max_wallpaper_scale">Maksimal skala Wallpaper</string>
<string name="def">"Default: "</string>
<string name="current">Saat ini:</string>
<string name="participate_in_translation">Partisipasi dalam penejermahan</string>
<string name="participate_in_translation_summary">Bantu kami menerjemahkan aplikasi ke dalam bahasa Anda</string>

View File

@@ -19,7 +19,7 @@
<string name="hide_sim_two_icon">SIMカード2のアイコンを隠す</string>
<string name="hide_vpn_icon">VPN アイコンを隠す</string>
<string name="hide_airplane_icon">機内モードのアイコンを隠す</string>
<string name="hide_wifi_icon">Wi-Fiアイコンを隠す</string>
<string name="hide_wifi_icon">Wi-Fi アイコンを隠す</string>
<string name="hide_bluetooth_icon">Bluetooth アイコンを隠す</string>
<string name="hide_volume_zen_icon">サウンドとマナーモードのアイコンを隠す</string>
<string name="hide_alarm_icon">アラームアイコンを隠す</string>
@@ -27,18 +27,19 @@
<string name="hide_headset_icon">ヘッドセットアイコンを隠す</string>
<string name="hide_bluetooth_battery_icon">Bluetooth機器のバッテリーアイコンを非表示</string>
<string name="hide_nfc_icon">NFC アイコンを隠す</string>
<string name="hide_big_hd_icon">大きなHDアイコンを隠す</string>
<string name="hide_small_hd_icon">小さHDアイコンを隠す</string>
<string name="hide_big_hd_icon">大きな HD アイコンを隠す</string>
<string name="hide_small_hd_icon">小さHD アイコンを隠す</string>
<string name="hide_new_hd_icon">新しい HD 通話アイコンを隠す</string>
<string name="hide_hd_no_service_icon">HD サービスなしアイコンを隠す</string>
<string name="about">概要</string>
<string name="about_module">モジュールについて</string>
<string name="verison">バージョン</string>
<string name="dev_coolapk">開発者のCoolapk</string>
<string name="dev_coolapk">開発者の Coolapk</string>
<string name="opensource">オープンソースリポジトリ</string>
<string name="github_url">開発に参加できる開発者を歓迎します</string>
<string name="issues">ご意見・ご提案</string>
<string name="issues_url">クリックして GitHub Issues を表示する</string>
<string name="xposeddescription">MIUI13(Android 12)カスタマイズツール</string>
<string name="xposeddescription">MIUI13 (Android 12) 以降向けカスタマイズツール</string>
<string name="statusbar">ステータスバー</string>
<string name="status_bar_time_seconds">秒を表示する</string>
<string name="status_bar_network_speed_refresh_speed">ネットワーク速度を秒単位で更新</string>
@@ -135,7 +136,7 @@
<string name="layout_compatibility_mode">互換モード</string>
<string name="left_margin">左マージン0自動</string>
<string name="right_margin">右マージン0自動</string>
<string name="layout_compatibility_mode_summary">左右の穴の画面を正常に表示できるようにする</string>
<string name="layout_compatibility_mode_summary">全画面レイアウトを強制(すべての特殊な形状の画面に対応)</string>
<string name="remove_macro_blacklist">ゲームのマクロブラックリストを削除</string>
<string name="hide_network_speed_splitter">ネットワーク速度分割器を非表示</string>
<string name="updater">更新</string>
@@ -226,4 +227,25 @@
<string name="left_or_right">左または右</string>
<string name="preset">プリセット</string>
<string name="geek">オタク</string>
<string name="do_not_clear_app">バックグラウンドアプリの終了を防止</string>
<string name="do_not_clear_app_summary">消費電力が増える可能性があります。「よりアグレッシブにする」と併用することをおすすめします。Tombstone との併用はおすすめしません。</string>
<string name="make_millet_more_aggressive">よりアグレッシブにする</string>
<string name="make_millet_more_aggressive_summary">バックグラウンドアプリに通知、実行中のサービスやプロセスがあっても停止させることを許可します。\n停止させたくないアプリはバッテリーセーバーを制限なしに設定してください。\n有効にする前に Tombstone と NoANR 関連モジュールをアンインストールしてください。</string>
<string name="make_millet_ignore_active">アクティブなアプリの停止を許可</string>
<string name="make_millet_ignore_active_summary">非常にアグレッシブで、アプリの実行に影響する可能性があります</string>
<string name="pkg_installer">パッケージインストーラー</string>
<string name="pkg_installer_summary">アプリインストール時のカウントチェックを無効にします</string>
<string name="big_mobile_type_only_show_network_card">ネットワークカードのみを表示する大きなモバイルタイプ</string>
<string name="big_mobile_type_location">大きなモバイルタイプの位置</string>
<string name="miuihome_recentview_remove_card_animation">カードマーキングアニメーションを変更する</string>
<string name="miuihome_recentview_remove_card_animation_summary">アプリ履歴でカードを削除するときのアニメーション効果を変更します</string>
<string name="miuihome_recentwiew_wallpaper_darkening">壁紙の調整を無効にする</string>
<string name="miuihome_recentwiew_wallpaper_darkening_summary">アプリ履歴へ出入りするときに壁紙の明るさが徐々に変化する効果を無効します</string>
<string name="miuihome_scroll_icon_name">アプリ名をスクロール</string>
<string name="miuihome_scroll_icon_name_summary">アプリ名が長すぎるとき、改行させずスクロール表示させます</string>
<string name="miuihome_shortcut_add_small_window">ショートカットメニューの追加ウィンドウ</string>
<string name="miuihome_shortcut_add_small_window_summary">ホーム画面のアイコンを長押しすると、素早く開けるウィンドウを追加できます</string>
<string name="miuihome_shortcut_add_small_window_title">小さいウィンドウ</string>
<string name="click_to_view_use_cases">クリックして使用例を表示</string>
<string name="disable_bluetooth_temporarily_off" comment="This function is used to completely close Bluetooth">Bluetooth を一時的に無効にする</string>
</resources>

View File

@@ -38,7 +38,6 @@
<string name="github_url">개발에 참여하는 더 많은 개발자를 환영합니다</string>
<string name="issues">피드백 및 제안</string>
<string name="issues_url">클릭해 GitHub 이슈 보기</string>
<string name="xposeddescription">MIUI 13(Android 12) 용 커스텀 도구</string>
<string name="statusbar">상태 바</string>
<string name="status_bar_time_seconds">화면 표시 시간</string>
<string name="status_bar_network_speed_refresh_speed">몇 초에 네트워크 속도 새로 고침</string>

View File

@@ -2,7 +2,6 @@
<resources>
<string name="performance">Prestatie</string>
<string name="lock_max_fps">Vergrendel het huidige ververspercentage van het bovenlimiet</string>
<string name="ui">Interface</string>
<string name="delete_on_post_notification">Verwijder weergave over notificatie</string>
<string name="delete_on_post_notification_summary">Verwijder \"Deze app geeft weer over andere apps\" notificatie</string>
<string name="other">Andere</string>
@@ -33,11 +32,9 @@
<string name="about_module">Over Module</string>
<string name="verison">Versie</string>
<string name="dev_coolapk">Auteur Coolapk</string>
<string name="opensource">Open Source Repository</string>
<string name="github_url">Welkom meer ontwikkelaars om deel te nemen in de ontwikkeling</string>
<string name="issues">Feedback/Voorstel</string>
<string name="issues_url">Klik om GitHub Problemen te bekijken</string>
<string name="xposeddescription">Aanpassingsgereedschap voor MIUI13(Android 12)</string>
<string name="statusbar">Statusbalk</string>
<string name="status_bar_time_seconds">Seconden weergeven</string>
<string name="status_bar_network_speed_refresh_speed">Netwerksnelheid vernieuwen in seconden</string>
@@ -45,7 +42,6 @@
<string name="main_switch">Module hoofdschakelaar</string>
<string name="hide_gps_icon">Verberg GPS icoon</string>
<string name="hide_status_bar_network_speed_second">Verberg netwerksnelheid (/s) eenheden</string>
<string name="menu">Menu</string>
<string name="Tips">Hint</string>
<string name="skip_waiting_time">Sla 5/10 seconden van waarschuwingstijd over</string>
<string name="unlock_unlimited_cropping">Verwijder restrictie op bijsnijden van afbeeldingen/schermafbeelingen</string>

View File

@@ -29,6 +29,7 @@
<string name="hide_nfc_icon">Ukryj ikonę NFC</string>
<string name="hide_big_hd_icon">Ukryj dużą ikonę HD</string>
<string name="hide_small_hd_icon">Ukryj małą ikonę HD</string>
<string name="hide_new_hd_icon">Ukryj nową ikonę HD</string>
<string name="hide_hd_no_service_icon">Ukryj ikonę braku usługi HD</string>
<string name="about">O module</string>
<string name="about_module">O module</string>
@@ -38,7 +39,7 @@
<string name="github_url">Zachęcam do rozwijania projektu innych deweloperów</string>
<string name="issues">Opinie/propozycje</string>
<string name="issues_url">Kliknij, aby wyświetlić zgłoszenia na GitHubie</string>
<string name="xposeddescription">Narzędzie do dostosowywania MIUI 13 (Android 12)</string>
<string name="xposeddescription">Narzędzie do dostosowywania MIUI 13+ (Android 12+)</string>
<string name="statusbar">Pasek statusu</string>
<string name="status_bar_time_seconds">Wyświetlaj sekundy</string>
<string name="status_bar_network_speed_refresh_speed">Odświeżenie prędkości sieci w sekundach</string>
@@ -135,12 +136,12 @@
<string name="layout_compatibility_mode">Tryb zgodności</string>
<string name="left_margin">Lewy margines (0: autom.)</string>
<string name="right_margin">Prawy margines (0: autom.)</string>
<string name="layout_compatibility_mode_summary">Spraw, aby lewy i prawy otwór na aparat mógł być wyświetlany normalnie</string>
<string name="layout_compatibility_mode_summary">Wymuś układ pełnoekranowy (obsługuje wszystkie ekrany o specjalnym kształcie)</string>
<string name="remove_macro_blacklist">Usuń czarną listę gier, dla których wyłączono obsługę makr</string>
<string name="hide_network_speed_splitter">Ukryj rozdzielacz prędkości sieci</string>
<string name="updater">Aktualizacje</string>
<string name="remove_ota_validate">*Usuwanie sprawdzania OTA [LAB]</string>
<string name="remove_ota_validate_summary">- Wsparcie tylko dla urządzeń z partycjami VAB. Nie używać na telefonach nieposiadających tych partycji.\n- Nie musisz znajdować się w grupie wewnętrznych testów MIUI, aby móc wgrać testowy ROM.\n- Osoby posiadające takowe uprawnienia nie będą mogły już otrzymywać aktualizacji z testowymi paczkami.\n- Po przejściu między różnymi typami aktualizacji (np. beta -> stable) zalecane jest wyczyszczenie danych.\n- Używanie tej funkcji z nieoficjalnymi ROM-ami nie jest wspierane.</string>
<string name="remove_ota_validate_summary">- Wsparcie tylko dla urządzeń z partycjami VAB. Nie używać na telefonach nieposiadających tych partycji.\n- Nie musisz znajdować się w grupie wewnętrznych testów MIUI, aby móc wgrać testowy ROM.\n- Osoby posiadające takowe uprawnienia nie będą mogły już otrzymywać aktualizacji z testowymi paczkami.\n- Po przejściu między różnymi typami aktualizacji (np. beta -&gt; stable) zalecane jest wyczyszczenie danych.\n- Używanie tej funkcji z nieoficjalnymi ROM-ami nie jest wspierane.</string>
<string name="settings">Ustawienia</string>
<string name="show_notification_importance">Pokazuj ważność powiadomień</string>
<string name="show_notification_importance_summary">Pokaż ustawienia ważności powiadomień ukryte w MIUI 12 i nowszych</string>
@@ -178,6 +179,7 @@
<string name="left">Do lewej</string>
<string name="right">Do prawej</string>
<string name="big_mobile_type_icon">Duża ikona typu sieci</string>
<string name="show_wifi_standard">Pokaż standard Wi-Fi</string>
<string name="can_notification_slide">Zezwól większości powiadomień na otwieranie się w pływających oknach</string>
<string name="battery_percentage_font_size">Procent rozmiaru czcionki baterii</string>
<string name="zero_do_no_change">0: brak zmian</string>
@@ -217,4 +219,32 @@
<string name="take_effect_after_reboot">Efekt po restarcie</string>
<string name="media_volume_steps_summary">Włączenie może spowodować, że przewijanie paska głośności zamraża lub głośność Bluetooth jest nieprawidłowa</string>
<string name="can_notification_slide_summary">Niektóre powiadomienia Mi Push mogą nie być obsługiwane.</string>
<string name="screen_hole_location">Pozycja otworu ekranu</string>
<string name="custom_clock_mode">Niestandardowy format zegara</string>
<string name="custom_clock_format_geek">Format zegara</string>
<string name="off">Wył</string>
<string name="center">Środek</string>
<string name="left_or_right">Lewo / Prawo</string>
<string name="preset">Szablon</string>
<string name="geek">Maniak</string>
<string name="do_not_clear_app">Zapobiegaj zabijaniu aplikacji w tle</string>
<string name="do_not_clear_app_summary">Może powodować zwiększone zużycie energii i jest zalecane do stosowania z opcją \"Spraw, by Millet był bardziej agresywny\", a nie z modułami takimi jak Tombstone</string>
<string name="make_millet_more_aggressive">Spraw, by Millet był bardziej agresywny</string>
<string name="make_millet_more_aggressive_summary">Zezwala Milletowi na zamrożenie aplikacji, gdy aplikacje w tle mają powiadomienia, uruchomione usługi i procesy.\nAplikacje, które nie chcą być zamrożone, mogą ustawić opcję oszczędzania baterii na \"Bez ograniczeń\"\nProsimy o odinstalowanie modułów związanych z Tombstone i NoAMR przed włączeniem.</string>
<string name="make_millet_ignore_active">Zezwól Milletowi na zamrożenie aktywnych aplikacji</string>
<string name="make_millet_ignore_active_summary">Bardzo agresywny, może wpływać na działanie aplikacji</string>
<string name="pkg_installer">Instalator pakietów</string>
<string name="pkg_installer_summary">Wyłącz sprawdzanie licznika instalacji aplikacji</string>
<string name="big_mobile_type_only_show_network_card">Duża ikona typu sieci tylko dla aktywnej karty SIM</string>
<string name="big_mobile_type_location">Pozycja dużej ikony typu sieci</string>
<string name="miuihome_recentview_remove_card_animation">Zmodyfikuj animację oznaczania kart</string>
<string name="miuihome_recentview_remove_card_animation_summary">Zmodyfikuj efekt animacji karty usunięcia ostatniego zadania</string>
<string name="miuihome_recentwiew_wallpaper_darkening">Wyłącz przyciemnianie tapety</string>
<string name="miuihome_recentwiew_wallpaper_darkening_summary">Spowoduje to wyłączenie efektu polegającego na tym, że tapeta stopniowo rozjaśnia się od przyciemnienia podczas wchodzenia i wychodzenia z ostatnich zadań</string>
<string name="miuihome_scroll_icon_name">Przewiń nazwę aplikacji</string>
<string name="miuihome_scroll_icon_name_summary">Zbyt długa nazwa aplikacji zostanie przewinięta i wyświetlona bez nowego wiersza</string>
<string name="miuihome_shortcut_add_small_window">Dodaj widżet \"Menu skrótów\"</string>
<string name="miuihome_shortcut_add_small_window_summary">Naciśnij i przytrzymaj ikonę na ekranie głównym, aby dodać okno szybkiego otwierania</string>
<string name="miuihome_shortcut_add_small_window_title">Małe okno</string>
<string name="click_to_view_use_cases">Kliknij, aby wyświetlić przypadki użycia</string>
</resources>

View File

@@ -1,11 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="performance">Desempenho</string>
<string name="lock_max_fps">Bloqueie o limite superior da taxa de atualização atual</string>
<string name="ui">Interface</string>
<string name="delete_on_post_notification">Remover exibição sobre notificação</string>
<string name="delete_on_post_notification_summary">Remover a notificação \"este aplicativo é exibido sobre outros aplicativos\"</string>
<string name="other">Outros</string>
<string name="disable_flag_secure">Permitir captura de ecrã</string>
<!--Status bar icons-->
</resources>

View File

@@ -38,7 +38,6 @@
<string name="github_url">Sunt bineveniți mai mulți dezvoltatori să participe la dezvoltare</string>
<string name="issues">Feedback/Propunere</string>
<string name="issues_url">Clic pentru a vizualiza problemele pe GitHub</string>
<string name="xposeddescription">Instrument de personalizare pentru MIUI13 (Android 12)</string>
<string name="statusbar">Bară de stare</string>
<string name="status_bar_time_seconds">Afișare secunde</string>
<string name="status_bar_network_speed_refresh_speed">Reîmprospătare viteză rețea în secunde</string>
@@ -69,7 +68,6 @@
<string name="status_bar_clock_size">Dimensiune ceas (0: nu se modifică)</string>
<string name="status_bar_clock_double_line_size">Dimensiune rând dublu (0: nu se modifică)</string>
<string name="matters_needing_attention">Aplicația nu funcționează? </string>
<string name="Done">OK</string>
<string name="about_module_summary">Vizualizează informații legate de modul</string>
<string name="contributor_list">Lista de contribuitori a depozitului sursă deschisă</string>
<string name="developer">Dezvoltator</string>
@@ -135,7 +133,6 @@
<string name="layout_compatibility_mode">Mod compatibilitate</string>
<string name="left_margin">Marginea din stânga (0: Auto)</string>
<string name="right_margin">Marginea din dreapta (0: auto)</string>
<string name="layout_compatibility_mode_summary">Aliniere pictograme</string>
<string name="remove_macro_blacklist">Elimină lista neagră a macrocomenzilor jocurilor</string>
<string name="hide_network_speed_splitter">Ascunde separatorul vitezei rețelei</string>
<string name="updater">Actualizator</string>

View File

@@ -29,6 +29,7 @@
<string name="hide_nfc_icon">Скрыть иконку NFC</string>
<string name="hide_big_hd_icon">Скрыть большую иконку HD</string>
<string name="hide_small_hd_icon">Скрыть маленькую иконку HD</string>
<string name="hide_new_hd_icon">Скрыть новую иконку HD</string>
<string name="hide_hd_no_service_icon">Скрыть HD No Service</string>
<string name="about">Информация</string>
<string name="about_module">О модуле</string>
@@ -38,7 +39,6 @@
<string name="github_url">Приглашаем больше разработчиков принять участие в разработке</string>
<string name="issues">Обратная связь</string>
<string name="issues_url">Нажмите, чтобы просмотреть обсуждение на GitHub</string>
<string name="xposeddescription">Инструмент настройки для MIUI13 (Android 12)</string>
<string name="statusbar">Строка состояния</string>
<string name="status_bar_time_seconds">Секунды</string>
<string name="status_bar_network_speed_refresh_speed">Обновление скорости сети в секундах</string>
@@ -69,7 +69,7 @@
<string name="status_bar_clock_size">Размер часов (0: не изменять)</string>
<string name="status_bar_clock_double_line_size">Размер часов в 2 строки (0: не изменять)</string>
<string name="matters_needing_attention">Функция не работает?</string>
<string name="Done">OK</string>
<string name="Done">ОК</string>
<string name="about_module_summary">Просмотр информации</string>
<string name="contributor_list">Список участников</string>
<string name="developer">Разработчик</string>
@@ -94,7 +94,7 @@
<string name="only_official_default_themes_are_supported">Поддерживаются только официальные темы</string>
<string name="lock_one_hundred">Оптимизация безопасности</string>
<string name="scope">Основное</string>
<string name="scope_android">System Framework</string>
<string name="scope_android">Системный фреймворк</string>
<string name="scope_systemui">SystemUI</string>
<string name="scope_miuihome">Начальный экран</string>
<string name="scope_other">Другое</string>
@@ -135,7 +135,6 @@
<string name="layout_compatibility_mode">Режим совместимости</string>
<string name="left_margin">Отступ слева (0: Авто)</string>
<string name="right_margin">Отступ справа (0: Автоматически)</string>
<string name="layout_compatibility_mode_summary">Выравнивание иконок</string>
<string name="remove_macro_blacklist">Удалить черный список игровых макросов</string>
<string name="hide_network_speed_splitter">Скрыть разделитель скорости сети</string>
<string name="updater">OTA</string>
@@ -236,4 +235,18 @@
<string name="make_millet_more_aggressive_summary">Позволяет Millet замораживать приложения, когда фоновые приложения имеют уведомления, запущенные службы и запущенные процессы.</string>
<string name="make_millet_ignore_active">Разрешить Millet замораживать активные приложения</string>
<string name="make_millet_ignore_active_summary">Очень агрессивно и может повлиять на работу приложений</string>
<string name="pkg_installer">Установщик пакетов</string>
<string name="pkg_installer_summary">Отключить проверку количества установок</string>
<string name="big_mobile_type_only_show_network_card">Большая иконка типа сети только для активной сим</string>
<string name="big_mobile_type_location">Положение большой иконки типа сети</string>
<string name="miuihome_recentview_remove_card_animation">Изменение анимации обозначения карты</string>
<string name="miuihome_recentview_remove_card_animation_summary">Изменить эффект анимации последней карты удаления задачи</string>
<string name="miuihome_recentwiew_wallpaper_darkening">Отключить затемнение обоев</string>
<string name="miuihome_recentwiew_wallpaper_darkening_summary">Отключит эффект видимости обоев от затемнения при запуске и выходе из недавней задачи</string>
<string name="miuihome_scroll_icon_name">Бегущая строка имени приложений</string>
<string name="miuihome_scroll_icon_name_summary">Длинное имя приложения будет прокручено и отображено в одну строку</string>
<string name="miuihome_shortcut_add_small_window">Меню добавления окна</string>
<string name="miuihome_shortcut_add_small_window_summary">Нажмите и удерживайте иконку рабочего стола, чтобы добавить быстрое открытое окно</string>
<string name="miuihome_shortcut_add_small_window_title">Маленькое окно</string>
<string name="click_to_view_use_cases">Нажмите, чтобы просмотреть варианты использования</string>
</resources>

View File

@@ -39,7 +39,6 @@
<string name="github_url">Geliştirmeye katılmak için daha fazla geliştiriciye hoş geldiniz</string>
<string name="issues">Geribildirim/Teklif</string>
<string name="issues_url">GitHub Sorunlarını görüntülemek için tıklayın</string>
<string name="xposeddescription">MIUI13 (Android 12) için özelleştirme aracı</string>
<string name="statusbar">Durum çubuğu</string>
<string name="status_bar_time_seconds">Saniye göster</string>
<string name="status_bar_network_speed_refresh_speed">Saniyeler içinde ağ hızı yenileme</string>
@@ -136,7 +135,6 @@
<string name="layout_compatibility_mode">Uyumluluk modu</string>
<string name="left_margin">Sol kenar boşluğu (0: Otomatik)</string>
<string name="right_margin">Sağ kenar boşluğu (0: Otomatik)</string>
<string name="layout_compatibility_mode_summary">Sol ve sağ delik ekranının normal olarak görüntülenebilmesini sağlayın</string>
<string name="remove_macro_blacklist">Oyun makrosu kara listesini kaldır</string>
<string name="hide_network_speed_splitter">Ağ hızı ayırıcısını gizle</string>
<string name="updater">Güncelleyici</string>

View File

@@ -7,38 +7,39 @@
<string name="delete_on_post_notification_summary">Xoá thông báo \"Ứng dụng này đang hiển thị trên ứng dụng khác\"</string>
<string name="other">Khác</string>
<string name="disable_flag_secure">Cho phép chụp màn hình</string>
<string name="disable_flag_secure_summary">Cho phép ảnh chụp màn hình trong phần mềm không cho phép \nHỗ trợ thêm cài đặt nhanh thả xuống trên Trung tâm điều khiển để bảo mật</string>
<string name="disable_flag_secure_summary">Cho phép ảnh chụp màn hình trong phần mềm không cho phép để\nHỗ trợ thêm cài đặt nhanh thả xuống trên Trung tâm điều khiển để bảo mật</string>
<string name="home">Trang chủ</string>
<string name="home_time">Luôn hiển thị đồng hồ màn hình khoá</string>
<string name="home_time">Luôn hiển thị đồng hồ trên màn hình khoá</string>
<string name="reboot_host">Khởi động lại ứng dụng liên quan</string>
<string name="reboot">Khởi động lại hệ thống</string>
<!--Status bar icons-->
<string name="status_bar_icon">Biểu tượng thanh trạng thái</string>
<string name="hide_no_sim_icon">Ẩn biểu tượng Không SIM</string>
<string name="hide_sim_one_icon">Ẩn biểu tượng Thẻ SIM 1</string>
<string name="hide_sim_two_icon">Ẩn biểu tượng Thẻ SIM 2</string>
<string name="hide_no_sim_icon">Ẩn biểu tượng không SIM</string>
<string name="hide_sim_one_icon">Ẩn biểu tượng thẻ SIM 1</string>
<string name="hide_sim_two_icon">Ẩn biểu tượng thẻ SIM 2</string>
<string name="hide_vpn_icon">Ẩn biểu tượng VPN</string>
<string name="hide_airplane_icon">Ẩn biểu tượng Chế độ máy bay</string>
<string name="hide_airplane_icon">Ẩn biểu tượng chế độ máy bay</string>
<string name="hide_wifi_icon">Ẩn biểu tượng WIFI</string>
<string name="hide_bluetooth_icon">Ẩn biểu tượng Bluetooth</string>
<string name="hide_volume_zen_icon">Ẩn biểu tượng Âm thanh và Không làm phiền</string>
<string name="hide_alarm_icon">Ẩn biểu tượng Báo thức</string>
<string name="hide_hotspot_icon">Ẩn biểu tượng Điểm phát sóng di động</string>
<string name="hide_volume_zen_icon">Ẩn biểu tượng am thanh và không làm phiền</string>
<string name="hide_alarm_icon">Ẩn biểu tượng báo thức</string>
<string name="hide_hotspot_icon">Ẩn biểu tượng điểm phát sóng di động</string>
<string name="hide_headset_icon">Ẩn biểu tượng tai nghe</string>
<string name="hide_bluetooth_battery_icon">Ẩn biểu tượng pin Bluetooth</string>
<string name="hide_nfc_icon">Ẩn biểu tượng ứng dụng</string>
<string name="hide_nfc_icon">Ẩn biểu tượng NFC</string>
<string name="hide_big_hd_icon">Ẩn biểu tượng mạng HD lớn</string>
<string name="hide_small_hd_icon">Ẩn biểu tượng mạng HD nhỏ</string>
<string name="hide_hd_no_service_icon">Ẩn biểu tượng không có dịch vụ</string>
<string name="hide_new_hd_icon">Ẩn biểu tượng mạng HD mới</string>
<string name="hide_hd_no_service_icon">Ẩn biểu tượng không có dịch vụ HD</string>
<string name="about">Giới thiệu</string>
<string name="about_module">Về Module</string>
<string name="about_module">Thông tin module</string>
<string name="verison">Phiên bản</string>
<string name="dev_coolapk">Tác giả Coolapk</string>
<string name="opensource">Kho nguồn mở</string>
<string name="github_url">Chào mừng các nhà phát triển tham gia vào quá trình phát triển</string>
<string name="issues">Phản hồi/Đề xuất</string>
<string name="issues_url">Ấn để xem GitHub Issues</string>
<string name="xposeddescription">Công cụ tuỳ chỉnh hoá MIUI13(Android 12)</string>
<string name="xposeddescription">Công cụ tuỳ chỉnh cho MIUI13+(Android 12+)</string>
<string name="statusbar">Thanh trạng thái</string>
<string name="status_bar_time_seconds">Hiển thị giây</string>
<string name="status_bar_network_speed_refresh_speed">Làm mới tốc độ mạng trong vài giây</string>
@@ -51,33 +52,33 @@
<string name="skip_waiting_time">Bỏ qua 5/10 giây cảnh báo</string>
<string name="unlock_unlimited_cropping">Bỏ qua danh sách đen hệ thống và phần mềm cấm cửa sổ nhỏ</string>
<string name="hide_slave_wifi_icon">Ẩn biểu tượng WIFI thứ hai</string>
<string name="HideLauncherIcon">Ẩn biểu tượng Trình khởi chạy</string>
<string name="HideLauncherIcon">Ẩn biểu tượng trình khởi chạy</string>
<string name="hide_battery_percentage_icon">Ẩn (%) pin</string>
<string name="hide_battery_icon">Ẩn biểu tượng pin</string>
<string name="status_bar_clock_format">Định dạng đồng hồ trên thanh trạng thái</string>
<string name="status_bar_clock_format">Định dạng đồng hồ thanh trạng thái</string>
<string name="status_bar_time_year">Hiển thị năm</string>
<string name="status_bar_time_month">Hiển thị tháng</string>
<string name="status_bar_time_day">Hiện thị thứ</string>
<string name="status_bar_time_day">Hiện thị ngày</string>
<string name="status_bar_time_week">Hiển thị ngày</string>
<string name="status_bar_time_hide_space">Ẩn khoảng cách</string>
<string name="allow_screenshots">Cho phép chụp màn hình</string>
<string name="lock_max">Khoá giới hạn hiện tại</string>
<string name="status_bar_time_double_hour">Hiển thị giờ con giáp - tiếng trung</string>
<string name="custom_clock_switch">Công Tắc Đồng HTuỳ Chỉnh</string>
<string name="custom_clock_switch">Công tắc đồng htuỳ chỉnh</string>
<string name="status_bar_time_period">Hiển thị SA/CH</string>
<string name="status_bar_time_double_line">Hàng kép</string>
<string name="status_bar_clock_size">Kích cỡ đồng hồ (0: không đổi)</string>
<string name="status_bar_clock_double_line_size">Kích cỡ hàng kép (0: không đổi)</string>
<string name="matters_needing_attention">Tính năng không hoạt động? </string>
<string name="Done">OK</string>
<string name="Done">Đồng ý</string>
<string name="about_module_summary">Xem thông tin liên quan tới mô-đun</string>
<string name="contributor_list">Danh sánh người đóng góp kho nguồn mở</string>
<string name="developer">Nhà phát triển</string>
<string name="thank_list">Danh sách cảm ơn</string>
<string name="third_party_open_source_statement">Tuyên BVề Mã Nguồn MCủa Bên Thứ Ba</string>
<string name="third_party_open_source_statement">Tuyên bvề Mã nguồn mcủa bên thứ ba</string>
<string name="corepacth">Gỡ bỏ các hạn chế</string>
<string name="corepacth_summary">Hỗ trợ hạ cấp/chữ ký khác/cài đặt ứng dụng không chữ kí</string>
<string name="prevent_recovery_of_battery_optimization_white_list">Ngăn chặn sự khôi phục của danh sách trắng tối ưu hoá pin</string>
<string name="prevent_recovery_of_battery_optimization_white_list">Danh sách ngoại lệ ngăn chặn sự khôi phục của tối ưu hoá pin</string>
<string name="failed_after_restart">Nó sẽ được khôi phục sau khi khởi động lại hệ thống</string>
<string name="battery_optimization">Tối ưu hóa pin</string>
<string name="battery_optimization_summary">Mở nhanh trình đơn tối ưu hóa pin bị ẩn bởi MIUI</string>
@@ -92,9 +93,9 @@
<string name="remove_the_left_side_of_the_lock_screen">Xóa bảng điều khiển bên màn hình khoá</string>
<string name="remove_lock_screen_camera">Gỡ chức năng camera khỏi màn hình khoá</string>
<string name="only_official_default_themes_are_supported">Chỉ hỗ trợ những chủ đề mặc định chính thức</string>
<string name="lock_one_hundred">Đặt 100 điểm cho ứng dụng Bảo mật</string>
<string name="scope">Phạm vi</string>
<string name="scope_android">Framework HThống</string>
<string name="lock_one_hundred">Đặt 100 điểm cho ứng dụng bảo mật</string>
<string name="scope">Ứng dụng</string>
<string name="scope_android">Framework hthống</string>
<string name="scope_systemui">Giao diện hệ thống</string>
<string name="scope_miuihome">Màn hình chính</string>
<string name="scope_other">Khác</string>
@@ -102,25 +103,25 @@
<string name="hide_battery_percentage_icon_summary">Bạn phải tự bật tính năng hiển thị phần trăm pin</string>
<string name="hide_status_bar_network_speed_second_summary">Ẩn đơn vị (/s) của tốc độ mạng trên thanh trạng thái</string>
<string name="remove_the_maximum_number_of_notification_icons_summary">Gỡ giới hạn 3 thông báo trên thanh trạng thái</string>
<string name="scope_systemui_summary">Tuỳ chỉnh giao diện hệ thống, thanh trạng thái, màn hình khoá, v.v</string>
<string name="scope_systemui_summary">Tuỳ chỉnh giao diện hệ thống, thanh trạng thái, màn hình khoá, v.v.</string>
<string name="scope_android_summary">Sau khi bật mô-đun lần đầu tiên hoặc cập nhật, tính năng ở đây sẽ có hiệu lực sau khi khởi động lại hệ thống</string>
<string name="scope_other_summary">Ứng dụng Bảo mật, Chỉnh sửa th viện, Pin và hiệu năng, v.v</string>
<string name="scope_other_summary">Ứng dụng bảo mật, chỉnh sửa thư viện, pin và hiệu năng, v.v.</string>
<string name="scope_powerkeeper">Pin và hiệu năng</string>
<string name="scope_securitycenter">Ứng dụng Bảo mật</string>
<string name="scope_mediaeditor">Chỉnh sửa Thư viện</string>
<string name="scope_securitycenter">Ứng dụng bảo mật</string>
<string name="scope_mediaeditor">Chỉnh sửa thư viện</string>
<string name="home_time_summary">Khi được bật, đồng hồ sẽ không bị ẩn trên thanh trạng thái ngay cả khi có widget đồng hồ</string>
<string name="skip_waiting_time_summary">Bỏ qua thời gian chờ do MIUI khi kích hoạt Gỡ lỗi USB, nguồn gốc không xác định và trợ năng</string>
<string name="lock_one_hundred_summary">Đặt 100 điểm cho ứng dụng Bảo mật và chặn nút Tối ưu hóa</string>
<string name="unlock_unlimited_cropping_summary">Không nhận giới hạn tối thiểu khi cắt ảnh bởi MIUI</string>
<string name="skip_waiting_time_summary">Bỏ qua thời gian chờ do MIUI khi kích hoạt gỡ lỗi USB, nguồn gốc không xác định và trợ năng</string>
<string name="lock_one_hundred_summary">Đặt 100 điểm cho ứng dụng bảo mật và chặn nút tối ưu hóa</string>
<string name="unlock_unlimited_cropping_summary">Bỏ qua giới hạn tối thiểu khi cắt ảnh bởi MIUI</string>
<string name="hide_wifi_activity_icon">Ẩn biểu tượng hoạt động WIFI</string>
<string name="hide_mobile_activity_icon">Ẩn biểu tượng hoạt động dữ liệu</string>
<string name="hide_mobile_type_icon">Ẩn biểu tượng kiểu dữ liệu mạng</string>
<string name="hide_mobile_activity_icon">Ẩn biểu tượng hoạt động đi động</string>
<string name="hide_mobile_type_icon">Ẩn biểu tượng kiểu dữ liệu di động</string>
<string name="show_weather_main_switch">Hiện thời tiết - Công tắc chính</string>
<string name="lock_screen">Màn hình khoá</string>
<string name="notification_center">Trung tâm thông báo</string>
<string name="show_city">Hiện thành phố</string>
<string name="lock_max_fps_summary">Hỗ trợ thêm công tắc chuyển đổi cài đặt nhanh trung tâm điều khiển thả xuống thời gian thực</string>
<string name="control_center">Trung tâm Điều khiển</string>
<string name="control_center">Trung tâm điều khiển</string>
<string name="control_center_weather_summary">Phiên bản Mi Smart Hub hiện không được hỗ trợ</string>
<string name="not_support">Có vẻ bạn đang dùng LSPosed bản cũ hoặc LSPosed chưa được kích hoạt, vui lòng cập nhật hoặc kích hoạt LSPosed rồi thử lại.</string>
<string name="matters_needing_attention_context">Nên khởi động lại điện thoại sau lần kích hoạt hoặc cập nhật đầu tiên\nHầu hết các thay đổi yêu cầu khởi động lại ở góc trên cùng bên phải để có hiệu lực</string>
@@ -129,23 +130,23 @@
<string name="are_you_sure_reboot_scope">Bạn có muốn khởi động lại tất cả ứng dụng liên quan?</string>
<string name="hide_battery_charging_icon">Ẩn biểu tượng sạc</string>
<string name="hide_wifi_standard_icon">Ẩn biểu tượng WIFI tiêu chuẩn</string>
<string name="status_bar_time_center">Thời gian hin thị ở chính giữa thanh trạng thái</string>
<string name="status_bar_time_center">Thời gian hin thị ở chính giữa thanh trạng thái</string>
<string name="status_bar_layout_summary">Nhiều bố cục thanh trạng thái khác đang được phát triển</string>
<string name="status_bar_layout">Bố cục thanh trạng thái</string>
<string name="layout_compatibility_mode">Chế độ tương thích</string>
<string name="left_margin">Lề trái (0: Tự động)</string>
<string name="right_margin">Lề phải (0: Tự động)</string>
<string name="layout_compatibility_mode_summary">Làm cho màn hình đục lỗ bên trái và bên phải có thể hiển thị bình thường</string>
<string name="layout_compatibility_mode_summary">Bắt buộc bố cục toàn màn hình (hỗ trợ tất cả các màn hình có hình dạng đặc biệt)</string>
<string name="remove_macro_blacklist">Xóa danh sách đen macro trò chơi</string>
<string name="hide_network_speed_splitter">Ẩn bộ chia tốc độ mạng</string>
<string name="updater">Trình cập nhật</string>
<string name="remove_ota_validate">*Gỡ xác thực OTA [LAB]</string>
<string name="remove_ota_validate_summary">- Chỉ hỗ trợ sử dụng sê-ri VAB, vui lòng không mở sê-ri khác. \n- Không cần đủ điều kiện thử nghiệm nội bộ để sử dụng gói thử nghiệm nội bộ đầy đủ. \n- Những người có quyền thử nghiệm nội bộ sẽ không thể nhận được bản cập nhật thử nghiệm nội bộ và có thể được sử dụng để chặn cập nhật hệ thống. \n- Sau khi nâng cấp loại phiên bản chéo, bạn nên xóa dữ liệu. \n- Không hỗ trợ sử dụng ROM không chính thức.</string>
<string name="remove_ota_validate_summary">- Chỉ hỗ trợ sử dụng sê-ri VAB, vui lòng không mở sê-ri khác.\n- Không cần đủ điều kiện thử nghiệm nội bộ để sử dụng gói thử nghiệm nội bộ đầy đủ.\n- Những người có quyền thử nghiệm nội bộ sẽ không thể nhận được bản cập nhật thử nghiệm nội bộ và có thể được sử dụng để chặn cập nhật hệ thống.\n- Sau khi nâng cấp loại phiên bản chéo, bạn nên xóa dữ liệu.\n- Không hỗ trợ sử dụng ROM không chính thức.</string>
<string name="settings">Cài đặt</string>
<string name="show_notification_importance">Hiện thông báo quan trọng</string>
<string name="show_notification_importance_summary">Hiển thị cài đặt mức độ quan trọng của thông báo bị ẩn trong MIUI 12 và các phiên bản mới hơn</string>
<string name="remove_ad">Gỡ quảng cáo</string>
<string name="remove_thememanager_ads">Gỡ bỏ quảng cáo cho Trình quản lí chủ đề</string>
<string name="remove_thememanager_ads">Gỡ bỏ quảng cáo cho trình quản lí chủ đề</string>
<string name="battery_life_function">Trang pin hiển thị nhiệt độ hiện tại</string>
<string name="enable_wave_charge_animation">Bật hoạt ảnh dạng sóng khi sạc</string>
<string name="max_wallpaper_scale">Tỉ lệ hình nền tối đa</string>
@@ -157,7 +158,7 @@
<string name="current_current">Hiện tại</string>
<string name="remove_open_app_confirmation_popup">Xóa cửa sổ bật lên ứng dụng đang mở</string>
<string name="remove_open_app_confirmation_popup_summary">Gỡ bỏ cửa sổ nổi \"Cho phép XXX mở XXX\"</string>
<string name="hide_volume_icon">Ẩn biểu tượng Âm lượng</string>
<string name="hide_volume_icon">Ẩn biểu tượng âm lượng</string>
<string name="hide_zen_icon">Ẩn biểu tượng ZEN</string>
<string name="hide_icon">Ẩn biểu tượng</string>
<string name="double_tap_to_sleep">Chạm hai lần để tắt màn hình</string>
@@ -189,7 +190,7 @@
<string name="range">Phạm vi: </string>
<string name="big_mobile_type_icon_left_and_right_margins">Căn lề biểu tượng mạng dữ liệu lớn</string>
<string name="cast">Truyền</string>
<string name="force_support_send_app">Bắt buộc tất cả ứng dụng hỗ trợ mở trên thiết bị khác</string>
<string name="force_support_send_app">Ép tất cả ứng dụng hỗ trợ mở trên thiết bị khác</string>
<string name="status_bar_time_double_line_center_align">Căn giữa hàng kép</string>
<string name="default1">Mặc định</string>
<string name="clock_center">Đồng hồ trung tâm</string>
@@ -218,4 +219,33 @@
<string name="take_effect_after_reboot">Có hiệu lực sau khi khởi động lại</string>
<string name="media_volume_steps_summary">Bật có thể khiến cuộn thanh âm lượng bị đơ hoặc âm lượng Bluetooth bất thường</string>
<string name="can_notification_slide_summary">Một số thông báo qua Mi Push có thể không được hỗ trợ.</string>
<string name="screen_hole_location">Vị trí lỗ màn hình</string>
<string name="custom_clock_mode">Chế độ tùy chỉnh đồng hồ</string>
<string name="custom_clock_format_geek">Định dạng đồng hồ</string>
<string name="off">Tắt</string>
<string name="center">Trung tâm</string>
<string name="left_or_right">Trái hoặc phải</string>
<string name="preset">Thiết lặp sẵn</string>
<string name="geek">Lập dị</string>
<string name="do_not_clear_app">Ngăn chặn tắt ứng dụng nền</string>
<string name="do_not_clear_app_summary">Có thể làm tăng mức tiêu thụ điện năng, được khuyến nghị với \"Make MIUI tích cực hơn\", KHÔNG được khuyến nghị sử dụng với bia mộ</string>
<string name="make_millet_more_aggressive">Làm cho Miui linh hoạt hơn</string>
<string name="make_millet_more_aggressive_summary">Cho phép Miui đóng băng ứng dụng trong khi các ứng dụng nền có thông báo, dịch vụ đang chạy và quy trình đang chạy.\nNhững ứng dụng không muốn bị đóng băng có thể đặt Trình tiết kiệm pin thành Không hạn chế\nVui lòng gỡ cài đặt các mô-đun liên quan đến Tombstone và NoANR trước khi bật.</string>
<string name="make_millet_ignore_active">Cho phép Miui đóng băng các ứng dụng đang hoạt động</string>
<string name="make_millet_ignore_active_summary">Rất tích cực và có thể ảnh hưởng đến ứng dụng đang chạy</string>
<string name="pkg_installer">Trình cài đặt gói</string>
<string name="pkg_installer_summary">Tắt kiểm tra số lần cài đặt ứng dụng</string>
<string name="big_mobile_type_only_show_network_card">Mạng dữ liệu lớn chỉ hiển thị thẻ mạng</string>
<string name="big_mobile_type_location">Vị trí mạng dữ liệu lớn</string>
<string name="miuihome_recentview_remove_card_animation">Sửa đổi hoạt ảnh đánh dấu thẻ</string>
<string name="miuihome_recentview_remove_card_animation_summary">Sửa đổi hiệu ứng hoạt ảnh của thẻ loại bỏ nhiệm vụ gần đây</string>
<string name="miuihome_recentwiew_wallpaper_darkening">Tắt làm mờ hình nền</string>
<string name="miuihome_recentwiew_wallpaper_darkening_summary">Điều này sẽ vô hiệu hóa hiệu ứng mà hình nền sẽ sáng lên rồi mờ khi vào và ra khỏi tác vụ gần đây</string>
<string name="miuihome_scroll_icon_name">Cuộn tên ứng dụng</string>
<string name="miuihome_scroll_icon_name_summary">Tên ứng dụng quá dài sẽ bị cuộn và hiển thị mà không có dòng mới nào</string>
<string name="miuihome_shortcut_add_small_window">Menu phím tắt thêm cửa sổ</string>
<string name="miuihome_shortcut_add_small_window_summary">Nhấn và giữ biểu tượng màn hình chính để thêm cửa sổ mở nhanh</string>
<string name="miuihome_shortcut_add_small_window_title">Cửa sổ nhỏ</string>
<string name="click_to_view_use_cases">Nhấp để xem các trường hợp sử dụng</string>
<string name="disable_bluetooth_temporarily_off" comment="This function is used to completely close Bluetooth">Vô hiệu hóa bluetooth tạm thời tắt</string>
</resources>

View File

@@ -39,7 +39,7 @@
<string name="github_url">欢迎更多开发者共同参与开发</string>
<string name="issues">反馈/提议</string>
<string name="issues_url">点击查看GitHub Issues</string>
<string name="xposeddescription">基于 MIUI13(Android 12) 适配的自定义工具</string>
<string name="xposeddescription">基于 MIUI13+(Android 12+) 适配的自定义工具</string>
<string name="statusbar">状态栏</string>
<string name="status_bar_time_seconds">显示秒数</string>
<string name="status_bar_network_speed_refresh_speed">网速秒刷新</string>
@@ -136,7 +136,7 @@
<string name="layout_compatibility_mode">兼容模式</string>
<string name="left_margin">左边距 (0: 自动)</string>
<string name="right_margin">右边距 (0: 自动)</string>
<string name="layout_compatibility_mode_summary">使左右挖孔屏幕能正常显示</string>
<string name="layout_compatibility_mode_summary">强制完整屏布局(支持所有异形屏)</string>
<string name="remove_macro_blacklist">去除游戏自动连招黑名单</string>
<string name="hide_network_speed_splitter">隐藏网速分隔符</string>
<string name="updater">系统更新</string>
@@ -235,4 +235,17 @@
<string name="make_millet_ignore_active_summary">非常激进,可能会影响应用运行</string>
<string name="pkg_installer">应用包管理组件</string>
<string name="pkg_installer_summary">禁用频繁安装应用检查</string>
<string name="big_mobile_type_only_show_network_card">大移动类型图标只显示上网卡</string>
<string name="big_mobile_type_location">大移动类型图标位置</string>
<string name="miuihome_recentview_remove_card_animation">修改划卡动画</string>
<string name="miuihome_recentview_remove_card_animation_summary">修改最近任务移除卡片的动画效果</string>
<string name="miuihome_recentwiew_wallpaper_darkening">禁用壁纸压暗效果</string>
<string name="miuihome_recentwiew_wallpaper_darkening_summary">这将禁用进出最近任务时壁纸从压暗逐渐变亮的效果</string>
<string name="miuihome_scroll_icon_name">滚动显示应用名称</string>
<string name="miuihome_scroll_icon_name_summary">过长的应用名称将滚动进行显示,不再进行换行</string>
<string name="miuihome_shortcut_add_small_window">快捷菜单添加小窗</string>
<string name="miuihome_shortcut_add_small_window_summary">桌面图标长按快捷菜单位置添加快速打开小窗</string>
<string name="miuihome_shortcut_add_small_window_title">小窗</string>
<string name="click_to_view_use_cases">点击查看用例</string>
<string name="disable_bluetooth_temporarily_off" comment="This function is used to completely close Bluetooth">禁用临时关闭蓝牙</string>
</resources>

View File

@@ -1,161 +1,251 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="lock_max_fps">鎖定當前刷新率上限</string>
<string name="ui">界面</string>
<string name="performance">性能</string>
<string name="lock_max_fps">鎖定目前重新整理速率上限</string>
<string name="ui">介面</string>
<string name="delete_on_post_notification">移除上層顯示通知</string>
<string name="delete_on_post_notification_summary">移除 \"此應用正顯示在螢幕上其他應用的上層\" 通知</string>
<string name="delete_on_post_notification_summary">移除此應用程式正顯示在螢幕上其他應用程式的上層通知</string>
<string name="other">其他</string>
<string name="disable_flag_secure">允許截圖</string>
<string name="disable_flag_secure_summary">開啟後允許在不允許截圖的軟件中截圖\n支持添加下拉控制中心快速開關,保障安全</string>
<string name="disable_flag_secure">允許螢幕截圖</string>
<string name="disable_flag_secure_summary">開啟後允許在不允許截圖的軟件中截圖\n支援新增下拉控制中心快速開關,保障安全</string>
<string name="home">桌面</string>
<string name="home_time">始終顯示桌面時鐘</string>
<string name="reboot_host">重啟全部作用域</string>
<string name="reboot_host">重啟所有作用範圍</string>
<string name="reboot">重啟系統</string>
<!--Status bar icons-->
<string name="status_bar_icon">狀態欄圖標</string>
<string name="hide_no_sim_icon">隱藏 無SIM卡 圖標</string>
<string name="hide_sim_one_icon">隱藏 SIM卡一 圖標</string>
<string name="hide_sim_two_icon">隱藏 SIM卡二 圖標</string>
<string name="hide_vpn_icon">隱藏 VPN 圖標</string>
<string name="hide_airplane_icon">隱藏 飛行模式 圖標</string>
<string name="hide_wifi_icon">隱藏 WIFI 圖標</string>
<string name="hide_bluetooth_icon">隱藏 藍牙 圖標</string>
<string name="hide_volume_zen_icon">隱藏 聲音、勿擾 圖標</string>
<string name="hide_alarm_icon">隱藏 鬧鐘 圖標</string>
<string name="hide_hotspot_icon">隱藏 WIFI熱點 圖標</string>
<string name="hide_headset_icon">隱藏 耳機 圖標</string>
<string name="hide_bluetooth_battery_icon">隱藏 藍牙電量 圖標</string>
<string name="hide_big_hd_icon">隱藏 大HD 圖標</string>
<string name="hide_small_hd_icon">隱藏 小HD 圖標</string>
<string name="hide_hd_no_service_icon">隱藏 HD無服務 圖標</string>
<string name="status_bar_icon">狀態列圖示</string>
<string name="hide_no_sim_icon">隱藏「無 SIM 卡」圖示</string>
<string name="hide_sim_one_icon">隱藏SIM 卡 1」圖示</string>
<string name="hide_sim_two_icon">隱藏SIM 卡 2」圖示</string>
<string name="hide_vpn_icon">隱藏VPN」圖示</string>
<string name="hide_airplane_icon">隱藏飛行模式」圖示</string>
<string name="hide_wifi_icon">隱藏WIFI」圖示</string>
<string name="hide_bluetooth_icon">隱藏藍牙」圖示</string>
<string name="hide_volume_zen_icon">隱藏聲音、勿擾」圖示</string>
<string name="hide_alarm_icon">隱藏鬧鐘」圖示</string>
<string name="hide_hotspot_icon">隱藏WIFI 熱點」圖示</string>
<string name="hide_headset_icon">隱藏耳機」圖示</string>
<string name="hide_bluetooth_battery_icon">隱藏藍牙電量」圖示</string>
<string name="hide_nfc_icon">隱藏「NFC」圖示</string>
<string name="hide_big_hd_icon">隱藏「大型 HD」圖示</string>
<string name="hide_small_hd_icon">隱藏「小型 HD」圖示</string>
<string name="hide_new_hd_icon">隱藏「新 HD」圖示</string>
<string name="hide_hd_no_service_icon">隱藏「HD 無服務」圖示</string>
<string name="about">關於</string>
<string name="about_module">關於模</string>
<string name="about_module">關於模</string>
<string name="verison">版本</string>
<string name="dev_coolapk">開發酷安</string>
<string name="opensource">源倉</string>
<string name="github_url">歡迎更多開發共同參與開發</string>
<string name="issues">饋/提議</string>
<string name="issues_url">點擊查看GitHub Issues</string>
<string name="xposeddescription">基於 MIUI13(Android 12) 適配的自定義工具</string>
<string name="statusbar">狀態</string>
<string name="dev_coolapk">開發人員酷安</string>
<string name="opensource">放原始碼存放</string>
<string name="github_url">歡迎更多開發人員共同參與開發</string>
<string name="issues">饋/提議</string>
<string name="issues_url">按一下以檢視 GitHub 問題</string>
<string name="xposeddescription">基於 MIUI13+(Android 12+) 的客製化工具</string>
<string name="statusbar">狀態</string>
<string name="status_bar_time_seconds">顯示秒數</string>
<string name="status_bar_network_speed_refresh_speed">網速秒刷新</string>
<string name="remove_the_maximum_number_of_notification_icons">除通知圖標個數上限</string>
<string name="main_switch">塊總開關</string>
<string name="hide_gps_icon">隱藏 GPS 圖標</string>
<string name="hide_status_bar_network_speed_second">隱藏網速(/s單位</string>
<string name="menu"></string>
<string name="status_bar_network_speed_refresh_speed">每秒更新即時網絡速度</string>
<string name="remove_the_maximum_number_of_notification_icons">除通知圖示數目上限</string>
<string name="main_switch">組主開關</string>
<string name="hide_gps_icon">隱藏GPS」圖示</string>
<string name="hide_status_bar_network_speed_second">隱藏網絡速度 (/s) 單位</string>
<string name="menu"></string>
<string name="Tips">提示</string>
<string name="skip_waiting_time">跳過 5/10 秒警告時間</string>
<string name="unlock_unlimited_cropping">移除裁剪圖片/螢幕截圖的限制</string>
<string name="hide_slave_wifi_icon">隱藏 WIFI輔助 圖標</string>
<string name="HideLauncherIcon">隱藏桌面圖</string>
<string name="hide_battery_percentage_icon">隱藏電量%</string>
<string name="hide_battery_icon">隱藏 電池 圖標</string>
<string name="status_bar_clock_format">狀態時鐘格式</string>
<string name="hide_slave_wifi_icon">隱藏WIFI 次要」圖示</string>
<string name="HideLauncherIcon">隱藏桌面圖</string>
<string name="hide_battery_percentage_icon">隱藏電量 (%)</string>
<string name="hide_battery_icon">隱藏電池」圖示</string>
<string name="status_bar_clock_format">狀態時鐘格式</string>
<string name="status_bar_time_year">顯示年份</string>
<string name="status_bar_time_month">顯示月份</string>
<string name="status_bar_time_day">顯示日期</string>
<string name="status_bar_time_week">顯示星期</string>
<string name="status_bar_time_hide_space">隱藏間隔</string>
<string name="allow_screenshots">允許截圖</string>
<string name="lock_max">鎖定前上限</string>
<string name="lock_max">鎖定前上限</string>
<string name="status_bar_time_double_hour">顯示時辰</string>
<string name="custom_clock_switch">定義時鐘-總開關</string>
<string name="custom_clock_switch">訂時鐘 - 主開關</string>
<string name="status_bar_time_period">顯示時段</string>
<string name="status_bar_time_double_line">顯示</string>
<string name="status_bar_clock_size">時鐘大小0不更改</string>
<string name="status_bar_clock_double_line_size">大小0不更改</string>
<string name="status_bar_time_double_line">顯示</string>
<string name="status_bar_clock_size">時鐘大小 (0無變更)</string>
<string name="status_bar_clock_double_line_size">大小 (0無變更)</string>
<string name="matters_needing_attention">功能無法生效?</string>
<string name="Done">確定</string>
<string name="about_module_summary">查看模塊相關訊息</string>
<string name="contributor_list">源倉庫貢獻者名單</string>
<string name="developer">開發</string>
<string name="about_module_summary">檢視模組相關資訊</string>
<string name="contributor_list">放原始碼存放庫貢獻者名單</string>
<string name="developer">開發人員</string>
<string name="thank_list">感謝名單</string>
<string name="third_party_open_source_statement">第三方開聲明</string>
<string name="corepacth">除安裝限制</string>
<string name="corepacth_summary">降級/不同簽/無簽安裝</string>
<string name="prevent_recovery_of_battery_optimization_white_list">防止恢復電池優化白名單</string>
<string name="third_party_open_source_statement">第三方開放原始碼聲明</string>
<string name="corepacth">除安裝限制</string>
<string name="corepacth_summary">降級/不同簽/無簽安裝</string>
<string name="prevent_recovery_of_battery_optimization_white_list">防止復原電池效能最佳化白名單</string>
<string name="failed_after_restart">系統重啟後仍會還原</string>
<string name="battery_optimization">電池</string>
<string name="battery_optimization_summary">快速打開被MIUI隱藏的電池化功能</string>
<string name="battery_optimization">電池效能最佳</string>
<string name="battery_optimization_summary">快速開啟被 MIUI 隱藏的電池效能最佳化功能</string>
<string name="remove_small_window_restrictions">強制使用小窗</string>
<string name="app_coolapk_url">來酷安給我們五星好評</string>
<string name="app_coolapk_url_summary">這可以使我們被更多的人發現</string>
<string name="qq_channel">加入 官方QQ頻道</string>
<string name="tg_channel">加入 官方TG頻道</string>
<string name="tg_channel_summary">可在頻道資料頁進入交流群</string>
<string name="qq_channel">加入官方 QQ 頻道</string>
<string name="tg_channel">加入官方 TG 頻道</string>
<string name="tg_channel_summary">可在頻道頁面進入聊天群組</string>
<string name="discussions">討論</string>
<string name="remove_small_window_restrictions_summary">忽略系統黑名單與軟件禁止小窗</string>
<string name="remove_the_left_side_of_the_lock_screen">移除鎖定螢幕負一屏功能</string>
<string name="remove_small_window_restrictions_summary">忽略系統黑名單與軟件小窗封鎖</string>
<string name="remove_the_left_side_of_the_lock_screen">移除負一屏功能鎖定</string>
<string name="remove_lock_screen_camera">移除鎖定螢幕相機功能</string>
<string name="only_official_default_themes_are_supported">僅支官方默認主題</string>
<string name="lock_one_hundred">手機管家鎖定100分</string>
<string name="scope">作用</string>
<string name="scope_android">系統</string>
<string name="scope_systemui">系統界面</string>
<string name="only_official_default_themes_are_supported">僅支官方預設主題</string>
<string name="lock_one_hundred">手機管家鎖定 100 </string>
<string name="scope">作用範圍</string>
<string name="scope_android">系統架</string>
<string name="scope_systemui">系統 UI</string>
<string name="scope_miuihome">系統桌面</string>
<string name="scope_other">其他</string>
<string name="status_bar_network_speed_refresh_speed_summary">將狀態欄網速組件的刷新頻率改成1s</string>
<string name="status_bar_network_speed_refresh_speed_summary">將狀態列網絡速度元件的更新間隔變更為 1s</string>
<string name="hide_battery_percentage_icon_summary">需自行開啟電池百分比外顯功能</string>
<string name="hide_status_bar_network_speed_second_summary">隱藏狀態欄網速組件的(/s單位</string>
<string name="remove_the_maximum_number_of_notification_icons_summary">除狀態最多能顯示3個通知的限制</string>
<string name="scope_systemui_summary">定義系統面、狀態、鎖定螢幕等</string>
<string name="scope_android_summary">首次啟動模塊 或 模塊更新後,\n此處的功能需重啟系統後才能生效</string>
<string name="scope_other_summary">手機管家、相編輯、電量與性能等</string>
<string name="hide_status_bar_network_speed_second_summary">隱藏狀態列網絡速度元件的 (/s) 單位</string>
<string name="remove_the_maximum_number_of_notification_icons_summary">除狀態最多能顯示三條通知的限制</string>
<string name="scope_systemui_summary">系統面、狀態、鎖定螢幕等</string>
<string name="scope_android_summary">首次啟動模組或模組更新後,\n此處的功能需重啟系統後才能生效</string>
<string name="scope_other_summary">手機管家、相簿編輯、電量與性能等</string>
<string name="scope_powerkeeper">電量與性能</string>
<string name="scope_securitycenter">手機管家</string>
<string name="scope_mediaeditor">編輯</string>
<string name="home_time_summary">開啟後即使存在時鐘小組件\n也不會對狀態欄隱藏時鐘</string>
<string name="skip_waiting_time_summary">開啟後可忽略MIUI在開啟USB調試、\n未知來源、無障礙時的凍結時間</string>
<string name="lock_one_hundred_summary">鎖定手機管家100分並屏蔽修復按鈕</string>
<string name="unlock_unlimited_cropping_summary">無視MIUI對圖片裁切的最小限制</string>
<string name="hide_wifi_activity_icon">隱藏 WIFI箭頭 圖標</string>
<string name="hide_mobile_activity_icon">隱藏 移動箭頭 圖標</string>
<string name="hide_mobile_type_icon">隱藏 移動類型 圖標</string>
<string name="show_weather_main_switch">顯示天氣-總開關</string>
<string name="scope_mediaeditor">簿編輯</string>
<string name="home_time_summary">開啟後即使存在時鐘小工具\n也不會隱藏狀態列時鐘</string>
<string name="skip_waiting_time_summary">開啟後可忽略 MIUI 在開啟 USB 偵錯、\n未知應用程式來源、無障礙時的凍結時間</string>
<string name="lock_one_hundred_summary">鎖定手機管家 100 分並封鎖修復按鈕</string>
<string name="unlock_unlimited_cropping_summary">忽略 MIUI 對圖片裁切的最小限制</string>
<string name="hide_wifi_activity_icon">隱藏WIFI 活動」圖示</string>
<string name="hide_mobile_activity_icon">隱藏「流動網絡活動」圖示</string>
<string name="hide_mobile_type_icon">隱藏「流動網絡類型」圖示</string>
<string name="show_weather_main_switch">顯示天氣 - 主開關</string>
<string name="lock_screen">鎖定螢幕</string>
<string name="notification_center">通知中心</string>
<string name="show_city">顯示城市</string>
<string name="lock_max_fps_summary">持添加下拉控制中心快速開關,時切換</string>
<string name="lock_max_fps_summary">援新增下拉控制中心快速開關,時切換</string>
<string name="control_center">控制中心</string>
<string name="control_center_weather_summary">暫不支妙享版控制中心</string>
<string name="not_support">您似乎正在使用過時的 LSPosed 版本或 LSPosed 未啟,請更新 LSPosed 或者啟動後再試。</string>
<string name="matters_needing_attention_context">首次啟動或更新後建議重啟手機\n絕大部分功能更後需要在右上角重啟作用域後生效</string>
<string name="control_center_weather_summary">暫不支妙享版控制中心</string>
<string name="not_support">您似乎正在使用過時的 LSPosed 版本或 LSPosed 未啟,請更新 LSPosed 或啟用後再試一次</string>
<string name="matters_needing_attention_context">首次啟動或更新後建議重啟手機\n絕大部分功能更後需要在右上角重啟範圍後生效</string>
<string name="are_you_sure_reboot">確定重啟系統?</string>
<string name="cancel">取消</string>
<string name="are_you_sure_reboot_scope">確定重啟全部作用域</string>
<string name="hide_battery_charging_icon">隱藏 充電 圖標</string>
<string name="hide_wifi_standard_icon">隱藏 WIFI標準 圖標</string>
<string name="status_bar_time_center">時間</string>
<string name="status_bar_layout_summary">更多狀態欄佈局等待開發中</string>
<string name="status_bar_layout">狀態欄佈局</string>
<string name="layout_compatibility_mode">兼容模式</string>
<string name="left_margin">左邊距 (0: 自動)</string>
<string name="right_margin">右邊距 (0: 自動)</string>
<string name="layout_compatibility_mode_summary">使左右挖孔螢幕能正常顯示</string>
<string name="remove_macro_blacklist">除遊戲自動連招黑名單</string>
<string name="hide_network_speed_splitter">隱藏網速分隔符</string>
<string name="are_you_sure_reboot_scope">確定重啟所有作用範圍</string>
<string name="hide_battery_charging_icon">隱藏充電」圖示</string>
<string name="hide_wifi_standard_icon">隱藏WIFI 標準」圖示</string>
<string name="status_bar_time_center">時間</string>
<string name="status_bar_layout_summary">更多狀態列配置等候開發中</string>
<string name="status_bar_layout">狀態列配置</string>
<string name="layout_compatibility_mode">相容性模式</string>
<string name="left_margin">左邊距 (0自動)</string>
<string name="right_margin">右邊距 (0自動)</string>
<string name="layout_compatibility_mode_summary">強制全螢幕配置 (支援所有螢幕凹口或空缺)</string>
<string name="remove_macro_blacklist">除遊戲自動連招黑名單</string>
<string name="hide_network_speed_splitter">隱藏網絡速度分割器</string>
<string name="updater">系統更新</string>
<string name="remove_ota_validate">*移除OTA驗證 [實驗性]</string>
<string name="remove_ota_validate_summary">- 僅支VAB系列使用其餘系列請不要開啟。\n- 無需內測資格即可刷入完整內測包。\n- 擁有內測權限的用戶將無法接收內測更新\n可用於屏蔽系統更新。\n- 跨版本類型升級後,建議清空數據。\n- 不支非官方ROM使用。</string>
<string name="remove_ota_validate">*移除 OTA 驗證 [實驗性]</string>
<string name="remove_ota_validate_summary">- 僅支VAB 系列使用,其餘系列請不要開啟。\n- 無需內測資格即可刷入完整內測包。\n- 擁有內測權限的使用者將無法接收內測更新\n可用於隱藏系統更新。\n- 跨版本類型升級後,建議清除資料。\n- 不支非官方 ROM 使用。</string>
<string name="settings">設定</string>
<string name="show_notification_importance">顯示通知重要程度</string>
<string name="show_notification_importance_summary">顯示 MIUI 12 及之後版本被隱藏的通知重要程度設定</string>
<string name="remove_ad">廣告</string>
<string name="remove_thememanager_ads">拿掉主題壁紙的廣告</string>
<string name="battery_life_function">電池頁面展示當前溫度</string>
<string name="enable_wave_charge_animation">啟用Alpha充電動畫</string>
<string name="max_wallpaper_scale">壁紙縮放比例</string>
<string name="def">"默認值:"</string>
<string name="current">前值:</string>
<string name="remove_ad">移除廣告</string>
<string name="remove_thememanager_ads">移除個性主題廣告</string>
<string name="battery_life_function">電池頁面顯示目前溫度</string>
<string name="enable_wave_charge_animation">啟用 MIX Alpha 充電動畫</string>
<string name="max_wallpaper_scale">桌布縮放比例</string>
<string name="def">"預設值: "</string>
<string name="current">前值:</string>
<string name="participate_in_translation">參與翻譯</string>
<string name="participate_in_translation_summary">助我們將這個APP翻譯您的語言</string>
<string name="lock_screen_charging_current">充電時顯示前電流</string>
<string name="current_current">前電流</string>
<string name="hide_volume_icon">隱藏 音量 圖標</string>
<string name="hide_zen_icon">隱藏 勿擾 圖標</string>
<string name="hide_icon">隱藏圖標</string>
<string name="double_tap_to_sleep">雙擊鎖定螢幕</string>
<string name="pkg_installer">應用包管理組件</string>
<string name="pkg_installer_summary">禁用頻繁安裝應用檢查</string>
<string name="participate_in_translation_summary">助我們將這個應用程式翻譯您的語言</string>
<string name="lock_screen_charging_current">充電時顯示前電流</string>
<string name="current_current">前電流</string>
<string name="remove_open_app_confirmation_popup">移除「開啟應用程式」彈出式視窗</string>
<string name="remove_open_app_confirmation_popup_summary">移除「XXX 想要開啟 XXX」的彈出式視窗</string>
<string name="hide_volume_icon">隱藏「音量」圖示</string>
<string name="hide_zen_icon">隱藏「勿擾」圖示</string>
<string name="hide_icon">隱藏圖示</string>
<string name="double_tap_to_sleep">輕觸兩下鎖定螢幕</string>
<string name="home_double_tap_to_sleep_summary">輕觸兩下空白位置鎖定螢幕</string>
<string name="old_quick_settings_panel">舊版快速設定面板</string>
<string name="old_qs_custom_switch">自訂行列</string>
<string name="qs_custom_columns_unexpanded">行 (未展開)</string>
<string name="qs_custom_rows"></string>
<string name="qs_custom_columns"></string>
<string name="qs_custom_rows_horizontal">列 (橫向)</string>
<string name="status_bar_dual_row_network_speed">雙列網絡速度</string>
<string name="status_bar_dual_row_network_speed_summary">上下列網絡速度顯示</string>
<string name="status_bar_network_speed">狀態列網絡速度</string>
<string name="status_bar_network_speed_dual_row_size">雙列大小 (0無變更)</string>
<string name="status_bar_network_speed_dual_row_icon">雙列圖示</string>
<string name="none"></string>
<string name="status_bar_network_speed_dual_row_gravity">雙列對齊</string>
<string name="left">置左</string>
<string name="right">置右</string>
<string name="big_mobile_type_icon">大型流動網絡圖示</string>
<string name="show_wifi_standard">顯示 WiFi 標準</string>
<string name="can_notification_slide">強制允許所有通知使用小窗</string>
<string name="battery_percentage_font_size">電量百分比字型大小</string>
<string name="zero_do_no_change">0無變更</string>
<string name="big_mobile_type_icon_size">大型流動網絡圖示大小</string>
<string name="big_mobile_type_icon_bold">大型流動網絡圖示粗體</string>
<string name="big_mobile_type_icon_up_and_down_position">大型流動網絡圖示上下位置</string>
<string name="input_error">輸入錯誤</string>
<string name="range">範圍:</string>
<string name="big_mobile_type_icon_left_and_right_margins">大型流動網絡圖示左右邊距</string>
<string name="cast">投放</string>
<string name="force_support_send_app">強制所有應用程式支援在其他裝置開啟</string>
<string name="status_bar_time_double_line_center_align">雙列置中對齊</string>
<string name="default1">預設值</string>
<string name="clock_center">時鐘置中</string>
<string name="clock_right">時鐘置右</string>
<string name="status_bar_layout_mode">狀態列配置模式</string>
<string name="clock_center_and_icon_left">時鐘置中 + 圖示置左</string>
<string name="maximum_number_of_notification_icons">通知圖示最大數目</string>
<string name="maximum_number_of_notification_dots">通知圓點最大數目</string>
<string name="custom_mobile_type_text">自訂流動網絡類型文字</string>
<string name="custom_mobile_type_text_switch">自訂流動網絡類型文字開關</string>
<string name="downgr">允許降級安裝應用程式</string>
<string name="downgr_summary">允許在已安裝新版的情況下覆寫為舊版本</string>
<string name="authcreak">停用安裝程式簽章驗證</string>
<string name="authcreak_summary">關閉安裝應用程式時的簽名驗證,可以安裝被修改的 APK</string>
<string name="digestCreak">停用 APK 簽章驗證</string>
<string name="digestCreak_summary">允許安裝套件名稱相同但簽章不同的應用程式</string>
<string name="UsePreSig">安裝時始終使用已安裝應用程式的簽章</string>
<string name="UsePreSig_summary">安裝時始終使用已安裝應用程式的簽章\n這非常<b>危險</b>\n僅在真正需要時啟用</string>
<string name="enhancedMode">增強模式</string>
<string name="enhancedMode_summary">可以解決一些應用程式內部的完整性驗證,一般不需要開啟</string>
<string name="rear_display">後方螢幕 (11 Ultra)</string>
<string name="lock_screen_clock_display_seconds">時鐘顯示秒數</string>
<string name="sound">聲音</string>
<string name="media_volume_steps_switch">媒體音量階數</string>
<string name="allow_untrusted_touches">允許不受信任的觸控</string>
<string name="take_effect_after_reboot">重新開機後生效</string>
<string name="media_volume_steps_summary">開啟後可能會導致音量列捲動卡頓或藍牙音量異常</string>
<string name="can_notification_slide_summary">可能無法支援一些使用小米推送 (Mi Push) 推播的通知</string>
<string name="screen_hole_location">螢幕凹口位置</string>
<string name="custom_clock_mode">自訂時鐘模式</string>
<string name="custom_clock_format_geek">時鐘格式</string>
<string name="off">關閉</string>
<string name="center">置中</string>
<string name="left_or_right">左右</string>
<string name="preset">預設</string>
<string name="geek">極客</string>
<string name="do_not_clear_app">防止終止背景應用程式</string>
<string name="do_not_clear_app_summary">可能會增加耗電,建議配合「使 Millet 更加積極」使用不建議配合墓碑、A1 記憶體管理等會強制應用程式進入快取的模組使用</string>
<string name="make_millet_more_aggressive">使 Millet 更加積極</string>
<string name="make_millet_more_aggressive_summary">允許 Millet 在背景應用程式有通知、有服務執行、有處理程序執行的狀況下凍結應用程式。\n不希望被凍結的應用程式可將省電策略設為無限制\n啟用前請先解除安裝墓碑和 NoANR 相關模組。</string>
<string name="make_millet_ignore_active">允許 Millet 凍結使用中的應用程式</string>
<string name="make_millet_ignore_active_summary">非常積極,可能會影響應用程式執行</string>
<string name="pkg_installer">套件安裝程式</string>
<string name="pkg_installer_summary">停用頻繁應用程式安裝檢查</string>
<string name="big_mobile_type_only_show_network_card">大型流動網絡僅會顯示網絡卡</string>
<string name="big_mobile_type_location">大型流動網絡位置</string>
<string name="miuihome_recentview_remove_card_animation">修改卡片動畫</string>
<string name="miuihome_recentview_remove_card_animation_summary">修改在最近任務介面移除卡片的動畫效果</string>
<string name="miuihome_recentwiew_wallpaper_darkening">停用桌布壓暗</string>
<string name="miuihome_recentwiew_wallpaper_darkening_summary">這將會停用進出最近任務介面時的桌布壓暗效果</string>
<string name="miuihome_scroll_icon_name">捲動顯示應用程式名稱</string>
<string name="miuihome_scroll_icon_name_summary">過長的應用程式名稱將會捲動,而不會在多列顯示</string>
<string name="miuihome_shortcut_add_small_window">捷徑選單新增小窗</string>
<string name="miuihome_shortcut_add_small_window_summary">長按桌面圖示以快速開啟小窗應用程式</string>
<string name="miuihome_shortcut_add_small_window_title">小窗應用程式</string>
<string name="click_to_view_use_cases">按一下以檢視案例</string>
<string name="disable_bluetooth_temporarily_off" comment="This function is used to completely close Bluetooth">停用暫時關閉藍牙</string>
</resources>

View File

@@ -1,229 +1,251 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="performance">性能</string>
<string name="lock_max_fps">鎖定螢幕更新率上限</string>
<string name="lock_max_fps">鎖定目前重新整理速率上限</string>
<string name="ui">介面</string>
<string name="delete_on_post_notification">移除上層顯示通知</string>
<string name="delete_on_post_notification_summary">移除 \"此應用正顯示在螢幕上其他應用的上層\" 通知</string>
<string name="delete_on_post_notification_summary">移除此應用程式正顯示在螢幕上其他應用程式的上層通知</string>
<string name="other">其他</string>
<string name="disable_flag_secure">允許截圖</string>
<string name="disable_flag_secure_summary">開啟後允許在不允許截圖的軟體中截圖\n支援添加下拉控制中心快速開關,保障安全</string>
<string name="disable_flag_secure">允許螢幕截圖</string>
<string name="disable_flag_secure_summary">開啟後允許在不允許截圖的軟體中截圖\n支援新增下拉控制中心快速開關,保障安全</string>
<string name="home">桌面</string>
<string name="home_time">始終顯示桌面時鐘</string>
<string name="reboot_host">重啟全部作用域</string>
<string name="reboot_host">重啟所有作用範圍</string>
<string name="reboot">重啟系統</string>
<!--Status bar icons-->
<string name="status_bar_icon">狀態圖示</string>
<string name="hide_no_sim_icon">隱藏 無SIM卡 圖示</string>
<string name="hide_sim_one_icon">隱藏 SIM卡一 圖示</string>
<string name="hide_sim_two_icon">隱藏 SIM卡二 圖示</string>
<string name="hide_vpn_icon">隱藏 VPN 圖示</string>
<string name="hide_airplane_icon">隱藏 飛行模式 圖示</string>
<string name="hide_wifi_icon">隱藏 WIFI 圖示</string>
<string name="hide_bluetooth_icon">隱藏 藍牙 圖示</string>
<string name="hide_volume_zen_icon">隱藏 聲音、勿擾 圖示</string>
<string name="hide_alarm_icon">隱藏 鬧鐘 圖示</string>
<string name="hide_hotspot_icon">隱藏 WIFI熱點 圖示</string>
<string name="hide_headset_icon">隱藏 耳機 圖示</string>
<string name="hide_bluetooth_battery_icon">隱藏 藍牙電量 圖示</string>
<string name="hide_nfc_icon">隱藏 NFC 圖示</string>
<string name="hide_big_hd_icon">隱藏 HD 圖示</string>
<string name="hide_small_hd_icon">隱藏 HD 圖示</string>
<string name="hide_hd_no_service_icon">隱藏 HD無服務 圖示</string>
<string name="status_bar_icon">狀態圖示</string>
<string name="hide_no_sim_icon">隱藏「無 SIM 卡」圖示</string>
<string name="hide_sim_one_icon">隱藏SIM 卡 1」圖示</string>
<string name="hide_sim_two_icon">隱藏SIM 卡 2」圖示</string>
<string name="hide_vpn_icon">隱藏VPN圖示</string>
<string name="hide_airplane_icon">隱藏「飛航模式圖示</string>
<string name="hide_wifi_icon">隱藏WIFI圖示</string>
<string name="hide_bluetooth_icon">隱藏藍牙圖示</string>
<string name="hide_volume_zen_icon">隱藏聲音、勿擾圖示</string>
<string name="hide_alarm_icon">隱藏鬧鐘圖示</string>
<string name="hide_hotspot_icon">隱藏WIFI 熱點圖示</string>
<string name="hide_headset_icon">隱藏耳機圖示</string>
<string name="hide_bluetooth_battery_icon">隱藏藍牙電量圖示</string>
<string name="hide_nfc_icon">隱藏NFC圖示</string>
<string name="hide_big_hd_icon">隱藏「大型 HD圖示</string>
<string name="hide_small_hd_icon">隱藏「小型 HD圖示</string>
<string name="hide_new_hd_icon">隱藏「新 HD圖示</string>
<string name="hide_hd_no_service_icon">隱藏「HD 無服務」圖示</string>
<string name="about">關於</string>
<string name="about_module">關於模組</string>
<string name="verison">版本</string>
<string name="dev_coolapk">開發酷安</string>
<string name="opensource">源倉</string>
<string name="github_url">歡迎更多開發共同參與開發</string>
<string name="dev_coolapk">開發人員酷安</string>
<string name="opensource">放原始碼存放</string>
<string name="github_url">歡迎更多開發人員共同參與開發</string>
<string name="issues">回饋/提議</string>
<string name="issues_url">點擊查看GitHub Issues</string>
<string name="xposeddescription">基於 MIUI13(Android 12) 適配的自訂工具</string>
<string name="statusbar">狀態</string>
<string name="issues_url">按一下以檢視 GitHub 問題</string>
<string name="xposeddescription">基於 MIUI13+(Android 12+) 的客製化工具</string>
<string name="statusbar">狀態</string>
<string name="status_bar_time_seconds">顯示秒數</string>
<string name="status_bar_network_speed_refresh_speed">每秒更新即時網</string>
<string name="remove_the_maximum_number_of_notification_icons">除通知圖示數量上限</string>
<string name="main_switch">模組開關</string>
<string name="hide_gps_icon">隱藏 GPS 圖示</string>
<string name="hide_status_bar_network_speed_second">隱藏網速(/s單位</string>
<string name="status_bar_network_speed_refresh_speed">每秒更新即時網路速度</string>
<string name="remove_the_maximum_number_of_notification_icons">除通知圖示數量上限</string>
<string name="main_switch">模組開關</string>
<string name="hide_gps_icon">隱藏GPS圖示</string>
<string name="hide_status_bar_network_speed_second">隱藏網路速度 (/s) 單位</string>
<string name="menu">選單</string>
<string name="Tips">提示</string>
<string name="skip_waiting_time">跳過 5/10 秒警告時間</string>
<string name="unlock_unlimited_cropping">移除裁剪圖片/螢幕截圖的限制</string>
<string name="hide_slave_wifi_icon">隱藏 WIFI輔助 圖示</string>
<string name="hide_slave_wifi_icon">隱藏WIFI 次要」圖示</string>
<string name="HideLauncherIcon">隱藏桌面圖示</string>
<string name="hide_battery_percentage_icon">隱藏電量%</string>
<string name="hide_battery_icon">隱藏 電池 圖示</string>
<string name="status_bar_clock_format">狀態時鐘格式</string>
<string name="hide_battery_percentage_icon">隱藏電量 (%)</string>
<string name="hide_battery_icon">隱藏電池圖示</string>
<string name="status_bar_clock_format">狀態時鐘格式</string>
<string name="status_bar_time_year">顯示年份</string>
<string name="status_bar_time_month">顯示月份</string>
<string name="status_bar_time_day">顯示日期</string>
<string name="status_bar_time_week">顯示星期</string>
<string name="status_bar_time_hide_space">隱藏間隔</string>
<string name="allow_screenshots">允許截圖</string>
<string name="lock_max">鎖定前上限</string>
<string name="lock_max">鎖定前上限</string>
<string name="status_bar_time_double_hour">顯示時辰</string>
<string name="custom_clock_switch">自訂時鐘-總開關</string>
<string name="custom_clock_switch">自訂時鐘 - 主開關</string>
<string name="status_bar_time_period">顯示時段</string>
<string name="status_bar_time_double_line">顯示</string>
<string name="status_bar_clock_size">時鐘大小0不更改</string>
<string name="status_bar_clock_double_line_size">大小0不更改</string>
<string name="status_bar_time_double_line">顯示</string>
<string name="status_bar_clock_size">時鐘大小 (0無變更)</string>
<string name="status_bar_clock_double_line_size">大小 (0無變更)</string>
<string name="matters_needing_attention">功能無法生效?</string>
<string name="Done">確定</string>
<string name="about_module_summary">查看模組相關訊</string>
<string name="contributor_list">源倉庫貢獻者名單</string>
<string name="developer">開發</string>
<string name="about_module_summary">檢視模組相關</string>
<string name="contributor_list">放原始碼存放庫貢獻者名單</string>
<string name="developer">開發人員</string>
<string name="thank_list">感謝名單</string>
<string name="third_party_open_source_statement">第三方開聲明</string>
<string name="corepacth">除安裝限制</string>
<string name="corepacth_summary">降級/不同簽/無簽安裝</string>
<string name="prevent_recovery_of_battery_optimization_white_list">防止恢復電池最佳化白名單</string>
<string name="third_party_open_source_statement">第三方開放原始碼聲明</string>
<string name="corepacth">除安裝限制</string>
<string name="corepacth_summary">降級/不同簽/無簽安裝</string>
<string name="prevent_recovery_of_battery_optimization_white_list">防止復原電池效能最佳化白名單</string>
<string name="failed_after_restart">系統重啟後仍會還原</string>
<string name="battery_optimization">電池最佳化</string>
<string name="battery_optimization_summary">快速打開被MIUI隱藏的電池最佳化功能</string>
<string name="battery_optimization">電池效能最佳化</string>
<string name="battery_optimization_summary">快速開啟被 MIUI 隱藏的電池效能最佳化功能</string>
<string name="remove_small_window_restrictions">強制使用小窗</string>
<string name="app_coolapk_url">來酷安給我們五星好評</string>
<string name="app_coolapk_url_summary">這可以使我們被更多的人發現</string>
<string name="qq_channel">加入 官方QQ頻道</string>
<string name="tg_channel">加入 官方TG頻道</string>
<string name="tg_channel_summary">可在頻道資料頁進入交流群</string>
<string name="qq_channel">加入官方 QQ 頻道</string>
<string name="tg_channel">加入官方 TG 頻道</string>
<string name="tg_channel_summary">可在頻道頁面進入聊天群組</string>
<string name="discussions">討論</string>
<string name="remove_small_window_restrictions_summary">忽略系統黑名單與軟體禁止小窗</string>
<string name="remove_the_left_side_of_the_lock_screen">移除鎖定螢幕負一屏功能</string>
<string name="remove_small_window_restrictions_summary">忽略系統黑名單與軟體小窗封鎖</string>
<string name="remove_the_left_side_of_the_lock_screen">移除負一屏功能鎖定</string>
<string name="remove_lock_screen_camera">移除鎖定螢幕相機功能</string>
<string name="only_official_default_themes_are_supported">僅支援官方預設主題</string>
<string name="lock_one_hundred">手機管家鎖定100分</string>
<string name="scope">作用</string>
<string name="scope_android">系統</string>
<string name="scope_systemui">系統介面</string>
<string name="lock_one_hundred">手機管家鎖定 100 </string>
<string name="scope">作用範圍</string>
<string name="scope_android">系統架</string>
<string name="scope_systemui">系統 UI</string>
<string name="scope_miuihome">系統桌面</string>
<string name="scope_other">其他</string>
<string name="status_bar_network_speed_refresh_speed_summary">將狀態欄網速組件的更新頻率改成1s</string>
<string name="status_bar_network_speed_refresh_speed_summary">將狀態列網路速度元件的更新間隔變更為 1s</string>
<string name="hide_battery_percentage_icon_summary">需自行開啟電池百分比外顯功能</string>
<string name="hide_status_bar_network_speed_second_summary">隱藏狀態欄網速組件的(/s單位</string>
<string name="remove_the_maximum_number_of_notification_icons_summary">除狀態最多能顯示3個通知的限制</string>
<string name="scope_systemui_summary">自訂系統介面、狀態、鎖定螢幕等</string>
<string name="scope_android_summary">首次啟動模組模組更新後,\n此處的功能需重啟系統後才能生效</string>
<string name="hide_status_bar_network_speed_second_summary">隱藏狀態列網路速度元件的 (/s) 單位</string>
<string name="remove_the_maximum_number_of_notification_icons_summary">除狀態最多能顯示三條通知的限制</string>
<string name="scope_systemui_summary">自訂系統介面、狀態、鎖定螢幕等</string>
<string name="scope_android_summary">首次啟動模組模組更新後,\n此處的功能需重啟系統後才能生效</string>
<string name="scope_other_summary">手機管家、相簿編輯、電量與性能等</string>
<string name="scope_powerkeeper">電量與性能</string>
<string name="scope_securitycenter">手機管家</string>
<string name="scope_mediaeditor">相簿編輯</string>
<string name="home_time_summary">開啟後即使存在時鐘小組件\n也不會對狀態欄隱藏時鐘</string>
<string name="skip_waiting_time_summary">開啟後可忽略MIUI在開啟USB偵錯、\n未知應用來源、無障礙時的凍結時間</string>
<string name="lock_one_hundred_summary">鎖定手機管家100分並隱藏修復按鈕</string>
<string name="unlock_unlimited_cropping_summary">無視MIUI對圖片裁切的最小限制</string>
<string name="hide_wifi_activity_icon">隱藏 WIFI箭頭 圖示</string>
<string name="hide_mobile_activity_icon">隱藏動網路箭頭 圖示</string>
<string name="hide_mobile_type_icon">隱藏 行動網路類型 圖示</string>
<string name="show_weather_main_switch">顯示天氣-總開關</string>
<string name="scope_mediaeditor">相簿編輯</string>
<string name="home_time_summary">開啟後即使存在時鐘小工具\n也不會隱藏狀態列時鐘</string>
<string name="skip_waiting_time_summary">開啟後可忽略 MIUI 在開啟 USB 偵錯、\n未知應用程式來源、無障礙時的凍結時間</string>
<string name="lock_one_hundred_summary">鎖定手機管家 100 分並封鎖修復按鈕</string>
<string name="unlock_unlimited_cropping_summary">忽略 MIUI 對圖片裁切的最小限制</string>
<string name="hide_wifi_activity_icon">隱藏WIFI 活動」圖示</string>
<string name="hide_mobile_activity_icon">隱藏「行動網路活動」圖示</string>
<string name="hide_mobile_type_icon">隱藏行動網路類型圖示</string>
<string name="show_weather_main_switch">顯示天氣 - 主開關</string>
<string name="lock_screen">鎖定螢幕</string>
<string name="notification_center">通知中心</string>
<string name="show_city">顯示城市</string>
<string name="lock_max_fps_summary">支援添加下拉控制中心快速開關,即時切換</string>
<string name="lock_max_fps_summary">支援新增下拉控制中心快速開關,即時切換</string>
<string name="control_center">控制中心</string>
<string name="control_center_weather_summary">暫不支援妙享版控制中心</string>
<string name="not_support">您似乎正在使用過時的 LSPosed 版本或 LSPosed 未啟,請更新 LSPosed 或者啟動後再試。</string>
<string name="matters_needing_attention_context">首次啟動或更新後建議重啟手機\n絕大部分功能更後需要在右上角重啟作用域後生效</string>
<string name="not_support">您似乎正在使用過時的 LSPosed 版本或 LSPosed 未啟,請更新 LSPosed 或啟用後再試一次</string>
<string name="matters_needing_attention_context">首次啟動或更新後建議重啟手機\n絕大部分功能更後需要在右上角重啟範圍後生效</string>
<string name="are_you_sure_reboot">確定重啟系統?</string>
<string name="cancel">取消</string>
<string name="are_you_sure_reboot_scope">確定重啟全部作用域</string>
<string name="hide_battery_charging_icon">隱藏 充電 圖示</string>
<string name="hide_wifi_standard_icon">隱藏 WIFI標準 圖示</string>
<string name="status_bar_time_center">時間</string>
<string name="status_bar_layout_summary">更多狀態欄布局等待開發中</string>
<string name="status_bar_layout">狀態欄布局</string>
<string name="layout_compatibility_mode">相容模式</string>
<string name="left_margin">左邊距 (0: 自動)</string>
<string name="right_margin">右邊距 (0: 自動)</string>
<string name="layout_compatibility_mode_summary">使左右挖孔螢幕能正常顯示</string>
<string name="remove_macro_blacklist">除遊戲自動連招黑名單</string>
<string name="hide_network_speed_splitter">隱藏網速分隔符</string>
<string name="are_you_sure_reboot_scope">確定重啟所有作用範圍</string>
<string name="hide_battery_charging_icon">隱藏充電圖示</string>
<string name="hide_wifi_standard_icon">隱藏WIFI 標準圖示</string>
<string name="status_bar_time_center">時間</string>
<string name="status_bar_layout_summary">更多狀態列版面配置等候開發中</string>
<string name="status_bar_layout">狀態列版面配置</string>
<string name="layout_compatibility_mode">相容模式</string>
<string name="left_margin">左邊距 (0自動)</string>
<string name="right_margin">右邊距 (0自動)</string>
<string name="layout_compatibility_mode_summary">強制全螢幕版面配置 (支援所有螢幕凹口或空缺)</string>
<string name="remove_macro_blacklist">除遊戲自動連招黑名單</string>
<string name="hide_network_speed_splitter">隱藏網路速度分割器</string>
<string name="updater">系統更新</string>
<string name="remove_ota_validate">*移除OTA驗證 [實驗性]</string>
<string name="remove_ota_validate_summary">- 僅支援VAB系列使用其餘系列請不要開啟。\n- 無需內測資格即可刷入完整內測包。\n- 擁有內測權限的使用者將無法接收內測更新\n可用於隱藏系統更新。\n- 跨版本類型升級後,建議清空數據。\n- 不支援非官方ROM使用。</string>
<string name="remove_ota_validate">*移除 OTA 驗證 [實驗性]</string>
<string name="remove_ota_validate_summary">- 僅支援 VAB 系列使用,其餘系列請不要開啟。\n- 無需內測資格即可刷入完整內測包。\n- 擁有內測權限的使用者將無法接收內測更新\n可用於隱藏系統更新。\n- 跨版本類型升級後,建議清除資料。\n- 不支援非官方 ROM 使用。</string>
<string name="settings">設定</string>
<string name="show_notification_importance">顯示通知重要程度</string>
<string name="show_notification_importance_summary">顯示 MIUI 12 及之後版本被隱藏的通知重要程度設定</string>
<string name="remove_ad">廣告</string>
<string name="remove_thememanager_ads">拿掉主題壁紙的廣告</string>
<string name="battery_life_function">電池頁面示目前溫度</string>
<string name="enable_wave_charge_animation">啟用MIX Alpha充電動畫</string>
<string name="remove_ad">移除廣告</string>
<string name="remove_thememanager_ads">移除個性主題廣告</string>
<string name="battery_life_function">電池頁面示目前溫度</string>
<string name="enable_wave_charge_animation">啟用 MIX Alpha 充電動畫</string>
<string name="max_wallpaper_scale">桌布縮放比例</string>
<string name="def">"預設值: "</string>
<string name="current">目前值:</string>
<string name="participate_in_translation">參與翻譯</string>
<string name="participate_in_translation_summary">助我們將這個APP翻譯您的語言</string>
<string name="participate_in_translation_summary">助我們將這個應用程式翻譯您的語言</string>
<string name="lock_screen_charging_current">充電時顯示目前電流</string>
<string name="current_current">目前電流</string>
<string name="remove_open_app_confirmation_popup">移除打開應用彈出視窗</string>
<string name="remove_open_app_confirmation_popup_summary">移除 \"XXX 想要開 XXX\" 的彈出視窗</string>
<string name="hide_volume_icon">隱藏 音量 圖示</string>
<string name="hide_zen_icon">隱藏 勿擾 圖示</string>
<string name="remove_open_app_confirmation_popup">移除「開啟應用程式」彈出視窗</string>
<string name="remove_open_app_confirmation_popup_summary">移除XXX 想要開 XXX的彈出視窗</string>
<string name="hide_volume_icon">隱藏音量圖示</string>
<string name="hide_zen_icon">隱藏勿擾圖示</string>
<string name="hide_icon">隱藏圖示</string>
<string name="double_tap_to_sleep">雙擊鎖定螢幕</string>
<string name="home_double_tap_to_sleep_summary">雙擊空白位置鎖定螢幕</string>
<string name="old_quick_settings_panel">舊快速設定面板</string>
<string name="old_qs_custom_switch">定義行與</string>
<string name="qs_custom_columns_unexpanded"> (未展開)</string>
<string name="qs_custom_rows"></string>
<string name="qs_custom_columns"></string>
<string name="qs_custom_rows_horizontal"> (橫向)</string>
<string name="status_bar_dual_row_network_speed">網路速度</string>
<string name="status_bar_dual_row_network_speed_summary">上下網路速度顯示</string>
<string name="status_bar_network_speed">狀態網路速度</string>
<string name="status_bar_network_speed_dual_row_size">大小0不更改</string>
<string name="status_bar_network_speed_dual_row_icon">圖示</string>
<string name="double_tap_to_sleep">輕觸兩下鎖定螢幕</string>
<string name="home_double_tap_to_sleep_summary">輕觸兩下空白位置鎖定螢幕</string>
<string name="old_quick_settings_panel">快速設定面板</string>
<string name="old_qs_custom_switch">訂行</string>
<string name="qs_custom_columns_unexpanded"> (未展開)</string>
<string name="qs_custom_rows"></string>
<string name="qs_custom_columns"></string>
<string name="qs_custom_rows_horizontal"> (橫向)</string>
<string name="status_bar_dual_row_network_speed">網路速度</string>
<string name="status_bar_dual_row_network_speed_summary">上下網路速度顯示</string>
<string name="status_bar_network_speed">狀態網路速度</string>
<string name="status_bar_network_speed_dual_row_size">大小 (0無變更)</string>
<string name="status_bar_network_speed_dual_row_icon">圖示</string>
<string name="none"></string>
<string name="status_bar_network_speed_dual_row_gravity">行網速對齊</string>
<string name="status_bar_network_speed_dual_row_gravity">對齊</string>
<string name="left">置左</string>
<string name="right">置右</string>
<string name="big_mobile_type_icon">大行動網路圖示</string>
<string name="show_wifi_standard">顯示 Wifi 標準</string>
<string name="can_notification_slide">強制允許全部通知使用小窗</string>
<string name="battery_percentage_font_size">電量百分比字大小</string>
<string name="zero_do_no_change">0不修改</string>
<string name="big_mobile_type_icon_size">大行動網路圖示大小</string>
<string name="big_mobile_type_icon_bold">大行動網路圖示</string>
<string name="big_mobile_type_icon_up_and_down_position">大行動網路圖示上下位置</string>
<string name="big_mobile_type_icon">行動網路圖示</string>
<string name="show_wifi_standard">顯示 WiFi 標準</string>
<string name="can_notification_slide">強制允許所有通知使用小窗</string>
<string name="battery_percentage_font_size">電量百分比字大小</string>
<string name="zero_do_no_change">0無變更</string>
<string name="big_mobile_type_icon_size">行動網路圖示大小</string>
<string name="big_mobile_type_icon_bold">行動網路圖示粗</string>
<string name="big_mobile_type_icon_up_and_down_position">行動網路圖示上下位置</string>
<string name="input_error">輸入錯誤</string>
<string name="range">範圍:</string>
<string name="big_mobile_type_icon_left_and_right_margins">大行動網路圖示左右邊距</string>
<string name="cast">接力</string>
<string name="force_support_send_app">允許所有應用使用接力</string>
<string name="status_bar_time_double_line_center_align">行居中對齊</string>
<string name="big_mobile_type_icon_left_and_right_margins">行動網路圖示左右邊距</string>
<string name="cast">投放</string>
<string name="force_support_send_app">強制所有應用程式支援在其他裝置開啟</string>
<string name="status_bar_time_double_line_center_align">列置中對齊</string>
<string name="default1">預設值</string>
<string name="clock_center">時鐘置中</string>
<string name="clock_right">時鐘置右</string>
<string name="status_bar_layout_mode">狀態欄布局模式</string>
<string name="clock_center_and_icon_left">間居中+圖示置左</string>
<string name="status_bar_layout_mode">狀態列版面配置模式</string>
<string name="clock_center_and_icon_left">鐘置中 + 圖示置左</string>
<string name="maximum_number_of_notification_icons">通知圖示最大數量</string>
<string name="maximum_number_of_notification_dots">通知點點數量</string>
<string name="maximum_number_of_notification_dots">通知圓點最大數量</string>
<string name="custom_mobile_type_text">自訂行動網路類型文字</string>
<string name="custom_mobile_type_text_switch">自訂行動網路類型文字開關</string>
<string name="downgr">允許降級安裝應用</string>
<string name="downgr_summary">允許在已安裝新版的情況下覆蓋安裝舊版本</string>
<string name="authcreak">禁用應用安裝管理器簽名驗證</string>
<string name="authcreak_summary">關閉安裝應用時的簽名驗證可以安裝被修改的APK</string>
<string name="digestCreak">禁用APK簽名驗證</string>
<string name="digestCreak_summary">允許覆蓋安裝同包名不同簽名的應用</string>
<string name="UsePreSig">安裝時始終使用已安裝應用的簽</string>
<string name="UsePreSig_summary">安裝時始終使用已安裝應用的簽\n這非常<b>危險</b>\n僅在真正需要時啟用</string>
<string name="downgr">允許降級安裝應用程式</string>
<string name="downgr_summary">允許在已安裝新版的情況下覆寫為舊版本</string>
<string name="authcreak">停用安裝程式簽章驗證</string>
<string name="authcreak_summary">關閉安裝應用程式時的簽名驗證,可以安裝被修改的 APK</string>
<string name="digestCreak">停用 APK 簽章驗證</string>
<string name="digestCreak_summary">允許安裝套件名稱相同但簽章不同的應用程式</string>
<string name="UsePreSig">安裝時始終使用已安裝應用程式的簽</string>
<string name="UsePreSig_summary">安裝時始終使用已安裝應用程式的簽\n這非常<b>危險</b>\n僅在真正需要時啟用</string>
<string name="enhancedMode">增強模式</string>
<string name="enhancedMode_summary">可以解決一些應用內部的完整性驗,一般不需要開啟</string>
<string name="rear_display">後螢幕11Ultra</string>
<string name="enhancedMode_summary">可以解決一些應用程式內部的完整性驗,一般不需要開啟</string>
<string name="rear_display">螢幕 (11 Ultra)</string>
<string name="lock_screen_clock_display_seconds">時鐘顯示秒數</string>
<string name="sound">聲音</string>
<string name="media_volume_steps_switch">媒體音量階數</string>
<string name="allow_untrusted_touches">允許不受信任的觸控</string>
<string name="take_effect_after_reboot">重新開機後生效</string>
<string name="media_volume_steps_summary">開啟後可能會導致音量條的滾動卡頓或藍牙音量異常</string>
<string name="can_notification_slide_summary">可能無法支援一些使用小米推送(Mi Push)推播的通知</string>
<string name="screen_hole_location">螢幕挖孔位置</string>
<string name="media_volume_steps_summary">開啟後可能會導致音量列捲動卡頓或藍牙音量異常</string>
<string name="can_notification_slide_summary">可能無法支援一些使用小米推送 (Mi Push) 推播的通知</string>
<string name="screen_hole_location">螢幕凹口位置</string>
<string name="custom_clock_mode">自訂時鐘模式</string>
<string name="custom_clock_format_geek">時鐘格式</string>
<string name="off">關閉</string>
<string name="center">置中</string>
<string name="left_or_right">左右</string>
<string name="pkg_installer">應用包管理組件</string>
<string name="pkg_installer_summary">禁用頻繁安裝應用檢查</string>
<string name="preset">預設</string>
<string name="geek">極客</string>
<string name="do_not_clear_app">防止終止背景應用程式</string>
<string name="do_not_clear_app_summary">可能會增加耗電,建議配合「使 Millet 更加積極」使用不建議配合墓碑、A1 記憶體管理等會強制應用程式進入快取的模組使用</string>
<string name="make_millet_more_aggressive">使 Millet 更加積極</string>
<string name="make_millet_more_aggressive_summary">允許 Millet 在背景應用程式有通知、有服務執行、有處理程序執行的狀況下凍結應用程式。\n不希望被凍結的應用程式可將省電策略設為無限制\n啟用前請先解除安裝墓碑和 NoANR 相關模組。</string>
<string name="make_millet_ignore_active">允許 Millet 凍結使用中的應用程式</string>
<string name="make_millet_ignore_active_summary">非常積極,可能會影響應用程式執行</string>
<string name="pkg_installer">套件安裝程式</string>
<string name="pkg_installer_summary">停用頻繁應用程式安裝檢查</string>
<string name="big_mobile_type_only_show_network_card">大型行動網路僅會顯示網路卡</string>
<string name="big_mobile_type_location">大型行動網路位置</string>
<string name="miuihome_recentview_remove_card_animation">修改卡片動畫</string>
<string name="miuihome_recentview_remove_card_animation_summary">修改在最近任務介面移除卡片的動畫效果</string>
<string name="miuihome_recentwiew_wallpaper_darkening">停用桌布壓暗</string>
<string name="miuihome_recentwiew_wallpaper_darkening_summary">這將會停用進出最近任務介面時的桌布壓暗效果</string>
<string name="miuihome_scroll_icon_name">捲動顯示應用程式名稱</string>
<string name="miuihome_scroll_icon_name_summary">過長的應用程式名稱將會捲動,而不會在多列顯示</string>
<string name="miuihome_shortcut_add_small_window">捷徑選單新增小窗</string>
<string name="miuihome_shortcut_add_small_window_summary">長按桌面圖示以快速開啟小窗應用程式</string>
<string name="miuihome_shortcut_add_small_window_title">小窗應用程式</string>
<string name="click_to_view_use_cases">按一下以檢視案例</string>
<string name="disable_bluetooth_temporarily_off" comment="This function is used to completely close Bluetooth">停用暫時關閉藍牙</string>
</resources>

View File

@@ -140,7 +140,7 @@
<string name="layout_compatibility_mode">Compatibility mode</string>
<string name="left_margin">Left margin (0: Auto)</string>
<string name="right_margin">Right margin (0: Auto)</string>
<string name="layout_compatibility_mode_summary">Make the left and right hole screen can be displayed normally</string>
<string name="layout_compatibility_mode_summary">Force full screen layout (supports all special-shaped screens)</string>
<string name="remove_macro_blacklist">Remove game macro blacklist</string>
<string name="hide_network_speed_splitter">Hide network speed splitter</string>
<string name="updater">Updater</string>
@@ -239,4 +239,16 @@
<string name="make_millet_ignore_active_summary">Very aggressive and may affect application running</string>
<string name="pkg_installer">Package Installer</string>
<string name="pkg_installer_summary">Disable the app installation\'s count checking</string>
<string name="big_mobile_type_only_show_network_card">Big mobile type only show network card</string>
<string name="big_mobile_type_location">Big mobile type location</string>
<string name="miuihome_recentview_remove_card_animation">Modify the card marking animation</string>
<string name="miuihome_recentview_remove_card_animation_summary">Modify the animation effect of the recent task removal card</string>
<string name="miuihome_recentwiew_wallpaper_darkening">Disable wallpaper dimming</string>
<string name="miuihome_recentwiew_wallpaper_darkening_summary">This will disable the effect that the wallpaper will gradually brighten from dimming when going in and out of the recent task</string>
<string name="miuihome_scroll_icon_name">Scroll app name</string>
<string name="miuihome_scroll_icon_name_summary">The application name that is too long will be scrolled and displayed without any new line</string>
<string name="miuihome_shortcut_add_small_window">Shortcut Menu Add Window</string>
<string name="miuihome_shortcut_add_small_window_summary">Press and hold the desktop icon to add a quick open window</string>
<string name="miuihome_shortcut_add_small_window_title">Small window</string>
<string name="click_to_view_use_cases">Click to view use cases</string>
</resources>

View File

@@ -5,7 +5,7 @@ buildscript {
mavenCentral()
}
dependencies {
classpath("com.android.tools.build:gradle:7.4.0")
classpath("com.android.tools.build:gradle:7.4.1")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0")
// NOTE: Do not place your application dependencies here; they belong

View File

@@ -7,5 +7,4 @@ dependencyResolutionManagement {
}
}
rootProject.name = "WooBoxForMIUI"
include(":app")
include(":blockmiui")
include(":app", ":blockmiui")