双排时钟支持居中对齐

This commit is contained in:
LittleTurtle2333
2022-03-27 16:59:49 +08:00
parent b6d8529624
commit 5ee5dd71b1
3 changed files with 37 additions and 6 deletions

View File

@@ -665,6 +665,13 @@ class SettingsActivity : MIUIActivity() {
dataBindingRecv = customClockBinding.binding.getRecv(2) dataBindingRecv = customClockBinding.binding.getRecv(2)
) )
) )
add(
TextWithSwitchV(
TextV(resId = R.string.status_bar_time_double_line_center_align),
SwitchV("status_bar_time_double_line_center_align"),
dataBindingRecv = customClockBinding.binding.getRecv(2)
)
)
add( add(
TextV( TextV(
resId = R.string.status_bar_clock_size, resId = R.string.status_bar_clock_size,

View File

@@ -2,21 +2,23 @@ package com.lt2333.simplicitytools.hook.app.systemui
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.content.res.Resources
import android.os.Bundle
import android.os.Handler import android.os.Handler
import android.provider.Settings import android.provider.Settings
import android.util.AttributeSet import android.util.AttributeSet
import android.util.TypedValue import android.util.TypedValue
import android.view.Gravity
import android.view.View
import android.view.ViewGroup
import android.widget.TextView import android.widget.TextView
import com.lt2333.simplicitytools.util.XSPUtils import com.lt2333.simplicitytools.util.*
import com.lt2333.simplicitytools.util.findClass
import com.lt2333.simplicitytools.util.hookAfterConstructor
import com.lt2333.simplicitytools.util.hookAfterMethod
import com.lt2333.simplicitytools.util.xposed.base.HookRegister import com.lt2333.simplicitytools.util.xposed.base.HookRegister
import java.lang.reflect.Method import java.lang.reflect.Method
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.*
object StatusBarTimeCustomization: HookRegister() { object StatusBarTimeCustomization : HookRegister() {
private val isYear = XSPUtils.getBoolean("status_bar_time_year", false) private val isYear = XSPUtils.getBoolean("status_bar_time_year", false)
private val isMonth = XSPUtils.getBoolean("status_bar_time_month", false) private val isMonth = XSPUtils.getBoolean("status_bar_time_month", false)
@@ -29,6 +31,8 @@ object StatusBarTimeCustomization: HookRegister() {
private val isPeriod = XSPUtils.getBoolean("status_bar_time_period", true) private val isPeriod = XSPUtils.getBoolean("status_bar_time_period", true)
private val getClockSize = XSPUtils.getInt("status_bar_clock_size", 0) private val getClockSize = XSPUtils.getInt("status_bar_clock_size", 0)
private val isOpen = XSPUtils.getBoolean("custom_clock_switch", false) private val isOpen = XSPUtils.getBoolean("custom_clock_switch", false)
private val isCenterAlign =
XSPUtils.getBoolean("status_bar_time_double_line_center_align", false)
private val getClockDoubleSize = XSPUtils.getInt("status_bar_clock_double_line_size", 0) private val getClockDoubleSize = XSPUtils.getInt("status_bar_clock_double_line_size", 0)
private var nowTime: Date? = null private var nowTime: Date? = null
private var str = "" private var str = ""
@@ -68,6 +72,7 @@ object StatusBarTimeCustomization: HookRegister() {
d.isAccessible = true d.isAccessible = true
d.invoke(textV) d.invoke(textV)
} }
class T : TimerTask() { class T : TimerTask() {
override fun run() { override fun run() {
Handler(textV.context.mainLooper).post(r) Handler(textV.context.mainLooper).post(r)
@@ -92,6 +97,24 @@ object StatusBarTimeCustomization: HookRegister() {
} catch (e: Exception) { } catch (e: Exception) {
} }
} }
if (isCenterAlign) {
val collapsedStatusBarFragmentClass =
"com.android.systemui.statusbar.phone.CollapsedStatusBarFragment".findClass(
getDefaultClassLoader()
)
collapsedStatusBarFragmentClass.hookAfterMethod(
"onViewCreated",
View::class.java,
Bundle::class.java
) {
val MiuiPhoneStatusBarView: ViewGroup =
it.thisObject.getObjectField("mStatusBar") as ViewGroup
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
}
}
} }
} }

View File

@@ -191,5 +191,6 @@
<string name="range">Range: </string> <string name="range">Range: </string>
<string name="big_mobile_type_icon_left_and_right_margins">Big mobile type icon left and right margins</string> <string name="big_mobile_type_icon_left_and_right_margins">Big mobile type icon left and right margins</string>
<string name="cast">Cast</string> <string name="cast">Cast</string>
<string name="force_support_send_app">Force all apps support Handoff</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>
</resources> </resources>