in azure-communication-ui/calling/src/main/java/com/azure/android/communication/ui/calling/redux/middleware/handler/CallingMiddlewareActionHandler.kt [579:637]
override fun dismissNotification(store: Store<ReduxState>) {
store.getCurrentState().toastNotificationState.kinds.forEach { kind: ToastNotificationKind ->
if (kind == ToastNotificationKind.NETWORK_UNAVAILABLE) {
val model = NetworkCallDiagnosticModel(
NetworkCallDiagnostic.NETWORK_UNAVAILABLE,
false
)
store.dispatch(CallDiagnosticsAction.NetworkCallDiagnosticsDismissed(model))
}
if (kind == ToastNotificationKind.NETWORK_RELAYS_UNREACHABLE) {
val model = NetworkCallDiagnosticModel(
NetworkCallDiagnostic.NETWORK_RELAYS_UNREACHABLE,
false
)
store.dispatch(CallDiagnosticsAction.NetworkCallDiagnosticsDismissed(model))
}
if (kind == ToastNotificationKind.NETWORK_RECEIVE_QUALITY ||
kind == ToastNotificationKind.NETWORK_RECONNECTION_QUALITY ||
kind == ToastNotificationKind.NETWORK_SEND_QUALITY
) {
val diagnostic = when (kind) {
ToastNotificationKind.NETWORK_RECEIVE_QUALITY -> NetworkCallDiagnostic.NETWORK_RECEIVE_QUALITY
ToastNotificationKind.NETWORK_RECONNECTION_QUALITY -> NetworkCallDiagnostic.NETWORK_RECONNECTION_QUALITY
ToastNotificationKind.NETWORK_SEND_QUALITY -> NetworkCallDiagnostic.NETWORK_SEND_QUALITY
else -> null
}
diagnostic?.let {
val model = NetworkQualityCallDiagnosticModel(
diagnostic,
CallDiagnosticQuality.UNKNOWN
)
store.dispatch(
CallDiagnosticsAction.NetworkQualityCallDiagnosticsDismissed(
model
)
)
}
}
if (kind == ToastNotificationKind.SPEAKING_WHILE_MICROPHONE_IS_MUTED ||
kind == ToastNotificationKind.CAMERA_START_FAILED ||
kind == ToastNotificationKind.CAMERA_START_TIMED_OUT
) {
val mediaCallDiagnostic = when (kind) {
ToastNotificationKind.SPEAKING_WHILE_MICROPHONE_IS_MUTED -> MediaCallDiagnostic.SPEAKING_WHILE_MICROPHONE_IS_MUTED
ToastNotificationKind.CAMERA_START_FAILED -> MediaCallDiagnostic.CAMERA_START_FAILED
ToastNotificationKind.CAMERA_START_TIMED_OUT -> MediaCallDiagnostic.CAMERA_START_TIMED_OUT
else -> null
}
mediaCallDiagnostic?.let {
val model = MediaCallDiagnosticModel(mediaCallDiagnostic, false)
store.dispatch(CallDiagnosticsAction.MediaCallDiagnosticsDismissed(model))
}
}
}
}