mirror of
https://github.com/LittleTurtle2333/SimplicityTools.git
synced 2026-07-13 03:41:19 +08:00
双排时钟支持居中对齐
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user