Fix draft lost bug when leaving media send flow.

This commit is contained in:
Cody Henthorne
2025-03-14 13:39:22 -04:00
parent 7cc4677120
commit e9ae40e749
2 changed files with 8 additions and 5 deletions

View File

@@ -91,6 +91,7 @@ class AddMessageDialogFragment : KeyboardEntryDialogFragment(R.layout.v2_media_a
}) })
binding.content.addAMessageInput.setText(requireArguments().getCharSequence(ARG_INITIAL_TEXT)) binding.content.addAMessageInput.setText(requireArguments().getCharSequence(ARG_INITIAL_TEXT))
binding.content.addAMessageInput.addTextChangedListener { viewModel.setMessage(it) }
binding.content.emojiToggle.setOnClickListener { onEmojiToggleClicked() } binding.content.emojiToggle.setOnClickListener { onEmojiToggleClicked() }
if (requireArguments().getBoolean(ARG_INITIAL_EMOJI_TOGGLE) && view is KeyboardAwareLinearLayout) { if (requireArguments().getBoolean(ARG_INITIAL_EMOJI_TOGGLE) && view is KeyboardAwareLinearLayout) {
@@ -124,7 +125,11 @@ class AddMessageDialogFragment : KeyboardEntryDialogFragment(R.layout.v2_media_a
) )
viewModel.state.observe(viewLifecycleOwner) { state -> viewModel.state.observe(viewLifecycleOwner) { state ->
binding.content.viewOnceToggle.displayedChild = if (state.viewOnceToggleState == MediaSelectionState.ViewOnceToggleState.ONCE) 1 else 0 val newChild = if (state.viewOnceToggleState == MediaSelectionState.ViewOnceToggleState.ONCE) 1 else 0
if (binding.content.viewOnceToggle.displayedChild != newChild) {
binding.content.viewOnceToggle.displayedChild = newChild
}
if (state.viewOnceToggleState == MediaSelectionState.ViewOnceToggleState.ONCE) { if (state.viewOnceToggleState == MediaSelectionState.ViewOnceToggleState.ONCE) {
binding.content.addAMessageInput.text = null binding.content.addAMessageInput.text = null
dismiss() dismiss()

View File

@@ -9,6 +9,7 @@ import android.graphics.Rect
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.provider.OpenableColumns import android.provider.OpenableColumns
import android.text.SpannableString
import android.view.Gravity import android.view.Gravity
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
@@ -496,10 +497,7 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment), Schedul
when (viewOnceState) { when (viewOnceState) {
MediaSelectionState.ViewOnceToggleState.INFINITE -> { MediaSelectionState.ViewOnceToggleState.INFINITE -> {
addMessageButton.gravity = Gravity.CENTER_VERTICAL addMessageButton.gravity = Gravity.CENTER_VERTICAL
addMessageButton.setText( addMessageButton.text = SpannableString(message.takeIf { it.isNotNullOrBlank() } ?: getString(R.string.MediaReviewFragment__add_a_message))
message.takeIf { it.isNotNullOrBlank() } ?: getString(R.string.MediaReviewFragment__add_a_message),
TextView.BufferType.SPANNABLE
)
addMessageButton.isClickable = true addMessageButton.isClickable = true
} }
MediaSelectionState.ViewOnceToggleState.ONCE -> { MediaSelectionState.ViewOnceToggleState.ONCE -> {