ensure that rtp connection is registered with connection manager

Daniel Gultsch created

Change summary

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

Detailed changes

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

@@ -513,6 +513,13 @@ public class JingleConnectionManager extends AbstractConnectionManager {
         }
     }
 
+    void ensureConnectionIsRegistered(final AbstractJingleConnection connection) {
+        if (connections.containsValue(connection)) {
+            return;
+        }
+        throw new IllegalStateException("JingleConnection has not been registered with connection manager");
+    }
+
     public enum DeviceDiscoveryState {
         SEARCHING, DISCOVERED, FAILED;
 

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

@@ -846,7 +846,7 @@ public class JingleRtpConnection extends AbstractJingleConnection implements Web
     }
 
     private void setupWebRTC(final Set<Media> media, final List<PeerConnection.IceServer> iceServers) throws WebRTCWrapper.InitializationException {
-        //TODO ensure registered with connection manager
+        this.jingleConnectionManager.ensureConnectionIsRegistered(this);
         final AppRTCAudioManager.SpeakerPhonePreference speakerPhonePreference;
         if (media.contains(Media.VIDEO)) {
             speakerPhonePreference = AppRTCAudioManager.SpeakerPhonePreference.SPEAKER;