From 9df56dccdae037c97f59df8f3dcba71a22dcd26f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= <danxuliu@gmail.com>
Date: Wed, 19 Oct 2022 18:44:22 +0200
Subject: [PATCH] Process signaling message directly in the
 SignalingMessageReceiver
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This will no longer log an error if the room type of the received
message is neither "video" nor "screen". However, that should never
happen, and it would be useful only while debugging, so it is fine to
lose that.

Note that the check is not added to SignalingMessageReceiver itself to
keep it as generic as possible (and due to the low value of adding it as
explained above). Nevertheless, if needed in the future it would be
possible to add a special listener that receives raw messages in order
to validate them and log the errors, if any.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
---
 .../com/nextcloud/talk/activities/CallActivity.java  | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java
index dbc942517..baa99b302 100644
--- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java
+++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java
@@ -1624,7 +1624,7 @@ public class CallActivity extends CallBaseActivity {
                 break;
             case "signalingMessage":
                 Log.d(TAG, "onMessageEvent 'signalingMessage'");
-                processMessage((NCSignalingMessage) webSocketClient.getJobWithId(
+                signalingMessageReceiver.process((NCSignalingMessage) webSocketClient.getJobWithId(
                     Integer.valueOf(webSocketCommunicationEvent.getHashMap().get("jobId"))));
                 break;
             case "peerReadyForRequestingOffer":
@@ -1670,17 +1670,9 @@ public class CallActivity extends CallBaseActivity {
         } else if ("message".equals(messageType)) {
             NCSignalingMessage ncSignalingMessage = LoganSquare.parse(signaling.getMessageWrapper().toString(),
                                                                       NCSignalingMessage.class);
-            processMessage(ncSignalingMessage);
-        } else {
-            Log.e(TAG, "unexpected message type when receiving signaling message");
-        }
-    }
-
-    private void processMessage(NCSignalingMessage ncSignalingMessage) {
-        if ("video".equals(ncSignalingMessage.getRoomType()) || "screen".equals(ncSignalingMessage.getRoomType())) {
             signalingMessageReceiver.process(ncSignalingMessage);
         } else {
-            Log.e(TAG, "unexpected RoomType while processing NCSignalingMessage");
+            Log.e(TAG, "unexpected message type when receiving signaling message");
         }
     }