From 9c8f7597327a0c71567fcf00ea969e5c6f3f5dff Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Tue, 24 Oct 2023 11:54:43 -0400 Subject: [PATCH] Fix group call not ringing/notifying bug when starting a call. --- .../webrtc/GroupJoiningActionProcessor.java | 18 ++++++++++-------- .../service/webrtc/SignalCallManager.java | 2 +- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupJoiningActionProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupJoiningActionProcessor.java index fdd44d40a6..7467d1e7f7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupJoiningActionProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/GroupJoiningActionProcessor.java @@ -91,15 +91,17 @@ public class GroupJoiningActionProcessor extends GroupActionProcessor { } } - builder.changeCallInfoState() - .callState(WebRtcViewModel.State.CALL_CONNECTED) - .groupCallState(WebRtcViewModel.GroupCallState.CONNECTED_AND_JOINED) - .callConnectedTime(System.currentTimeMillis()) - .commit() - .changeLocalDeviceState() - .commit() - .actionProcessor(actionProcessorFactory.createConnectedActionProcessor(webRtcInteractor)); + currentState = builder.changeCallInfoState() + .callState(WebRtcViewModel.State.CALL_CONNECTED) + .groupCallState(WebRtcViewModel.GroupCallState.CONNECTED_AND_JOINED) + .callConnectedTime(System.currentTimeMillis()) + .commit() + .changeLocalDeviceState() + .commit() + .actionProcessor(actionProcessorFactory.createConnectedActionProcessor(webRtcInteractor)) + .build(); + builder = currentState.getActionProcessor().handleGroupJoinedMembershipChanged(currentState).builder(); } else if (device.getJoinState() == GroupCall.JoinState.JOINING) { builder.changeCallInfoState() .groupCallState(WebRtcViewModel.GroupCallState.CONNECTED_AND_JOINING) diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/SignalCallManager.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/SignalCallManager.java index 783c4ad0b3..4cc8c75543 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/SignalCallManager.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/SignalCallManager.java @@ -219,7 +219,7 @@ public final class SignalCallManager implements CallManager.Observer, GroupCall. * @param transformer The transformation to apply to the state. Runs on the {@link #serviceExecutor}. */ @AnyThread -private void processStateless(@NonNull Function1 transformer) { + private void processStateless(@NonNull Function1 transformer) { ephemeralStateStore.update(transformer); }