diff --git a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt index f8fcabde..0f1306ac 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt @@ -768,6 +768,40 @@ class SettingsActivity : MIUIActivity() { ) ) ) + val align: HashMap = 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().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), diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/DoubleLineNetworkSpeed.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/DoubleLineNetworkSpeed.kt index d77fce58..a1e94ce5 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/DoubleLineNetworkSpeed.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/DoubleLineNetworkSpeed.kt @@ -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") { @@ -42,12 +43,16 @@ class DoubleLineNetworkSpeed : IXposedHookLoadPackage { .hookAfterConstructor(Context::class.java, AttributeSet::class.java) { val mView = it.thisObject as TextView mView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 7f) - if (getDualSize!=0){ + if (getDualSize != 0) { mView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, getDualSize.toFloat()) } mView.isSingleLine = false mView.setLineSpacing(0F, 0.8F) - mView.gravity = Gravity.LEFT or Gravity.CENTER_VERTICAL + 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}" + } } } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 68f283e4..f4471526 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -177,4 +177,7 @@ Dual row size (0: do not change) Dual row icon None + Dual row align + Left + Right