Add support for remote muting call participants.

This commit is contained in:
Greyson Parrelli
2026-03-04 10:55:02 -05:00
parent 7266c24354
commit b054a30fa7
12 changed files with 617 additions and 30 deletions

View File

@@ -366,6 +366,19 @@ public class GroupConnectedActionProcessor extends GroupActionProcessor {
return currentState;
}
@Override
protected @NonNull WebRtcServiceState handleSendRemoteMuteRequest(@NonNull WebRtcServiceState currentState, @NonNull CallParticipant participant) {
Log.i(tag, "handleSendRemoteMuteRequest():");
GroupCall groupCall = currentState.getCallInfoState().requireGroupCall();
try {
groupCall.sendRemoteMuteRequest(participant.getCallParticipantId().demuxId);
} catch (CallException e) {
Log.w(tag, "Failed to send remote mute request.", e);
}
return currentState;
}
@Override
protected @NonNull WebRtcServiceState handleGroupCallSpeechEvent(@NonNull WebRtcServiceState currentState, @NonNull GroupCall.SpeechEvent speechEvent) {
Log.i(tag, "handleGroupCallSpeechEvent :: " + speechEvent.name());

View File

@@ -393,6 +393,10 @@ public final class SignalCallManager implements CallManager.Observer, GroupCall.
process((s, p) -> p.handleSetCallLinkJoinRequestRejected(s, participant));
}
public void sendRemoteMuteRequest(@NonNull CallParticipant participant) {
process((s, p) -> p.handleSendRemoteMuteRequest(s, participant));
}
public void removeFromCallLink(@NonNull CallParticipant participant) {
process((s, p) -> p.handleRemoveFromCallLink(s, participant));
}

View File

@@ -973,6 +973,12 @@ public abstract class WebRtcActionProcessor {
return currentState;
}
protected @NonNull WebRtcServiceState handleSendRemoteMuteRequest(@NonNull WebRtcServiceState currentState, @NonNull CallParticipant participant) {
Log.i(tag, "handleSendRemoteMuteRequest not processed");
return currentState;
}
protected @NonNull WebRtcServiceState handleRemoveFromCallLink(@NonNull WebRtcServiceState currentState, @NonNull CallParticipant participant) {
Log.i(tag, "handleRemoveFromCallLink not processed");