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