From 83dcc7423c0b0cfd563d48602104b19ded64ac65 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 18 May 2020 23:34:27 +0200 Subject: [PATCH] use proper placeholder avatars at private contacts too --- .../smsmessenger/activities/ThreadActivity.kt | 8 ++++++++ .../smsmessenger/adapters/ThreadAdapter.kt | 1 + .../com/simplemobiletools/smsmessenger/models/Message.kt | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt index 05752f48..f92b68c1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt @@ -95,14 +95,22 @@ class ThreadActivity : SimpleActivity() { messages.first().participants } + val senderNumbersToReplace = HashMap() // 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 { + senderNumbersToReplace[participant.phoneNumber] = name participant.name = name } } + messages.forEach { message -> + if (senderNumbersToReplace.keys.contains(message.senderName)) { + message.senderName = senderNumbersToReplace[message.senderName]!! + } + } + if (participants.isEmpty()) { val name = intent.getStringExtra(THREAD_TITLE) ?: "" val number = intent.getStringExtra(THREAD_NUMBER) diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt index 0f5a6531..337452f9 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt @@ -44,6 +44,7 @@ class ThreadAdapter(activity: SimpleActivity, var messages: ArrayList Unit) : MyRecyclerViewAdapter(activity, recyclerView, fastScroller, itemClick) { private val roundedCornersRadius = resources.getDimension(R.dimen.normal_margin).toInt() + @SuppressLint("MissingPermission") private val hasMultipleSIMCards = SubscriptionManager.from(activity).activeSubscriptionInfoList?.size ?: 0 > 1 diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Message.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Message.kt index 4285d527..e18df07c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Message.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Message.kt @@ -5,6 +5,6 @@ import com.simplemobiletools.commons.models.SimpleContact data class Message( val id: Int, val body: String, val type: Int, val participants: ArrayList, val date: Int, val read: Boolean, val thread: Int, - val isMMS: Boolean, val attachment: MessageAttachment?, val senderName: String, val senderPhotoUri: String, val subscriptionId: Int) : ThreadItem() { + val isMMS: Boolean, val attachment: MessageAttachment?, var senderName: String, val senderPhotoUri: String, val subscriptionId: Int) : ThreadItem() { fun isReceivedMessage() = type == Telephony.Sms.MESSAGE_TYPE_INBOX }