mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-29 08:30:13 +01:00
passing note to self room token to MessageActionsDialog
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
parent
1c6cd78fdb
commit
bcd0216fca
@ -256,6 +256,8 @@ class ChatActivity :
|
|||||||
lateinit var chatViewModel: ChatViewModel
|
lateinit var chatViewModel: ChatViewModel
|
||||||
lateinit var messageInputViewModel: MessageInputViewModel
|
lateinit var messageInputViewModel: MessageInputViewModel
|
||||||
|
|
||||||
|
private var noteToSelfRoomToken: String = ""
|
||||||
|
|
||||||
private val startSelectContactForResult = registerForActivityResult(
|
private val startSelectContactForResult = registerForActivityResult(
|
||||||
ActivityResultContracts
|
ActivityResultContracts
|
||||||
.StartActivityForResult()
|
.StartActivityForResult()
|
||||||
@ -434,6 +436,24 @@ class ChatActivity :
|
|||||||
|
|
||||||
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
|
||||||
|
|
||||||
|
val apiVersion = ApiUtils.getConversationApiVersion(
|
||||||
|
conversationUser!!,
|
||||||
|
intArrayOf(
|
||||||
|
ApiUtils.API_V4,
|
||||||
|
ApiUtils
|
||||||
|
.API_V3,
|
||||||
|
1
|
||||||
|
)
|
||||||
|
)
|
||||||
|
chatViewModel.checkForNoteToSelf(
|
||||||
|
ApiUtils.getCredentials(conversationUser?.username, conversationUser?.token)!!,
|
||||||
|
ApiUtils.getUrlForRooms(
|
||||||
|
apiVersion,
|
||||||
|
conversationUser?.baseUrl
|
||||||
|
),
|
||||||
|
false
|
||||||
|
)
|
||||||
|
|
||||||
initObservers()
|
initObservers()
|
||||||
|
|
||||||
pickMultipleMedia = registerForActivityResult(
|
pickMultipleMedia = registerForActivityResult(
|
||||||
@ -769,6 +789,19 @@ class ChatActivity :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
chatViewModel.getNoteToSelfAvailability.observe(this) { state ->
|
||||||
|
when (state) {
|
||||||
|
is ChatViewModel.NoteToSelfAvailableState -> {
|
||||||
|
this.lifecycleScope.launch {
|
||||||
|
noteToSelfRoomToken = state.roomToken
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else -> {
|
||||||
|
noteToSelfRoomToken = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
chatViewModel.chatMessageViewState.observe(this) { state ->
|
chatViewModel.chatMessageViewState.observe(this) { state ->
|
||||||
when (state) {
|
when (state) {
|
||||||
is ChatViewModel.ChatMessageStartState -> {
|
is ChatViewModel.ChatMessageStartState -> {
|
||||||
@ -3126,7 +3159,8 @@ class ChatActivity :
|
|||||||
currentConversation,
|
currentConversation,
|
||||||
isShowMessageDeletionButton(message),
|
isShowMessageDeletionButton(message),
|
||||||
participantPermissions.hasChatPermission(),
|
participantPermissions.hasChatPermission(),
|
||||||
spreedCapabilities
|
spreedCapabilities,
|
||||||
|
noteToSelfRoomToken
|
||||||
).show()
|
).show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,6 @@ import com.nextcloud.talk.R
|
|||||||
import com.nextcloud.talk.application.NextcloudTalkApplication
|
import com.nextcloud.talk.application.NextcloudTalkApplication
|
||||||
import com.nextcloud.talk.chat.ChatActivity
|
import com.nextcloud.talk.chat.ChatActivity
|
||||||
import com.nextcloud.talk.chat.data.model.ChatMessage
|
import com.nextcloud.talk.chat.data.model.ChatMessage
|
||||||
import com.nextcloud.talk.chat.viewmodels.ChatViewModel
|
|
||||||
import com.nextcloud.talk.data.network.NetworkMonitor
|
import com.nextcloud.talk.data.network.NetworkMonitor
|
||||||
import com.nextcloud.talk.data.user.model.User
|
import com.nextcloud.talk.data.user.model.User
|
||||||
import com.nextcloud.talk.databinding.DialogMessageActionsBinding
|
import com.nextcloud.talk.databinding.DialogMessageActionsBinding
|
||||||
@ -36,10 +35,8 @@ import com.nextcloud.talk.models.json.capabilities.SpreedCapability
|
|||||||
import com.nextcloud.talk.models.json.conversations.ConversationEnums
|
import com.nextcloud.talk.models.json.conversations.ConversationEnums
|
||||||
import com.nextcloud.talk.repositories.reactions.ReactionsRepository
|
import com.nextcloud.talk.repositories.reactions.ReactionsRepository
|
||||||
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
import com.nextcloud.talk.ui.theme.ViewThemeUtils
|
||||||
import com.nextcloud.talk.utils.ApiUtils
|
|
||||||
import com.nextcloud.talk.utils.CapabilitiesUtil
|
import com.nextcloud.talk.utils.CapabilitiesUtil
|
||||||
import com.nextcloud.talk.utils.CapabilitiesUtil.hasSpreedFeatureCapability
|
import com.nextcloud.talk.utils.CapabilitiesUtil.hasSpreedFeatureCapability
|
||||||
import com.nextcloud.talk.utils.ConversationUtils
|
|
||||||
import com.nextcloud.talk.utils.DateConstants
|
import com.nextcloud.talk.utils.DateConstants
|
||||||
import com.nextcloud.talk.utils.DateUtils
|
import com.nextcloud.talk.utils.DateUtils
|
||||||
import com.nextcloud.talk.utils.SpreedFeatures
|
import com.nextcloud.talk.utils.SpreedFeatures
|
||||||
@ -63,7 +60,8 @@ class MessageActionsDialog(
|
|||||||
private val currentConversation: ConversationModel?,
|
private val currentConversation: ConversationModel?,
|
||||||
private val showMessageDeletionButton: Boolean,
|
private val showMessageDeletionButton: Boolean,
|
||||||
private val hasChatPermission: Boolean,
|
private val hasChatPermission: Boolean,
|
||||||
private val spreedCapabilities: SpreedCapability
|
private val spreedCapabilities: SpreedCapability,
|
||||||
|
private val noteToSelfRoomToken: String
|
||||||
) : BottomSheetDialog(chatActivity) {
|
) : BottomSheetDialog(chatActivity) {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@ -123,34 +121,13 @@ class MessageActionsDialog(
|
|||||||
viewThemeUtils.material.colorBottomSheetDragHandle(dialogMessageActionsBinding.bottomSheetDragHandle)
|
viewThemeUtils.material.colorBottomSheetDragHandle(dialogMessageActionsBinding.bottomSheetDragHandle)
|
||||||
initEmojiBar(hasChatPermission)
|
initEmojiBar(hasChatPermission)
|
||||||
initMenuItemCopy(!message.isDeleted)
|
initMenuItemCopy(!message.isDeleted)
|
||||||
val apiVersion = ApiUtils.getConversationApiVersion(user!!, intArrayOf(ApiUtils.API_V4, ApiUtils.API_V3, 1))
|
|
||||||
chatActivity.chatViewModel.checkForNoteToSelf(
|
initMenuAddToNote(
|
||||||
ApiUtils.getCredentials(user.username, user.token)!!,
|
networkMonitor.isOnline.value &&
|
||||||
ApiUtils.getUrlForRooms(
|
!message.isDeleted &&
|
||||||
apiVersion,
|
currentConversation?.type != ConversationEnums.ConversationType.NOTE_TO_SELF,
|
||||||
user.baseUrl
|
noteToSelfRoomToken
|
||||||
),
|
|
||||||
false
|
|
||||||
)
|
)
|
||||||
chatActivity.chatViewModel.getNoteToSelfAvailability.observe(this) { state ->
|
|
||||||
when (state) {
|
|
||||||
is ChatViewModel.NoteToSelfAvailableState -> {
|
|
||||||
this.lifecycleScope.launch {
|
|
||||||
initMenuAddToNote(
|
|
||||||
!message.isDeleted &&
|
|
||||||
!ConversationUtils.isNoteToSelfConversation(currentConversation) &&
|
|
||||||
networkMonitor.isOnline.value,
|
|
||||||
state.roomToken
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else -> {
|
|
||||||
initMenuAddToNote(
|
|
||||||
false
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
initMenuItems(networkMonitor.isOnline.value)
|
initMenuItems(networkMonitor.isOnline.value)
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,8 @@ enum class SpreedFeatures(val value: String) {
|
|||||||
BAN_V1("ban-v1"),
|
BAN_V1("ban-v1"),
|
||||||
EDIT_MESSAGES_NOTE_TO_SELF("edit-messages-note-to-self"),
|
EDIT_MESSAGES_NOTE_TO_SELF("edit-messages-note-to-self"),
|
||||||
ARCHIVE_CONVERSATIONS("archived-conversations-v2"),
|
ARCHIVE_CONVERSATIONS("archived-conversations-v2"),
|
||||||
CONVERSATION_CREATION_ALL("conversation-creation-all")
|
CONVERSATION_CREATION_ALL("conversation-creation-all"),
|
||||||
|
NOTE_TO_SELF("note-to-self")
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("TooManyFunctions")
|
@Suppress("TooManyFunctions")
|
||||||
|
Loading…
Reference in New Issue
Block a user