diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java index 15c9661748..cbcb0fc8e8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/webrtc/WebRtcCallView.java @@ -264,8 +264,10 @@ public class WebRtcCallView extends FrameLayout { pages.add(WebRtcCallParticipantsPage.forSingleParticipant(state.getFocusedParticipant(), state.isInPipMode())); } - if (state.getGroupCallState().isConnected()) { + if ((state.getGroupCallState().isNotIdle() && state.getRemoteDevicesCount() > 0) || state.getGroupCallState().isConnected()) { recipientName.setText(state.getRemoteParticipantsDescription(getContext())); + } else if (state.getGroupCallState().isNotIdle()) { + recipientName.setText(getContext().getString(R.string.WebRtcCallView__s_group_call, Recipient.resolved(recipientId).getDisplayName(getContext()))); } if (state.getGroupCallState().isNotIdle() && participantCount != null) { @@ -356,7 +358,6 @@ public class WebRtcCallView extends FrameLayout { recipientId = recipient.getId(); if (recipient.isGroup()) { - recipientName.setText(getContext().getString(R.string.WebRtcCallView__s_group_call, recipient.getDisplayName(getContext()))); if (toolbar.getMenu().findItem(R.id.menu_group_call_participants_list) == null) { toolbar.inflateMenu(R.menu.group_call); diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupPreJoinActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupPreJoinActionProcessor.java index 2382df7223..c7025442d4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupPreJoinActionProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupPreJoinActionProcessor.java @@ -114,7 +114,8 @@ public class GroupPreJoinActionProcessor extends GroupActionProcessor { WebRtcServiceStateBuilder.CallInfoStateBuilder builder = currentState.builder() .changeCallInfoState() .remoteDevicesCount(peekInfo.getDeviceCount()) - .participantLimit(peekInfo.getMaxDevices()); + .participantLimit(peekInfo.getMaxDevices()) + .clearParticipantMap(); for (Recipient recipient : callParticipants) { builder.putParticipant(recipient, CallParticipant.createRemote(new CallParticipantId(recipient), recipient, null, new BroadcastVideoSink(null), true, true, 0, false, 0));