override fun onBindViewHolder()

in azure-communication-ui/calling/src/main/java/com/azure/android/communication/ui/calling/presentation/fragment/calling/captions/CaptionsRecyclerViewAdapter.kt [49:79]


    override fun onBindViewHolder(holder: CaptionsViewHolder, position: Int) {
        val captionsRttRecord = captionsRttRecords[position]
        holder.messageTextView.text = captionsRttRecord.displayText
        var speakerName = captionsRttRecord.displayName
        if (speakerName.isNullOrEmpty()) {
            speakerName =
                holder.messageTextView.context.getString(R.string.azure_communication_ui_calling_view_participant_drawer_unnamed)
        }
        if (holder.displayNameTextView.text != speakerName) {
            holder.displayNameTextView.text = speakerName
        }
        if (holder.avatarView.name != speakerName) {
            holder.avatarView.name = speakerName
        }
        val bitMap = captionsRttRecord.avatarBitmap

        if (bitMap == null) {
            holder.avatarView.avatarImageBitmap = null
        } else if (captionsRttRecord.avatarBitmap != holder.avatarView.avatarImageBitmap) {
            holder.avatarView.avatarImageBitmap = bitMap
        }

        val isRtt = captionsRttRecord.type == CaptionsRttType.RTT
        val isRttTyping = isRtt && !captionsRttRecord.isFinal
        holder.rttTypingIndicator.isVisible = isRttTyping
        holder.rttTypingIndicatorText.isVisible = isRttTyping

        holder.rttInfo.isVisible = captionsRttRecord.type == CaptionsRttType.RTT_INFO
        holder.rttInfoLabel.movementMethod = LinkMovementMethod.getInstance()
        holder.captionContainer.isVisible = captionsRttRecord.type != CaptionsRttType.RTT_INFO
    }