From ba70101efdbc8f2f4ecb7c2340f9bfec1dd32acb Mon Sep 17 00:00:00 2001 From: Nicholas Tinsley Date: Tue, 12 Mar 2024 16:43:51 -0400 Subject: [PATCH] Add view-once button to media caption. --- .../v2/review/AddMessageDialogFragment.kt | 13 ++++++ ...ia_add_message_dialog_fragment_content.xml | 41 ++++++++++++++++--- 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/AddMessageDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/AddMessageDialogFragment.kt index 61cf5c6e0c..ebdfa944f5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/AddMessageDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/AddMessageDialogFragment.kt @@ -33,6 +33,7 @@ import org.thoughtcrime.securesms.keyboard.KeyboardPage import org.thoughtcrime.securesms.keyboard.KeyboardPagerViewModel import org.thoughtcrime.securesms.keyvalue.SignalStore import org.thoughtcrime.securesms.mediasend.v2.HudCommand +import org.thoughtcrime.securesms.mediasend.v2.MediaSelectionState import org.thoughtcrime.securesms.mediasend.v2.MediaSelectionViewModel import org.thoughtcrime.securesms.recipients.Recipient import org.thoughtcrime.securesms.recipients.RecipientId @@ -105,6 +106,10 @@ class AddMessageDialogFragment : KeyboardEntryDialogFragment(R.layout.v2_media_a binding.hud.setOnClickListener { dismissAllowingStateLoss() } + binding.content.viewOnceToggle.setOnClickListener { + viewModel.incrementViewOnceState() + } + val confirm: View = view.findViewById(R.id.confirm_button) confirm.setOnClickListener { dismissAllowingStateLoss() } @@ -125,6 +130,14 @@ class AddMessageDialogFragment : KeyboardEntryDialogFragment(R.layout.v2_media_a } ) + viewModel.state.observe(viewLifecycleOwner) { state -> + binding.content.viewOnceToggle.displayedChild = if (state.viewOnceToggleState == MediaSelectionState.ViewOnceToggleState.ONCE) 1 else 0 + if (state.viewOnceToggleState == MediaSelectionState.ViewOnceToggleState.ONCE) { + binding.content.addAMessageInput.text = null + dismiss() + } + } + initializeMentions() } diff --git a/app/src/main/res/layout/v2_media_add_message_dialog_fragment_content.xml b/app/src/main/res/layout/v2_media_add_message_dialog_fragment_content.xml index d49d947205..940f81eb75 100644 --- a/app/src/main/res/layout/v2_media_add_message_dialog_fragment_content.xml +++ b/app/src/main/res/layout/v2_media_add_message_dialog_fragment_content.xml @@ -25,9 +25,11 @@ android:layout_height="0dp" android:background="@drawable/rounded_rectangle_surface_variant_20" app:layout_constraintBottom_toBottomOf="@id/add_a_message_input" - app:layout_constraintEnd_toEndOf="@id/add_a_message_limit" + app:layout_constraintEnd_toEndOf="@id/view_once_toggle" + app:layout_constraintHorizontal_bias="0.4" app:layout_constraintStart_toStartOf="@id/emoji_toggle" - app:layout_constraintTop_toTopOf="@id/add_a_message_input" /> + app:layout_constraintTop_toTopOf="@id/add_a_message_input" + app:layout_constraintVertical_bias="0.0" /> + + + + + + + +