From 8a9605ade88532a1a126b15738e7f77ccfec14d7 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Fri, 18 Nov 2022 13:17:20 -0500 Subject: [PATCH] Fix crash when handling expired call offers. --- .../service/webrtc/WebRtcActionProcessor.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) 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 902bbbcfc..846c33bf4 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 @@ -681,16 +681,18 @@ public abstract class WebRtcActionProcessor { ApplicationDependencies.getAppForegroundObserver().removeListener(webRtcInteractor.getForegroundListener()); - webRtcInteractor.updatePhoneState(LockManager.PhoneState.PROCESSING); - boolean playDisconnectSound = (activePeer.getState() == CallState.DIALING) || - (activePeer.getState() == CallState.REMOTE_RINGING) || - (activePeer.getState() == CallState.RECEIVED_BUSY) || - (activePeer.getState() == CallState.CONNECTED); - webRtcInteractor.stopAudio(playDisconnectSound); + if (activePeer.getState() != CallState.IDLE) { + webRtcInteractor.updatePhoneState(LockManager.PhoneState.PROCESSING); + boolean playDisconnectSound = (activePeer.getState() == CallState.DIALING) || + (activePeer.getState() == CallState.REMOTE_RINGING) || + (activePeer.getState() == CallState.RECEIVED_BUSY) || + (activePeer.getState() == CallState.CONNECTED); + webRtcInteractor.stopAudio(playDisconnectSound); - webRtcInteractor.terminateCall(activePeer.getId()); - webRtcInteractor.updatePhoneState(LockManager.PhoneState.IDLE); - webRtcInteractor.stopForegroundService(); + webRtcInteractor.terminateCall(activePeer.getId()); + webRtcInteractor.updatePhoneState(LockManager.PhoneState.IDLE); + webRtcInteractor.stopForegroundService(); + } return WebRtcVideoUtil.deinitializeVideo(currentState) .builder()