mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 12:09:45 +01:00
open MessageActionsDialog on long click on link previews.
rename ReactionsInterface.kt to CommonMessageInterface.kt Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
parent
9bc42334d4
commit
66eea709b4
@ -2,7 +2,7 @@ package com.nextcloud.talk.adapters.messages
|
|||||||
|
|
||||||
import com.nextcloud.talk.models.json.chat.ChatMessage
|
import com.nextcloud.talk.models.json.chat.ChatMessage
|
||||||
|
|
||||||
interface ReactionsInterface {
|
interface CommonMessageInterface {
|
||||||
fun onClickReactions(chatMessage: ChatMessage)
|
fun onClickReactions(chatMessage: ChatMessage)
|
||||||
fun onLongClickReactions(chatMessage: ChatMessage)
|
fun onOpenMessageActionsDialog(chatMessage: ChatMessage)
|
||||||
}
|
}
|
@ -68,7 +68,7 @@ class IncomingLinkPreviewMessageViewHolder(incomingView: View, payload: Any) : M
|
|||||||
|
|
||||||
lateinit var message: ChatMessage
|
lateinit var message: ChatMessage
|
||||||
|
|
||||||
lateinit var reactionsInterface: ReactionsInterface
|
lateinit var commonMessageInterface: CommonMessageInterface
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
override fun onBind(message: ChatMessage) {
|
override fun onBind(message: ChatMessage) {
|
||||||
@ -91,6 +91,10 @@ class IncomingLinkPreviewMessageViewHolder(incomingView: View, payload: Any) : M
|
|||||||
binding.referenceInclude,
|
binding.referenceInclude,
|
||||||
context
|
context
|
||||||
)
|
)
|
||||||
|
binding.referenceInclude.referenceWrapper.setOnLongClickListener { l: View? ->
|
||||||
|
commonMessageInterface.onOpenMessageActionsDialog(message)
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
Reaction().showReactions(
|
Reaction().showReactions(
|
||||||
message,
|
message,
|
||||||
@ -100,10 +104,10 @@ class IncomingLinkPreviewMessageViewHolder(incomingView: View, payload: Any) : M
|
|||||||
viewThemeUtils
|
viewThemeUtils
|
||||||
)
|
)
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
commonMessageInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
reactionsInterface.onLongClickReactions(message)
|
commonMessageInterface.onOpenMessageActionsDialog(message)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -197,8 +201,8 @@ class IncomingLinkPreviewMessageViewHolder(incomingView: View, payload: Any) : M
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun assignReactionInterface(reactionsInterface: ReactionsInterface) {
|
fun assignCommonMessageInterface(commonMessageInterface: CommonMessageInterface) {
|
||||||
this.reactionsInterface = reactionsInterface
|
this.commonMessageInterface = commonMessageInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -78,7 +78,7 @@ class IncomingLocationMessageViewHolder(incomingView: View, payload: Any) : Mess
|
|||||||
@Inject
|
@Inject
|
||||||
lateinit var viewThemeUtils: ViewThemeUtils
|
lateinit var viewThemeUtils: ViewThemeUtils
|
||||||
|
|
||||||
lateinit var reactionsInterface: ReactionsInterface
|
lateinit var commonMessageInterface: CommonMessageInterface
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
override fun onBind(message: ChatMessage) {
|
override fun onBind(message: ChatMessage) {
|
||||||
@ -109,10 +109,10 @@ class IncomingLocationMessageViewHolder(incomingView: View, payload: Any) : Mess
|
|||||||
viewThemeUtils
|
viewThemeUtils
|
||||||
)
|
)
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
commonMessageInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
reactionsInterface.onLongClickReactions(message)
|
commonMessageInterface.onOpenMessageActionsDialog(message)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -267,8 +267,8 @@ class IncomingLocationMessageViewHolder(incomingView: View, payload: Any) : Mess
|
|||||||
return locationGeoLink.replace("geo:", "geo:0,0?q=")
|
return locationGeoLink.replace("geo:", "geo:0,0?q=")
|
||||||
}
|
}
|
||||||
|
|
||||||
fun assignReactionInterface(reactionsInterface: ReactionsInterface) {
|
fun assignCommonMessageInterface(commonMessageInterface: CommonMessageInterface) {
|
||||||
this.reactionsInterface = reactionsInterface
|
this.commonMessageInterface = commonMessageInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -68,7 +68,7 @@ class IncomingPollMessageViewHolder(incomingView: View, payload: Any) : MessageH
|
|||||||
|
|
||||||
lateinit var message: ChatMessage
|
lateinit var message: ChatMessage
|
||||||
|
|
||||||
lateinit var reactionsInterface: ReactionsInterface
|
lateinit var commonMessageInterface: CommonMessageInterface
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
override fun onBind(message: ChatMessage) {
|
override fun onBind(message: ChatMessage) {
|
||||||
@ -95,10 +95,10 @@ class IncomingPollMessageViewHolder(incomingView: View, payload: Any) : MessageH
|
|||||||
viewThemeUtils
|
viewThemeUtils
|
||||||
)
|
)
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
commonMessageInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
reactionsInterface.onLongClickReactions(message)
|
commonMessageInterface.onOpenMessageActionsDialog(message)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -228,8 +228,8 @@ class IncomingPollMessageViewHolder(incomingView: View, payload: Any) : MessageH
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun assignReactionInterface(reactionsInterface: ReactionsInterface) {
|
fun assignCommonMessageInterface(commonMessageInterface: CommonMessageInterface) {
|
||||||
this.reactionsInterface = reactionsInterface
|
this.commonMessageInterface = commonMessageInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -76,7 +76,7 @@ class IncomingVoiceMessageViewHolder(incomingView: View, payload: Any) : Message
|
|||||||
lateinit var message: ChatMessage
|
lateinit var message: ChatMessage
|
||||||
|
|
||||||
lateinit var voiceMessageInterface: VoiceMessageInterface
|
lateinit var voiceMessageInterface: VoiceMessageInterface
|
||||||
lateinit var reactionsInterface: ReactionsInterface
|
lateinit var commonMessageInterface: CommonMessageInterface
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
override fun onBind(message: ChatMessage) {
|
override fun onBind(message: ChatMessage) {
|
||||||
@ -153,10 +153,10 @@ class IncomingVoiceMessageViewHolder(incomingView: View, payload: Any) : Message
|
|||||||
viewThemeUtils
|
viewThemeUtils
|
||||||
)
|
)
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
commonMessageInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
reactionsInterface.onLongClickReactions(message)
|
commonMessageInterface.onOpenMessageActionsDialog(message)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -307,8 +307,8 @@ class IncomingVoiceMessageViewHolder(incomingView: View, payload: Any) : Message
|
|||||||
this.voiceMessageInterface = voiceMessageInterface
|
this.voiceMessageInterface = voiceMessageInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
fun assignReactionInterface(reactionsInterface: ReactionsInterface) {
|
fun assignCommonMessageInterface(commonMessageInterface: CommonMessageInterface) {
|
||||||
this.reactionsInterface = reactionsInterface
|
this.commonMessageInterface = commonMessageInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -69,7 +69,7 @@ class MagicIncomingTextMessageViewHolder(itemView: View, payload: Any) : Message
|
|||||||
@Inject
|
@Inject
|
||||||
lateinit var appPreferences: AppPreferences
|
lateinit var appPreferences: AppPreferences
|
||||||
|
|
||||||
lateinit var reactionsInterface: ReactionsInterface
|
lateinit var commonMessageInterface: CommonMessageInterface
|
||||||
|
|
||||||
override fun onBind(message: ChatMessage) {
|
override fun onBind(message: ChatMessage) {
|
||||||
super.onBind(message)
|
super.onBind(message)
|
||||||
@ -125,10 +125,10 @@ class MagicIncomingTextMessageViewHolder(itemView: View, payload: Any) : Message
|
|||||||
viewThemeUtils
|
viewThemeUtils
|
||||||
)
|
)
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
commonMessageInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
reactionsInterface.onLongClickReactions(message)
|
commonMessageInterface.onOpenMessageActionsDialog(message)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -249,8 +249,8 @@ class MagicIncomingTextMessageViewHolder(itemView: View, payload: Any) : Message
|
|||||||
return messageStringInternal
|
return messageStringInternal
|
||||||
}
|
}
|
||||||
|
|
||||||
fun assignReactionInterface(reactionsInterface: ReactionsInterface) {
|
fun assignCommonMessageInterface(commonMessageInterface: CommonMessageInterface) {
|
||||||
this.reactionsInterface = reactionsInterface
|
this.commonMessageInterface = commonMessageInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -60,7 +60,7 @@ class MagicOutcomingTextMessageViewHolder(itemView: View) : OutcomingTextMessage
|
|||||||
@Inject
|
@Inject
|
||||||
lateinit var viewThemeUtils: ViewThemeUtils
|
lateinit var viewThemeUtils: ViewThemeUtils
|
||||||
|
|
||||||
lateinit var reactionsInterface: ReactionsInterface
|
lateinit var commonMessageInterface: CommonMessageInterface
|
||||||
|
|
||||||
override fun onBind(message: ChatMessage) {
|
override fun onBind(message: ChatMessage) {
|
||||||
super.onBind(message)
|
super.onBind(message)
|
||||||
@ -123,10 +123,10 @@ class MagicOutcomingTextMessageViewHolder(itemView: View) : OutcomingTextMessage
|
|||||||
|
|
||||||
Reaction().showReactions(message, binding.reactions, context, true, viewThemeUtils)
|
Reaction().showReactions(message, binding.reactions, context, true, viewThemeUtils)
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
commonMessageInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
reactionsInterface.onLongClickReactions(message)
|
commonMessageInterface.onOpenMessageActionsDialog(message)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -193,8 +193,8 @@ class MagicOutcomingTextMessageViewHolder(itemView: View) : OutcomingTextMessage
|
|||||||
return messageString1
|
return messageString1
|
||||||
}
|
}
|
||||||
|
|
||||||
fun assignReactionInterface(reactionsInterface: ReactionsInterface) {
|
fun assignCommonMessageInterface(commonMessageInterface: CommonMessageInterface) {
|
||||||
this.reactionsInterface = reactionsInterface
|
this.commonMessageInterface = commonMessageInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -108,7 +108,7 @@ public abstract class MagicPreviewMessageViewHolder extends MessageHolders.Incom
|
|||||||
|
|
||||||
View clickView;
|
View clickView;
|
||||||
|
|
||||||
ReactionsInterface reactionsInterface;
|
CommonMessageInterface commonMessageInterface;
|
||||||
PreviewMessageInterface previewMessageInterface;
|
PreviewMessageInterface previewMessageInterface;
|
||||||
|
|
||||||
public MagicPreviewMessageViewHolder(View itemView, Object payload) {
|
public MagicPreviewMessageViewHolder(View itemView, Object payload) {
|
||||||
@ -251,10 +251,10 @@ public abstract class MagicPreviewMessageViewHolder extends MessageHolders.Incom
|
|||||||
true,
|
true,
|
||||||
viewThemeUtils);
|
viewThemeUtils);
|
||||||
reactionsBinding.reactionsEmojiWrapper.setOnClickListener(l -> {
|
reactionsBinding.reactionsEmojiWrapper.setOnClickListener(l -> {
|
||||||
reactionsInterface.onClickReactions(message);
|
commonMessageInterface.onClickReactions(message);
|
||||||
});
|
});
|
||||||
reactionsBinding.reactionsEmojiWrapper.setOnLongClickListener(l -> {
|
reactionsBinding.reactionsEmojiWrapper.setOnLongClickListener(l -> {
|
||||||
reactionsInterface.onLongClickReactions(message);
|
commonMessageInterface.onOpenMessageActionsDialog(message);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -347,8 +347,8 @@ public abstract class MagicPreviewMessageViewHolder extends MessageHolders.Incom
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void assignReactionInterface(ReactionsInterface reactionsInterface) {
|
public void assignCommonMessageInterface(CommonMessageInterface commonMessageInterface) {
|
||||||
this.reactionsInterface = reactionsInterface;
|
this.commonMessageInterface = commonMessageInterface;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void assignPreviewMessageInterface(PreviewMessageInterface previewMessageInterface) {
|
public void assignPreviewMessageInterface(PreviewMessageInterface previewMessageInterface) {
|
||||||
|
@ -63,7 +63,7 @@ class OutcomingLinkPreviewMessageViewHolder(outcomingView: View, payload: Any) :
|
|||||||
|
|
||||||
lateinit var message: ChatMessage
|
lateinit var message: ChatMessage
|
||||||
|
|
||||||
lateinit var reactionsInterface: ReactionsInterface
|
lateinit var commonMessageInterface: CommonMessageInterface
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
override fun onBind(message: ChatMessage) {
|
override fun onBind(message: ChatMessage) {
|
||||||
@ -109,6 +109,10 @@ class OutcomingLinkPreviewMessageViewHolder(outcomingView: View, payload: Any) :
|
|||||||
binding.referenceInclude,
|
binding.referenceInclude,
|
||||||
context
|
context
|
||||||
)
|
)
|
||||||
|
binding.referenceInclude.referenceWrapper.setOnLongClickListener { l: View? ->
|
||||||
|
commonMessageInterface.onOpenMessageActionsDialog(message)
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
Reaction().showReactions(
|
Reaction().showReactions(
|
||||||
message,
|
message,
|
||||||
@ -118,10 +122,10 @@ class OutcomingLinkPreviewMessageViewHolder(outcomingView: View, payload: Any) :
|
|||||||
viewThemeUtils
|
viewThemeUtils
|
||||||
)
|
)
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
commonMessageInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
reactionsInterface.onLongClickReactions(message)
|
commonMessageInterface.onOpenMessageActionsDialog(message)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -158,8 +162,8 @@ class OutcomingLinkPreviewMessageViewHolder(outcomingView: View, payload: Any) :
|
|||||||
viewThemeUtils.talk.themeOutgoingMessageBubble(bubble, message.isGrouped, message.isDeleted)
|
viewThemeUtils.talk.themeOutgoingMessageBubble(bubble, message.isGrouped, message.isDeleted)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun assignReactionInterface(reactionsInterface: ReactionsInterface) {
|
fun assignCommonMessageInterface(commonMessageInterface: CommonMessageInterface) {
|
||||||
this.reactionsInterface = reactionsInterface
|
this.commonMessageInterface = commonMessageInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -70,7 +70,7 @@ class OutcomingLocationMessageViewHolder(incomingView: View) : MessageHolders
|
|||||||
@Inject
|
@Inject
|
||||||
lateinit var viewThemeUtils: ViewThemeUtils
|
lateinit var viewThemeUtils: ViewThemeUtils
|
||||||
|
|
||||||
lateinit var reactionsInterface: ReactionsInterface
|
lateinit var commonMessageInterface: CommonMessageInterface
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
override fun onBind(message: ChatMessage) {
|
override fun onBind(message: ChatMessage) {
|
||||||
@ -128,10 +128,10 @@ class OutcomingLocationMessageViewHolder(incomingView: View) : MessageHolders
|
|||||||
viewThemeUtils
|
viewThemeUtils
|
||||||
)
|
)
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
commonMessageInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
reactionsInterface.onLongClickReactions(message)
|
commonMessageInterface.onOpenMessageActionsDialog(message)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -242,8 +242,8 @@ class OutcomingLocationMessageViewHolder(incomingView: View) : MessageHolders
|
|||||||
return locationGeoLink.replace("geo:", "geo:0,0?q=")
|
return locationGeoLink.replace("geo:", "geo:0,0?q=")
|
||||||
}
|
}
|
||||||
|
|
||||||
fun assignReactionInterface(reactionsInterface: ReactionsInterface) {
|
fun assignCommonMessageInterface(commonMessageInterface: CommonMessageInterface) {
|
||||||
this.reactionsInterface = reactionsInterface
|
this.commonMessageInterface = commonMessageInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -64,7 +64,7 @@ class OutcomingPollMessageViewHolder(outcomingView: View, payload: Any) : Messag
|
|||||||
|
|
||||||
lateinit var message: ChatMessage
|
lateinit var message: ChatMessage
|
||||||
|
|
||||||
lateinit var reactionsInterface: ReactionsInterface
|
lateinit var commonMessageInterface: CommonMessageInterface
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
override fun onBind(message: ChatMessage) {
|
override fun onBind(message: ChatMessage) {
|
||||||
@ -114,10 +114,10 @@ class OutcomingPollMessageViewHolder(outcomingView: View, payload: Any) : Messag
|
|||||||
viewThemeUtils
|
viewThemeUtils
|
||||||
)
|
)
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
commonMessageInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
reactionsInterface.onLongClickReactions(message)
|
commonMessageInterface.onOpenMessageActionsDialog(message)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -190,8 +190,8 @@ class OutcomingPollMessageViewHolder(outcomingView: View, payload: Any) : Messag
|
|||||||
viewThemeUtils.talk.themeOutgoingMessageBubble(bubble, message.isGrouped, message.isDeleted)
|
viewThemeUtils.talk.themeOutgoingMessageBubble(bubble, message.isGrouped, message.isDeleted)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun assignReactionInterface(reactionsInterface: ReactionsInterface) {
|
fun assignCommonMessageInterface(commonMessageInterface: CommonMessageInterface) {
|
||||||
this.reactionsInterface = reactionsInterface
|
this.commonMessageInterface = commonMessageInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -71,7 +71,7 @@ class OutcomingVoiceMessageViewHolder(outcomingView: View) : MessageHolders
|
|||||||
lateinit var handler: Handler
|
lateinit var handler: Handler
|
||||||
|
|
||||||
lateinit var voiceMessageInterface: VoiceMessageInterface
|
lateinit var voiceMessageInterface: VoiceMessageInterface
|
||||||
lateinit var reactionsInterface: ReactionsInterface
|
lateinit var commonMessageInterface: CommonMessageInterface
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
override fun onBind(message: ChatMessage) {
|
override fun onBind(message: ChatMessage) {
|
||||||
@ -146,10 +146,10 @@ class OutcomingVoiceMessageViewHolder(outcomingView: View) : MessageHolders
|
|||||||
viewThemeUtils
|
viewThemeUtils
|
||||||
)
|
)
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
binding.reactions.reactionsEmojiWrapper.setOnClickListener {
|
||||||
reactionsInterface.onClickReactions(message)
|
commonMessageInterface.onClickReactions(message)
|
||||||
}
|
}
|
||||||
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
binding.reactions.reactionsEmojiWrapper.setOnLongClickListener { l: View? ->
|
||||||
reactionsInterface.onLongClickReactions(message)
|
commonMessageInterface.onOpenMessageActionsDialog(message)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -281,8 +281,8 @@ class OutcomingVoiceMessageViewHolder(outcomingView: View) : MessageHolders
|
|||||||
this.voiceMessageInterface = voiceMessageInterface
|
this.voiceMessageInterface = voiceMessageInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
fun assignReactionInterface(reactionsInterface: ReactionsInterface) {
|
fun assignCommonMessageInterface(commonMessageInterface: CommonMessageInterface) {
|
||||||
this.reactionsInterface = reactionsInterface
|
this.commonMessageInterface = commonMessageInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -50,25 +50,30 @@ public class TalkMessagesListAdapter<M extends IMessage> extends MessagesListAda
|
|||||||
super.onBindViewHolder(holder, position);
|
super.onBindViewHolder(holder, position);
|
||||||
|
|
||||||
if (holder instanceof MagicIncomingTextMessageViewHolder) {
|
if (holder instanceof MagicIncomingTextMessageViewHolder) {
|
||||||
((MagicIncomingTextMessageViewHolder) holder).assignReactionInterface(chatController);
|
((MagicIncomingTextMessageViewHolder) holder).assignCommonMessageInterface(chatController);
|
||||||
} else if (holder instanceof MagicOutcomingTextMessageViewHolder) {
|
} else if (holder instanceof MagicOutcomingTextMessageViewHolder) {
|
||||||
((MagicOutcomingTextMessageViewHolder) holder).assignReactionInterface(chatController);
|
((MagicOutcomingTextMessageViewHolder) holder).assignCommonMessageInterface(chatController);
|
||||||
|
|
||||||
} else if (holder instanceof IncomingLocationMessageViewHolder) {
|
} else if (holder instanceof IncomingLocationMessageViewHolder) {
|
||||||
((IncomingLocationMessageViewHolder) holder).assignReactionInterface(chatController);
|
((IncomingLocationMessageViewHolder) holder).assignCommonMessageInterface(chatController);
|
||||||
} else if (holder instanceof OutcomingLocationMessageViewHolder) {
|
} else if (holder instanceof OutcomingLocationMessageViewHolder) {
|
||||||
((OutcomingLocationMessageViewHolder) holder).assignReactionInterface(chatController);
|
((OutcomingLocationMessageViewHolder) holder).assignCommonMessageInterface(chatController);
|
||||||
|
|
||||||
|
} else if (holder instanceof IncomingLinkPreviewMessageViewHolder) {
|
||||||
|
((IncomingLinkPreviewMessageViewHolder) holder).assignCommonMessageInterface(chatController);
|
||||||
|
} else if (holder instanceof OutcomingLinkPreviewMessageViewHolder) {
|
||||||
|
((OutcomingLinkPreviewMessageViewHolder) holder).assignCommonMessageInterface(chatController);
|
||||||
|
|
||||||
} else if (holder instanceof IncomingVoiceMessageViewHolder) {
|
} else if (holder instanceof IncomingVoiceMessageViewHolder) {
|
||||||
((IncomingVoiceMessageViewHolder) holder).assignVoiceMessageInterface(chatController);
|
((IncomingVoiceMessageViewHolder) holder).assignVoiceMessageInterface(chatController);
|
||||||
((IncomingVoiceMessageViewHolder) holder).assignReactionInterface(chatController);
|
((IncomingVoiceMessageViewHolder) holder).assignCommonMessageInterface(chatController);
|
||||||
} else if (holder instanceof OutcomingVoiceMessageViewHolder) {
|
} else if (holder instanceof OutcomingVoiceMessageViewHolder) {
|
||||||
((OutcomingVoiceMessageViewHolder) holder).assignVoiceMessageInterface(chatController);
|
((OutcomingVoiceMessageViewHolder) holder).assignVoiceMessageInterface(chatController);
|
||||||
((OutcomingVoiceMessageViewHolder) holder).assignReactionInterface(chatController);
|
((OutcomingVoiceMessageViewHolder) holder).assignCommonMessageInterface(chatController);
|
||||||
|
|
||||||
} else if (holder instanceof MagicPreviewMessageViewHolder) {
|
} else if (holder instanceof MagicPreviewMessageViewHolder) {
|
||||||
((MagicPreviewMessageViewHolder) holder).assignPreviewMessageInterface(chatController);
|
((MagicPreviewMessageViewHolder) holder).assignPreviewMessageInterface(chatController);
|
||||||
((MagicPreviewMessageViewHolder) holder).assignReactionInterface(chatController);
|
((MagicPreviewMessageViewHolder) holder).assignCommonMessageInterface(chatController);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -106,6 +106,7 @@ import com.nextcloud.talk.R
|
|||||||
import com.nextcloud.talk.activities.CallActivity
|
import com.nextcloud.talk.activities.CallActivity
|
||||||
import com.nextcloud.talk.activities.MainActivity
|
import com.nextcloud.talk.activities.MainActivity
|
||||||
import com.nextcloud.talk.activities.TakePhotoActivity
|
import com.nextcloud.talk.activities.TakePhotoActivity
|
||||||
|
import com.nextcloud.talk.adapters.messages.CommonMessageInterface
|
||||||
import com.nextcloud.talk.adapters.messages.IncomingLinkPreviewMessageViewHolder
|
import com.nextcloud.talk.adapters.messages.IncomingLinkPreviewMessageViewHolder
|
||||||
import com.nextcloud.talk.adapters.messages.IncomingLocationMessageViewHolder
|
import com.nextcloud.talk.adapters.messages.IncomingLocationMessageViewHolder
|
||||||
import com.nextcloud.talk.adapters.messages.IncomingPollMessageViewHolder
|
import com.nextcloud.talk.adapters.messages.IncomingPollMessageViewHolder
|
||||||
@ -122,7 +123,6 @@ import com.nextcloud.talk.adapters.messages.OutcomingPollMessageViewHolder
|
|||||||
import com.nextcloud.talk.adapters.messages.OutcomingPreviewMessageViewHolder
|
import com.nextcloud.talk.adapters.messages.OutcomingPreviewMessageViewHolder
|
||||||
import com.nextcloud.talk.adapters.messages.OutcomingVoiceMessageViewHolder
|
import com.nextcloud.talk.adapters.messages.OutcomingVoiceMessageViewHolder
|
||||||
import com.nextcloud.talk.adapters.messages.PreviewMessageInterface
|
import com.nextcloud.talk.adapters.messages.PreviewMessageInterface
|
||||||
import com.nextcloud.talk.adapters.messages.ReactionsInterface
|
|
||||||
import com.nextcloud.talk.adapters.messages.TalkMessagesListAdapter
|
import com.nextcloud.talk.adapters.messages.TalkMessagesListAdapter
|
||||||
import com.nextcloud.talk.adapters.messages.VoiceMessageInterface
|
import com.nextcloud.talk.adapters.messages.VoiceMessageInterface
|
||||||
import com.nextcloud.talk.api.NcApi
|
import com.nextcloud.talk.api.NcApi
|
||||||
@ -224,7 +224,7 @@ class ChatController(args: Bundle) :
|
|||||||
MessagesListAdapter.OnMessageViewLongClickListener<IMessage>,
|
MessagesListAdapter.OnMessageViewLongClickListener<IMessage>,
|
||||||
ContentChecker<ChatMessage>,
|
ContentChecker<ChatMessage>,
|
||||||
VoiceMessageInterface,
|
VoiceMessageInterface,
|
||||||
ReactionsInterface,
|
CommonMessageInterface,
|
||||||
PreviewMessageInterface {
|
PreviewMessageInterface {
|
||||||
|
|
||||||
private val binding: ControllerChatBinding by viewBinding(ControllerChatBinding::bind)
|
private val binding: ControllerChatBinding by viewBinding(ControllerChatBinding::bind)
|
||||||
@ -2801,7 +2801,7 @@ class ChatController(args: Bundle) :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onLongClickReactions(chatMessage: ChatMessage) {
|
override fun onOpenMessageActionsDialog(chatMessage: ChatMessage) {
|
||||||
openMessageActionsDialog(chatMessage)
|
openMessageActionsDialog(chatMessage)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2810,7 +2810,7 @@ class ChatController(args: Bundle) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onPreviewMessageLongClick(chatMessage: ChatMessage) {
|
override fun onPreviewMessageLongClick(chatMessage: ChatMessage) {
|
||||||
openMessageActionsDialog(chatMessage)
|
onOpenMessageActionsDialog(chatMessage)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun openMessageActionsDialog(iMessage: IMessage?) {
|
private fun openMessageActionsDialog(iMessage: IMessage?) {
|
||||||
|
Loading…
Reference in New Issue
Block a user