in azure-communication-ui/calling/src/main/java/com/azure/android/communication/ui/calling/presentation/fragment/calling/hold/OnHoldOverlayView.kt [56:99]
fun start(
viewLifecycleOwner: LifecycleOwner,
viewModel: OnHoldOverlayViewModel,
) {
this.viewModel = viewModel
setupUi()
viewLifecycleOwner.lifecycleScope.launch {
viewModel.getDisplayHoldOverlayFlow().collect {
val lastVisibility = visibility
visibility = if (it) VISIBLE else GONE
if (isAndroidTV(context)) {
if (visibility == VISIBLE && lastVisibility != visibility) {
resumeButton.requestFocus()
}
}
}
}
ViewCompat.setAccessibilityDelegate(
this,
object : AccessibilityDelegateCompat() {
override fun onInitializeAccessibilityNodeInfo(
host: View,
info: AccessibilityNodeInfoCompat,
) {
super.onInitializeAccessibilityNodeInfo(host, info)
info.removeAction(AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CLICK)
info.isClickable = false
}
}
)
initSnackBar()
viewLifecycleOwner.lifecycleScope.launch {
viewModel.getDisplayMicUsedToastStateFlow().collect {
if (!it) {
snackBar.dismiss()
} else {
displayMicInUseSnackbar()
}
}
}
}