diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/ActiveCallActionProcessorDelegate.java b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/ActiveCallActionProcessorDelegate.java index 2ed2a416d..26b85232b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/ActiveCallActionProcessorDelegate.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/webrtc/ActiveCallActionProcessorDelegate.java @@ -41,6 +41,7 @@ public class ActiveCallActionProcessorDelegate extends WebRtcActionProcessor { put(CallEvent.ENDED_REMOTE_BUSY, WebRtcViewModel.State.CALL_BUSY); put(CallEvent.ENDED_REMOTE_HANGUP_NEED_PERMISSION, WebRtcViewModel.State.CALL_NEEDS_PERMISSION); put(CallEvent.ENDED_REMOTE_GLARE, WebRtcViewModel.State.CALL_DISCONNECTED_GLARE); + put(CallEvent.ENDED_REMOTE_RECALL, WebRtcViewModel.State.CALL_DISCONNECTED_GLARE); }}; public ActiveCallActionProcessorDelegate(@NonNull WebRtcInteractor webRtcInteractor, @NonNull String tag) { @@ -180,6 +181,8 @@ public class ActiveCallActionProcessorDelegate extends WebRtcActionProcessor { ThreadUtil.runOnMainDelayed(ringer::stop, SignalCallManager.BUSY_TONE_LENGTH); } else if (endedRemoteEvent == CallEvent.ENDED_REMOTE_GLARE && incomingBeforeAccept) { webRtcInteractor.insertMissedCall(remotePeer, remotePeer.getCallStartTimestamp(), currentState.getCallSetupState(remotePeer).isRemoteVideoOffer()); + } else if (endedRemoteEvent == CallEvent.ENDED_REMOTE_RECALL && incomingBeforeAccept) { + webRtcInteractor.insertMissedCall(remotePeer, remotePeer.getCallStartTimestamp(), currentState.getCallSetupState(remotePeer).isRemoteVideoOffer()); } if (state == WebRtcViewModel.State.CALL_ACCEPTED_ELSEWHERE) { 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 2394e31a4..26a4448b0 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 @@ -468,10 +468,12 @@ public final class SignalCallManager implements CallManager.Observer, GroupCall. case ENDED_REMOTE_HANGUP_DECLINED: case ENDED_REMOTE_BUSY: case ENDED_REMOTE_GLARE: + case ENDED_REMOTE_RECALL: return p.handleEndedRemote(s, event, remotePeer); case ENDED_TIMEOUT: case ENDED_INTERNAL_FAILURE: case ENDED_SIGNALING_FAILURE: + case ENDED_GLARE_HANDLING_FAILURE: case ENDED_CONNECTION_FAILURE: return p.handleEnded(s, event, remotePeer); case RECEIVED_OFFER_EXPIRED: diff --git a/dependencies.gradle b/dependencies.gradle index 8cb9f3861..07a604d7f 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -76,7 +76,7 @@ dependencyResolutionManagement { alias('signal-client-android').to('org.whispersystems', 'signal-client-android').versionRef('signal-client') alias('signal-aesgcmprovider').to('org.signal:aesgcmprovider:0.0.3') alias('signal-argon2').to('org.signal:argon2:13.1') - alias('signal-ringrtc').to('org.signal:ringrtc-android:2.19.2') + alias('signal-ringrtc').to('org.signal:ringrtc-android:2.20.0') alias('signal-android-database-sqlcipher').to('org.signal:android-database-sqlcipher:4.4.3-S8') // Third Party diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 061fa67c3..53f12d8e5 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -3398,9 +3398,9 @@ https://docs.gradle.org/current/userguide/dependency_verification.html - - - + + +