From 61de45464b7be8c6d25d4f02fe0e52b919a71446 Mon Sep 17 00:00:00 2001 From: Mario Danic Date: Thu, 25 Oct 2018 11:34:25 +0200 Subject: [PATCH] Fix call sometimes not working --- .../talk/controllers/CallController.java | 45 +++++++++---------- .../talk/controllers/ChatController.java | 1 - .../talk/utils/bundle/BundleKeys.java | 1 - 3 files changed, 20 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/CallController.java b/app/src/main/java/com/nextcloud/talk/controllers/CallController.java index 1c527f864..225c0579b 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/CallController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/CallController.java @@ -260,7 +260,6 @@ public class CallController extends BaseController { conversationUser = userUtils.getCurrentUser(); } - callSession = args.getString(BundleKeys.KEY_CALL_SESSION, "0"); credentials = ApiUtils.getCredentials(conversationUser.getUsername(), conversationUser.getToken()); isVoiceOnlyCall = args.getBoolean(BundleKeys.KEY_CALL_VOICE_ONLY, false); @@ -1025,36 +1024,32 @@ public class CallController extends BaseController { } private void joinRoomAndCall() { - if ("0".equals(callSession)) { - ncApi.joinRoom(credentials, ApiUtils.getUrlForSettingMyselfAsActiveParticipant(baseUrl, roomToken), null) - .subscribeOn(Schedulers.newThread()) - .observeOn(AndroidSchedulers.mainThread()) - .retry(3) - .subscribe(new Observer() { - @Override - public void onSubscribe(Disposable d) { + ncApi.joinRoom(credentials, ApiUtils.getUrlForSettingMyselfAsActiveParticipant(baseUrl, roomToken), null) + .subscribeOn(Schedulers.newThread()) + .observeOn(AndroidSchedulers.mainThread()) + .retry(3) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { - } + } - @Override - public void onNext(CallOverall callOverall) { - callSession = callOverall.getOcs().getData().getSessionId(); - callOrJoinRoomViaWebSocket(); - } + @Override + public void onNext(CallOverall callOverall) { + callSession = callOverall.getOcs().getData().getSessionId(); + callOrJoinRoomViaWebSocket(); + } - @Override - public void onError(Throwable e) { + @Override + public void onError(Throwable e) { - } + } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); - } else { - callOrJoinRoomViaWebSocket(); - } + } + }); } private void callOrJoinRoomViaWebSocket() { diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java index 3fd513ca7..96ee133be 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java @@ -1002,7 +1002,6 @@ public class ChatController extends BaseController implements MessagesListAdapte bundle.putString(BundleKeys.KEY_ROOM_ID, roomId); bundle.putParcelable(BundleKeys.KEY_USER_ENTITY, Parcels.wrap(conversationUser)); bundle.putString(BundleKeys.KEY_CONVERSATION_PASSWORD, roomPassword); - bundle.putString(BundleKeys.KEY_CALL_SESSION, currentCall.getSessionId()); bundle.putString(BundleKeys.KEY_MODIFIED_BASE_URL, baseUrl); if (isVoiceOnlyCall) { diff --git a/app/src/main/java/com/nextcloud/talk/utils/bundle/BundleKeys.java b/app/src/main/java/com/nextcloud/talk/utils/bundle/BundleKeys.java index 8b7019232..a5373958a 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/bundle/BundleKeys.java +++ b/app/src/main/java/com/nextcloud/talk/utils/bundle/BundleKeys.java @@ -33,7 +33,6 @@ public class BundleKeys { public static final String KEY_APP_ITEM_PACKAGE_NAME = "KEY_APP_ITEM_PACKAGE_NAME"; public static final String KEY_APP_ITEM_NAME = "KEY_APP_ITEM_NAME"; public static final String KEY_CONVERSATION_PASSWORD = "KEY_CONVERSATION_PASSWORD"; - public static final String KEY_CALL_SESSION = "KEY_CONVERSATION_SESSION"; public static final String KEY_ROOM_TOKEN = "KEY_ROOM_TOKEN"; public static final String KEY_USER_ENTITY = "KEY_USER_ENTITY"; public static final String KEY_NEW_CONVERSATION = "KEY_NEW_CONVERSATION";