mirror of
https://github.com/LittleTurtle2333/SimplicityTools.git
synced 2026-07-13 03:41:19 +08:00
Compare commits
71 Commits
6d1aa2e824
...
l10n_main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4225d64ae3 | ||
|
|
a484a3ba04 | ||
|
|
1429bcd392 | ||
|
|
a4eb720b61 | ||
|
|
1e78221408 | ||
|
|
07ecd3adb8 | ||
|
|
86da593cff | ||
|
|
236e545706 | ||
|
|
dc76d99fc6 | ||
|
|
20585c66ea | ||
|
|
8cbf9d2072 | ||
|
|
a5ba41260a | ||
|
|
cbdf331035 | ||
|
|
357c30bc3a | ||
|
|
138c653a82 | ||
|
|
587141ca82 | ||
|
|
73d5e9855f | ||
|
|
0eeff2646b | ||
|
|
2b5f903006 | ||
|
|
8cba53fa3f | ||
|
|
cea867374c | ||
|
|
a5c39da799 | ||
|
|
870a742a0f | ||
|
|
367663df77 | ||
|
|
ea64b57d6a | ||
|
|
4bde2ccfdc | ||
|
|
772b019631 | ||
|
|
168ab492eb | ||
|
|
7b613d76b6 | ||
|
|
3b1651554d | ||
|
|
752fb84d39 | ||
|
|
b3fbfcea86 | ||
|
|
44b671fa9e | ||
|
|
7020324ef7 | ||
|
|
5fc1e9deaa | ||
|
|
2ce513bc97 | ||
|
|
28cf25b08c | ||
|
|
0b0b401d2f | ||
|
|
f31bdab7f9 | ||
|
|
33be4dd4e9 | ||
|
|
5eb4b08079 | ||
|
|
e152a5ba74 | ||
|
|
efc77eb518 | ||
|
|
8cad8e371c | ||
|
|
990ea8ef7e | ||
|
|
4ce55d1fb3 | ||
|
|
1feb754385 | ||
|
|
a107f71986 | ||
|
|
2177850498 | ||
|
|
5e4160aed4 | ||
|
|
99da21e762 | ||
|
|
8fe9d09624 | ||
|
|
de220825a2 | ||
|
|
4ed3e40e99 | ||
|
|
5f5bc6572c | ||
|
|
b3859653ef | ||
|
|
7dcfdcced7 | ||
|
|
f2a4f06301 | ||
|
|
90294a1599 | ||
|
|
2b7e5e0833 | ||
|
|
4a5e83cfda | ||
|
|
b4bc91043e | ||
|
|
d07bd2aaf1 | ||
|
|
8bd401b88f | ||
|
|
2b36ad29d8 | ||
|
|
3e0d94ab81 | ||
|
|
7914d51168 | ||
|
|
d8cf1bdc34 | ||
|
|
2f69115907 | ||
|
|
4295af9cc5 | ||
|
|
179c82d563 |
40
README.md
40
README.md
@@ -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)
|
||||
|
||||
---
|
||||
|
||||
### 模块截图
|
||||

|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
### 下载地址
|
||||
|
||||
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)
|
||||
|
||||
---
|
||||
|
||||
### 改进翻译
|
||||
[](https://crowdin.com/project/simplicitytools)[点击此处进入Crowdin](https://crowdin.com/project/simplicitytools)
|
||||
|
||||
[](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)
|
||||
|
||||
28
README_EN.md
28
README_EN.md
@@ -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
|
||||

|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
### 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
|
||||
[](https://crowdin.com/project/simplicitytools)[Click here to Crowdin](https://crowdin.com/project/simplicitytools)
|
||||
|
||||
[](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)
|
||||
|
||||
@@ -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")
|
||||
}
|
||||
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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, //强制允许所有应用接力
|
||||
)
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ object MediaEditor : AppRegister() {
|
||||
UnlockUnlimitedCroppingForT, //解锁裁切最小值
|
||||
)
|
||||
}
|
||||
|
||||
Build.VERSION_CODES.S -> {
|
||||
autoInitHooks(
|
||||
lpparam,
|
||||
|
||||
@@ -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, //快捷菜单添加小窗
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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,//阻止杀后台
|
||||
|
||||
@@ -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, //背屏显示天气
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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, //解锁裁切限制
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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, //去除自动连招黑名单
|
||||
|
||||
@@ -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, //显示通知重要程度
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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图标
|
||||
|
||||
@@ -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, //移除主题壁纸的广告
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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") {
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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 &¶meterCount==1
|
||||
}.hookBefore {
|
||||
XposedBridge.log("Woobox: c")
|
||||
it.result = false
|
||||
}
|
||||
return
|
||||
}
|
||||
letter++
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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 {
|
||||
|
||||
}*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 += "/"
|
||||
|
||||
@@ -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)
|
||||
13
app/src/main/res/drawable/ic_small_window_dark.xml
Normal file
13
app/src/main/res/drawable/ic_small_window_dark.xml
Normal 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>
|
||||
13
app/src/main/res/drawable/ic_small_window_light.xml
Normal file
13
app/src/main/res/drawable/ic_small_window_light.xml
Normal 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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 -> 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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 Hồ Tuỳ Chỉnh</string>
|
||||
<string name="custom_clock_switch">Công tắc đồng hồ tuỳ 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 Bố Về Mã Nguồn Mở Của Bên Thứ Ba</string>
|
||||
<string name="third_party_open_source_statement">Tuyên bố về Mã nguồn mở củ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 Hệ Thố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 hệ thố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 hiện thị ở chính giữa thanh trạng thái</string>
|
||||
<string name="status_bar_time_center">Thời gian hiển 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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Submodule blockmiui updated: 718ded040d...2d85e22246
@@ -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
|
||||
|
||||
@@ -7,5 +7,4 @@ dependencyResolutionManagement {
|
||||
}
|
||||
}
|
||||
rootProject.name = "WooBoxForMIUI"
|
||||
include(":app")
|
||||
include(":blockmiui")
|
||||
include(":app", ":blockmiui")
|
||||
Reference in New Issue
Block a user