Fix bad donor badge input behaviour.

fork-5.53.8
Alex Hart 2022-05-27 12:54:33 -03:00 zatwierdzone przez Greyson Parrelli
rodzic 1b471e163d
commit 93e5052d6b
5 zmienionych plików z 44 dodań i 21 usunięć

Wyświetl plik

@ -2,6 +2,7 @@ package org.thoughtcrime.securesms.badges.gifts.flow
import android.content.DialogInterface
import android.view.KeyEvent
import android.widget.EditText
import android.widget.FrameLayout
import android.widget.ImageView
import androidx.activity.OnBackPressedCallback
@ -109,6 +110,10 @@ class GiftFlowConfirmationFragment :
textInputViewHolder.onAttachedToWindow()
inputAwareLayout.addOnKeyboardShownListener {
if (emojiKeyboard.isEmojiSearchMode) {
return@addOnKeyboardShownListener
}
inputAwareLayout.hideAttachedInput(true)
emojiToggle.setImageResource(R.drawable.ic_emoji_smiley_24)
}
@ -127,6 +132,25 @@ class GiftFlowConfirmationFragment :
}
)
textInputViewHolder.bind(
TextInput.MultilineModel(
text = viewModel.snapshot.additionalMessage,
hint = DSLSettingsText.from(R.string.GiftFlowConfirmationFragment__add_a_message),
onTextChanged = {
viewModel.setAdditionalMessage(it)
},
onEmojiToggleClicked = {
if (inputAwareLayout.isKeyboardOpen || (!inputAwareLayout.isKeyboardOpen && !inputAwareLayout.isInputOpen)) {
inputAwareLayout.show(it, emojiKeyboard)
emojiToggle.setImageResource(R.drawable.ic_keyboard_24)
} else {
inputAwareLayout.showSoftkey(it)
emojiToggle.setImageResource(R.drawable.ic_emoji_smiley_24)
}
}
)
)
lifecycleDisposable += viewModel.state.observeOn(AndroidSchedulers.mainThread()).subscribe { state ->
adapter.submitList(getConfiguration(state).toMappingModelList())
@ -142,25 +166,6 @@ class GiftFlowConfirmationFragment :
} else {
processingDonationPaymentDialog.dismiss()
}
textInputViewHolder.bind(
TextInput.MultilineModel(
text = state.additionalMessage,
hint = DSLSettingsText.from(R.string.GiftFlowConfirmationFragment__add_a_message),
onTextChanged = {
viewModel.setAdditionalMessage(it)
},
onEmojiToggleClicked = {
if (inputAwareLayout.isKeyboardOpen || (!inputAwareLayout.isKeyboardOpen && !inputAwareLayout.isInputOpen)) {
inputAwareLayout.show(it, emojiKeyboard)
emojiToggle.setImageResource(R.drawable.ic_keyboard_24)
} else {
inputAwareLayout.showSoftkey(it)
emojiToggle.setImageResource(R.drawable.ic_emoji_smiley_24)
}
}
)
)
}
lifecycleDisposable.bindTo(viewLifecycleOwner)
@ -249,6 +254,10 @@ class GiftFlowConfirmationFragment :
)
}
override fun onToolbarNavigationClicked() {
findNavController().popBackStack()
}
override fun openEmojiSearch() {
emojiKeyboard.onOpenEmojiSearch()
}

Wyświetl plik

@ -14,6 +14,7 @@ import org.thoughtcrime.securesms.components.settings.app.subscription.models.Ne
import org.thoughtcrime.securesms.components.settings.configure
import org.thoughtcrime.securesms.components.settings.models.IndeterminateLoadingCircle
import org.thoughtcrime.securesms.util.LifecycleDisposable
import org.thoughtcrime.securesms.util.ViewUtil
import org.thoughtcrime.securesms.util.fragments.requireListener
import org.thoughtcrime.securesms.util.navigation.safeNavigate
@ -50,6 +51,11 @@ class GiftFlowStartFragment : DSLSettingsFragment(
}
}
override fun onResume() {
super.onResume()
ViewUtil.hideKeyboard(requireContext(), requireView())
}
private fun getConfiguration(state: GiftFlowState): DSLConfiguration {
return configure {
customPref(

Wyświetl plik

@ -36,7 +36,7 @@ abstract class DSLSettingsFragment(
}
toolbar?.setNavigationOnClickListener {
requireActivity().onBackPressed()
onToolbarNavigationClicked()
}
if (menuId != -1) {
@ -67,6 +67,10 @@ abstract class DSLSettingsFragment(
return Material3OnScrollHelper(requireActivity(), toolbar)
}
open fun onToolbarNavigationClicked() {
requireActivity().onBackPressed()
}
override fun onDestroyView() {
super.onDestroyView()
recyclerView = null

Wyświetl plik

@ -82,6 +82,10 @@ class CircularProgressMaterialButton @JvmOverloads constructor(
}
private fun transformTo(state: State, animate: Boolean) {
if (state == currentState && state == requestedState) {
return
}
requestedState = state
if (animator?.isRunning == true) {
return

Wyświetl plik

@ -58,7 +58,7 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/next"
style="@style/Signal.Widget.Button.Large.Primary"
style="@style/Signal.Widget.Button.Large.Tonal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dsl_settings_gutter"