Commit 086c3430 by zhangchengbo

fix:1.修改phoneNumber二次加密导致显示错误,2.注释Constant.listThreadData.remove(),删除记录后从[荣耀云恢复]…

fix:1.修改phoneNumber二次加密导致显示错误,2.注释Constant.listThreadData.remove(),删除记录后从[荣耀云恢复]找不到被删除的手机号记录 3.对于搜索栏Message与Conversation会话手机号脱敏处理
parent 2c651ae9
......@@ -12,7 +12,6 @@ import android.os.Handler
import android.provider.Settings
import android.provider.Telephony
import android.text.TextUtils
import android.util.Log
import androidx.annotation.RequiresApi
import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.lifecycle.lifecycleScope
......@@ -24,14 +23,12 @@ import com.secspace.sms.extensions.*
import com.secspace.sms.helpers.*
import com.secspace.sms.models.*
import com.secspace.sms.receivers.SmsSendObserver
import com.secspace.sms.util.AES
import com.secspace.sms.util.PhoneFromUtil
import com.secspace.sms.util.PhoneUtils
import com.secspace.sms.util.SmsCountUtil
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.commons.util.GsonUtil
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import org.greenrobot.eventbus.EventBus
......@@ -48,6 +45,7 @@ class MainActivity : SimpleActivity() {
private var lastSearchedText = ""
private var bus: EventBus? = null
private var wasProtectionHandled = false
private val listMessageId = arrayListOf<Long>()
private val binding by viewBinding(ActivityMainBinding::inflate)
......@@ -461,7 +459,7 @@ class MainActivity : SimpleActivity() {
firstConversation.isSFNumber = true
if (lastMsg.senderPhoneNumber.isNotEmpty() && PhoneFromUtil.isNumeric(lastMsg.senderPhoneNumber))
PhoneUtils.phoneNumberFormat(lastMsg.senderPhoneNumber) {
firstConversation.phoneNumber = AES.encrypt(it)
firstConversation.phoneNumber = it
// firstConversation.title = it
}
......@@ -487,7 +485,7 @@ class MainActivity : SimpleActivity() {
//从最近通话记录中找到了号码 进行掩码操作
if (findResult != null) {
PhoneUtils.phoneNumberFormat(phoneNumber) { itNumber ->
firstConversation.phoneNumber = AES.encrypt(itNumber)
firstConversation.phoneNumber = itNumber
firstConversation.isSFNumber = true
}
}
......@@ -495,7 +493,7 @@ class MainActivity : SimpleActivity() {
}
}
conversationsDB.insertOrUpdate(firstConversation)
// Log.d(TAG, " MainActivity getMessages() lastMsg 数据库 =:${GsonUtil.parseBeanToJson(lastMsg)} ")
// Log.d(TAG, "setFirstConversationAndUpdateData firstConversation = ${Gson().toJson(firstConversation)}")
}
}
......@@ -513,10 +511,12 @@ class MainActivity : SimpleActivity() {
if (Constant.listThreadData.isNotEmpty()) {
val listConversationData: List<Conversation> = conversations.filter { Constant.listThreadData.contains(it.phoneNumber) }
// Log.d(TAG, "setupConversations 找到被删除的 ListConversation 会话 = ${Gson().toJson(listConversationData)}")
listConversationData.forEach {conversation->
Constant.listThreadData.remove(conversation.phoneNumber)
conversation.isSFNumber = true
conversationsDB.insertOrUpdate(conversation)
if (listConversationData.isNotEmpty()) {
listConversationData.forEach { conversation ->
// Constant.listThreadData.remove(conversation.phoneNumber)
conversation.isSFNumber = true
conversationsDB.insertOrUpdate(conversation)
}
}
}
......@@ -660,21 +660,36 @@ class MainActivity : SimpleActivity() {
val searchResults = ArrayList<SearchResult>()
conversations.forEach { conversation ->
val date = conversation.date.formatDateOrTime(this, true, true)
val searchResult = SearchResult(-1, conversation.title, conversation.phoneNumber, date, conversation.threadId, conversation.photoUri)
val searchResult = SearchResult(-1, conversation.title, conversation.phoneNumber, date, conversation.threadId, conversation.photoUri,conversation.isSFNumber)
searchResults.add(searchResult)
}
// Log.d(TAG, "setupOptionsMenu 搜索消息 conversations searchResults = ${GsonUtil.parseListToJson(searchResults)} ")
messages.sortedByDescending { it.id }.forEach { message ->
var recipient = message.senderName
if (recipient.isEmpty() && message.participants.isNotEmpty()) {
val participantNames = message.participants.map { it.name }
recipient = TextUtils.join(", ", participantNames)
if(messages.isNotEmpty()){
val listConversationData: List<String> = conversationsDB.getNonArchived().filter { it.isSFNumber }.map { it.title }
messages.forEach {
if(listConversationData.contains(it.senderPhoneNumber)){
// Log.d(TAG, "showSearchResults: 找到了符合掩码的手机号 ${it.senderPhoneNumber}")
listMessageId.add(it.id)
}
}
val date = message.date.formatDateOrTime(this, true, true)
val searchResult = SearchResult(message.id, recipient, message.body, date, message.threadId, message.senderPhotoUri)
searchResults.add(searchResult)
messages.sortedByDescending { it.id }.forEach { message ->
var recipient = message.senderName
if (recipient.isEmpty() && message.participants.isNotEmpty()) {
val participantNames = message.participants.map { it.name }
recipient = TextUtils.join(", ", participantNames)
}
val date = message.date.formatDateOrTime(this, true, true)
if(listMessageId.contains(message.id)){
val searchResult = SearchResult(message.id, recipient, message.body, date, message.threadId, message.senderPhotoUri,isSfNumber = true)
searchResults.add(searchResult)
}else{
val searchResult = SearchResult(message.id, recipient, message.body, date, message.threadId, message.senderPhotoUri,isSfNumber = false)
searchResults.add(searchResult)
}
}
}
runOnUiThread {
......@@ -687,7 +702,11 @@ class MainActivity : SimpleActivity() {
hideKeyboard()
Intent(this, ThreadActivity::class.java).apply {
putExtra(THREAD_ID, (it as SearchResult).threadId)
putExtra(THREAD_TITLE, it.title)
if(it.isSfNumber){
PhoneUtils.phoneNumberFormat(it.title)
}else{
putExtra(THREAD_TITLE, it.title)
}
putExtra(SEARCHED_MESSAGE_ID, it.messageId)
startActivity(this)
}
......
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