Emanuele Tidó
Committed by GitHub

speaker highlighting added on sample-app (#125) (#126)

* speaker highlighting added on sample-app (#125)

* Update ParticipantItem.kt
package io.livekit.android.sample
import android.graphics.Color
import android.graphics.drawable.GradientDrawable
import android.view.View
import com.github.ajalt.timberkt.Timber
import com.xwray.groupie.viewbinding.BindableItem
... ... @@ -45,6 +48,15 @@ class ParticipantItem(
}
}
coroutineScope?.launch {
participant::isSpeaking.flow.collect { isSpeaking ->
if (isSpeaking) {
showFocus(viewBinding)
} else {
hideFocus(viewBinding)
}
}
}
coroutineScope?.launch {
participant::audioTracks.flow
.flatMapLatest { tracks ->
val audioTrack = tracks.firstOrNull()?.first
... ... @@ -153,4 +165,20 @@ private fun View.visibleOrInvisible(visible: Boolean) {
} else {
View.INVISIBLE
}
}
\ No newline at end of file
}
private fun showFocus(binding: ParticipantItemBinding) {
val border = GradientDrawable()
border.setColor(Color.BLUE)
border.setStroke(8, -0x1000000)
binding.root.setPadding(16,16,16,16)
binding.root.background = border
}
private fun hideFocus(binding: ParticipantItemBinding) {
val border = GradientDrawable()
border.setColor(Color.TRANSPARENT)
border.setStroke(0, -0x1000000)
binding.root.setPadding(0,0,0,0)
binding.root.background = border
}
... ...