in azure-communication-ui/calling/src/main/java/com/azure/android/communication/ui/calling/presentation/fragment/setup/components/JoinCallButtonHolderViewModel.kt [71:92]
fun update(
audioPermissionState: PermissionStatus,
callingState: CallingState,
cameraPermissionState: PermissionStatus,
cameraOperationalStatus: CameraOperationalStatus,
camerasCount: Int,
) {
disableJoinCallButtonFlow.value =
callingState.callingStatus != CallingStatus.NONE
joinCallButtonEnabledFlow.value =
audioPermissionState == PermissionStatus.GRANTED &&
cameraPermissionState != PermissionStatus.UNKNOWN &&
(camerasCount == 0 || cameraOperationalStatus != CameraOperationalStatus.PENDING)
if (callingState.isDisconnected()) {
disableJoinCallButtonFlow.value = false
} else {
disableJoinCallButtonFlow.value =
callingState.callingStatus != CallingStatus.NONE || callingState.joinCallIsRequested
}
}