mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-25 11:20:47 +01:00
Fix draft lost bug when leaving media send flow.
This commit is contained in:
@@ -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()
|
||||||
|
|||||||
@@ -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 -> {
|
||||||
|
|||||||
Reference in New Issue
Block a user