Ring even if call integration fails

Stephen Paul Weber created

As it might if you have too many accounts

Change summary

src/main/java/eu/siacs/conversations/xmpp/jingle/JingleConnectionManager.java | 3 
src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java     | 5 
2 files changed, 7 insertions(+), 1 deletion(-)

Detailed changes

src/main/java/eu/siacs/conversations/xmpp/jingle/JingleConnectionManager.java 🔗

@@ -147,6 +147,9 @@ public class JingleConnectionManager extends AbstractConnectionManager {
     }
 
     private void addNewIncomingCall(final JingleRtpConnection rtpConnection) {
+        if (true) {
+            return; // We do this inside the startRinging in the rtpConnection now so that fallback is possible
+        }
         if (rtpConnection.isTerminated()) {
             Log.d(
                     Config.LOGTAG,

src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java 🔗

@@ -37,6 +37,7 @@ import eu.siacs.conversations.entities.Conversational;
 import eu.siacs.conversations.entities.Message;
 import eu.siacs.conversations.entities.RtpSessionStatus;
 import eu.siacs.conversations.services.CallIntegration;
+import eu.siacs.conversations.services.CallIntegrationConnectionService;
 import eu.siacs.conversations.ui.RtpSessionActivity;
 import eu.siacs.conversations.xml.Element;
 import eu.siacs.conversations.xml.Namespace;
@@ -1702,7 +1703,9 @@ public class JingleRtpConnection extends AbstractJingleConnection
                 jingleConnectionManager.schedule(
                         this::ringingTimeout, BUSY_TIME_OUT, TimeUnit.SECONDS);
         if (CallIntegration.selfManaged(xmppConnectionService)) {
-            return;
+            if (CallIntegrationConnectionService.addNewIncomingCall(xmppConnectionService, getId())) {
+                return;
+            }
         }
         xmppConnectionService.getNotificationService().startRinging(id, getMedia());
     }