From f74ad91fd8da2eb8a210b502f902c05fd12b273a Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Mon, 5 Dec 2022 09:53:20 +0100 Subject: [PATCH 1/3] make link preview messages able to be swiped left Signed-off-by: Marcel Hibbe --- .../adapters/messages/IncomingLinkPreviewMessageViewHolder.kt | 3 +++ .../adapters/messages/OutcomingLinkPreviewMessageViewHolder.kt | 3 +++ 2 files changed, 6 insertions(+) diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingLinkPreviewMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingLinkPreviewMessageViewHolder.kt index e7c1203d4..b6037a9d4 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingLinkPreviewMessageViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingLinkPreviewMessageViewHolder.kt @@ -37,6 +37,7 @@ import com.nextcloud.talk.databinding.ItemCustomIncomingLinkPreviewMessageBindin import com.nextcloud.talk.extensions.loadBotsAvatar import com.nextcloud.talk.extensions.loadChangelogBotAvatar import com.nextcloud.talk.models.json.chat.ChatMessage +import com.nextcloud.talk.ui.recyclerview.MessageSwipeCallback import com.nextcloud.talk.ui.theme.ViewThemeUtils import com.nextcloud.talk.utils.ApiUtils import com.nextcloud.talk.utils.preferences.AppPreferences @@ -92,6 +93,8 @@ class IncomingLinkPreviewMessageViewHolder(incomingView: View, payload: Any) : M true } + itemView.setTag(MessageSwipeCallback.REPLYABLE_VIEW_TAG, message.replyable) + Reaction().showReactions( message, ::clickOnReaction, diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingLinkPreviewMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingLinkPreviewMessageViewHolder.kt index 6d5197b10..f88b90648 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingLinkPreviewMessageViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingLinkPreviewMessageViewHolder.kt @@ -36,6 +36,7 @@ import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedA import com.nextcloud.talk.databinding.ItemCustomOutcomingLinkPreviewMessageBinding import com.nextcloud.talk.models.json.chat.ChatMessage import com.nextcloud.talk.models.json.chat.ReadStatus +import com.nextcloud.talk.ui.recyclerview.MessageSwipeCallback import com.nextcloud.talk.ui.theme.ViewThemeUtils import com.nextcloud.talk.utils.ApiUtils import com.nextcloud.talk.utils.preferences.AppPreferences @@ -114,6 +115,8 @@ class OutcomingLinkPreviewMessageViewHolder(outcomingView: View, payload: Any) : true } + itemView.setTag(MessageSwipeCallback.REPLYABLE_VIEW_TAG, message.replyable) + Reaction().showReactions( message, ::clickOnReaction, From e869108ac79a70e94b837779070992ed177174af Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Mon, 5 Dec 2022 11:04:52 +0100 Subject: [PATCH 2/3] avoid to set link preview content from wrong message there was a report that a message contained the link preview of a previous message. This was most likely because of a recycler view error. Hopefully setting empty values should avoid this now. Signed-off-by: Marcel Hibbe --- .../java/com/nextcloud/talk/adapters/messages/LinkPreview.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/LinkPreview.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/LinkPreview.kt index f3da8ee2d..daa5362f1 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/LinkPreview.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/LinkPreview.kt @@ -44,6 +44,11 @@ class LinkPreview { binding: ReferenceInsideMessageBinding, context: Context ) { + binding.referenceName.text = "" + binding.referenceDescription.text = "" + binding.referenceLink.text = "" + binding.referenceThumbImage.controller = null + if (!message.extractedUrlToPreview.isNullOrEmpty()) { val credentials: String = ApiUtils.getCredentials(message.activeUser?.username, message.activeUser?.token) val openGraphLink = ApiUtils.getUrlForOpenGraph(message.activeUser?.baseUrl) From 7f37a0fe636cecd0b2b263670e5e080bd0a2a902 Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Wed, 7 Dec 2022 16:44:29 +0100 Subject: [PATCH 3/3] fix drawable for link previews set drawable of referenceThumbImage to null. this hopefully avoids that wrong images are loaded from recycler view to wrong messages Signed-off-by: Marcel Hibbe --- .../java/com/nextcloud/talk/adapters/messages/LinkPreview.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/LinkPreview.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/LinkPreview.kt index daa5362f1..cfba665d5 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/LinkPreview.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/LinkPreview.kt @@ -47,7 +47,7 @@ class LinkPreview { binding.referenceName.text = "" binding.referenceDescription.text = "" binding.referenceLink.text = "" - binding.referenceThumbImage.controller = null + binding.referenceThumbImage.setImageDrawable(null) if (!message.extractedUrlToPreview.isNullOrEmpty()) { val credentials: String = ApiUtils.getCredentials(message.activeUser?.username, message.activeUser?.token)