Commit e4214c5c by zhangchengbo

fix:1.添加手机号类型判断 2.对顺丰号码回复短信进行脱敏操作

parent e5636151
......@@ -99,8 +99,16 @@ class MainActivity : SimpleActivity() {
override fun onResume() {
super.onResume()
/* ensureBackgroundThread {
val allConversations = conversationsDB.getNonArchived()
if(allConversations.isEmpty()) return@ensureBackgroundThread
com.secspace.log.Log.d(TAG, "获取所有 是否是顺丰号码 = ${allConversations[0].isSFNumber} 是否包含 isContains = ${allConversations[0].snippet.contains("\u200B")}")
val results: Conversation = allConversations.last()
com.secspace.log.Log.d(TAG, "获取最后一条body = ${GsonUtil.parseBeanToJson(results)}")
}*/
//是否拥有通知使用权
val result = isNotificationAccessEnabled()
com.secspace.log.Log.d(TAG, "是否拥有通知使用权 = $result")
if(!result){
val intent = Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS")
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
......@@ -479,8 +487,6 @@ class MainActivity : SimpleActivity() {
// Log.d(TAG, " MainActivity getMessages() firstConversation 数据库 =:${GsonUtil.parseBeanToJson(firstConversation)} ")
conversationsDB.insertOrUpdate(firstConversation)
// Log.d(TAG, " MainActivity getMessages() lastMsg 数据库 =:${GsonUtil.parseBeanToJson(lastMsg)} ")
// messagesDB.insertOrUpdate(lastMsg)
}
}
......@@ -551,7 +557,7 @@ class MainActivity : SimpleActivity() {
private fun handleConversationClick(any: Any) {
Intent(this, ThreadActivity::class.java).apply {
val conversation = any as Conversation
if (conversation.snippet.contains("\u200B")) {
if (conversation.snippet.contains("\u200B") || conversation.isSFNumber) {
val phoneNumber = conversation.title
if (phoneNumber.contains("+86")) {
phoneNumber.replace("+86", "")
......
......@@ -43,7 +43,6 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.secspace.log.Log
import com.secspace.sms.R
import com.secspace.sms.adapters.AttachmentsAdapter
import com.secspace.sms.adapters.AutoCompleteTextViewAdapter
......@@ -137,10 +136,10 @@ class ThreadActivity : SimpleActivity() {
}
threadId = intent.getLongExtra(THREAD_ID, 0L)
/* intent.getStringExtra(THREAD_TITLE)?.let {
binding.threadToolbar.title = it
android.util.Log.d(TAG, " OnCreate title = $it")
}*/
/* intent.getStringExtra(THREAD_TITLE)?.let {
binding.threadToolbar.title = it
android.util.Log.d(TAG, " OnCreate title = $it")
}*/
isRecycleBin = intent.getBooleanExtra(IS_RECYCLE_BIN, false)
wasProtectionHandled = intent.getBooleanExtra(WAS_PROTECTION_HANDLED, false)
......@@ -430,7 +429,7 @@ class ThreadActivity : SimpleActivity() {
// Log.d(TAG,"--ThreadActivity--setupThreadTitle-- conversation:${Gson().toJson(conversation)} binding.threadToolbar.title = ${binding.threadToolbar.title}")
val title = intent.getStringExtra(THREAD_TITLE)?: ""
val title = intent.getStringExtra(THREAD_TITLE) ?: ""
binding.threadToolbar.title = if (!title.isNullOrEmpty()) {
// Log.d(TAG,"--ThreadActivity--setupThreadTitle---1 THREAD_NUMBER:$title")
......@@ -438,17 +437,17 @@ class ThreadActivity : SimpleActivity() {
title
} else {
val title = conversation?.title
if(!title.isNullOrEmpty()){
if (!title.isNullOrEmpty()) {
binding.threadToolbar.title = title
return
}
// Log.d(TAG,"--ThreadActivity--setupThreadTitle---2 THREAD_NUMBER:${intent.getStringExtra(THREAD_NUMBER)} title = $title")
val phoneNUmber = intent.getStringExtra(THREAD_NUMBER)
val phoneNUmber = intent.getStringExtra(THREAD_NUMBER)
/*phoneNUmber?.let {
binding.threadToolbar.title =it.replace(" ","")
}*/
// participants.getThreadTitle()
phoneNUmber?.replace(" ","")
phoneNUmber?.replace(" ", "")
}
}
......@@ -686,12 +685,12 @@ class ThreadActivity : SimpleActivity() {
sendMessage()
}
threadSendMessage.setOnLongClickListener {
/*if (!isScheduledMessage) {
/*threadSendMessage.setOnLongClickListener {
if (!isScheduledMessage) {
launchScheduleSendDialog()
}*/
}
true
}
}*/
threadSendMessage.isClickable = false
threadTypeMessage.onTextChangeListener {
......@@ -1368,18 +1367,50 @@ class ThreadActivity : SimpleActivity() {
private fun sendNormalMessage(text: String, subscriptionId: Int) {
val addresses = participants.getAddresses()
// android.util.Log.d(TAG, "sendNormalMessage: addresses = $addresses")
val attachments = buildMessageAttachments()
try {
refreshedSinceSent = false
sendMessageCompat(text, addresses, subscriptionId, attachments, messageToResend)
ensureBackgroundThread {
val messageIds = messages.map { it.id }
val messages = getMessages(threadId, getImageResolutions = true, limit = maxOf(1, attachments.size))
// android.util.Log.d(TAG, "sendNormalMessage: messageIds = $messageIds threadId = $threadId ")
val messages: List<Message> = getMessages(threadId, getImageResolutions = true, limit = maxOf(1, attachments.size))
.filter { it.id !in messageIds }
// android.util.Log.d(TAG, "sendNormalMessage: body = ${GsonUtil.parseListToJson(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)
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()
......
......@@ -9,6 +9,7 @@ import android.view.ViewGroup
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.google.gson.Gson
import com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller
import com.secspace.sms.activities.SimpleActivity
import com.secspace.sms.databinding.ItemConversationBinding
......@@ -133,12 +134,13 @@ abstract class BaseConversationsAdapter(
}
if (conversation.snippet.isNotEmpty() && conversation.title.length >= 11) {
if (conversation.snippet.contains("\u200B")) {
// Log.e("MainActivity", "BaseAdapter isNotEmpty = ${conversation.snippet.isNotEmpty()} length = ${conversation.title.length >= 11}")
// Log.e("MainActivity", "BaseAdapter isContains = ${conversation.snippet.contains("\u200B")} isSFNumber = ${conversation.isSFNumber}")
if (conversation.snippet.contains("\u200B") || conversation.isSFNumber) {
val phoneNumber = conversation.title
if (phoneNumber.contains("+86")) {
phoneNumber.replace("+86", "")
}
// Log.e("MainActivity", "----BaseAdapter----phoneNumber:$phoneNumber")
PhoneUtils.phoneNumberFormat(phoneNumber) { itNumber ->
text = itNumber
}
......@@ -150,7 +152,7 @@ abstract class BaseConversationsAdapter(
//短信内容
conversationBodyShort.apply {
text = smsDraft ?: conversation.snippet
Log.d("TAG", "setupView: 是否包含零宽度字符 = ${text.contains("\u200B")} 短信内容 = ${text}")
Log.d("TAG", "setupView: 是否包含零宽度字符 = ${conversation.snippet.contains("\u200B")} ${conversation.snippet.contains("\u200C")} ${conversation.snippet.contains("\u200D")} 短信内容 = ${text}")
// if(text.contains("\u200B"))
setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize * 0.9f)
}
......
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