mirror of
https://github.com/SimpleMobileTools/Simple-SMS-Messenger.git
synced 2025-06-05 21:49:22 +02:00
recognize private contacts at the thread screen too
This commit is contained in:
@@ -30,10 +30,7 @@ import com.klinker.android.send_message.Settings
|
|||||||
import com.klinker.android.send_message.Transaction
|
import com.klinker.android.send_message.Transaction
|
||||||
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.commons.helpers.PERMISSION_READ_PHONE_STATE
|
import com.simplemobiletools.commons.helpers.*
|
||||||
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
|
|
||||||
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
|
||||||
import com.simplemobiletools.commons.helpers.isNougatPlus
|
|
||||||
import com.simplemobiletools.commons.models.SimpleContact
|
import com.simplemobiletools.commons.models.SimpleContact
|
||||||
import com.simplemobiletools.smsmessenger.R
|
import com.simplemobiletools.smsmessenger.R
|
||||||
import com.simplemobiletools.smsmessenger.adapters.AutoCompleteTextViewAdapter
|
import com.simplemobiletools.smsmessenger.adapters.AutoCompleteTextViewAdapter
|
||||||
@@ -89,6 +86,7 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun setupThread() {
|
private fun setupThread() {
|
||||||
|
val privateCursor = getMyContactsContentProviderCursorLoader().loadInBackground()
|
||||||
ensureBackgroundThread {
|
ensureBackgroundThread {
|
||||||
messages = getMessages(threadId)
|
messages = getMessages(threadId)
|
||||||
participants = if (messages.isEmpty()) {
|
participants = if (messages.isEmpty()) {
|
||||||
@@ -97,6 +95,14 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
messages.first().participants
|
messages.first().participants
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check if no participant came from a privately stored contact in Simple Contacts
|
||||||
|
val privateContacts = MyContactsContentProvider.getSimpleContacts(this, privateCursor)
|
||||||
|
participants.filter { it.name == it.phoneNumber }.forEach { participant ->
|
||||||
|
privateContacts.firstOrNull { it.phoneNumber == participant.phoneNumber }?.apply {
|
||||||
|
participant.name = name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (participants.isEmpty()) {
|
if (participants.isEmpty()) {
|
||||||
val name = intent.getStringExtra(THREAD_TITLE) ?: ""
|
val name = intent.getStringExtra(THREAD_TITLE) ?: ""
|
||||||
val number = intent.getStringExtra(THREAD_NUMBER)
|
val number = intent.getStringExtra(THREAD_NUMBER)
|
||||||
|
Reference in New Issue
Block a user