mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-17 01:35:03 +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
|
@Override
|
||||||
public void onOpen(WebSocket webSocket, Response response) {
|
public void onOpen(WebSocket webSocket, Response response) {
|
||||||
|
internalWebSocket = webSocket;
|
||||||
sendHello();
|
sendHello();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void closeWebSocket(WebSocket webSocket) {
|
||||||
|
webSocket.close(1000, null);
|
||||||
|
webSocket.cancel();
|
||||||
|
messagesQueue = new ArrayList<>();
|
||||||
|
currentRoomToken = "";
|
||||||
|
}
|
||||||
|
|
||||||
private void restartWebSocket() {
|
private void restartWebSocket() {
|
||||||
reconnecting = true;
|
reconnecting = true;
|
||||||
|
|
||||||
if (internalWebSocket != null) {
|
|
||||||
internalWebSocket.close(1000, null);
|
|
||||||
internalWebSocket.cancel();
|
|
||||||
messagesQueue = new ArrayList<>();
|
|
||||||
currentRoomToken = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
Request request = new Request.Builder().url(connectionUrl).build();
|
Request request = new Request.Builder().url(connectionUrl).build();
|
||||||
internalWebSocket = okHttpClient.newWebSocket(request, this);
|
okHttpClient.newWebSocket(request, this);
|
||||||
restartCount++;
|
restartCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessage(WebSocket webSocket, String text) {
|
public void onMessage(WebSocket webSocket, String text) {
|
||||||
|
if (webSocket == internalWebSocket) {
|
||||||
Log.d(TAG, "Receiving : " + text);
|
Log.d(TAG, "Receiving : " + text);
|
||||||
try {
|
try {
|
||||||
BaseWebSocketMessage baseWebSocketMessage = LoganSquare.parse(text, BaseWebSocketMessage.class);
|
BaseWebSocketMessage baseWebSocketMessage = LoganSquare.parse(text, BaseWebSocketMessage.class);
|
||||||
@ -233,6 +235,7 @@ public class MagicWebSocketInstance extends WebSocketListener {
|
|||||||
Log.e(TAG, "Failed to WebSocket message");
|
Log.e(TAG, "Failed to WebSocket message");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessage(WebSocket webSocket, ByteString bytes) {
|
public void onMessage(WebSocket webSocket, ByteString bytes) {
|
||||||
@ -247,6 +250,7 @@ public class MagicWebSocketInstance extends WebSocketListener {
|
|||||||
@Override
|
@Override
|
||||||
public void onFailure(WebSocket webSocket, Throwable t, Response response) {
|
public void onFailure(WebSocket webSocket, Throwable t, Response response) {
|
||||||
Log.d(TAG, "Error : " + t.getMessage());
|
Log.d(TAG, "Error : " + t.getMessage());
|
||||||
|
closeWebSocket(webSocket);
|
||||||
restartWebSocket();
|
restartWebSocket();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user