新增双排网速对齐切换

This commit is contained in:
乌堆小透明
2022-03-21 15:31:25 +08:00
parent 0a6b114354
commit 984b909197
3 changed files with 53 additions and 5 deletions

View File

@@ -768,6 +768,40 @@ class SettingsActivity : MIUIActivity() {
)
)
)
val align: HashMap<Int, String> = hashMapOf()
align[0] = getString(R.string.left)
align[1] = getString(R.string.right)
add(
TextWithSpinnerV(
TextV(resId = R.string.status_bar_network_speed_dual_row_gravity),
SpinnerV(
arrayListOf<MIUIPopupData>().apply {
add(MIUIPopupData(getString(R.string.left)) {
OwnSP.ownSP.edit().run {
putInt(
"status_bar_network_speed_dual_row_gravity",
0
)
apply()
}
})
add(MIUIPopupData(getString(R.string.right)) {
OwnSP.ownSP.edit().run {
putInt(
"status_bar_network_speed_dual_row_gravity",
1
)
apply()
}
})
}, currentValue = align[OwnSP.ownSP.getInt(
"status_bar_network_speed_dual_row_gravity",
0
)].toString()
),
dataBindingRecv = status_bar_dual_row_network_speed_binding.binding.getRecv(2)
)
)
add(
TextWithSpinnerV(
TextV(resId = R.string.status_bar_network_speed_dual_row_icon),

View File

@@ -25,6 +25,7 @@ class DoubleLineNetworkSpeed : IXposedHookLoadPackage {
private var downIcon = ""
private val getDualSize = XSPUtils.getInt("status_bar_network_speed_dual_row_size", 0)
private val getDualAlign = XSPUtils.getInt("status_bar_network_speed_dual_row_gravity", 0)
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
@@ -32,9 +33,9 @@ class DoubleLineNetworkSpeed : IXposedHookLoadPackage {
if (XSPUtils.getString("status_bar_network_speed_dual_row_icon", none) != none) {
upIcon = XSPUtils.getString("status_bar_network_speed_dual_row_icon", none)
?.firstOrNull()?.plus(" ") ?: String()
?.firstOrNull().toString()
downIcon = XSPUtils.getString("status_bar_network_speed_dual_row_icon", none)
?.lastOrNull()?.plus(" ") ?: String()
?.lastOrNull().toString()
}
hasEnable("status_bar_dual_row_network_speed") {
@@ -47,7 +48,11 @@ class DoubleLineNetworkSpeed : IXposedHookLoadPackage {
}
mView.isSingleLine = false
mView.setLineSpacing(0F, 0.8F)
if (getDualAlign == 0) {
mView.gravity = Gravity.LEFT or Gravity.CENTER_VERTICAL
} else {
mView.gravity = Gravity.RIGHT or Gravity.CENTER_VERTICAL
}
}
"com.android.systemui.statusbar.policy.NetworkSpeedController".hookBeforeMethod(
@@ -56,7 +61,13 @@ class DoubleLineNetworkSpeed : IXposedHookLoadPackage {
Context::class.java,
Long::class.java
) {
it.result = "${upIcon}${getTotalUpSpeed()}\n${downIcon}${getTotalDownloadSpeed()}"
if (getDualAlign == 0) {
it.result =
"${upIcon} ${getTotalUpSpeed()}\n${downIcon} ${getTotalDownloadSpeed()}"
} else {
it.result =
"${getTotalUpSpeed()} ${upIcon}\n${getTotalDownloadSpeed()} ${downIcon}"
}
}
}
}

View File

@@ -177,4 +177,7 @@
<string name="status_bar_network_speed_dual_row_size">Dual row size (0: do not change)</string>
<string name="status_bar_network_speed_dual_row_icon">Dual row icon</string>
<string name="none">None</string>
<string name="status_bar_network_speed_dual_row_gravity">Dual row align</string>
<string name="left">Left</string>
<string name="right">Right</string>
</resources>