Compare commits

15 Commits

Author SHA1 Message Date
乌堆小透明
9af50d9dd5 New translations strings.xml (Chinese Traditional)
[ci skip] New translations from Crowdin
2022-03-29 18:42:48 +08:00
乌堆小透明
c2fa56a90c New translations strings.xml (Romanian)
[ci skip] New translations from Crowdin
2022-03-29 18:33:36 +08:00
乌堆小透明
912fee632d New translations strings.xml (Russian)
[ci skip] New translations from Crowdin
2022-03-29 17:44:29 +08:00
乌堆小透明
390be46825 New translations strings.xml (Chinese Traditional)
[ci skip] New translations from Crowdin
2022-03-29 17:16:40 +08:00
LittleTurtle2333
d8baadae59 Update version to 1.5.6 2022-03-29 16:48:00 +08:00
乌堆小透明
d2035121ce New Crowdin updates (#114) 2022-03-29 16:47:42 +08:00
LittleTurtle2333
b29bfb45f9 新增自定义通知图标上限 2022-03-29 16:43:25 +08:00
LittleTurtle2333
657c65164f 新增状态栏时钟居中+图标居左布局 2022-03-29 16:15:38 +08:00
LittleTurtle2333
5c3ca4caa4 Merge remote-tracking branch 'origin/main' 2022-03-28 23:57:08 +08:00
LittleTurtle2333
08b4abf08c 新增时钟居中+图标居左(未完成) 2022-03-28 23:56:56 +08:00
CDzungx
acdbd23248 Typo fixes (#117) 2022-03-28 04:10:32 +08:00
LittleTurtle2333
2bed96532f 新增状态栏时钟居右布局 2022-03-28 03:14:02 +08:00
LittleTurtle2333
314fc7b46f Update README.md 2022-03-28 02:17:19 +08:00
LittleTurtle2333
ff94fce5d0 修复开启时钟居中对齐后上移的问题 2022-03-28 02:12:49 +08:00
LittleTurtle2333
d56d291e51 Fix Thai cannot hide network speed unit 2022-03-27 19:43:04 +08:00
21 changed files with 527 additions and 176 deletions

View File

@@ -48,6 +48,8 @@ Xposed仓库下载[点击此处下载最新发行版](https://github.com/Xpos
[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)
---

View File

@@ -44,7 +44,9 @@ Xposed Repo[Click here to download the latest release](https://github.com/Xpo
##### GNU General Public License v2.0
[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)
---

View File

@@ -12,8 +12,8 @@ android {
applicationId = "com.lt2333.simplicitytools"
minSdk = 31
targetSdk = 32
versionCode = 56
versionName = "1.5.5"
versionCode = 57
versionName = "1.5.6"
}
buildTypes {

View File

@@ -508,13 +508,58 @@ class SettingsActivity : MIUIActivity() {
)
add(LineV())
add(TitleTextV(resId = R.string.status_bar_layout))
val statusBarLayoutMode: HashMap<Int, String> = hashMapOf<Int, String>().also {
it[0] = getString(R.string.default1)
it[1] = getString(R.string.clock_center)
it[2] = getString(R.string.clock_right)
it[3] = getString(R.string.clock_center_and_icon_left)
}
add(
TextSummaryWithSwitchV(
TextSummaryV(
textId = R.string.status_bar_time_center,
tipsId = R.string.status_bar_layout_summary
),
SwitchV("status_bar_time_center")
TextWithSpinnerV(
TextV(resId = R.string.status_bar_layout_mode),
SpinnerV(
arrayListOf<MIUIPopupData>().apply {
add(MIUIPopupData(statusBarLayoutMode[0].toString()) {
OwnSP.ownSP.edit().run {
putInt(
"status_bar_layout_mode",
0
)
apply()
}
})
add(MIUIPopupData(statusBarLayoutMode[1].toString()) {
OwnSP.ownSP.edit().run {
putInt(
"status_bar_layout_mode",
1
)
apply()
}
})
add(MIUIPopupData(statusBarLayoutMode[2].toString()) {
OwnSP.ownSP.edit().run {
putInt(
"status_bar_layout_mode",
2
)
apply()
}
})
add(MIUIPopupData(statusBarLayoutMode[3].toString()) {
OwnSP.ownSP.edit().run {
putInt(
"status_bar_layout_mode",
3
)
apply()
}
})
}, currentValue = statusBarLayoutMode[OwnSP.ownSP.getInt(
"status_bar_layout_mode",
0
)].toString()
)
)
)
val layoutCompatibilityModeBinding = getDataBinding(
@@ -874,12 +919,16 @@ class SettingsActivity : MIUIActivity() {
)
)
add(
TextSummaryWithSwitchV(
TextSummaryV(
textId = R.string.remove_the_maximum_number_of_notification_icons,
tipsId = R.string.remove_the_maximum_number_of_notification_icons_summary
),
SwitchV("remove_the_maximum_number_of_notification_icons")
TextV(
resId = R.string.maximum_number_of_notification_icons
)
)
add(
SeekBarWithTextV(
"maximum_number_of_notification_icons",
1,
30,
3
)
)
add(

View File

@@ -21,7 +21,7 @@ object SystemUI: AppRegister() {
HideMobileTypeIcon, //隐藏移动类型图标
HideStatusBarNetworkSpeedSecond, //隐藏状态栏网速/s
HideWifiActivityIcon, //隐藏WIFI活动箭头图标
RemoveTheMaximumNumberOfNotificationIcons, //移除通知图标上限
MaximumNumberOfNotificationIcons, //通知图标上限
StatusBarNetworkSpeedRefreshSpeed, //状态栏网速秒刷新
StatusBarTimeCustomization, //状态栏时钟自定义
RemoveTheLeftSideOfTheLockScreen, //移除锁屏负一屏功能

View File

@@ -15,6 +15,7 @@ object HideStatusBarNetworkSpeedSecond: HookRegister() {
.replace("/", "")
.replace("s", "")
.replace("'", "")
.replace("วิ", "")
}
}
}

View File

@@ -1,20 +1,17 @@
package com.lt2333.simplicitytools.hook.app.systemui
import com.lt2333.simplicitytools.util.callMethod
import com.lt2333.simplicitytools.util.hasEnable
import com.lt2333.simplicitytools.util.replaceMethod
import com.lt2333.simplicitytools.util.setIntField
import com.lt2333.simplicitytools.util.*
import com.lt2333.simplicitytools.util.xposed.base.HookRegister
object RemoveTheMaximumNumberOfNotificationIcons: HookRegister() {
object MaximumNumberOfNotificationIcons: HookRegister() {
override fun init() {
hasEnable("remove_the_maximum_number_of_notification_icons") {
val size = XSPUtils.getInt("maximum_number_of_notification_icons",3)
"com.android.systemui.statusbar.phone.NotificationIconContainer".replaceMethod(getDefaultClassLoader(), "miuiShowNotificationIcons", Boolean::class.java) {
if (it.args[0] as Boolean) {
it.thisObject.setIntField("MAX_DOTS", 30)
it.thisObject.setIntField("MAX_STATIC_ICONS", 30)
it.thisObject.setIntField("MAX_VISIBLE_ICONS_ON_LOCK", 30)
it.thisObject.setIntField("MAX_DOTS", size)
it.thisObject.setIntField("MAX_STATIC_ICONS", size)
it.thisObject.setIntField("MAX_VISIBLE_ICONS_ON_LOCK", size)
} else {
it.thisObject.setIntField("MAX_DOTS", 0)
it.thisObject.setIntField("MAX_STATIC_ICONS", 0)
@@ -22,7 +19,6 @@ object RemoveTheMaximumNumberOfNotificationIcons: HookRegister() {
}
it.thisObject.callMethod("updateState")
}
}
}
}

View File

@@ -1,6 +1,7 @@
package com.lt2333.simplicitytools.hook.app.systemui
import android.annotation.SuppressLint
import android.app.KeyguardManager
import android.content.Context
import android.content.res.Configuration
import android.content.res.Resources
@@ -8,18 +9,20 @@ import android.os.Bundle
import android.view.Gravity
import android.view.View
import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.LinearLayout
import android.widget.TextView
import androidx.constraintlayout.widget.ConstraintLayout
import cn.fkj233.ui.activity.dp2px
import com.lt2333.simplicitytools.util.XSPUtils
import com.lt2333.simplicitytools.util.findClass
import com.lt2333.simplicitytools.util.getObjectField
import com.lt2333.simplicitytools.util.hookAfterMethod
import com.lt2333.simplicitytools.util.xposed.base.HookRegister
import de.robv.android.xposed.XposedHelpers
@SuppressLint("StaticFieldLeak")
object StatusBarLayout: HookRegister() {
object StatusBarLayout : HookRegister() {
private var mLeftLayout: LinearLayout? = null
private var mRightLayout: LinearLayout? = null
@@ -32,141 +35,409 @@ object StatusBarLayout: HookRegister() {
private var statusBarBottom = 0
override fun init() {
if (!XSPUtils.getBoolean("status_bar_time_center", false)) return
when (XSPUtils.getInt("status_bar_layout_mode", 0)) {
//默认
0 -> return
//时钟居中
1 -> {
val collapsedStatusBarFragmentClass =
"com.android.systemui.statusbar.phone.CollapsedStatusBarFragment".findClass(
getDefaultClassLoader()
)
val collapsedStatusBarFragmentClass =
"com.android.systemui.statusbar.phone.CollapsedStatusBarFragment".findClass(getDefaultClassLoader())
collapsedStatusBarFragmentClass.hookAfterMethod(
"onViewCreated",
View::class.java,
Bundle::class.java
) { param ->
val MiuiPhoneStatusBarView: ViewGroup =
param.thisObject.getObjectField("mStatusBar") as ViewGroup
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 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"
)
statusBar = MiuiPhoneStatusBarView.findViewById(statusBarId)
val statusBarContents: ViewGroup =
MiuiPhoneStatusBarView.findViewById(statusBarContentsId)
if (statusBar == null) return@hookAfterMethod
val clock: TextView = MiuiPhoneStatusBarView.findViewById(clockId)
val phoneStatusBarLeftContainer: ViewGroup =
MiuiPhoneStatusBarView.findViewById(phoneStatusBarLeftContainerId)
val notificationIconAreaInner: ViewGroup =
MiuiPhoneStatusBarView.findViewById(notificationIconAreaInnerId)
val systemIconArea: ViewGroup =
MiuiPhoneStatusBarView.findViewById(systemIconAreaId)
collapsedStatusBarFragmentClass.hookAfterMethod(
"onViewCreated",
View::class.java,
Bundle::class.java
) { param ->
val MiuiPhoneStatusBarView: ViewGroup =
param.thisObject.getObjectField("mStatusBar") as ViewGroup
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 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")
statusBar = MiuiPhoneStatusBarView.findViewById(statusBarId)
val statusBarContents: ViewGroup =
MiuiPhoneStatusBarView.findViewById(statusBarContentsId)
if (statusBar == null) return@hookAfterMethod
val clock: TextView = MiuiPhoneStatusBarView.findViewById(clockId)
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(
phoneStatusBarLeftContainer
)
(notificationIconAreaInner.parent as ViewGroup).removeView(
notificationIconAreaInner
)
(systemIconArea.parent as ViewGroup).removeView(systemIconArea)
(clock.parent as ViewGroup).removeView(clock)
(phoneStatusBarLeftContainer.parent as ViewGroup).removeView(
phoneStatusBarLeftContainer
)
(notificationIconAreaInner.parent as ViewGroup).removeView(
notificationIconAreaInner
)
(systemIconArea.parent as ViewGroup).removeView(systemIconArea)
val mConstraintLayout =
ConstraintLayout(context).also {
it.layoutParams = ConstraintLayout.LayoutParams(
ConstraintLayout.LayoutParams.MATCH_PARENT,
ConstraintLayout.LayoutParams.MATCH_PARENT
)
}
val mConstraintLayoutLp = ConstraintLayout.LayoutParams(
ConstraintLayout.LayoutParams.MATCH_PARENT,
ConstraintLayout.LayoutParams.MATCH_PARENT
)
mConstraintLayout.addView(notificationIconAreaInner)
val mConstraintLayout =
ConstraintLayout(context).also { it.layoutParams = mConstraintLayoutLp }
val fullscreen_notification_icon_area_lp = LinearLayout.LayoutParams(
ConstraintLayout.LayoutParams.MATCH_PARENT,
ConstraintLayout.LayoutParams.MATCH_PARENT
)
mConstraintLayout.addView(notificationIconAreaInner)
notificationIconAreaInner.layoutParams = fullscreen_notification_icon_area_lp
val fullscreen_notification_icon_area_lp = LinearLayout.LayoutParams(
ConstraintLayout.LayoutParams.MATCH_PARENT,
ConstraintLayout.LayoutParams.MATCH_PARENT
)
//增加一个左对齐布局
mLeftLayout = LinearLayout(context)
val LeftLp: LinearLayout.LayoutParams =
LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT, 1.0f)
mLeftLayout!!.layoutParams = LeftLp
mLeftLayout!!.gravity = Gravity.START or Gravity.CENTER_VERTICAL
notificationIconAreaInner.layoutParams = fullscreen_notification_icon_area_lp
//增加一个居中布局
mCenterLayout = LinearLayout(context)
val CenterLp: LinearLayout.LayoutParams = LinearLayout.LayoutParams(
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)
mRightLayout!!.layoutParams = RightLp
mRightLayout!!.gravity = Gravity.END or Gravity.CENTER_VERTICAL
mLeftLayout!!.addView(phoneStatusBarLeftContainer)
mLeftLayout!!.addView(mConstraintLayout)
//增加一个左对齐布局
mLeftLayout = LinearLayout(context)
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!!.addView(clock)
mRightLayout!!.addView(systemIconArea)
statusBarContents.addView(mLeftLayout, 0)
statusBarContents.addView(mCenterLayout)
statusBarContents.addView(mRightLayout)
//增加一个居中布局
mCenterLayout = LinearLayout(context)
val CenterLp: LinearLayout.LayoutParams = LinearLayout.LayoutParams(
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)
mRightLayout!!.layoutParams = RightLp
mRightLayout!!.gravity = Gravity.END or Gravity.CENTER_VERTICAL
mLeftLayout!!.addView(phoneStatusBarLeftContainer)
mLeftLayout!!.addView(mConstraintLayout)
mCenterLayout!!.addView(clock)
mRightLayout!!.addView(systemIconArea)
statusBarContents.addView(mLeftLayout, 0)
statusBarContents.addView(mCenterLayout)
statusBarContents.addView(mRightLayout)
statusBarLeft = statusBar!!.paddingLeft
statusBarTop = statusBar!!.paddingTop
statusBarRight = statusBar!!.paddingRight
statusBarBottom = statusBar!!.paddingBottom
statusBarLeft = statusBar!!.paddingLeft
statusBarTop = statusBar!!.paddingTop
statusBarRight = statusBar!!.paddingRight
statusBarBottom = statusBar!!.paddingBottom
if (XSPUtils.getBoolean("layout_compatibility_mode", false)) {
val customLeftMargin = XSPUtils.getInt("status_bar_left_margin", 0)
if (customLeftMargin != 0) {
statusBarLeft = customLeftMargin
if (XSPUtils.getBoolean("layout_compatibility_mode", false)) {
val customLeftMargin = XSPUtils.getInt("status_bar_left_margin", 0)
if (customLeftMargin != 0) {
statusBarLeft = customLeftMargin
}
val customRightMargin = XSPUtils.getInt("status_bar_right_margin", 0)
if (customRightMargin != 0) {
statusBarRight = customRightMargin
}
updateLayout(context)
}
}
val phoneStatusBarViewClass =
"com.android.systemui.statusbar.phone.PhoneStatusBarView".findClass(
getDefaultClassLoader()
)
val customRightMargin = XSPUtils.getInt("status_bar_right_margin", 0)
if (customRightMargin != 0) {
statusBarRight = customRightMargin
phoneStatusBarViewClass.hookAfterMethod("updateLayoutForCutout") {
if (XSPUtils.getBoolean("layout_compatibility_mode", false)) {
val context = (it.thisObject as ViewGroup).context
updateLayout(context)
}
}
updateLayout(context)
}
//时钟居右
2 -> {
val collapsedStatusBarFragmentClass =
"com.android.systemui.statusbar.phone.CollapsedStatusBarFragment".findClass(
getDefaultClassLoader()
)
}
collapsedStatusBarFragmentClass.hookAfterMethod(
"onViewCreated",
View::class.java,
Bundle::class.java
) { param ->
val MiuiPhoneStatusBarView: ViewGroup =
param.thisObject.getObjectField("mStatusBar") as ViewGroup
val context: Context = MiuiPhoneStatusBarView.context
val res: Resources = MiuiPhoneStatusBarView.resources
val phoneStatusBarViewClass =
"com.android.systemui.statusbar.phone.PhoneStatusBarView".findClass(getDefaultClassLoader())
//组件ID
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")
phoneStatusBarViewClass.hookAfterMethod("updateLayoutForCutout") {
if (XSPUtils.getBoolean("layout_compatibility_mode", false)) {
val context = (it.thisObject as ViewGroup).context
updateLayout(context)
//查找组件
statusBar = MiuiPhoneStatusBarView.findViewById(statusBarId)
if (statusBar == null) return@hookAfterMethod
val clock: TextView = MiuiPhoneStatusBarView.findViewById(clockId)
val battery: ViewGroup = MiuiPhoneStatusBarView.findViewById(batteryId)
//新建布局
val RightLp = LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.MATCH_PARENT
).also {
it.marginStart = dp2px(context, 5f)
}
mRightLayout = LinearLayout(context).also {
it.layoutParams = RightLp
}
//添加布局与组件
battery.addView(mRightLayout)
(clock.parent as ViewGroup).removeView(clock)
mRightLayout!!.addView(clock)
}
}
}
val miuiPhoneStatusBarViewClass =
"com.android.systemui.statusbar.phone.MiuiPhoneStatusBarView".findClass(getDefaultClassLoader())
//时钟居中+图标居左
3 -> {
val collapsedStatusBarFragmentClass =
"com.android.systemui.statusbar.phone.CollapsedStatusBarFragment".findClass(
getDefaultClassLoader()
)
miuiPhoneStatusBarViewClass.hookAfterMethod("updateNotificationIconAreaInnnerParent") {
val viewGroup = it.thisObject as ViewGroup
val fullscreen_notification_icon_area_lp = FrameLayout.LayoutParams(
ConstraintLayout.LayoutParams.MATCH_PARENT,
ConstraintLayout.LayoutParams.MATCH_PARENT
)
viewGroup.layoutParams = fullscreen_notification_icon_area_lp
collapsedStatusBarFragmentClass.hookAfterMethod(
"onViewCreated",
View::class.java,
Bundle::class.java
) { param ->
val MiuiPhoneStatusBarView: ViewGroup =
param.thisObject.getObjectField("mStatusBar") as ViewGroup
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 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 notificationIconAreaInnerId: Int =
res.getIdentifier(
"notification_icon_area_inner",
"id",
"com.android.systemui"
)
statusBar = MiuiPhoneStatusBarView.findViewById(statusBarId)
val statusBarContents: ViewGroup =
MiuiPhoneStatusBarView.findViewById(statusBarContentsId)
if (statusBar == null) return@hookAfterMethod
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 notificationIconAreaInner: ViewGroup =
MiuiPhoneStatusBarView.findViewById(notificationIconAreaInnerId)
(clock.parent as ViewGroup).removeView(clock)
(phoneStatusBarLeftContainer.parent as ViewGroup).removeView(
phoneStatusBarLeftContainer
)
(systemIconArea.parent as ViewGroup).removeView(systemIconArea)
(statusIcons.parent as ViewGroup).removeView(statusIcons)
(systemIcons.parent as ViewGroup).removeView(systemIcons)
(battery.parent as ViewGroup).removeView(battery)
(notificationIconAreaInner.parent as ViewGroup).removeView(
notificationIconAreaInner
)
val mConstraintLayout =
ConstraintLayout(context).also {
it.layoutParams = ConstraintLayout.LayoutParams(
ConstraintLayout.LayoutParams.MATCH_PARENT,
ConstraintLayout.LayoutParams.MATCH_PARENT
)
}
mConstraintLayout.addView(notificationIconAreaInner)
mConstraintLayout.addView(battery)
battery.layoutParams = ConstraintLayout.LayoutParams(
ConstraintLayout.LayoutParams.WRAP_CONTENT,
ConstraintLayout.LayoutParams.MATCH_PARENT
).also {
it.endToEnd = 0
}
notificationIconAreaInner.layoutParams = ConstraintLayout.LayoutParams(
0,
ConstraintLayout.LayoutParams.MATCH_PARENT
).also {
it.startToEnd = batteryId
it.endToEnd = 0
}
notificationIconAreaInner.layoutDirection = View.LAYOUT_DIRECTION_RTL
//增加一个左对齐布局
mLeftLayout = LinearLayout(context)
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
)
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)
mRightLayout!!.layoutParams = RightLp
mRightLayout!!.gravity = Gravity.END or Gravity.CENTER_VERTICAL
mLeftLayout!!.addView(phoneStatusBarLeftContainer)
mLeftLayout!!.addView(statusIcons)
statusIcons.layoutDirection = View.LAYOUT_DIRECTION_RTL
mCenterLayout!!.addView(clock)
mRightLayout!!.addView(mConstraintLayout)
fullscreenNotificationIconArea.layoutDirection = View.LAYOUT_DIRECTION_RTL
statusBarContents.addView(mLeftLayout, 0)
statusBarContents.addView(mCenterLayout)
statusBarContents.addView(mRightLayout)
statusBarLeft = statusBar!!.paddingLeft
statusBarTop = statusBar!!.paddingTop
statusBarRight = statusBar!!.paddingRight
statusBarBottom = statusBar!!.paddingBottom
if (XSPUtils.getBoolean("layout_compatibility_mode", false)) {
val customLeftMargin = XSPUtils.getInt("status_bar_left_margin", 0)
if (customLeftMargin != 0) {
statusBarLeft = customLeftMargin
}
val customRightMargin = XSPUtils.getInt("status_bar_right_margin", 0)
if (customRightMargin != 0) {
statusBarRight = customRightMargin
}
updateLayout(context)
}
}
//兼容模式
val phoneStatusBarViewClass =
"com.android.systemui.statusbar.phone.PhoneStatusBarView".findClass(
getDefaultClassLoader()
)
phoneStatusBarViewClass.hookAfterMethod("updateLayoutForCutout") {
if (XSPUtils.getBoolean("layout_compatibility_mode", false)) {
val context = (it.thisObject as ViewGroup).context
updateLayout(context)
}
}
//解决重叠
val miuiCollapsedStatusBarFragmentClass =
"com.android.systemui.statusbar.phone.MiuiCollapsedStatusBarFragment".findClass(
getDefaultClassLoader()
)
miuiCollapsedStatusBarFragmentClass.hookAfterMethod(
"showClock",
Boolean::class.java
) {
val MiuiPhoneStatusBarView =
XposedHelpers.getObjectField(it.thisObject, "mStatusBar") as ViewGroup
val res = MiuiPhoneStatusBarView.resources
val status_bar_ID =
res.getIdentifier("status_bar", "id", "com.android.systemui")
val status_bar = MiuiPhoneStatusBarView.findViewById<ViewGroup>(status_bar_ID)
//非锁屏下整个状态栏布局
val keyguardMgr =
status_bar.context.getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager
if (keyguardMgr.isKeyguardLocked) {
status_bar!!.visibility = View.GONE
} else {
status_bar!!.visibility = View.VISIBLE
}
}
}
}
}
private fun updateLayout(context: Context) {
//判断屏幕方向
val mConfiguration: Configuration = context.resources.configuration

View File

@@ -112,7 +112,7 @@ object StatusBarTimeCustomization : HookRegister() {
val res: Resources = MiuiPhoneStatusBarView.resources
val clockId: Int = res.getIdentifier("clock", "id", "com.android.systemui")
val clock: TextView = MiuiPhoneStatusBarView.findViewById(clockId)
clock.gravity = Gravity.CENTER_HORIZONTAL
clock.gravity = Gravity.CENTER
}
}
}

View File

@@ -47,7 +47,7 @@
<string name="hide_status_bar_network_speed_second">Ocultar unidad (/s) en velocidad de red</string>
<string name="menu">Menú</string>
<string name="Tips">Consejos</string>
<string name="skip_waiting_time">Saltar advertencia de 5/10 segundos</string>
<string name="skip_waiting_time">Saltar tiempo de advertencia de 5/10 segundos</string>
<string name="unlock_unlimited_cropping">Elimina la restricción de recorte en imágenes/capturas de pantalla</string>
<string name="hide_slave_wifi_icon">Ocultar icono de WIFI secundario</string>
<string name="HideLauncherIcon">Esconder el icono del Launcher</string>
@@ -154,8 +154,8 @@
<string name="participate_in_translation_summary">Ayúdanos a traducir la app en tu idioma</string>
<string name="lock_screen_charging_current">Mostrar la información de corriente durante la carga</string>
<string name="current_current">Corriente de carga</string>
<string name="remove_open_app_confirmation_popup">Eliminar ventana de inicio en cadena</string>
<string name="remove_open_app_confirmation_popup_summary">Eliminar ventana \"Permitir XXX abrir XXX\" de inicio en cadena</string>
<string name="remove_open_app_confirmation_popup">Remover popup de inicio en cadena</string>
<string name="remove_open_app_confirmation_popup_summary">Eliminar ventana de inicio en cadena \"Permitir XXX abrir XXX\"</string>
<string name="hide_volume_icon">Ocultar icono de volumen</string>
<string name="hide_zen_icon">Ocultar icono ZEN</string>
<string name="hide_icon">Ocultar Iconos</string>
@@ -186,4 +186,12 @@
<string name="input_error">Error de entrada</string>
<string name="range">Rango: </string>
<string name="big_mobile_type_icon_left_and_right_margins">Margen izquierdo y derecho del icono de red móvil grande</string>
<string name="cast">Transmitir</string>
<string name="force_support_send_app">Forzar que todas las apps soporten abrir en otro dispositivo</string>
<string name="status_bar_time_double_line_center_align">Alinear al centro fila dual</string>
<string name="default1">Por defecto</string>
<string name="clock_center">Reloj centrado</string>
<string name="clock_right">Reloj a la derecha</string>
<string name="status_bar_layout_mode">Modo de diseño de barra de estado</string>
<string name="clock_center_and_icon_left">Centrar reloj e icono a la izquierda</string>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="performance">Performance</string>
<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>
@@ -47,7 +46,6 @@
<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="skip_waiting_time">Sauter l\'alerte de 5/10 secondes</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>
<string name="HideLauncherIcon">Masquer l\'icône en Homepage</string>
@@ -154,8 +152,6 @@
<string name="participate_in_translation_summary">Aidez-nous à traduire l\'application dans votre langue</string>
<string name="lock_screen_charging_current">Afficher les informations actuelles pendant le chargement</string>
<string name="current_current">Actuelles</string>
<string name="remove_open_app_confirmation_popup">supprimer la popup de l\'application ouverte</string>
<string name="remove_open_app_confirmation_popup_summary">supprimer le popup de démarrage de la chaîne \"Autoriser XXX à ouvrir XXX\"</string>
<string name="hide_volume_icon">Masquer l\'icône de le volume</string>
<string name="hide_zen_icon">Masquer l\'icône ZEN</string>
<string name="hide_icon">Masquer l\'icône</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="performance">Perfoma</string>
<string name="lock_max_fps">Kunci batas atas kecepatan refresh layar saat ini</string>
<string name="ui">Tampilan</string>
<string name="delete_on_post_notification">Hapus tampilan di atas notifikasi</string>
@@ -47,7 +46,6 @@
<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="skip_waiting_time">Lewati 5/10 waktu peringatan</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>
@@ -154,8 +152,6 @@
<string name="participate_in_translation_summary">Bantu kami menerjemahkan aplikasi ke dalam bahasa Anda</string>
<string name="lock_screen_charging_current">Tampilkan informasi pengisian saat mengecas</string>
<string name="current_current">Pengisian</string>
<string name="remove_open_app_confirmation_popup">hilangkan pop-up aplikasi saat membukanya</string>
<string name="remove_open_app_confirmation_popup_summary">hilangkan \"Bolehkan XXX untuk membuka XXX\" pintasan rantai muncul pop-up</string>
<string name="hide_volume_icon">Sembunyikan ikon suara</string>
<string name="hide_zen_icon">Sembunyikan ikon ZEN (MIUI China)</string>
<string name="hide_icon">Sembunyikan ikon</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="performance">パフォーマンス設定</string>
<string name="lock_max_fps">現在のリフレッシュレート上限をロック</string>
<string name="ui">インタフェース</string>
<string name="delete_on_post_notification">「他のアプリの上に表示」通知を削除</string>
@@ -47,7 +46,6 @@
<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">Wi-Fiセカンダリアイコンを隠す</string>
<string name="HideLauncherIcon">ランチャーアイコンを隠す</string>
@@ -154,8 +152,6 @@
<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">「外部アプリを開く」ポップアップを削除します</string>
<string name="hide_volume_icon">音量アイコンを非表示</string>
<string name="hide_zen_icon">ZENアイコンを隠す</string>
<string name="hide_icon">アイコンを隠す</string>

View File

@@ -47,7 +47,7 @@
<string name="hide_status_bar_network_speed_second">Ascunde unitățile de viteză a rețelei (/s)</string>
<string name="menu">Meniu</string>
<string name="Tips">Sfaturi</string>
<string name="skip_waiting_time">Omite timpul de avertizare de 5/10 secunde</string>
<string name="skip_waiting_time">Se omite timpul de avertizare de 5/10 secunde</string>
<string name="unlock_unlimited_cropping">Elimină restricția la decuparea fotografiilor/capturilor de ecran</string>
<string name="hide_slave_wifi_icon">Ascunde pictograma secundară WIFI</string>
<string name="HideLauncherIcon">Ascunde pictograma în lansator</string>
@@ -187,4 +187,12 @@
<string name="range">Interval: </string>
<string name="big_mobile_type_icon_left_and_right_margins">Pictogramă mare tip date mobil, marginile din stânga și din dreapta</string>
<string name="cast">Proiectare</string>
<string name="force_support_send_app">Forțează trimiterea tuturor aplicațiilor către alt dispozitiv</string>
<string name="status_bar_time_double_line_center_align">Aliniere rândului dublu la centru</string>
<string name="default1">Implicit</string>
<string name="clock_center">Ceas la centru</string>
<string name="clock_right">Ceas la dreapta</string>
<string name="status_bar_layout_mode">Aspect bară de stare</string>
<string name="clock_center_and_icon_left">Ceas la centru și pictograme în stânga</string>
<string name="maximum_number_of_notification_icons">Numărul maxim de pictograme de notificare</string>
</resources>

View File

@@ -47,7 +47,7 @@
<string name="hide_status_bar_network_speed_second">Скрыть единицы измерения скорости сети</string>
<string name="menu">Варианты перезагрузки</string>
<string name="Tips">Подсказка</string>
<string name="skip_waiting_time">Пропустить 5/10 секундное время предупреждения</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>
@@ -193,4 +193,10 @@
<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>
</resources>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="performance">Performans</string>
<string name="performance">Performans </string>
<string name="lock_max_fps">Geçerli yenileme hızı üst sınırını kilitle</string>
<string name="ui">Arayüz </string>
<string name="delete_on_post_notification">Bildirim üzerinden ekranı kaldır</string>
@@ -48,7 +48,7 @@
<string name="hide_status_bar_network_speed_second">Ağ hızı (/s) birimlerini gizle</string>
<string name="menu">Menü</string>
<string name="Tips">İpuçları</string>
<string name="skip_waiting_time">5/10 saniyelik uyarı süresini atla</string>
<string name="skip_waiting_time">5/10 saniye uyarı süresini atla</string>
<string name="unlock_unlimited_cropping">Resimleri/ekran görüntülerini kırpma kısıtlamasını kaldırın</string>
<string name="hide_slave_wifi_icon">WIFI ikincil simgesini gizle</string>
<string name="HideLauncherIcon">Başlatıcı simgesini gizle</string>
@@ -155,7 +155,7 @@
<string name="participate_in_translation_summary">Uygulamayı kendi dilinize çevirmemize yardımcı olun</string>
<string name="lock_screen_charging_current">Şarj sırasında mevcut bilgileri görüntüleyin</string>
<string name="current_current">Akım </string>
<string name="remove_open_app_confirmation_popup">açık uygulama açılır penceresini kaldır</string>
<string name="remove_open_app_confirmation_popup">Açık uygulama açılır penceresini kaldır</string>
<string name="remove_open_app_confirmation_popup_summary">\"XXX\'in XXX\'i açmasına izin ver\" Zincir başlatma açılır penceresini kaldırın</string>
<string name="hide_volume_icon">Ses Düzeyi simgesini gizle</string>
<string name="hide_zen_icon">ZEN simgesini gizle</string>
@@ -187,4 +187,12 @@
<string name="input_error">Giriş hatası</string>
<string name="range">Menzil:</string>
<string name="big_mobile_type_icon_left_and_right_margins">Büyük mobil tip simgesi sol ve sağ kenar boşlukları</string>
<string name="cast">Yayınlama</string>
<string name="force_support_send_app">Tüm uygulama desteğini başka bir cihazda açmaya zorla</string>
<string name="status_bar_time_double_line_center_align">Çift sıralı merkez hizalama</string>
<string name="default1">Varsayılan </string>
<string name="clock_center">Merkezi saat</string>
<string name="clock_right">Saat Sağ</string>
<string name="status_bar_layout_mode">Durum çubuğu düzeni modu</string>
<string name="clock_center_and_icon_left">Saat Merkezi ve Sol Simge</string>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="performance">Hiệu năng</string>
<string name="lock_max_fps">Khoá giới hạn tốc độ làm mới hiện tại</string>
<string name="ui">Giao diện</string>
<string name="delete_on_post_notification">Xoá thông báo hiển thị trên ứng dụng khác</string>
@@ -47,7 +46,6 @@
<string name="hide_status_bar_network_speed_second">Ẩn đơn vị tốc độ mạng (/s)</string>
<string name="menu">Menu</string>
<string name="Tips">Mẹo</string>
<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 ứng dụng này khỏi màn hình chính</string>
@@ -154,9 +152,6 @@
<string name="participate_in_translation_summary">Giúp chúng tôi dịch ứng dụng sang ngôn ngữ của bạn</string>
<string name="lock_screen_charging_current">Hiển thị thông tin hiện tại trong khi sạc</string>
<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">loại bỏ \"Cho phép XXX mở XXX\" Cửa sổ bật lên bắt đầu chuỗi
TIẾP TỤC</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>

View File

@@ -189,4 +189,10 @@
<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>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="performance">性能</string>
<string name="lock_max_fps">鎖定當前刷新率上限</string>
<string name="ui">界面</string>
<string name="delete_on_post_notification">移除上層顯示通知</string>
@@ -47,7 +46,6 @@
<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>
@@ -154,8 +152,6 @@
<string name="participate_in_translation_summary">幫助我們將這個APP翻譯成您的語言</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>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="performance">表現</string>
<string name="performance">性能</string>
<string name="lock_max_fps">鎖定螢幕更新率上限</string>
<string name="ui">介面</string>
<string name="delete_on_post_notification">移除上層顯示通知</string>
@@ -66,7 +66,7 @@
<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_clock_double_line_size">大小0不更改</string>
<string name="matters_needing_attention">功能無法生效?</string>
<string name="Done">確定</string>
<string name="about_module_summary">查看模組相關訊息</string>
@@ -170,7 +170,7 @@
<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_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>
@@ -186,4 +186,13 @@
<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>
</resources>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name" translatable="false">Simplicity Tools</string>
<string name="performance">Performence</string>
<string name="performance">Performance</string>
<string name="lock_max_fps">Lock the current refresh rate upper limit</string>
<string name="ui">Interface</string>
<string name="delete_on_post_notification">Remove display over notification</string>
@@ -51,7 +51,7 @@
<string name="hide_status_bar_network_speed_second">Hide network speed (/s) units</string>
<string name="menu">Menu</string>
<string name="Tips">Tips</string>
<string name="skip_waiting_time">Skip 5/10 second warning time</string>
<string name="skip_waiting_time">Skip 5/10 seconds warning time</string>
<string name="unlock_unlimited_cropping">Remove restriction on cropping pictures/screenshots</string>
<string name="hide_slave_wifi_icon">Hide WIFI secondary icon</string>
<string name="HideLauncherIcon">Hide Launcher icon</string>
@@ -158,8 +158,8 @@
<string name="participate_in_translation_summary">Help us translate the app into your language</string>
<string name="lock_screen_charging_current">Display current information during charging</string>
<string name="current_current">Current</string>
<string name="remove_open_app_confirmation_popup">remove open app popup</string>
<string name="remove_open_app_confirmation_popup_summary">remove \"Allow XXX to open XXX\" Chain start popup</string>
<string name="remove_open_app_confirmation_popup">Remove open app popup</string>
<string name="remove_open_app_confirmation_popup_summary">Remove \"Allow XXX to open XXX\" Chain start popup</string>
<string name="hide_volume_icon">Hide Volume icon</string>
<string name="hide_zen_icon">Hide ZEN icon</string>
<string name="hide_icon">Hide Icon</string>
@@ -193,4 +193,10 @@
<string name="cast">Cast</string>
<string name="force_support_send_app">Force all apps support open on another device</string>
<string name="status_bar_time_double_line_center_align">Dual row center align</string>
<string name="default1">Default</string>
<string name="clock_center">Clock Center</string>
<string name="clock_right">Clock Right</string>
<string name="status_bar_layout_mode">Status bar layout mode</string>
<string name="clock_center_and_icon_left">Clock Center and Icon Left</string>
<string name="maximum_number_of_notification_icons">Maximum number of notification icons</string>
</resources>