From 3d4875bcfea01edec2e20539884e25f30374c5d6 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Thu, 15 Jun 2023 11:11:48 -0300 Subject: [PATCH] Add sticker suggestion send support to CFV2. --- .../conversation/v2/ConversationFragment.kt | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) 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 7957e6aca8..9d6bbe4555 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 @@ -209,6 +209,7 @@ import org.thoughtcrime.securesms.mms.QuoteModel import org.thoughtcrime.securesms.mms.Slide import org.thoughtcrime.securesms.mms.SlideDeck import org.thoughtcrime.securesms.mms.SlideFactory +import org.thoughtcrime.securesms.mms.StickerSlide import org.thoughtcrime.securesms.notifications.v2.ConversationId import org.thoughtcrime.securesms.payments.preferences.PaymentsActivity import org.thoughtcrime.securesms.permissions.Permissions @@ -1075,6 +1076,22 @@ class ConversationFragment : } } + private fun sendSticker( + stickerRecord: StickerRecord, + clearCompose: Boolean + ) { + val stickerLocator = StickerLocator(stickerRecord.packId, stickerRecord.packKey, stickerRecord.stickerId, stickerRecord.emoji) + val slide = StickerSlide( + requireContext(), + stickerRecord.uri, + stickerRecord.size, + stickerLocator, + stickerRecord.contentType + ) + + sendMessageWithoutComposeInput(slide, clearCompose = clearCompose) + } + private fun sendMessageWithoutComposeInput( slide: Slide? = null, contacts: List = emptyList(), @@ -2766,7 +2783,10 @@ class ConversationFragment : } override fun onStickerSuggestionSelected(sticker: StickerRecord) { - // TODO [cfv2] Not yet implemented + sendSticker( + stickerRecord = sticker, + clearCompose = true + ) } override fun onQuoteChanged(id: Long, author: RecipientId) { @@ -2778,12 +2798,14 @@ class ConversationFragment : } override fun onEnterEditMode() { - // TODO [cfv2] Not yet implemented + updateToggleButtonState() + // TODO [cfv2] -- Save keyboard pager state and force emoji } override fun onExitEditMode() { updateToggleButtonState() draftViewModel.deleteMessageEditDraft() + // TODO [cfv2] -- Restore keyboard pager pages } }