新增时间居中功能

更新版本号至1.3.4
This commit is contained in:
乌堆小透明
2022-03-07 21:53:38 +08:00
parent c9450c2fca
commit 0665c4553b
8 changed files with 81 additions and 16 deletions

View File

@@ -12,8 +12,8 @@ android {
applicationId = "com.lt2333.simplicitytools"
minSdk = 31
targetSdk = 32
versionCode = 34
versionName = "1.3.3"
versionCode = 35
versionName = "1.3.4"
}
buildTypes {
@@ -56,7 +56,8 @@ android {
}
dependencies {
// implementation("androidx.constraintlayout:constraintlayout:2.1.3")
implementation("androidx.constraintlayout:constraintlayout:2.1.3")
// implementation("androidx.constraintlayout:constraintlayout:2.1.3")
//API
compileOnly("de.robv.android.xposed:api:82")
//UI

File diff suppressed because one or more lines are too long

View File

@@ -63,6 +63,8 @@ class SystemUI : IXposedHookLoadPackage {
ControlCenterWeather().handleLoadPackage(lpparam)
//TODO状态栏电流
//StatusBarCurrent().handleLoadPackage(lpparam)
//状态栏布局
StatusBarLayout().handleLoadPackage(lpparam)
}
}

View File

@@ -18,6 +18,14 @@ import de.robv.android.xposed.callbacks.XC_LoadPackage
class StatusBarLayout : IXposedHookLoadPackage {
private var mLeftLayout: LinearLayout? = null
private var mRightLayout: LinearLayout? = null
private var mCenterLayout: LinearLayout? = null
private var status_bar: ViewGroup? = null
private var status_bar_left = 0
private var status_bar_top = 0
private var status_bar_right = 0
private var status_bar_bottom = 0
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
if (!XSPUtils.getBoolean("status_bar_time_center", false)) return
@@ -37,7 +45,10 @@ class StatusBarLayout : IXposedHookLoadPackage {
override fun afterHookedMethod(param: MethodHookParam) {
super.afterHookedMethod(param)
val MiuiPhoneStatusBarView: ViewGroup =
XposedHelpers.getObjectField(param.thisObject, "mStatusBar") as ViewGroup
XposedHelpers.getObjectField(
param.thisObject,
"mStatusBar"
) as ViewGroup
val context: Context = MiuiPhoneStatusBarView.context
val res: Resources = MiuiPhoneStatusBarView.resources
val status_bar_ID: Int =
@@ -58,7 +69,8 @@ class StatusBarLayout : IXposedHookLoadPackage {
"id",
"com.android.systemui"
)
val status_bar: ViewGroup = MiuiPhoneStatusBarView.findViewById(status_bar_ID)
status_bar =
MiuiPhoneStatusBarView.findViewById(status_bar_ID)
val status_bar_contents: ViewGroup =
MiuiPhoneStatusBarView.findViewById(status_bar_contents_ID)
if (status_bar == null) return
@@ -103,32 +115,74 @@ class StatusBarLayout : IXposedHookLoadPackage {
//增加一个左对齐布局
mLeftLayout = LinearLayout(context)
val LeftLp: LinearLayout.LayoutParams =
LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT, 1.0f)
LinearLayout.LayoutParams(
0,
LinearLayout.LayoutParams.MATCH_PARENT,
1.0f
)
mLeftLayout!!.layoutParams = LeftLp
mLeftLayout!!.gravity = Gravity.START or Gravity.CENTER_VERTICAL
//增加一个居中布局
val mCenterLayout = LinearLayout(context)
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
val mRightLayout = LinearLayout(context)
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
LinearLayout.LayoutParams(
0,
LinearLayout.LayoutParams.MATCH_PARENT,
1.0f
)
mRightLayout!!.layoutParams = RightLp
mRightLayout!!.gravity = Gravity.END or Gravity.CENTER_VERTICAL
mLeftLayout!!.addView(phone_status_bar_left_container)
mLeftLayout!!.addView(mConstraintLayout)
mCenterLayout.addView(Clock)
mRightLayout.addView(system_icon_area)
mCenterLayout!!.addView(Clock)
mRightLayout!!.addView(system_icon_area)
status_bar_contents.addView(mLeftLayout, 0)
status_bar_contents.addView(mCenterLayout)
status_bar_contents.addView(mRightLayout)
status_bar_left = status_bar!!.paddingLeft
status_bar_top = status_bar!!.paddingTop
status_bar_right = status_bar!!.paddingRight
status_bar_bottom = status_bar!!.paddingBottom
mLeftLayout!!.setPadding(status_bar_left, 0, 0, 0)
mRightLayout!!.setPadding(0, 0, status_bar_right, 0)
status_bar!!.setPadding(0, status_bar_top, 0, status_bar_bottom)
}
})
val classIfExists2 = XposedHelpers.findClassIfExists(
"com.android.systemui.statusbar.phone.PhoneStatusBarView",
lpparam.classLoader
)
XposedHelpers.findAndHookMethod(
classIfExists2,
"updateLayoutForCutout",
object : XC_MethodHook() {
override fun afterHookedMethod(param: MethodHookParam) {
mLeftLayout!!.setPadding(status_bar_left, 0, 0, 0)
mRightLayout!!.setPadding(0, 0, status_bar_right, 0)
status_bar!!.setPadding(0, status_bar_top, 0, status_bar_bottom)
}
}
)
}
}

View File

@@ -132,4 +132,6 @@
<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>
</resources>

View File

@@ -132,4 +132,6 @@
<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>
</resources>

View File

@@ -132,4 +132,6 @@
<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>
</resources>

View File

@@ -132,4 +132,6 @@
<string name="are_you_sure_reboot_scope">Are you sure to reboot all scope?</string>
<string name="hide_battery_charging_icon">Hide charging icon</string>
<string name="hide_wifi_standard_icon">Hide WIFI standard icon</string>
<string name="status_bar_time_center">Status bar time center</string>
<string name="status_bar_layout_summary">More status bar layouts are under development</string>
</resources>