From 1b30a6ef62dde17b9eb95a6867d03089a5b3dea9 Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Thu, 17 Mar 2022 14:15:55 +0100 Subject: [PATCH] allow getPeersForCall without QueryMap - null was not allowed for query map (led to Illegal Argument Exception which caused issue #1853) Signed-off-by: Marcel Hibbe --- .../services/firebase/MagicFirebaseMessagingService.kt | 3 +-- .../java/com/nextcloud/talk/activities/CallActivity.java | 7 ++++++- .../talk/activities/CallNotificationActivity.java | 8 ++++++-- app/src/main/java/com/nextcloud/talk/api/NcApi.java | 5 ++++- .../talk/controllers/ConversationInfoController.kt | 7 ++++++- 5 files changed, 23 insertions(+), 7 deletions(-) diff --git a/app/src/gplay/java/com/nextcloud/talk/services/firebase/MagicFirebaseMessagingService.kt b/app/src/gplay/java/com/nextcloud/talk/services/firebase/MagicFirebaseMessagingService.kt index e8679e84f..24d1740a3 100644 --- a/app/src/gplay/java/com/nextcloud/talk/services/firebase/MagicFirebaseMessagingService.kt +++ b/app/src/gplay/java/com/nextcloud/talk/services/firebase/MagicFirebaseMessagingService.kt @@ -280,8 +280,7 @@ class MagicFirebaseMessagingService : FirebaseMessagingService() { apiVersion, signatureVerification.userEntity.baseUrl, decryptedPushMessage.id - ), - null + ) ) .repeatWhen { completed -> completed.zipWith(Observable.range(1, OBSERVABLE_COUNT), { _, i -> i }) 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 cc6ebdd14..3435ba0b9 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java +++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java @@ -1787,7 +1787,12 @@ public class CallActivity extends CallBaseActivity { Log.d(TAG, "getPeersForCall"); int apiVersion = ApiUtils.getCallApiVersion(conversationUser, new int[]{ApiUtils.APIv4, 1}); - ncApi.getPeersForCall(credentials, ApiUtils.getUrlForCall(apiVersion, baseUrl, roomToken), null) + ncApi.getPeersForCall( + credentials, + ApiUtils.getUrlForCall( + apiVersion, + baseUrl, + roomToken)) .subscribeOn(Schedulers.io()) .subscribe(new Observer() { @Override diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallNotificationActivity.java b/app/src/main/java/com/nextcloud/talk/activities/CallNotificationActivity.java index 61e8243fc..c0a824b51 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallNotificationActivity.java +++ b/app/src/main/java/com/nextcloud/talk/activities/CallNotificationActivity.java @@ -214,8 +214,12 @@ public class CallNotificationActivity extends CallBaseActivity { private void checkIfAnyParticipantsRemainInRoom() { int apiVersion = ApiUtils.getCallApiVersion(userBeingCalled, new int[]{ApiUtils.APIv4, 1}); - ncApi.getPeersForCall(credentials, ApiUtils.getUrlForCall(apiVersion, userBeingCalled.getBaseUrl(), - currentConversation.getToken()), null) + ncApi.getPeersForCall( + credentials, + ApiUtils.getUrlForCall( + apiVersion, + userBeingCalled.getBaseUrl(), + currentConversation.getToken())) .subscribeOn(Schedulers.io()) .repeatWhen(completed -> completed.zipWith(Observable.range(1, 12), (n, i) -> i) .flatMap(retryCount -> Observable.timer(5, TimeUnit.SECONDS)) diff --git a/app/src/main/java/com/nextcloud/talk/api/NcApi.java b/app/src/main/java/com/nextcloud/talk/api/NcApi.java index f05910afa..f8d0260a9 100644 --- a/app/src/main/java/com/nextcloud/talk/api/NcApi.java +++ b/app/src/main/java/com/nextcloud/talk/api/NcApi.java @@ -186,9 +186,12 @@ public interface NcApi { /* Server URL is: baseUrl + ocsApiVersion + spreedApiVersion + /call/callToken */ + @GET + Observable getPeersForCall(@Header("Authorization") String authorization, @Url String url); + @GET Observable getPeersForCall(@Header("Authorization") String authorization, @Url String url, - @QueryMap Map fields); + @QueryMap Map fields); @FormUrlEncoded @POST diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ConversationInfoController.kt b/app/src/main/java/com/nextcloud/talk/controllers/ConversationInfoController.kt index b463bc5fc..cc35573f6 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ConversationInfoController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/ConversationInfoController.kt @@ -438,7 +438,12 @@ class ConversationInfoController(args: Bundle) : ncApi?.getPeersForCall( credentials, - ApiUtils.getUrlForParticipants(apiVersion, conversationUser!!.baseUrl, conversationToken), fieldMap + ApiUtils.getUrlForParticipants( + apiVersion, + conversationUser!!.baseUrl, + conversationToken + ), + fieldMap ) ?.subscribeOn(Schedulers.io()) ?.observeOn(AndroidSchedulers.mainThread())