新增: {{CONTACT_NAME}} 标签用于反查{{FROM}}对应的通讯录姓名 #582

This commit is contained in:
pppscn 2025-02-13 17:34:24 +08:00
parent 992cabe323
commit b733fc2d4c
6 changed files with 24 additions and 1 deletions

View File

@ -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_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_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_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() 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_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_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_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() APP_TAG_MAP.clear()

View File

@ -10,6 +10,7 @@ import com.idormy.sms.forwarder.utils.AppUtils
import com.idormy.sms.forwarder.utils.BatteryUtils import com.idormy.sms.forwarder.utils.BatteryUtils
import com.idormy.sms.forwarder.utils.HttpServerUtils import com.idormy.sms.forwarder.utils.HttpServerUtils
import com.idormy.sms.forwarder.utils.Log 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
import com.idormy.sms.forwarder.utils.SettingUtils.Companion.enableSmsTemplate import com.idormy.sms.forwarder.utils.SettingUtils.Companion.enableSmsTemplate
import com.idormy.sms.forwarder.utils.SettingUtils.Companion.extraDeviceMark import com.idormy.sms.forwarder.utils.SettingUtils.Companion.extraDeviceMark
@ -129,6 +130,7 @@ data class MsgInfo(
) )
.replaceAppNameTag(from, encoderName) .replaceAppNameTag(from, encoderName)
.replaceLocationTag(encoderName) .replaceLocationTag(encoderName)
.replaceContactNameTag(encoderName)
.regexReplace(regexReplace) .regexReplace(regexReplace)
.trim() .trim()
} }
@ -185,6 +187,20 @@ data class MsgInfo(
return result 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名称}}标签 //替换{{APP名称}}标签
private fun String.replaceAppNameTag(packageName: String, encoderName: String = ""): String { private fun String.replaceAppNameTag(packageName: String, encoderName: String = ""): String {
if (TextUtils.isEmpty(this)) return this if (TextUtils.isEmpty(this)) return this

View File

@ -27,6 +27,7 @@
<string name="insert_tag_ipv6">Public IPv6</string> <string name="insert_tag_ipv6">Public IPv6</string>
<string name="insert_tag_ip_list">IP List</string> <string name="insert_tag_ip_list">IP List</string>
<string name="insert_tag_net_type">Network Status</string> <string name="insert_tag_net_type">Network Status</string>
<string name="insert_tag_contact_name">Contact Name</string>
<string name="type_param_sms">Sms</string> <string name="type_param_sms">Sms</string>
<string name="type_param_call">Call</string> <string name="type_param_call">Call</string>

View File

@ -27,6 +27,7 @@
<string name="insert_tag_ipv6">公网IPv6</string> <string name="insert_tag_ipv6">公网IPv6</string>
<string name="insert_tag_ip_list">IP地址列表</string> <string name="insert_tag_ip_list">IP地址列表</string>
<string name="insert_tag_net_type">网络状态</string> <string name="insert_tag_net_type">网络状态</string>
<string name="insert_tag_contact_name">来源姓名</string>
<string name="type_param_sms">短信</string> <string name="type_param_sms">短信</string>
<string name="type_param_call">通话</string> <string name="type_param_call">通话</string>

View File

@ -27,6 +27,7 @@
<string name="insert_tag_ipv6">公網IPv6</string> <string name="insert_tag_ipv6">公網IPv6</string>
<string name="insert_tag_ip_list">IP地址列表</string> <string name="insert_tag_ip_list">IP地址列表</string>
<string name="insert_tag_net_type">網路狀態</string> <string name="insert_tag_net_type">網路狀態</string>
<string name="insert_tag_contact_name">來源姓名</string>
<string name="type_param_sms">簡訊</string> <string name="type_param_sms">簡訊</string>
<string name="type_param_call">通話</string> <string name="type_param_call">通話</string>

View File

@ -26,6 +26,7 @@
<string name="tag_ipv6" translatable="false">{{IPV6}}</string> <string name="tag_ipv6" translatable="false">{{IPV6}}</string>
<string name="tag_ip_list" translatable="false">{{IP_LIST}}</string> <string name="tag_ip_list" translatable="false">{{IP_LIST}}</string>
<string name="tag_net_type" translatable="false">{{NET_TYPE}}</string> <string name="tag_net_type" translatable="false">{{NET_TYPE}}</string>
<string name="tag_contact_name" translatable="false">{{CONTACT_NAME}}</string>
<string name="insert_tag_from">来源号码</string> <string name="insert_tag_from">来源号码</string>
<string name="insert_tag_sms">短信内容</string> <string name="insert_tag_sms">短信内容</string>
@ -54,6 +55,7 @@
<string name="insert_tag_ipv6">公网IPv6</string> <string name="insert_tag_ipv6">公网IPv6</string>
<string name="insert_tag_ip_list">IP地址列表</string> <string name="insert_tag_ip_list">IP地址列表</string>
<string name="insert_tag_net_type">网络状态</string> <string name="insert_tag_net_type">网络状态</string>
<string name="insert_tag_contact_name">来源姓名</string>
<string name="type_param_sms">短信</string> <string name="type_param_sms">短信</string>
<string name="type_param_call">通话</string> <string name="type_param_call">通话</string>