From 13b21c84f06d42ee82c83ec2bc351d0d4ec970a9 Mon Sep 17 00:00:00 2001 From: Pierre Nicolas <pierre.nicolas@savoirfairelinux.com> Date: Tue, 18 Apr 2023 11:05:40 -0400 Subject: [PATCH] conversation: feature to remove (=edit) one specific interaction (not all) GitLab: #1236 Change-Id: I9ebca570ef27706640aa2a64bbc9f52fe229f837 --- .../jami/conversation/ConversationPresenter.kt | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/jami-android/libjamiclient/src/main/kotlin/net/jami/conversation/ConversationPresenter.kt b/jami-android/libjamiclient/src/main/kotlin/net/jami/conversation/ConversationPresenter.kt index 1c42d762a..ff07101d7 100644 --- a/jami-android/libjamiclient/src/main/kotlin/net/jami/conversation/ConversationPresenter.kt +++ b/jami-android/libjamiclient/src/main/kotlin/net/jami/conversation/ConversationPresenter.kt @@ -472,11 +472,22 @@ class ConversationPresenter @Inject constructor( } /** - * Remove reaction (emoji) + * Remove the reaction (emoji) + * @param reactionToRemove + */ + fun removeReaction(reactionToRemove: Interaction) { + val conversation = mConversation ?: return + accountService.editConversationMessage( + conversation.accountId, conversation.uri, "", reactionToRemove.messageId!! + ) + } + + /** + * Remove all reactions (emoji) * Remove a reaction with git system consists in creating an "edit" interaction with empty body. * @param interaction to clean from reaction */ - fun removeReaction(interaction: Interaction) { + fun removeAllReactions(interaction: Interaction) { val conversation = mConversation ?: return // User can only remove his reactions. mCompositeDisposable.add(interaction.reactionObservable @@ -484,7 +495,8 @@ class ConversationPresenter @Inject constructor( .subscribe { interactionList -> interactionList.filter { it.author == myId }.forEach { interaction -> accountService.editConversationMessage( - conversation.accountId, conversation.uri, "", interaction.messageId!! + conversation.accountId, + conversation.uri, "", interaction.messageId!! ) } } -- GitLab