diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupNetworkUnavailableActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupNetworkUnavailableActionProcessor.java index 4bdd10d912..f52c8336af 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupNetworkUnavailableActionProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupNetworkUnavailableActionProcessor.java @@ -56,6 +56,10 @@ public class GroupNetworkUnavailableActionProcessor extends WebRtcActionProcesso RingRtcDynamicConfiguration.shouldUseOboeAdm(), webRtcInteractor.getGroupCallObserver()); + if (groupCall == null) { + return groupCallFailure(currentState, "RingRTC did not create a group call", null); + } + return currentState.builder() .changeCallInfoState() .callState(WebRtcViewModel.State.NETWORK_FAILURE) 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 1e4c1459ed..9b0df7fd20 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 @@ -54,6 +54,10 @@ public class GroupPreJoinActionProcessor extends GroupActionProcessor { RingRtcDynamicConfiguration.shouldUseOboeAdm(), webRtcInteractor.getGroupCallObserver()); + if (groupCall == null) { + return groupCallFailure(currentState, "RingRTC did not create a group call", null); + } + try { groupCall.setOutgoingAudioMuted(true); groupCall.setOutgoingVideoMuted(true); diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingGroupCallActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingGroupCallActionProcessor.java index b6aa5cb448..901ba8fe0e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingGroupCallActionProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/IncomingGroupCallActionProcessor.java @@ -189,6 +189,10 @@ public final class IncomingGroupCallActionProcessor extends DeviceAwareActionPro RingRtcDynamicConfiguration.shouldUseOboeAdm(), webRtcInteractor.getGroupCallObserver()); + if (groupCall == null) { + return groupCallFailure(currentState, "RingRTC did not create a group call", null); + } + try { groupCall.setOutgoingAudioMuted(true); groupCall.setOutgoingVideoMuted(true); diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcActionProcessor.java index a9499e1912..0ad2523204 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcActionProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/WebRtcActionProcessor.java @@ -850,7 +850,7 @@ public abstract class WebRtcActionProcessor { return currentState; } - protected @NonNull WebRtcServiceState groupCallFailure(@NonNull WebRtcServiceState currentState, @NonNull String message, @NonNull Throwable error) { + protected @NonNull WebRtcServiceState groupCallFailure(@NonNull WebRtcServiceState currentState, @NonNull String message, @Nullable Throwable error) { Log.w(tag, "groupCallFailure(): " + message, error); GroupCall groupCall = currentState.getCallInfoState().getGroupCall();