diff options
author | Iván Ávalos <avalos@disroot.org> | 2024-03-06 10:36:30 -0600 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2024-03-06 14:18:57 -0300 |
commit | 621351c4c9a68e7b14e64e77b5717016be302aa2 (patch) | |
tree | d29d098a09b697988051ae04ba139346cc632597 /wallet/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt | |
parent | 917a0175af8493b893486c0b6b2a001ce1b952c6 (diff) | |
download | taler-android-621351c4c9a68e7b14e64e77b5717016be302aa2.tar.gz taler-android-621351c4c9a68e7b14e64e77b5717016be302aa2.tar.bz2 taler-android-621351c4c9a68e7b14e64e77b5717016be302aa2.zip |
[wallet] Improve pending payments UX and error handling
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt')
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt b/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt index 656ca08..31c26a0 100644 --- a/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt @@ -131,14 +131,14 @@ class PromptPaymentFragment : Fragment(), ProductImageClickListener { navigateToTransaction(payStatus.transactionId) Snackbar.make(requireView(), R.string.payment_already_paid, LENGTH_LONG).show() } - is PayStatus.Error -> { + is PayStatus.Pending -> { showLoading(false) - if (payStatus.error != null) { - if (model.devMode.value == true) { - showError(payStatus.error) - } - ui.details.errorView.text = getString(R.string.payment_error, payStatus.error.userFacingMsg) - ui.details.errorView.fadeIn() + paymentManager.resetPayStatus() + navigateToTransaction(payStatus.transactionId) + if (payStatus.error != null && model.devMode.value == true) { + showError(payStatus.error) + } else { + showError(getString(R.string.payment_pending)) } } is PayStatus.None -> { @@ -174,9 +174,9 @@ class PromptPaymentFragment : Fragment(), ProductImageClickListener { f.show(parentFragmentManager, "image") } - private fun navigateToTransaction(id: String) { + private fun navigateToTransaction(id: String?) { lifecycleScope.launch { - if (transactionManager.selectTransaction(id)) { + if (id != null && transactionManager.selectTransaction(id)) { findNavController().navigate(R.id.action_promptPayment_to_nav_transactions_detail_payment) } else { findNavController().navigate(R.id.action_promptPayment_to_nav_main) |