mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-21 12:39:58 +01:00
Further improvements to MCU reconnections
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
9cf7891fbc
commit
e510a35ae4
@ -102,26 +102,28 @@ public class MagicWebSocketInstance extends WebSocketListener {
|
||||
|
||||
@Override
|
||||
public void onOpen(WebSocket webSocket, Response response) {
|
||||
internalWebSocket = webSocket;
|
||||
sendHello();
|
||||
}
|
||||
|
||||
private void closeWebSocket(WebSocket webSocket) {
|
||||
webSocket.close(1000, null);
|
||||
webSocket.cancel();
|
||||
messagesQueue = new ArrayList<>();
|
||||
currentRoomToken = "";
|
||||
}
|
||||
|
||||
private void restartWebSocket() {
|
||||
reconnecting = true;
|
||||
|
||||
if (internalWebSocket != null) {
|
||||
internalWebSocket.close(1000, null);
|
||||
internalWebSocket.cancel();
|
||||
messagesQueue = new ArrayList<>();
|
||||
currentRoomToken = "";
|
||||
}
|
||||
|
||||
Request request = new Request.Builder().url(connectionUrl).build();
|
||||
internalWebSocket = okHttpClient.newWebSocket(request, this);
|
||||
okHttpClient.newWebSocket(request, this);
|
||||
restartCount++;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(WebSocket webSocket, String text) {
|
||||
if (webSocket == internalWebSocket) {
|
||||
Log.d(TAG, "Receiving : " + text);
|
||||
try {
|
||||
BaseWebSocketMessage baseWebSocketMessage = LoganSquare.parse(text, BaseWebSocketMessage.class);
|
||||
@ -233,6 +235,7 @@ public class MagicWebSocketInstance extends WebSocketListener {
|
||||
Log.e(TAG, "Failed to WebSocket message");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(WebSocket webSocket, ByteString bytes) {
|
||||
@ -247,6 +250,7 @@ public class MagicWebSocketInstance extends WebSocketListener {
|
||||
@Override
|
||||
public void onFailure(WebSocket webSocket, Throwable t, Response response) {
|
||||
Log.d(TAG, "Error : " + t.getMessage());
|
||||
closeWebSocket(webSocket);
|
||||
restartWebSocket();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user