in app/src/main/java/com/amazonaws/services/chime/sdkdemo/adapter/RosterAdapter.kt [45:91]
fun bindAttendee(attendee: RosterAttendee) {
val attendeeName = attendee.attendeeName
view.attendeeName.text = attendeeName
view.attendeeName.contentDescription = attendeeName
view.activeSpeakerIndicator.visibility = if (attendee.isActiveSpeaker) View.VISIBLE else View.INVISIBLE
view.activeSpeakerIndicator.contentDescription = if (attendee.isActiveSpeaker) "${attendee.attendeeName} Active" else ""
if (attendee.attendeeStatus == AttendeeStatus.Joined) {
if (attendee.signalStrength == SignalStrength.None ||
attendee.signalStrength == SignalStrength.Low
) {
val drawable = if (attendee.volumeLevel == VolumeLevel.Muted) {
R.drawable.ic_microphone_poor_connectivity_dissabled
} else {
R.drawable.ic_microphone_poor_connectivity
}
view.attendeeVolume.setImageResource(drawable)
view.contentDescription = "$attendeeName Signal Strength Poor"
} else {
when (attendee.volumeLevel) {
VolumeLevel.Muted -> {
view.attendeeVolume.setImageResource(R.drawable.ic_microphone_disabled)
view.attendeeVolume.contentDescription = "$attendeeName Muted"
}
VolumeLevel.NotSpeaking -> {
view.attendeeVolume.setImageResource(R.drawable.ic_microphone_enabled)
view.attendeeVolume.contentDescription = "$attendeeName Not Speaking"
}
VolumeLevel.Low -> {
view.attendeeVolume.setImageResource(R.drawable.ic_microphone_audio_1)
view.attendeeVolume.contentDescription = "$attendeeName Speaking"
}
VolumeLevel.Medium -> {
view.attendeeVolume.setImageResource(R.drawable.ic_microphone_audio_2)
view.attendeeVolume.contentDescription = "$attendeeName Speaking"
}
VolumeLevel.High -> {
view.attendeeVolume.setImageResource(R.drawable.ic_microphone_audio_3)
view.attendeeVolume.contentDescription = "$attendeeName Speaking"
}
}
}
view.attendeeVolume.visibility = View.VISIBLE
} else {
view.attendeeVolume.visibility = View.GONE
}
}