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.addTextChangedListener { viewModel.setMessage(it) }
binding.content.emojiToggle.setOnClickListener { onEmojiToggleClicked() }
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 ->
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) {
binding.content.addAMessageInput.text = null
dismiss()

View File

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