diff --git a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt index 486253ec9..132687f6b 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/activities/MainActivity.kt @@ -229,7 +229,7 @@ class MainActivity : BaseActivity(), ActionBarProvider { val roomType = "1" val currentUser = userUtils.currentUser ?: return - val apiVersion = ApiUtils.getConversationApiVersion(currentUser, intArrayOf(1)) + val apiVersion = ApiUtils.getConversationApiVersion(currentUser, intArrayOf(ApiUtils.APIv4, 1)) val credentials = ApiUtils.getCredentials(currentUser.username, currentUser.token) val retrofitBucket = ApiUtils.getRetrofitBucketForCreateRoom( apiVersion, currentUser.baseUrl, roomType, @@ -250,6 +250,7 @@ class MainActivity : BaseActivity(), ActionBarProvider { bundle.putString(KEY_ROOM_TOKEN, roomOverall.ocs.data.token) bundle.putString(KEY_ROOM_ID, roomOverall.ocs.data.roomId) if (currentUser.hasSpreedFeatureCapability("chat-v2")) { + // FIXME once APIv2 or later is used only, the createRoom already returns all the data ncApi.getRoom( credentials, ApiUtils.getUrlForRoom( 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 3aea3dd8d..89f3555f1 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/CallController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/CallController.java @@ -437,7 +437,7 @@ public class CallController extends BaseController { } private void handleFromNotification() { - int apiVersion = ApiUtils.getConversationApiVersion(conversationUser, new int[] {1}); + int apiVersion = ApiUtils.getConversationApiVersion(conversationUser, new int[] {ApiUtils.APIv4, 1}); ncApi.getRooms(credentials, ApiUtils.getUrlForRooms(apiVersion, baseUrl)) .retry(3) @@ -1217,7 +1217,7 @@ public class CallController extends BaseController { private void joinRoomAndCall() { callSession = ApplicationWideCurrentRoomHolder.getInstance().getSession(); - int apiVersion = ApiUtils.getConversationApiVersion(conversationUser, new int[] {1}); + int apiVersion = ApiUtils.getConversationApiVersion(conversationUser, new int[] {ApiUtils.APIv4, 1}); if (TextUtils.isEmpty(callSession)) { ncApi.joinRoom(credentials, ApiUtils.getUrlForParticipantsActive(apiVersion, baseUrl, roomToken), @@ -1591,7 +1591,7 @@ public class CallController extends BaseController { } private void leaveRoom(boolean shutDownView) { - int apiVersion = ApiUtils.getConversationApiVersion(conversationUser, new int[] {1}); + int apiVersion = ApiUtils.getConversationApiVersion(conversationUser, new int[] {ApiUtils.APIv4, 1}); ncApi.leaveRoom(credentials, ApiUtils.getUrlForParticipantsActive(apiVersion, baseUrl, roomToken)) .subscribeOn(Schedulers.io()) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java b/app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java index 52c0390b9..8254dc60c 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java @@ -260,7 +260,8 @@ public class CallNotificationController extends BaseController { } private void handleFromNotification() { - int apiVersion = ApiUtils.getConversationApiVersion(userBeingCalled, new int[] {4, 3, 1}); + int apiVersion = ApiUtils.getConversationApiVersion(userBeingCalled, new int[] {ApiUtils.APIv4, + ApiUtils.APIv3, 1}); ncApi.getRoom(credentials, ApiUtils.getUrlForRoom(apiVersion, userBeingCalled.getBaseUrl(), roomId)) .subscribeOn(Schedulers.io()) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt index 125a9e138..c261145d5 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt @@ -292,7 +292,7 @@ class ChatController(args: Bundle) : } if (conversationUser != null) { - val apiVersion = ApiUtils.getConversationApiVersion(conversationUser, intArrayOf(1)) + val apiVersion = ApiUtils.getConversationApiVersion(conversationUser, intArrayOf(ApiUtils.APIv4, 1)) ncApi?.getRoom(credentials, ApiUtils.getUrlForRoom(apiVersion, conversationUser.baseUrl, roomToken)) ?.subscribeOn(Schedulers.io()) @@ -336,7 +336,7 @@ class ChatController(args: Bundle) : var apiVersion = 1 // FIXME Can this be called for guests? if (conversationUser != null) { - apiVersion = ApiUtils.getConversationApiVersion(conversationUser, intArrayOf(1)) + apiVersion = ApiUtils.getConversationApiVersion(conversationUser, intArrayOf(ApiUtils.APIv4, 1)) } ncApi?.getRooms(credentials, ApiUtils.getUrlForRooms(apiVersion, conversationUser?.baseUrl)) @@ -933,7 +933,7 @@ class ChatController(args: Bundle) : var apiVersion = 1 // FIXME Fix API checking with guests? if (conversationUser != null) { - apiVersion = ApiUtils.getConversationApiVersion(conversationUser, intArrayOf(1)) + apiVersion = ApiUtils.getConversationApiVersion(conversationUser, intArrayOf(ApiUtils.APIv4, 1)) } ncApi?.joinRoom( @@ -1004,7 +1004,7 @@ class ChatController(args: Bundle) : var apiVersion = 1 // FIXME Fix API checking with guests? if (conversationUser != null) { - apiVersion = ApiUtils.getConversationApiVersion(conversationUser, intArrayOf(1)) + apiVersion = ApiUtils.getConversationApiVersion(conversationUser, intArrayOf(ApiUtils.APIv4, 1)) } ncApi?.leaveRoom( @@ -1627,7 +1627,7 @@ class ChatController(args: Bundle) : var apiVersion = 1 // FIXME Fix API checking with guests? if (conversationUser != null) { - apiVersion = ApiUtils.getConversationApiVersion(conversationUser, intArrayOf(1)) + apiVersion = ApiUtils.getChatApiVersion(conversationUser, intArrayOf(1)) } ncApi?.deleteChatMessage( @@ -1750,7 +1750,7 @@ class ChatController(args: Bundle) : var apiVersion = 1 // FIXME Fix API checking with guests? if (conversationUser != null) { - apiVersion = ApiUtils.getConversationApiVersion(conversationUser, intArrayOf(1)) + apiVersion = ApiUtils.getConversationApiVersion(conversationUser, intArrayOf(ApiUtils.APIv4, 1)) } val retrofitBucket = ApiUtils.getRetrofitBucketForCreateRoom( diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java b/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java index 743e587c6..0e1b1fac0 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java @@ -289,7 +289,7 @@ public class ContactsController extends BaseController implements SearchView.OnQ userId = selectedUserIds.iterator().next(); } - int apiVersion = ApiUtils.getConversationApiVersion(currentUser, new int[] {1}); + int apiVersion = ApiUtils.getConversationApiVersion(currentUser, new int[] {ApiUtils.APIv4, 1}); RetrofitBucket retrofitBucket = ApiUtils.getRetrofitBucketForCreateRoom(apiVersion, currentUser.getBaseUrl(), roomType, @@ -314,6 +314,7 @@ public class ContactsController extends BaseController implements SearchView.OnQ bundle.putString(BundleKeys.INSTANCE.getKEY_ROOM_ID(), roomOverall.getOcs().getData().getRoomId()); if (currentUser.hasSpreedFeatureCapability("chat-v2")) { + // FIXME once APIv2 or later is used only, the createRoom already returns all the data ncApi.getRoom(credentials, ApiUtils.getUrlForRoom(apiVersion, currentUser.getBaseUrl(), roomOverall.getOcs().getData().getToken())) @@ -853,7 +854,7 @@ public class ContactsController extends BaseController implements SearchView.OnQ roomType = "2"; } - int apiVersion = ApiUtils.getConversationApiVersion(currentUser, new int[] {1}); + int apiVersion = ApiUtils.getConversationApiVersion(currentUser, new int[] {ApiUtils.APIv4, 1}); RetrofitBucket retrofitBucket = ApiUtils.getRetrofitBucketForCreateRoom(apiVersion, currentUser.getBaseUrl(), 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 27fba851e..3100500b2 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ConversationInfoController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/ConversationInfoController.kt @@ -307,7 +307,7 @@ class ConversationInfoController(args: Bundle) : BaseController(args), FlexibleA ).isChecked ) 1 else 0 - val apiVersion = ApiUtils.getConversationApiVersion(conversationUser, intArrayOf(1)) + val apiVersion = ApiUtils.getConversationApiVersion(conversationUser, intArrayOf(ApiUtils.APIv4, 1)) ncApi.setLobbyForConversation( ApiUtils.getCredentials(conversationUser!!.username, conversationUser.token), @@ -539,7 +539,7 @@ class ConversationInfoController(args: Bundle) : BaseController(args), FlexibleA var apiVersion = 1 // FIXME Fix API checking with guests? if (conversationUser != null) { - apiVersion = ApiUtils.getConversationApiVersion(conversationUser, intArrayOf(1)) + apiVersion = ApiUtils.getConversationApiVersion(conversationUser, intArrayOf(ApiUtils.APIv4, 1)) } ncApi.getRoom(credentials, ApiUtils.getUrlForRoom(apiVersion, conversationUser!!.baseUrl, conversationToken)) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java b/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java index 85eeaa374..78af3abf5 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java @@ -415,7 +415,7 @@ public class ConversationsListController extends BaseController implements Searc callItems = new ArrayList<>(); - int apiVersion = ApiUtils.getConversationApiVersion(currentUser, new int[] {4, 1}); + int apiVersion = ApiUtils.getConversationApiVersion(currentUser, new int[] {ApiUtils.APIv4, ApiUtils.APIv3, 1}); roomsQueryDisposable = ncApi.getRooms(credentials, ApiUtils.getUrlForRooms(apiVersion, currentUser.getBaseUrl())) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/OperationsMenuController.java b/app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/OperationsMenuController.java index d3bea42d3..23705faa4 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/OperationsMenuController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/OperationsMenuController.java @@ -191,7 +191,7 @@ public class OperationsMenuController extends BaseController { // FIXME joining a public link we need to check other capabilities apiVersion = 1; } else { - apiVersion = ApiUtils.getConversationApiVersion(currentUser, new int[] {1}); + apiVersion = ApiUtils.getConversationApiVersion(currentUser, new int[] {ApiUtils.APIv4, 1}); } @@ -394,7 +394,7 @@ public class OperationsMenuController extends BaseController { } private void performGroupCallWorkaround(String credentials) { - int apiVersion = ApiUtils.getConversationApiVersion(currentUser, new int[] {1}); + int apiVersion = ApiUtils.getConversationApiVersion(currentUser, new int[] {ApiUtils.APIv4, 1}); ncApi.makeRoomPrivate(credentials, ApiUtils.getUrlForRoomPublic(apiVersion, currentUser.getBaseUrl(), conversation.getToken())) diff --git a/app/src/main/java/com/nextcloud/talk/jobs/DeleteConversationWorker.java b/app/src/main/java/com/nextcloud/talk/jobs/DeleteConversationWorker.java index b22e1adfd..2c0cb66b2 100644 --- a/app/src/main/java/com/nextcloud/talk/jobs/DeleteConversationWorker.java +++ b/app/src/main/java/com/nextcloud/talk/jobs/DeleteConversationWorker.java @@ -75,7 +75,7 @@ public class DeleteConversationWorker extends Worker { UserEntity operationUser = userUtils.getUserWithId(operationUserId); if (operationUser != null) { - int apiVersion = ApiUtils.getConversationApiVersion(operationUser, new int[] {1}); + int apiVersion = ApiUtils.getConversationApiVersion(operationUser, new int[] {ApiUtils.APIv4, 1}); String credentials = ApiUtils.getCredentials(operationUser.getUsername(), operationUser.getToken()); ncApi = retrofit.newBuilder().client(okHttpClient.newBuilder().cookieJar(new diff --git a/app/src/main/java/com/nextcloud/talk/jobs/LeaveConversationWorker.java b/app/src/main/java/com/nextcloud/talk/jobs/LeaveConversationWorker.java index 3704b5d2f..5ddab19f3 100644 --- a/app/src/main/java/com/nextcloud/talk/jobs/LeaveConversationWorker.java +++ b/app/src/main/java/com/nextcloud/talk/jobs/LeaveConversationWorker.java @@ -83,7 +83,7 @@ public class LeaveConversationWorker extends Worker { EventStatus eventStatus = new EventStatus(operationUser.getId(), EventStatus.EventType.CONVERSATION_UPDATE, true); - int apiVersion = ApiUtils.getConversationApiVersion(operationUser, new int[] {1}); + int apiVersion = ApiUtils.getConversationApiVersion(operationUser, new int[] {ApiUtils.APIv4, 1}); ncApi.removeSelfFromRoom(credentials, ApiUtils.getUrlForParticipantsSelf(apiVersion, operationUser.getBaseUrl(), diff --git a/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.java b/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.java index a9932c2c3..1ef0fd4bc 100644 --- a/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.java +++ b/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.java @@ -152,7 +152,7 @@ public class NotificationWorker extends Worker { importantConversation = Boolean.parseBoolean(arbitraryStorageEntity.getValue()); } - int apiVersion = ApiUtils.getConversationApiVersion(userEntity, new int[] {1}); + int apiVersion = ApiUtils.getConversationApiVersion(userEntity, new int[] {ApiUtils.APIv4, 1}); ncApi.getRoom(credentials, ApiUtils.getUrlForRoom(apiVersion, userEntity.getBaseUrl(), intent.getExtras().getString(BundleKeys.INSTANCE.getKEY_ROOM_TOKEN()))) diff --git a/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.java b/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.java index 9a5ac3cc6..8a037c951 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.java +++ b/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.java @@ -37,6 +37,8 @@ import androidx.annotation.Nullable; import okhttp3.Credentials; public class ApiUtils { + public static final int APIv3 = 3; + public static final int APIv4 = 4; private static final String TAG = "ApiUtils"; private static final String ocsApiVersion = "/ocs/v2.php"; private static final String spreedApiVersion = "/apps/spreed/api/v1"; diff --git a/app/src/main/java/com/nextcloud/talk/utils/preferences/preferencestorage/DatabaseStorageModule.java b/app/src/main/java/com/nextcloud/talk/utils/preferences/preferencestorage/DatabaseStorageModule.java index b0b5b3cc2..9e6c29721 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/preferences/preferencestorage/DatabaseStorageModule.java +++ b/app/src/main/java/com/nextcloud/talk/utils/preferences/preferencestorage/DatabaseStorageModule.java @@ -93,7 +93,7 @@ public class DatabaseStorageModule implements StorageModule { intValue = 0; } - int apiVersion = ApiUtils.getConversationApiVersion(conversationUser, new int[] {4, 1}); + int apiVersion = ApiUtils.getConversationApiVersion(conversationUser, new int[] {ApiUtils.APIv4, 1}); ncApi.setNotificationLevel(ApiUtils.getCredentials(conversationUser.getUsername(), conversationUser.getToken()), ApiUtils.getUrlForRoomNotificationLevel(apiVersion, conversationUser.getBaseUrl(),