From e41dd6d39df7e65b2ec23e79a35a486022dd7be2 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Wed, 31 May 2023 14:57:01 -0300 Subject: [PATCH] CFV2 Add edit message support. --- .../conversation/v2/ConversationFragment.kt | 17 ++++++++++++++++- .../conversation/v2/ConversationRepository.kt | 4 ++++ .../conversation/v2/ConversationViewModel.kt | 4 ++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt index 01c09cbd02..bc207c9786 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt @@ -1174,7 +1174,22 @@ class ConversationFragment : LoggingFragment(R.layout.v2_conversation_fragment) } private fun handleEditMessage(conversationMessage: ConversationMessage) { - // TODO [cfv2] -- Not implemented yet. + if (!FeatureFlags.editMessageSending()) { + return + } + + /* + TODO [cfv2] + if (isSearchRequested) { + searchViewItem.collapseActionView(); + } + */ + + viewModel.resolveMessageToEdit(conversationMessage) + .subscribeBy { updatedMessage -> + inputPanel.enterEditMessageMode(GlideApp.with(this), updatedMessage, false) + } + .addTo(disposables) } private fun handleForwardMessageParts(messageParts: Set) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationRepository.kt index 4a489ccd6a..a8c2f7c870 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationRepository.kt @@ -480,6 +480,10 @@ class ConversationRepository( } } + fun resolveMessageToEdit(conversationMessage: ConversationMessage): Single { + return oldConversationRepository.resolveMessageToEdit(conversationMessage) + } + /** * Glide target for a contact photo which expects an error drawable, and publishes * the result to the given emitter. diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationViewModel.kt index 373e8111c8..6f1221dafa 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationViewModel.kt @@ -295,4 +295,8 @@ class ConversationViewModel( fun getSlideDeckAndBodyForReply(context: Context, conversationMessage: ConversationMessage): Pair { return repository.getSlideDeckAndBodyForReply(context, conversationMessage) } + + fun resolveMessageToEdit(conversationMessage: ConversationMessage): Single { + return repository.resolveMessageToEdit(conversationMessage) + } }