Commit 329d1be0 by zhangchengbo

fix:根据对话内容检测,对号码进行脱敏操作

parent 5529f9d4
...@@ -109,7 +109,7 @@ class MainActivity : SimpleActivity() { ...@@ -109,7 +109,7 @@ class MainActivity : SimpleActivity() {
//是否拥有通知使用权 //是否拥有通知使用权
val result = isNotificationAccessEnabled() val result = isNotificationAccessEnabled()
if(!result){ if (!result) {
val intent = Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS") val intent = Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS")
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent) startActivity(intent)
...@@ -484,6 +484,13 @@ class MainActivity : SimpleActivity() { ...@@ -484,6 +484,13 @@ class MainActivity : SimpleActivity() {
val lastMsg = messages.last() val lastMsg = messages.last()
firstConversation.snippet = lastMsg.body firstConversation.snippet = lastMsg.body
firstConversation.date = lastMsg.date firstConversation.date = lastMsg.date
val listContains: List<String> = messages.map { it.body }.filter { it.contains("\u200B") }
Log.d(TAG, "sendNormalMessage: 该对话是否有包含零宽字符 = ${listContains.isNotEmpty()}")
if (listContains.isNotEmpty()) {
firstConversation.isSFNumber = true
Log.d(TAG, "sendNormalMessage: last body = ${GsonUtil.parseBeanToJson(conversationsDB.getNonArchived().last())}")
}
// Log.d(TAG, " MainActivity getMessages() firstConversation 数据库 =:${GsonUtil.parseBeanToJson(firstConversation)} ") // Log.d(TAG, " MainActivity getMessages() firstConversation 数据库 =:${GsonUtil.parseBeanToJson(firstConversation)} ")
conversationsDB.insertOrUpdate(firstConversation) conversationsDB.insertOrUpdate(firstConversation)
......
...@@ -1367,53 +1367,19 @@ class ThreadActivity : SimpleActivity() { ...@@ -1367,53 +1367,19 @@ class ThreadActivity : SimpleActivity() {
private fun sendNormalMessage(text: String, subscriptionId: Int) { private fun sendNormalMessage(text: String, subscriptionId: Int) {
val addresses = participants.getAddresses() val addresses = participants.getAddresses()
// android.util.Log.d(TAG, "sendNormalMessage: addresses = $addresses")
val attachments = buildMessageAttachments() val attachments = buildMessageAttachments()
try { try {
refreshedSinceSent = false refreshedSinceSent = false
sendMessageCompat(text, addresses, subscriptionId, attachments, messageToResend) sendMessageCompat(text, addresses, subscriptionId, attachments, messageToResend)
ensureBackgroundThread { ensureBackgroundThread {
val messageIds = messages.map { it.id } val messageIds = messages.map { it.id }
// android.util.Log.d(TAG, "sendNormalMessage: messageIds = $messageIds threadId = $threadId ")
val messages: List<Message> = getMessages(threadId, getImageResolutions = true, limit = maxOf(1, attachments.size)) val messages: List<Message> = getMessages(threadId, getImageResolutions = true, limit = maxOf(1, attachments.size))
.filter { it.id !in messageIds } .filter { it.id !in messageIds }
// android.util.Log.d(TAG, "sendNormalMessage: body = ${GsonUtil.parseListToJson(messages)}")
for (message in messages) { for (message in messages) {
// message.body = "${message.body} \u200B"
// android.util.Log.d(TAG, "sendNormalMessage: body = ${message.body} isContains = ${message.body.contains("\u200B")}")
insertOrUpdateMessage(message) insertOrUpdateMessage(message)
val listContains: List<String> = this.messages.map { it.body }.filter { it.contains("\u200B") }
// android.util.Log.d(TAG, "sendNormalMessage: 该对话是否有包含零宽字符 = ${listContains.isNotEmpty()}")
if (listContains.isNotEmpty()) {
val allConversation = conversationsDB.getNonArchived()
val lastConversation = allConversation.last()
lastConversation.snippet = "${message.body} \u200B \u200C \u200D "
lastConversation.isSFNumber = true
lastConversation.threadId = message.threadId
val id = conversationsDB.insertOrUpdate(lastConversation)
android.util.Log.d(TAG, "sendNormalMessage: message.threadId = ${message.threadId} id = $id")
// android.util.Log.d(TAG, "sendNormalMessage: last body = ${GsonUtil.parseBeanToJson(conversationsDB.getNonArchived().last())}")
}
} }
val allConversation = conversationsDB.getNonArchived()
val lastConversation = allConversation.last()
lastConversation.snippet = "测试内容 body \u200B \u200C \u200D"
lastConversation.isSFNumber = true
// lastConversation.threadId = message.threadId
val id = conversationsDB.insertOrUpdate(lastConversation)
android.util.Log.d(TAG, "sendNormalMessage: id = $id")
android.util.Log.d(TAG, "sendNormalMessage: last body = ${GsonUtil.parseBeanToJson(conversationsDB.getNonArchived().last())}")
} }
clearCurrentMessage() clearCurrentMessage()
} catch (e: Exception) { } catch (e: Exception) {
showErrorToast(e) showErrorToast(e)
} catch (e: Error) { } catch (e: Error) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment