Fix issue with CIV2 where avatars would not load.

This commit is contained in:
Alex Hart
2023-08-18 11:47:04 -03:00
committed by Cody Henthorne
parent ea5c3a7c5e
commit 32ae4393e2
4 changed files with 9 additions and 3 deletions
@@ -8,6 +8,7 @@ package org.thoughtcrime.securesms.conversation.v2.items
import android.net.Uri
import android.view.View
import androidx.lifecycle.Observer
import androidx.test.platform.app.InstrumentationRegistry
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
@@ -28,6 +29,8 @@ import org.thoughtcrime.securesms.groups.GroupId
import org.thoughtcrime.securesms.groups.GroupMigrationMembershipChange
import org.thoughtcrime.securesms.linkpreview.LinkPreview
import org.thoughtcrime.securesms.mediapreview.MediaIntentFactory
import org.thoughtcrime.securesms.mms.GlideApp
import org.thoughtcrime.securesms.mms.GlideRequests
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientId
import org.thoughtcrime.securesms.stickers.StickerLocator
@@ -214,6 +217,7 @@ class V2ConversationItemShapeTest {
override val selectedItems: Set<MultiselectPart> = emptySet()
override val isMessageRequestAccepted: Boolean = true
override val searchQuery: String? = null
override val glideRequests: GlideRequests = GlideApp.with(InstrumentationRegistry.getInstrumentation().context)
override fun onStartExpirationTimeout(messageRecord: MessageRecord) = Unit
@@ -59,7 +59,7 @@ import java.util.Optional
class ConversationAdapterV2(
private val lifecycleOwner: LifecycleOwner,
private val glideRequests: GlideRequests,
override val glideRequests: GlideRequests,
override val clickListener: ItemClickListener,
private var hasWallpaper: Boolean,
private val colorizer: Colorizer,
@@ -10,12 +10,14 @@ import org.thoughtcrime.securesms.conversation.ConversationItemDisplayMode
import org.thoughtcrime.securesms.conversation.colors.Colorizer
import org.thoughtcrime.securesms.conversation.mutiselect.MultiselectPart
import org.thoughtcrime.securesms.database.model.MessageRecord
import org.thoughtcrime.securesms.mms.GlideRequests
/**
* Describes the Adapter "context" that would normally have been
* visible to an inner class.
*/
interface V2ConversationContext {
val glideRequests: GlideRequests
val displayMode: ConversationItemDisplayMode
val clickListener: ConversationAdapter.ItemClickListener
val selectedItems: Set<MultiselectPart>
@@ -417,8 +417,8 @@ class V2TextOnlyViewHolder<Model : MappingModel<Model>>(
binding.senderName.text = sender.getDisplayName(context)
binding.senderName.setTextColor(conversationContext.getColorizer().getIncomingGroupSenderColor(context, sender))
binding.senderPhoto.setAvatar(sender)
binding.senderBadge.setBadgeFromRecipient(sender)
binding.senderPhoto.setAvatar(conversationContext.glideRequests, sender, false)
binding.senderBadge.setBadgeFromRecipient(sender, conversationContext.glideRequests)
} else {
binding.senderName.visible = false
binding.senderPhoto.visible = false