mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 12:09:45 +01:00
open reactions menu when long click on emojis in message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
parent
7dd7738c04
commit
3d4f3eeb54
@ -102,11 +102,14 @@ class IncomingLocationMessageViewHolder(incomingView: View, payload: Any) : Mess
|
|||||||
// geo-location
|
// geo-location
|
||||||
setLocationDataOnMessageItem(message)
|
setLocationDataOnMessageItem(message)
|
||||||
|
|
||||||
Reaction().showReactions(message, binding.reactions, context!!, false)
|
Reaction().showReactions(message, binding.reactions, context!!, true)
|
||||||
|
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
reactionsInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
|
reactionsInterface.onLongClickReactions(message)
|
||||||
|
true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setAvatarAndAuthorOnMessageItem(message: ChatMessage) {
|
private fun setAvatarAndAuthorOnMessageItem(message: ChatMessage) {
|
||||||
|
@ -142,11 +142,14 @@ class IncomingVoiceMessageViewHolder(incomingView: View, payload: Any) : Message
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
Reaction().showReactions(message, binding.reactions, context!!, false)
|
Reaction().showReactions(message, binding.reactions, context!!, true)
|
||||||
|
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
reactionsInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
|
reactionsInterface.onLongClickReactions(message)
|
||||||
|
true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateDownloadState(message: ChatMessage) {
|
private fun updateDownloadState(message: ChatMessage) {
|
||||||
|
@ -122,11 +122,14 @@ class MagicIncomingTextMessageViewHolder(itemView: View, payload: Any) : Message
|
|||||||
|
|
||||||
itemView.setTag(MessageSwipeCallback.REPLYABLE_VIEW_TAG, message.isReplyable)
|
itemView.setTag(MessageSwipeCallback.REPLYABLE_VIEW_TAG, message.isReplyable)
|
||||||
|
|
||||||
Reaction().showReactions(message, binding.reactions, context!!, false)
|
Reaction().showReactions(message, binding.reactions, context!!, true)
|
||||||
|
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
reactionsInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
|
reactionsInterface.onLongClickReactions(message)
|
||||||
|
true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun processAuthor(message: ChatMessage) {
|
private fun processAuthor(message: ChatMessage) {
|
||||||
|
@ -122,10 +122,13 @@ class MagicOutcomingTextMessageViewHolder(itemView: View) : OutcomingTextMessage
|
|||||||
itemView.setTag(MessageSwipeCallback.REPLYABLE_VIEW_TAG, message.isReplyable)
|
itemView.setTag(MessageSwipeCallback.REPLYABLE_VIEW_TAG, message.isReplyable)
|
||||||
|
|
||||||
Reaction().showReactions(message, binding.reactions, context!!, true)
|
Reaction().showReactions(message, binding.reactions, context!!, true)
|
||||||
|
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
reactionsInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
|
reactionsInterface.onLongClickReactions(message)
|
||||||
|
true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun processParentMessage(message: ChatMessage) {
|
private fun processParentMessage(message: ChatMessage) {
|
||||||
|
@ -260,10 +260,13 @@ public abstract class MagicPreviewMessageViewHolder extends MessageHolders.Incom
|
|||||||
|
|
||||||
reactionsBinding = getReactionsBinding();
|
reactionsBinding = getReactionsBinding();
|
||||||
new Reaction().showReactions(message, reactionsBinding, context, false);
|
new Reaction().showReactions(message, reactionsBinding, context, false);
|
||||||
|
|
||||||
reactionsBinding.reactionsEmojiWrapper.setOnClickListener(l -> {
|
reactionsBinding.reactionsEmojiWrapper.setOnClickListener(l -> {
|
||||||
reactionsInterface.onClickReactions(message);
|
reactionsInterface.onClickReactions(message);
|
||||||
});
|
});
|
||||||
|
reactionsBinding.reactionsEmojiWrapper.setOnLongClickListener(l -> {
|
||||||
|
reactionsInterface.onLongClickReactions(message);
|
||||||
|
return true;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private Drawable getDrawableFromContactDetails(Context context, String base64) {
|
private Drawable getDrawableFromContactDetails(Context context, String base64) {
|
||||||
|
@ -115,10 +115,13 @@ class OutcomingLocationMessageViewHolder(incomingView: View) : MessageHolders
|
|||||||
setLocationDataOnMessageItem(message)
|
setLocationDataOnMessageItem(message)
|
||||||
|
|
||||||
Reaction().showReactions(message, binding.reactions, context!!, true)
|
Reaction().showReactions(message, binding.reactions, context!!, true)
|
||||||
|
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
reactionsInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
|
reactionsInterface.onLongClickReactions(message)
|
||||||
|
true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("SetJavaScriptEnabled", "ClickableViewAccessibility")
|
@SuppressLint("SetJavaScriptEnabled", "ClickableViewAccessibility")
|
||||||
|
@ -132,10 +132,13 @@ class OutcomingVoiceMessageViewHolder(outcomingView: View) : MessageHolders
|
|||||||
binding.checkMark.setContentDescription(readStatusContentDescriptionString)
|
binding.checkMark.setContentDescription(readStatusContentDescriptionString)
|
||||||
|
|
||||||
Reaction().showReactions(message, binding.reactions, context!!, true)
|
Reaction().showReactions(message, binding.reactions, context!!, true)
|
||||||
|
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
reactionsInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
|
reactionsInterface.onLongClickReactions(message)
|
||||||
|
true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun handleResetVoiceMessageState(message: ChatMessage) {
|
private fun handleResetVoiceMessageState(message: ChatMessage) {
|
||||||
|
@ -4,4 +4,4 @@ import com.nextcloud.talk.models.json.chat.ChatMessage
|
|||||||
|
|
||||||
interface PreviewMessageInterface {
|
interface PreviewMessageInterface {
|
||||||
fun onPreviewMessageLongClick(chatMessage: ChatMessage)
|
fun onPreviewMessageLongClick(chatMessage: ChatMessage)
|
||||||
}
|
}
|
||||||
|
@ -73,7 +73,6 @@ class Reaction {
|
|||||||
reactionAmount.layoutParams = params
|
reactionAmount.layoutParams = params
|
||||||
binding.reactionsEmojiWrapper.addView(reactionAmount)
|
binding.reactionsEmojiWrapper.addView(reactionAmount)
|
||||||
|
|
||||||
|
|
||||||
remainingEmojisToDisplay--
|
remainingEmojisToDisplay--
|
||||||
if (remainingEmojisToDisplay == 0 && showInfoAboutMoreEmojis) {
|
if (remainingEmojisToDisplay == 0 && showInfoAboutMoreEmojis) {
|
||||||
val infoAboutMoreEmojis = TextView(context)
|
val infoAboutMoreEmojis = TextView(context)
|
||||||
|
@ -4,4 +4,5 @@ import com.nextcloud.talk.models.json.chat.ChatMessage
|
|||||||
|
|
||||||
interface ReactionsInterface {
|
interface ReactionsInterface {
|
||||||
fun onClickReactions(chatMessage: ChatMessage)
|
fun onClickReactions(chatMessage: ChatMessage)
|
||||||
|
fun onLongClickReactions(chatMessage: ChatMessage)
|
||||||
}
|
}
|
||||||
|
@ -924,18 +924,6 @@ class ChatController(args: Bundle) :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onClickReactions(chatMessage: ChatMessage) {
|
|
||||||
activity?.let {
|
|
||||||
ShowReactionsDialog(
|
|
||||||
activity!!,
|
|
||||||
currentConversation,
|
|
||||||
chatMessage,
|
|
||||||
conversationUser,
|
|
||||||
ncApi!!
|
|
||||||
).show()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressLint("LongLogTag")
|
@SuppressLint("LongLogTag")
|
||||||
private fun downloadFileToCache(message: ChatMessage) {
|
private fun downloadFileToCache(message: ChatMessage) {
|
||||||
message.isDownloadingVoiceMessage = true
|
message.isDownloadingVoiceMessage = true
|
||||||
@ -2432,6 +2420,22 @@ class ChatController(args: Bundle) :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onClickReactions(chatMessage: ChatMessage) {
|
||||||
|
activity?.let {
|
||||||
|
ShowReactionsDialog(
|
||||||
|
activity!!,
|
||||||
|
currentConversation,
|
||||||
|
chatMessage,
|
||||||
|
conversationUser,
|
||||||
|
ncApi!!
|
||||||
|
).show()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onLongClickReactions(chatMessage: ChatMessage) {
|
||||||
|
openMessageActionsDialog(chatMessage)
|
||||||
|
}
|
||||||
|
|
||||||
override fun onMessageViewLongClick(view: View?, message: IMessage?) {
|
override fun onMessageViewLongClick(view: View?, message: IMessage?) {
|
||||||
openMessageActionsDialog(message)
|
openMessageActionsDialog(message)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user