Commit 7bf089af by zhangchengbo

feat:新增顺丰手机号优先从短信DB库查找, 其次未找到再从 通话记录中查找功能

parent efd7c51f
......@@ -6,7 +6,7 @@ import android.content.Intent
import android.os.Handler
import android.os.Looper
import android.provider.Telephony
import android.util.Log
import com.secspace.log.Log
import com.secspace.sms.extensions.*
import com.secspace.sms.helpers.RecentsHelper
import com.secspace.sms.helpers.refreshMessages
......@@ -74,26 +74,45 @@ class SmsReceiver : BroadcastReceiver() {
/**
* 根据短信手机号查找
* 1.先从短信DB库查找
* 2.未找到再从 通话记录中查找
*/
private fun findConversationWithPhoneNumber(context: Context, phoneNumber: String, threadId: Long, confirmCallBack: () -> Unit) {
Log.e(TAG, "----SmsReceiver---- phoneNumber:${phoneNumber} threadId:$threadId")
Log.d(TAG, "----SmsReceiver---- phoneNumber:${phoneNumber} threadId:$threadId")
val hasPerMissionResult = context.hasPermission(PERMISSION_READ_CALL_LOG)
if (hasPerMissionResult) {
RecentsHelper(context = context).getRecentCalls(false, Int.MAX_VALUE) { recents: List<RecentCall> ->
val listCallRecent: List<RecentCall> = recents.distinctBy { it.phoneNumber }
val allConversations = context.conversationsDB.getNonArchived() as ArrayList<Conversation>
// Log.d(TAG, "----SmsReceiver----handleMessage allConversations:${GsonUtil.parseListToJson(allConversations)}")
allConversations.forEach {
if (it.title.trim() == phoneNumber && it.isSFNumber) {
lastNumber = it.phoneNumber
Log.d(TAG, "----SmsReceiver--conversationsDB数据库--lastNumber :$lastNumber")
return@forEach
}
}
if (lastNumber.isEmpty()) {
RecentsHelper(context = context).getRecentCalls(false, Int.MAX_VALUE) { recents: List<RecentCall> ->
val listCallRecent: List<RecentCall> = recents.distinctBy { it.phoneNumber }
// Log.d(TAG, "----SmsReceiver----最近通话 recents:${GsonUtil.parseListToJson(listCallRecent)}")
val findResult: Int = listCallRecent.count { it.phoneNumber.trim() == phoneNumber.trim() && it.isShunFeng }
Log.d(TAG, "----SmsReceiver----findResult:${findResult}")
//从最近通话记录中找到了号码 进行掩码操作
if (findResult > 0) {
PhoneUtils.phoneNumberFormat(phoneNumber) { itNumber ->
Log.d(
TAG,
"----SmsReceiver----手机号掩码操作 itNumber:${itNumber} threadId:$threadId context.getThreadId:${context.getThreadId(phoneNumber)}"
)
lastNumber = itNumber
val findResult: Int = listCallRecent.count { it.phoneNumber.trim() == phoneNumber.trim() && it.isShunFeng }
Log.d(TAG, "----SmsReceiver----findResult:${findResult}")
//从最近通话记录中找到了号码 进行掩码操作
if (findResult > 0) {
PhoneUtils.phoneNumberFormat(phoneNumber) { itNumber ->
/* Log.d(
TAG,
"----SmsReceiver----手机号掩码操作 itNumber:${itNumber} threadId:$threadId context.getThreadId:${
context.getThreadId(
phoneNumber
)
}"
)*/
lastNumber = itNumber
}
}
}
}
......@@ -132,7 +151,7 @@ class SmsReceiver : BroadcastReceiver() {
conversation.phoneNumber = lastNumber
conversation.isSFNumber = true
}
Log.e(TAG, "----SmsReceiver----handleConversation 掩码后的 Json:${GsonUtil.parseBeanToJson(conversation)}")
// Log.d(TAG, "----SmsReceiver----handleConversation 掩码后的 Json:${GsonUtil.parseBeanToJson(conversation)}")
try {
context.insertOrUpdateConversation(conversation)
} catch (ignored: Exception) {
......@@ -192,7 +211,7 @@ class SmsReceiver : BroadcastReceiver() {
subscriptionId
)
}
Log.e(TAG, "----SmsReceiver----handleMessage message:${GsonUtil.parseBeanToJson(message)}")
// Log.d(TAG, "----SmsReceiver----handleMessage message:${GsonUtil.parseBeanToJson(message)}")
context.messagesDB.insertOrUpdate(message)
if (context.config.isArchiveAvailable) {
context.updateConversationArchivedStatus(threadId, false)
......
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