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 2ed2a416d5..26b85232b6 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 2394e31a44..26a4448b03 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 8cb9f38618..07a604d7fe 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 061fa67c3e..53f12d8e5f 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -3398,9 +3398,9 @@ https://docs.gradle.org/current/userguide/dependency_verification.html
-
-
-
+
+
+