Browse Source

fixup! Provide federation values when joining a room in the external signaling

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Daniel Calviño Sánchez 7 months ago
parent
commit
18a0394d3b

+ 3 - 2
app/src/main/java/com/nextcloud/talk/activities/CallActivity.kt

@@ -1632,8 +1632,9 @@ class CallActivity : CallBaseActivity() {
 
     private fun callOrJoinRoomViaWebSocket() {
         if (hasExternalSignalingServer) {
-            webSocketClient!!.joinRoomWithRoomTokenAndSession(roomToken!!, callSession,
-                externalSignalingServer!!.federation)
+            webSocketClient!!.joinRoomWithRoomTokenAndSession(
+		roomToken!!, callSession, externalSignalingServer!!.federation
+	    )
         } else {
             performCall()
         }

+ 7 - 3
app/src/main/java/com/nextcloud/talk/webrtc/WebSocketInstance.kt

@@ -369,8 +369,11 @@ class WebSocketInstance internal constructor(
         return hasMCU
     }
 
-    fun joinRoomWithRoomTokenAndSession(roomToken: String, normalBackendSession: String?,
-            federation: FederationSettings? = null) {
+    fun joinRoomWithRoomTokenAndSession(
+        roomToken: String,
+        normalBackendSession: String?,
+        federation: FederationSettings? = null
+    ) {
         Log.d(TAG, "joinRoomWithRoomTokenAndSession")
         Log.d(TAG, "   roomToken: $roomToken")
         Log.d(TAG, "   session: $normalBackendSession")
@@ -384,7 +387,8 @@ class WebSocketInstance internal constructor(
                 currentFederation = null
                 sendMessage(message)
             } else if (roomToken == currentRoomToken && normalBackendSession == currentNormalBackendSession &&
-                federation == currentFederation) {
+                federation?.roomId == currentFederation?.roomId && federation?.nextcloudServer == federation?.nextcloudServer
+            ) {
                 Log.d(TAG, "roomToken & session are unchanged. Joining locally without to send websocket message")
                 sendRoomJoinedEvent()
             } else {