Bläddra i källkod

Use the correct signaling information and user+ticket for "Join via link" as well

Signed-off-by: Joas Schilling <coding@schilljs.com>
Joas Schilling 4 år sedan
förälder
incheckning
97117eb90c

+ 8 - 1
app/src/main/java/com/nextcloud/talk/controllers/CallController.java

@@ -1132,7 +1132,13 @@ public class CallController extends BaseController {
                                             .subscribeOn(Schedulers.io())
                                             .subscribe();
                                 } catch (IOException exception) {
-                                    Log.e(TAG, "Failed to serialize external signaling server");
+                                    Log.e(TAG, "Failed to serialize external signaling server", exception);
+                                }
+                            } else {
+                                try {
+                                    conversationUser.setExternalSignalingServer(LoganSquare.serialize(externalSignalingServer));
+                                } catch (IOException exception) {
+                                    Log.e(TAG, "Failed to serialize external signaling server", exception);
                                 }
                             }
 
@@ -1172,6 +1178,7 @@ public class CallController extends BaseController {
 
                     @Override
                     public void onError(Throwable e) {
+                        Log.e(TAG, e.getMessage(), e);
                     }
 
                     @Override

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

@@ -152,9 +152,10 @@ public class MagicWebSocketInstance extends WebSocketListener {
     public void restartWebSocket() {
         reconnecting = true;
 
-            Request request = new Request.Builder().url(connectionUrl).build();
-            okHttpClient.newWebSocket(request, this);
-            restartCount++;
+        Log.d(TAG, "restartWebSocket: " + connectionUrl);
+        Request request = new Request.Builder().url(connectionUrl).build();
+        okHttpClient.newWebSocket(request, this);
+        restartCount++;
     }
 
     @Override
@@ -196,6 +197,7 @@ public class MagicWebSocketInstance extends WebSocketListener {
                         eventBus.post(new WebSocketCommunicationEvent("hello", helloHasHap));
                         break;
                     case "error":
+                        Log.e(TAG, "Received error: " + text);
                         ErrorOverallWebSocketMessage errorOverallWebSocketMessage = LoganSquare.parse(text, ErrorOverallWebSocketMessage.class);
                         if (("no_such_session").equals(errorOverallWebSocketMessage.getErrorWebSocketMessage().getCode())) {
                             LoggingUtils.INSTANCE.writeLogEntryToFile(context,
@@ -351,7 +353,7 @@ public class MagicWebSocketInstance extends WebSocketListener {
                 }
             }
         } catch (IOException e) {
-            e.printStackTrace();
+            Log.e(TAG, e.getMessage(), e);
         }
     }
 

+ 3 - 1
app/src/main/java/com/nextcloud/talk/webrtc/WebSocketConnectionHelper.java

@@ -98,7 +98,9 @@ public class WebSocketConnectionHelper {
         authWebSocketMessage.setUrl(ApiUtils.getUrlForSignalingBackend(apiVersion, userEntity.getBaseUrl()));
         AuthParametersWebSocketMessage authParametersWebSocketMessage = new AuthParametersWebSocketMessage();
         authParametersWebSocketMessage.setTicket(ticket);
-        authParametersWebSocketMessage.setUserid(userEntity.getUserId());
+        if (!userEntity.getUserId().equals("?")) {
+            authParametersWebSocketMessage.setUserid(userEntity.getUserId());
+        }
         authWebSocketMessage.setAuthParametersWebSocketMessage(authParametersWebSocketMessage);
         helloWebSocketMessage.setAuthWebSocketMessage(authWebSocketMessage);
         helloOverallWebSocketMessage.setHelloWebSocketMessage(helloWebSocketMessage);