mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-11 06:44:09 +01:00
Fix some kotlin files to allow api switching
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
115154331d
commit
ccd752b4ca
@ -28,6 +28,7 @@ import android.os.Bundle
|
|||||||
import android.os.Handler
|
import android.os.Handler
|
||||||
import android.provider.ContactsContract
|
import android.provider.ContactsContract
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
|
import android.util.Log
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.annotation.RequiresApi
|
import androidx.annotation.RequiresApi
|
||||||
import autodagger.AutoInjector
|
import autodagger.AutoInjector
|
||||||
@ -48,6 +49,7 @@ import com.nextcloud.talk.R
|
|||||||
import com.nextcloud.talk.api.NcApi
|
import com.nextcloud.talk.api.NcApi
|
||||||
import com.nextcloud.talk.application.NextcloudTalkApplication
|
import com.nextcloud.talk.application.NextcloudTalkApplication
|
||||||
import com.nextcloud.talk.controllers.CallNotificationController
|
import com.nextcloud.talk.controllers.CallNotificationController
|
||||||
|
import com.nextcloud.talk.controllers.ChatController
|
||||||
import com.nextcloud.talk.controllers.ConversationsListController
|
import com.nextcloud.talk.controllers.ConversationsListController
|
||||||
import com.nextcloud.talk.controllers.LockedController
|
import com.nextcloud.talk.controllers.LockedController
|
||||||
import com.nextcloud.talk.controllers.ServerSelectionController
|
import com.nextcloud.talk.controllers.ServerSelectionController
|
||||||
@ -249,9 +251,17 @@ class MainActivity : BaseActivity(), ActionBarProvider {
|
|||||||
bundle.putString(KEY_ROOM_TOKEN, roomOverall.ocs.data.token)
|
bundle.putString(KEY_ROOM_TOKEN, roomOverall.ocs.data.token)
|
||||||
bundle.putString(KEY_ROOM_ID, roomOverall.ocs.data.roomId)
|
bundle.putString(KEY_ROOM_ID, roomOverall.ocs.data.roomId)
|
||||||
if (currentUser.hasSpreedFeatureCapability("chat-v2")) {
|
if (currentUser.hasSpreedFeatureCapability("chat-v2")) {
|
||||||
|
val apiVersion = ApiUtils.getApiVersion(currentUser, "conversation", intArrayOf(1))
|
||||||
|
|
||||||
|
if (apiVersion == null) {
|
||||||
|
Log.e(TAG, "No supported API version found")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
ncApi.getRoom(
|
ncApi.getRoom(
|
||||||
credentials,
|
credentials,
|
||||||
ApiUtils.getRoom(
|
ApiUtils.getUrlForRoom(
|
||||||
|
apiVersion,
|
||||||
currentUser.baseUrl,
|
currentUser.baseUrl,
|
||||||
roomOverall.ocs.data.token
|
roomOverall.ocs.data.token
|
||||||
)
|
)
|
||||||
|
@ -82,6 +82,7 @@ import com.facebook.imagepipeline.image.CloseableImage
|
|||||||
import com.google.android.flexbox.FlexboxLayout
|
import com.google.android.flexbox.FlexboxLayout
|
||||||
import com.nextcloud.talk.R
|
import com.nextcloud.talk.R
|
||||||
import com.nextcloud.talk.activities.MagicCallActivity
|
import com.nextcloud.talk.activities.MagicCallActivity
|
||||||
|
import com.nextcloud.talk.activities.MainActivity
|
||||||
import com.nextcloud.talk.adapters.messages.MagicIncomingTextMessageViewHolder
|
import com.nextcloud.talk.adapters.messages.MagicIncomingTextMessageViewHolder
|
||||||
import com.nextcloud.talk.adapters.messages.MagicOutcomingTextMessageViewHolder
|
import com.nextcloud.talk.adapters.messages.MagicOutcomingTextMessageViewHolder
|
||||||
import com.nextcloud.talk.adapters.messages.MagicPreviewMessageViewHolder
|
import com.nextcloud.talk.adapters.messages.MagicPreviewMessageViewHolder
|
||||||
@ -293,7 +294,14 @@ class ChatController(args: Bundle) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (conversationUser != null) {
|
if (conversationUser != null) {
|
||||||
ncApi?.getRoom(credentials, ApiUtils.getRoom(conversationUser.baseUrl, roomToken))
|
val apiVersion = ApiUtils.getApiVersion(conversationUser, "conversation", intArrayOf(1))
|
||||||
|
|
||||||
|
if (apiVersion == null) {
|
||||||
|
Log.e(TAG, "No supported API version found")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ncApi?.getRoom(credentials, ApiUtils.getUrlForRoom(apiVersion, conversationUser.baseUrl, roomToken))
|
||||||
?.subscribeOn(Schedulers.io())
|
?.subscribeOn(Schedulers.io())
|
||||||
?.observeOn(AndroidSchedulers.mainThread())
|
?.observeOn(AndroidSchedulers.mainThread())
|
||||||
?.subscribe(object : Observer<RoomOverall> {
|
?.subscribe(object : Observer<RoomOverall> {
|
||||||
@ -332,7 +340,18 @@ class ChatController(args: Bundle) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun handleFromNotification() {
|
private fun handleFromNotification() {
|
||||||
ncApi?.getRooms(credentials, ApiUtils.getUrlForGetRooms(conversationUser?.baseUrl))
|
if (ncApi == null) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
val apiVersion = ApiUtils.getApiVersion(conversationUser, "conversation", intArrayOf(1))
|
||||||
|
|
||||||
|
if (apiVersion == null) {
|
||||||
|
Log.e(TAG, "No supported API version found")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ncApi?.getRooms(credentials, ApiUtils.getUrlForRooms(apiVersion, conversationUser?.baseUrl))
|
||||||
?.subscribeOn(Schedulers.io())?.observeOn(AndroidSchedulers.mainThread())
|
?.subscribeOn(Schedulers.io())?.observeOn(AndroidSchedulers.mainThread())
|
||||||
?.subscribe(object : Observer<RoomsOverall> {
|
?.subscribe(object : Observer<RoomsOverall> {
|
||||||
override fun onSubscribe(d: Disposable) {
|
override fun onSubscribe(d: Disposable) {
|
||||||
|
@ -20,11 +20,13 @@
|
|||||||
|
|
||||||
package com.nextcloud.talk.controllers
|
package com.nextcloud.talk.controllers
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.graphics.drawable.Drawable
|
import android.graphics.drawable.Drawable
|
||||||
import android.graphics.drawable.LayerDrawable
|
import android.graphics.drawable.LayerDrawable
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
|
import android.util.Log
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
@ -298,6 +300,7 @@ class ConversationInfoController(args: Bundle) : BaseController(args), FlexibleA
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressLint("LongLogTag")
|
||||||
fun submitLobbyChanges() {
|
fun submitLobbyChanges() {
|
||||||
val state = if (
|
val state = if (
|
||||||
(
|
(
|
||||||
@ -306,9 +309,17 @@ class ConversationInfoController(args: Bundle) : BaseController(args), FlexibleA
|
|||||||
) as SwitchCompat
|
) as SwitchCompat
|
||||||
).isChecked
|
).isChecked
|
||||||
) 1 else 0
|
) 1 else 0
|
||||||
|
|
||||||
|
val apiVersion = ApiUtils.getApiVersion(conversationUser, "conversation", intArrayOf(1))
|
||||||
|
|
||||||
|
if (apiVersion == null) {
|
||||||
|
Log.e(TAG, "No supported API version found")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
ncApi.setLobbyForConversation(
|
ncApi.setLobbyForConversation(
|
||||||
ApiUtils.getCredentials(conversationUser!!.username, conversationUser.token),
|
ApiUtils.getCredentials(conversationUser!!.username, conversationUser.token),
|
||||||
ApiUtils.getUrlForLobbyForConversation(conversationUser.baseUrl, conversation!!.token),
|
ApiUtils.getUrlForRoomWebinaryLobby(apiVersion, conversationUser.baseUrl, conversation!!.token),
|
||||||
state,
|
state,
|
||||||
conversation!!.lobbyTimer
|
conversation!!.lobbyTimer
|
||||||
)
|
)
|
||||||
@ -438,9 +449,16 @@ class ConversationInfoController(args: Bundle) : BaseController(args), FlexibleA
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun getListOfParticipants() {
|
private fun getListOfParticipants() {
|
||||||
|
val apiVersion = ApiUtils.getApiVersion(conversationUser, "conversation", intArrayOf(1))
|
||||||
|
|
||||||
|
if (apiVersion == null) {
|
||||||
|
Log.e(TAG, "No supported API version found")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
ncApi.getPeersForCall(
|
ncApi.getPeersForCall(
|
||||||
credentials,
|
credentials,
|
||||||
ApiUtils.getUrlForParticipants(conversationUser!!.baseUrl, conversationToken)
|
ApiUtils.getUrlForParticipants(apiVersion, conversationUser!!.baseUrl, conversationToken)
|
||||||
)
|
)
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
@ -527,7 +545,14 @@ class ConversationInfoController(args: Bundle) : BaseController(args), FlexibleA
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun fetchRoomInfo() {
|
private fun fetchRoomInfo() {
|
||||||
ncApi.getRoom(credentials, ApiUtils.getRoom(conversationUser!!.baseUrl, conversationToken))
|
val apiVersion = ApiUtils.getApiVersion(conversationUser, "conversation", intArrayOf(1))
|
||||||
|
|
||||||
|
if (apiVersion == null) {
|
||||||
|
Log.e(TAG, "No supported API version found")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ncApi.getRoom(credentials, ApiUtils.getUrlForRoom(apiVersion, conversationUser!!.baseUrl, conversationToken))
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(object : Observer<RoomOverall> {
|
.subscribe(object : Observer<RoomOverall> {
|
||||||
@ -701,11 +726,18 @@ class ConversationInfoController(args: Bundle) : BaseController(args), FlexibleA
|
|||||||
title(text = participant.displayName)
|
title(text = participant.displayName)
|
||||||
listItemsWithImage(items = items) { dialog, index, _ ->
|
listItemsWithImage(items = items) { dialog, index, _ ->
|
||||||
|
|
||||||
|
val apiVersion = ApiUtils.getApiVersion(conversationUser, "conversation", intArrayOf(1))
|
||||||
|
|
||||||
|
if (apiVersion == null) {
|
||||||
|
Log.e(TAG, "No supported API version found")
|
||||||
|
}
|
||||||
|
|
||||||
if (index == 0) {
|
if (index == 0) {
|
||||||
if (participant.type == Participant.ParticipantType.MODERATOR) {
|
if (participant.type == Participant.ParticipantType.MODERATOR) {
|
||||||
ncApi.demoteModeratorToUser(
|
ncApi.demoteModeratorToUser(
|
||||||
credentials,
|
credentials,
|
||||||
ApiUtils.getUrlForModerators(conversationUser.baseUrl, conversation!!.token),
|
ApiUtils.getUrlForRoomModerators(apiVersion, conversationUser.baseUrl,
|
||||||
|
conversation!!.token),
|
||||||
participant.userId
|
participant.userId
|
||||||
)
|
)
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
@ -716,7 +748,8 @@ class ConversationInfoController(args: Bundle) : BaseController(args), FlexibleA
|
|||||||
} else if (participant.type == Participant.ParticipantType.USER) {
|
} else if (participant.type == Participant.ParticipantType.USER) {
|
||||||
ncApi.promoteUserToModerator(
|
ncApi.promoteUserToModerator(
|
||||||
credentials,
|
credentials,
|
||||||
ApiUtils.getUrlForModerators(conversationUser.baseUrl, conversation!!.token),
|
ApiUtils.getUrlForRoomModerators(apiVersion, conversationUser.baseUrl,
|
||||||
|
conversation!!.token),
|
||||||
participant.userId
|
participant.userId
|
||||||
)
|
)
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
@ -771,6 +804,7 @@ class ConversationInfoController(args: Bundle) : BaseController(args), FlexibleA
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
|
private val TAG = "ConversationInfoController"
|
||||||
private const val ID_DELETE_CONVERSATION_DIALOG = 0
|
private const val ID_DELETE_CONVERSATION_DIALOG = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,13 +53,8 @@ public class ApiUtils {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Please specify the api version you want to use via
|
* @deprecated Please specify the api version you want to use via
|
||||||
* {@link ApiUtils#getUrlForRoomWebinaryLobby(int, String, String)} instead.
|
* {@link ApiUtils#getUrlForAttendees(int, String, String)} instead.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
|
||||||
public static String getUrlForLobbyForConversation(String baseUrl, String token) {
|
|
||||||
return getUrlForRoomWebinaryLobby(1, baseUrl, token);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public static String getUrlForRemovingParticipantFromConversation(String baseUrl, String roomToken, boolean isGuest) {
|
public static String getUrlForRemovingParticipantFromConversation(String baseUrl, String roomToken, boolean isGuest) {
|
||||||
String url = getUrlForParticipants(1, baseUrl, roomToken);
|
String url = getUrlForParticipants(1, baseUrl, roomToken);
|
||||||
@ -122,16 +117,6 @@ public class ApiUtils {
|
|||||||
return getUrlForParticipantsActive(1, baseUrl, token);
|
return getUrlForParticipantsActive(1, baseUrl, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Please specify the api version you want to use via
|
|
||||||
* {@link ApiUtils#getUrlForParticipants(int, String, String)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public static String getUrlForParticipants(String baseUrl, String token) {
|
|
||||||
return getUrlForParticipants(1, baseUrl, token);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getUrlForCapabilities(String baseUrl) {
|
public static String getUrlForCapabilities(String baseUrl) {
|
||||||
return baseUrl + ocsApiVersion + "/cloud/capabilities";
|
return baseUrl + ocsApiVersion + "/cloud/capabilities";
|
||||||
}
|
}
|
||||||
@ -145,15 +130,6 @@ public class ApiUtils {
|
|||||||
return getUrlForRooms(1, baseUrl);
|
return getUrlForRooms(1, baseUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Please specify the api version you want to use via
|
|
||||||
* {@link ApiUtils#getUrlForRoom(int, String, String)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public static String getRoom(String baseUrl, String token) {
|
|
||||||
return getUrlForRoom(1, baseUrl, token);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Integer getApiVersion(UserEntity capabilities, String apiName, int[] versions) {
|
public static Integer getApiVersion(UserEntity capabilities, String apiName, int[] versions) {
|
||||||
if (apiName.equals("conversation")) {
|
if (apiName.equals("conversation")) {
|
||||||
boolean hasApiV4 = false;
|
boolean hasApiV4 = false;
|
||||||
@ -197,6 +173,10 @@ public class ApiUtils {
|
|||||||
return getUrlForRooms(version, baseUrl) + "/" + token;
|
return getUrlForRooms(version, baseUrl) + "/" + token;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getUrlForAttendees(int version, String baseUrl, String token) {
|
||||||
|
return getUrlForRoom(version, baseUrl, token) + "/attendees";
|
||||||
|
}
|
||||||
|
|
||||||
public static String getUrlForParticipants(int version, String baseUrl, String token) {
|
public static String getUrlForParticipants(int version, String baseUrl, String token) {
|
||||||
return getUrlForRoom(version, baseUrl, token) + "/participants";
|
return getUrlForRoom(version, baseUrl, token) + "/participants";
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user