Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/talk-android.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hibbe <dev@mhibbe.de>2022-04-09 23:56:45 +0300
committerMarcel Hibbe <dev@mhibbe.de>2022-04-10 00:05:32 +0300
commit3d4f3eeb54b6fbdc7af40aa174f8446888eb9a3f (patch)
tree633a31a86965f34759240c875555b3ebd4e54310
parent7dd7738c04a8de31ad3788ed9e23c000cd91b532 (diff)
open reactions menu when long click on emojis in message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
-rw-r--r--app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingLocationMessageViewHolder.kt7
-rw-r--r--app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingVoiceMessageViewHolder.kt7
-rw-r--r--app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.kt7
-rw-r--r--app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.kt5
-rw-r--r--app/src/main/java/com/nextcloud/talk/adapters/messages/MagicPreviewMessageViewHolder.java5
-rw-r--r--app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingLocationMessageViewHolder.kt5
-rw-r--r--app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingVoiceMessageViewHolder.kt5
-rw-r--r--app/src/main/java/com/nextcloud/talk/adapters/messages/PreviewMessageInterface.kt2
-rw-r--r--app/src/main/java/com/nextcloud/talk/adapters/messages/Reaction.kt1
-rw-r--r--app/src/main/java/com/nextcloud/talk/adapters/messages/ReactionsInterface.kt1
-rw-r--r--app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt28
11 files changed, 49 insertions, 24 deletions
diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingLocationMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingLocationMessageViewHolder.kt
index 74f7e5a38..bc52a56f3 100644
--- a/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingLocationMessageViewHolder.kt
+++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingLocationMessageViewHolder.kt
@@ -102,11 +102,14 @@ class IncomingLocationMessageViewHolder(incomingView: View, payload: Any) : Mess
// geo-location
setLocationDataOnMessageItem(message)
- Reaction().showReactions(message, binding.reactions, context!!, false)
-
+ Reaction().showReactions(message, binding.reactions, context!!, true)
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
reactionsInterface.onClickReactions(message)
}
+ binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
+ reactionsInterface.onLongClickReactions(message)
+ true
+ }
}
private fun setAvatarAndAuthorOnMessageItem(message: ChatMessage) {
diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingVoiceMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingVoiceMessageViewHolder.kt
index 7f359c140..94a730f1f 100644
--- a/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingVoiceMessageViewHolder.kt
+++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingVoiceMessageViewHolder.kt
@@ -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 {
reactionsInterface.onClickReactions(message)
}
+ binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
+ reactionsInterface.onLongClickReactions(message)
+ true
+ }
}
private fun updateDownloadState(message: ChatMessage) {
diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.kt
index 26bc5e890..dda71a30e 100644
--- a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.kt
+++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicIncomingTextMessageViewHolder.kt
@@ -122,11 +122,14 @@ class MagicIncomingTextMessageViewHolder(itemView: View, payload: Any) : Message
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 {
reactionsInterface.onClickReactions(message)
}
+ binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
+ reactionsInterface.onLongClickReactions(message)
+ true
+ }
}
private fun processAuthor(message: ChatMessage) {
diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.kt
index 9f18bd04f..83bb89d1f 100644
--- a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.kt
+++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicOutcomingTextMessageViewHolder.kt
@@ -122,10 +122,13 @@ class MagicOutcomingTextMessageViewHolder(itemView: View) : OutcomingTextMessage
itemView.setTag(MessageSwipeCallback.REPLYABLE_VIEW_TAG, message.isReplyable)
Reaction().showReactions(message, binding.reactions, context!!, true)
-
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
reactionsInterface.onClickReactions(message)
}
+ binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
+ reactionsInterface.onLongClickReactions(message)
+ true
+ }
}
private fun processParentMessage(message: ChatMessage) {
diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicPreviewMessageViewHolder.java b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicPreviewMessageViewHolder.java
index 88c090f4e..c4095bb17 100644
--- a/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicPreviewMessageViewHolder.java
+++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/MagicPreviewMessageViewHolder.java
@@ -260,10 +260,13 @@ public abstract class MagicPreviewMessageViewHolder extends MessageHolders.Incom
reactionsBinding = getReactionsBinding();
new Reaction().showReactions(message, reactionsBinding, context, false);
-
reactionsBinding.reactionsEmojiWrapper.setOnClickListener(l -> {
reactionsInterface.onClickReactions(message);
});
+ reactionsBinding.reactionsEmojiWrapper.setOnLongClickListener(l -> {
+ reactionsInterface.onLongClickReactions(message);
+ return true;
+ });
}
private Drawable getDrawableFromContactDetails(Context context, String base64) {
diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingLocationMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingLocationMessageViewHolder.kt
index e3b393cee..74515caa6 100644
--- a/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingLocationMessageViewHolder.kt
+++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingLocationMessageViewHolder.kt
@@ -115,10 +115,13 @@ class OutcomingLocationMessageViewHolder(incomingView: View) : MessageHolders
setLocationDataOnMessageItem(message)
Reaction().showReactions(message, binding.reactions, context!!, true)
-
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
reactionsInterface.onClickReactions(message)
}
+ binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
+ reactionsInterface.onLongClickReactions(message)
+ true
+ }
}
@SuppressLint("SetJavaScriptEnabled", "ClickableViewAccessibility")
diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingVoiceMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingVoiceMessageViewHolder.kt
index 41a739827..2eb294bf6 100644
--- a/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingVoiceMessageViewHolder.kt
+++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingVoiceMessageViewHolder.kt
@@ -132,10 +132,13 @@ class OutcomingVoiceMessageViewHolder(outcomingView: View) : MessageHolders
binding.checkMark.setContentDescription(readStatusContentDescriptionString)
Reaction().showReactions(message, binding.reactions, context!!, true)
-
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
reactionsInterface.onClickReactions(message)
}
+ binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
+ reactionsInterface.onLongClickReactions(message)
+ true
+ }
}
private fun handleResetVoiceMessageState(message: ChatMessage) {
diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/PreviewMessageInterface.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/PreviewMessageInterface.kt
index 995ceecc2..a7cfafb04 100644
--- a/app/src/main/java/com/nextcloud/talk/adapters/messages/PreviewMessageInterface.kt
+++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/PreviewMessageInterface.kt
@@ -4,4 +4,4 @@ import com.nextcloud.talk.models.json.chat.ChatMessage
interface PreviewMessageInterface {
fun onPreviewMessageLongClick(chatMessage: ChatMessage)
-} \ No newline at end of file
+}
diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/Reaction.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/Reaction.kt
index 5c1c11753..c0ab6ed06 100644
--- a/app/src/main/java/com/nextcloud/talk/adapters/messages/Reaction.kt
+++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/Reaction.kt
@@ -73,7 +73,6 @@ class Reaction {
reactionAmount.layoutParams = params
binding.reactionsEmojiWrapper.addView(reactionAmount)
-
remainingEmojisToDisplay--
if (remainingEmojisToDisplay == 0 && showInfoAboutMoreEmojis) {
val infoAboutMoreEmojis = TextView(context)
diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/ReactionsInterface.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/ReactionsInterface.kt
index d6e9c47e9..589c6e363 100644
--- a/app/src/main/java/com/nextcloud/talk/adapters/messages/ReactionsInterface.kt
+++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/ReactionsInterface.kt
@@ -4,4 +4,5 @@ import com.nextcloud.talk.models.json.chat.ChatMessage
interface ReactionsInterface {
fun onClickReactions(chatMessage: ChatMessage)
+ fun onLongClickReactions(chatMessage: ChatMessage)
}
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 2462ed2d5..ecf38632c 100644
--- a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt
+++ b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt
@@ -924,18 +924,6 @@ class ChatController(args: Bundle) :
}
}
- override fun onClickReactions(chatMessage: ChatMessage) {
- activity?.let {
- ShowReactionsDialog(
- activity!!,
- currentConversation,
- chatMessage,
- conversationUser,
- ncApi!!
- ).show()
- }
- }
-
@SuppressLint("LongLogTag")
private fun downloadFileToCache(message: ChatMessage) {
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?) {
openMessageActionsDialog(message)
}