From 3a333e0382d1dc74705bad522fc82f21a9e25dd3 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Tue, 14 May 2024 08:30:09 +0200 Subject: [PATCH] do not show ongoing call in ringing phase --- .../conversations/xmpp/jingle/JingleRtpConnection.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java index f682f41607f1a369e02f43570e642c315fb926dc..a8b266ae43fc22500c74857cbaa5f6a74888a5b0 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java +++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java @@ -71,6 +71,7 @@ import java.util.concurrent.TimeUnit; public class JingleRtpConnection extends AbstractJingleConnection implements WebRTCWrapper.EventCallback, CallIntegration.Callback, OngoingRtpSession { + // TODO consider adding State.SESSION_INITIALIZED to ongoing call states for direct init mode public static final List STATES_SHOWING_ONGOING_CALL = Arrays.asList( State.PROPOSED, @@ -2790,6 +2791,12 @@ public class JingleRtpConnection extends AbstractJingleConnection private void updateOngoingCallNotification() { final State state = this.state; if (STATES_SHOWING_ONGOING_CALL.contains(state)) { + if (Arrays.asList(State.PROPOSED, State.SESSION_INITIALIZED).contains(state) + && isResponder()) { + Log.d(Config.LOGTAG, "do not set ongoing call during incoming call notification"); + xmppConnectionService.removeOngoingCall(); + return; + } final boolean reconnecting; if (state == State.SESSION_ACCEPTED) { reconnecting =