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
}