Fix in-call status.

This commit is contained in:
Alex Hart
2025-12-10 12:51:52 -04:00
committed by Michelle Tang
parent e75d28cfca
commit 0ce5a2eb2b
2 changed files with 14 additions and 0 deletions

View File

@@ -77,6 +77,19 @@ interface CallScreenMediator {
} }
} }
fun setStatusFromCallParticipantsState(context: Context, callParticipantsViewState: CallParticipantsViewState) {
val state = callParticipantsViewState.callParticipantsState
if (state.groupCallState.isNotIdle) {
val status = state.getPreJoinGroupDescription(context)
?: state.getOutgoingRingingGroupDescription(context)
?: state.getIncomingRingingGroupDescription(context)
if (status != null) {
setStatus(status)
}
}
}
companion object { companion object {
fun create(activity: WebRtcCallActivity, viewModel: WebRtcCallViewModel): CallScreenMediator { fun create(activity: WebRtcCallActivity, viewModel: WebRtcCallViewModel): CallScreenMediator {
return if (RemoteConfig.newCallUi || (RemoteConfig.internalUser && SignalStore.internal.newCallingUi)) { return if (RemoteConfig.newCallUi || (RemoteConfig.internalUser && SignalStore.internal.newCallingUi)) {

View File

@@ -227,6 +227,7 @@ class ComposeCallScreenMediator(private val activity: WebRtcCallActivity, viewMo
override fun updateCallParticipants(callParticipantsViewState: CallParticipantsViewState) { override fun updateCallParticipants(callParticipantsViewState: CallParticipantsViewState) {
callScreenViewModel.callParticipantsViewState.update { callParticipantsViewState } callScreenViewModel.callParticipantsViewState.update { callParticipantsViewState }
setStatusFromCallParticipantsState(activity, callParticipantsViewState)
} }
override fun maybeDismissAudioPicker() { override fun maybeDismissAudioPicker() {