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