Disable multiforward send button after the user presses it.

fork-5.53.8
Alex Hart 2021-08-16 11:45:32 -03:00
rodzic 7480ea66ec
commit 8cb3909093
1 zmienionych plików z 7 dodań i 0 usunięć

Wyświetl plik

@ -27,6 +27,7 @@ import org.thoughtcrime.securesms.util.BottomSheetUtil
import org.thoughtcrime.securesms.util.FeatureFlags import org.thoughtcrime.securesms.util.FeatureFlags
import org.thoughtcrime.securesms.util.Util import org.thoughtcrime.securesms.util.Util
import org.thoughtcrime.securesms.util.ViewUtil import org.thoughtcrime.securesms.util.ViewUtil
import org.thoughtcrime.securesms.util.views.SimpleProgressDialog
import org.thoughtcrime.securesms.util.visible import org.thoughtcrime.securesms.util.visible
import org.whispersystems.libsignal.util.guava.Optional import org.whispersystems.libsignal.util.guava.Optional
import java.util.function.Consumer import java.util.function.Consumer
@ -44,6 +45,8 @@ class MultiselectForwardFragment : FixedRoundedCornerBottomSheetDialogFragment()
private lateinit var selectionFragment: ContactSelectionListFragment private lateinit var selectionFragment: ContactSelectionListFragment
private lateinit var contactFilterView: ContactFilterView private lateinit var contactFilterView: ContactFilterView
private var dismissibleDialog: SimpleProgressDialog.DismissibleDialog? = null
private fun createViewModelFactory(): MultiselectForwardViewModel.Factory { private fun createViewModelFactory(): MultiselectForwardViewModel.Factory {
return MultiselectForwardViewModel.Factory(getMultiShareArgs(), MultiselectForwardRepository(requireContext())) return MultiselectForwardViewModel.Factory(getMultiShareArgs(), MultiselectForwardRepository(requireContext()))
} }
@ -102,6 +105,9 @@ class MultiselectForwardFragment : FixedRoundedCornerBottomSheetDialogFragment()
addMessageWrapper.visible = FeatureFlags.forwardMultipleMessages() addMessageWrapper.visible = FeatureFlags.forwardMultipleMessages()
sendButton.setOnClickListener { sendButton.setOnClickListener {
it.isEnabled = false
dismissibleDialog = SimpleProgressDialog.showDelayed(requireContext())
viewModel.send(addMessage.text.toString()) viewModel.send(addMessage.text.toString())
} }
@ -132,6 +138,7 @@ class MultiselectForwardFragment : FixedRoundedCornerBottomSheetDialogFragment()
} }
if (toastTextResId != null) { if (toastTextResId != null) {
dismissibleDialog?.dismiss()
Toast.makeText(requireContext(), toastTextResId, Toast.LENGTH_SHORT).show() Toast.makeText(requireContext(), toastTextResId, Toast.LENGTH_SHORT).show()
dismissAllowingStateLoss() dismissAllowingStateLoss()
} }