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地址列表
网络状态
+ 来源姓名
短信
通话