Browse Source

Fix MCU completely

Mario Danic 6 years ago
parent
commit
54405c603c

+ 2 - 0
app/src/main/java/com/nextcloud/talk/controllers/CallController.java

@@ -1211,6 +1211,8 @@ public class CallController extends BaseController {
 
 
         if (webSocketClient.isConnected()) {
         if (webSocketClient.isConnected()) {
             joinRoomAndCall();
             joinRoomAndCall();
+        } else {
+            webSocketClient.restartWebSocket();
         }
         }
     }
     }
 
 

+ 7 - 4
app/src/main/java/com/nextcloud/talk/webrtc/MagicWebSocketInstance.java

@@ -110,7 +110,7 @@ public class MagicWebSocketInstance extends WebSocketListener {
         }
         }
     }
     }
 
 
-    private void restartWebSocket() {
+    public void restartWebSocket() {
         Request request = new Request.Builder().url(connectionUrl).build();
         Request request = new Request.Builder().url(connectionUrl).build();
         this.webSocket = okHttpClient.newWebSocket(request, this);
         this.webSocket = okHttpClient.newWebSocket(request, this);
     }
     }
@@ -144,11 +144,14 @@ public class MagicWebSocketInstance extends WebSocketListener {
                     break;
                     break;
                 case "room":
                 case "room":
                     JoinedRoomOverallWebSocketMessage joinedRoomOverallWebSocketMessage = LoganSquare.parse(text, JoinedRoomOverallWebSocketMessage.class);
                     JoinedRoomOverallWebSocketMessage joinedRoomOverallWebSocketMessage = LoganSquare.parse(text, JoinedRoomOverallWebSocketMessage.class);
-                    if (joinedRoomOverallWebSocketMessage.getRoomWebSocketMessage().getRoomPropertiesWebSocketMessage() != null) {
+                    currentRoomToken = joinedRoomOverallWebSocketMessage.getRoomWebSocketMessage().getRoomId();
+                    if (joinedRoomOverallWebSocketMessage.getRoomWebSocketMessage().getRoomPropertiesWebSocketMessage() != null && !TextUtils.isEmpty(currentRoomToken)) {
                         HashMap<String, String> joinRoomHashMap = new HashMap<>();
                         HashMap<String, String> joinRoomHashMap = new HashMap<>();
-                        joinRoomHashMap.put("roomToken", joinedRoomOverallWebSocketMessage.getRoomWebSocketMessage().getRoomId());
-                        currentRoomToken = joinedRoomOverallWebSocketMessage.getRoomWebSocketMessage().getRoomId();
+                        joinRoomHashMap.put("roomToken", currentRoomToken);
                         eventBus.post(new WebSocketCommunicationEvent("roomJoined", joinRoomHashMap));
                         eventBus.post(new WebSocketCommunicationEvent("roomJoined", joinRoomHashMap));
+                    } else {
+                        userIdSesssionHashMap = new HashMap<>();
+                        displayNameHashMap = new HashMap<>();
                     }
                     }
                     break;
                     break;
                 case "event":
                 case "event":