From b733fc2d4ca77383ed1a514f0fbdad9ec5a8f819 Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Thu, 13 Feb 2025 17:34:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=20`{{CONTACT=5FNAME?= =?UTF-8?q?}}`=20=E6=A0=87=E7=AD=BE=E7=94=A8=E4=BA=8E=E5=8F=8D=E6=9F=A5`{{?= =?UTF-8?q?FROM}}`=E5=AF=B9=E5=BA=94=E7=9A=84=E9=80=9A=E8=AE=AF=E5=BD=95?= =?UTF-8?q?=E5=A7=93=E5=90=8D=20#582?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/idormy/sms/forwarder/App.kt | 2 ++ .../com/idormy/sms/forwarder/entity/MsgInfo.kt | 18 +++++++++++++++++- app/src/main/res/values-en/strings.xml | 1 + app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values/strings.xml | 2 ++ 6 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/App.kt b/app/src/main/java/com/idormy/sms/forwarder/App.kt index 148ff511..c40e370d 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/App.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/App.kt @@ -416,6 +416,7 @@ class App : Application(), CactusCallback, Configuration.Provider by Core { getString(R.string.tag_sms) to getString(R.string.insert_tag_sms), getString(R.string.tag_card_slot) to getString(R.string.insert_tag_card_slot), getString(R.string.tag_card_subid) to getString(R.string.insert_tag_card_subid), + getString(R.string.tag_contact_name) to getString(R.string.insert_tag_contact_name), ) ) CALL_TAG_MAP.clear() @@ -426,6 +427,7 @@ class App : Application(), CactusCallback, Configuration.Provider by Core { getString(R.string.tag_card_slot) to getString(R.string.insert_tag_card_slot), getString(R.string.tag_card_subid) to getString(R.string.insert_tag_card_subid), getString(R.string.tag_call_type) to getString(R.string.insert_tag_call_type), + getString(R.string.tag_contact_name) to getString(R.string.insert_tag_contact_name), ) ) APP_TAG_MAP.clear() diff --git a/app/src/main/java/com/idormy/sms/forwarder/entity/MsgInfo.kt b/app/src/main/java/com/idormy/sms/forwarder/entity/MsgInfo.kt index 320822bb..0160ed51 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/entity/MsgInfo.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/entity/MsgInfo.kt @@ -10,6 +10,7 @@ import com.idormy.sms.forwarder.utils.AppUtils import com.idormy.sms.forwarder.utils.BatteryUtils import com.idormy.sms.forwarder.utils.HttpServerUtils import com.idormy.sms.forwarder.utils.Log +import com.idormy.sms.forwarder.utils.PhoneUtils import com.idormy.sms.forwarder.utils.SettingUtils import com.idormy.sms.forwarder.utils.SettingUtils.Companion.enableSmsTemplate import com.idormy.sms.forwarder.utils.SettingUtils.Companion.extraDeviceMark @@ -129,6 +130,7 @@ data class MsgInfo( ) .replaceAppNameTag(from, encoderName) .replaceLocationTag(encoderName) + .replaceContactNameTag(encoderName) .regexReplace(regexReplace) .trim() } @@ -185,6 +187,20 @@ data class MsgInfo( return result } + //替换{{CONTACT_NAME}}标签 + private fun String.replaceContactNameTag(encoderName: String = ""): String { + if (TextUtils.isEmpty(this)) return this + if (this.indexOf(getString(R.string.tag_contact_name)) == -1) return this + + val contacts = PhoneUtils.getContactByNumber(from) + var contactName = if (contacts.isNotEmpty()) contacts[0].name else getString(R.string.unknown_number) + when (encoderName) { + "Gson" -> contactName = toJsonStr(contactName) + "URLEncoder" -> contactName = URLEncoder.encode(contactName, "UTF-8") + } + return this.replaceTag(getString(R.string.tag_contact_name), contactName) + } + //替换{{APP名称}}标签 private fun String.replaceAppNameTag(packageName: String, encoderName: String = ""): String { if (TextUtils.isEmpty(this)) return this @@ -256,4 +272,4 @@ data class MsgInfo( ", simInfo=" + simInfo + '}' } -} \ No newline at end of file +} diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index be999792..89c5ee91 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -27,6 +27,7 @@ Public IPv6 IP List Network Status + Contact Name Sms Call diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 25b74cfe..f7ee6ccd 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -27,6 +27,7 @@ 公网IPv6 IP地址列表 网络状态 + 来源姓名 短信 通话 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 5b679648..deabf87d 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -27,6 +27,7 @@ 公網IPv6 IP地址列表 網路狀態 + 來源姓名 簡訊 通話 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 39a8e2a0..e9b0fbfe 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -26,6 +26,7 @@ {{IPV6}} {{IP_LIST}} {{NET_TYPE}} + {{CONTACT_NAME}} 来源号码 短信内容 @@ -54,6 +55,7 @@ 公网IPv6 IP地址列表 网络状态 + 来源姓名 短信 通话