From 0ce5a2eb2b884f0d6060dfdfe29587f69b74cc7f Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Wed, 10 Dec 2025 12:51:52 -0400 Subject: [PATCH] Fix in-call status. --- .../components/webrtc/v2/CallScreenMediator.kt | 13 +++++++++++++ .../webrtc/v2/ComposeCallScreenMediator.kt | 1 + 2 files changed, 14 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallScreenMediator.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallScreenMediator.kt index 9c3574a0b5..241a3744b1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallScreenMediator.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/CallScreenMediator.kt @@ -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 { fun create(activity: WebRtcCallActivity, viewModel: WebRtcCallViewModel): CallScreenMediator { return if (RemoteConfig.newCallUi || (RemoteConfig.internalUser && SignalStore.internal.newCallingUi)) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/ComposeCallScreenMediator.kt b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/ComposeCallScreenMediator.kt index 1c6695b2c9..898255a6bb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/ComposeCallScreenMediator.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/v2/ComposeCallScreenMediator.kt @@ -227,6 +227,7 @@ class ComposeCallScreenMediator(private val activity: WebRtcCallActivity, viewMo override fun updateCallParticipants(callParticipantsViewState: CallParticipantsViewState) { callScreenViewModel.callParticipantsViewState.update { callParticipantsViewState } + setStatusFromCallParticipantsState(activity, callParticipantsViewState) } override fun maybeDismissAudioPicker() {