From 1a15df5822ec243ee3ac8bd4c1997366cac46bc2 Mon Sep 17 00:00:00 2001 From: LittleTurtle2333 Date: Sat, 2 Apr 2022 22:39:59 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=96=87=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/SettingsActivity.kt | 67 +++++++++++++++++++ .../simplicitytools/hook/app/SystemUI.kt | 1 + .../hook/app/systemui/CustomMobileTypeText.kt | 22 ++++++ app/src/main/res/values/strings.xml | 2 + 4 files changed, 92 insertions(+) create mode 100644 app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/CustomMobileTypeText.kt 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 753ecbfc..7d344f9e 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/activity/SettingsActivity.kt @@ -752,6 +752,73 @@ class SettingsActivity : MIUIActivity() { ) ) ) + val customMobileTypeTextBinding = getDataBinding( + SPUtils.getBoolean( + activity, + "custom_mobile_type_text_switch", + false + ) + ) { view, flags, data -> + when (flags) { + 1 -> (view as Switch).isEnabled = data as Boolean + 2 -> view.visibility = if (data as Boolean) View.VISIBLE else View.GONE + } + } + add( + TextSummaryWithSwitchV( + TextSummaryV( + textId = R.string.custom_mobile_type_text_switch + ), + SwitchV( + "custom_mobile_type_text_switch", + dataBindingSend = customMobileTypeTextBinding.bindingSend + ) + ) + ) + add( + TextSummaryArrowV( + TextSummaryV( + textId = R.string.custom_mobile_type_text + ) { + MIUIDialog(activity).apply { + setTitle(R.string.custom_mobile_type_text) + setEditText( + "${ + OwnSP.ownSP.getString( + "custom_mobile_type_text", "5G" + ) + }", + "" + ) + setLButton(textId = R.string.cancel) { + dismiss() + } + setRButton(textId = R.string.Done) { + if (getEditText().isNotEmpty()) { + try { + OwnSP.ownSP.edit().run { + putString( + "custom_mobile_type_text", + getEditText() + ) + apply() + } + dismiss() + return@setRButton + } catch (_: Throwable) { + } + } + Toast.makeText( + activity, + R.string.input_error, + Toast.LENGTH_SHORT + ).show() + } + show() + } + },dataBindingRecv = customMobileTypeTextBinding.binding.getRecv(2) + ) + ) val bigMobileTypeIconBinding = getDataBinding( SPUtils.getBoolean( activity, diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt index f8cb6b10..f0fddaca 100644 --- a/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/SystemUI.kt @@ -40,6 +40,7 @@ object SystemUI: AppRegister() { DoubleLineNetworkSpeed, //双排网速 StatusBarBigMobileTypeIcon, //大移动类型 BatteryPercentage, //电量百分比 + CustomMobileTypeText, //自定义移动类型文本 ) } } \ No newline at end of file diff --git a/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/CustomMobileTypeText.kt b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/CustomMobileTypeText.kt new file mode 100644 index 00000000..78ff6708 --- /dev/null +++ b/app/src/main/java/com/lt2333/simplicitytools/hook/app/systemui/CustomMobileTypeText.kt @@ -0,0 +1,22 @@ +package com.lt2333.simplicitytools.hook.app.systemui + +import com.lt2333.simplicitytools.util.XSPUtils +import com.lt2333.simplicitytools.util.hasEnable +import com.lt2333.simplicitytools.util.hookAfterMethod +import com.lt2333.simplicitytools.util.hookBeforeMethod +import com.lt2333.simplicitytools.util.xposed.base.HookRegister + +object CustomMobileTypeText : HookRegister() { + + override fun init() { + hasEnable("custom_mobile_type_text_switch") { + "com.android.systemui.statusbar.policy.MobileSignalController".hookAfterMethod( + getDefaultClassLoader(), + "getMobileTypeName", + Int::class.java + ) { + it.result = XSPUtils.getString("custom_mobile_type_text","5G") + } + } + } +} \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 15dd5079..ddb5adf7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -200,4 +200,6 @@ Clock Center and Icon Left Maximum number of notification icons Maximum number of notification dots + Custom mobile type text + Custom mobile type text switch