summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2024-03-06 10:36:30 -0600
committerTorsten Grote <t@grobox.de>2024-03-06 14:18:57 -0300
commit621351c4c9a68e7b14e64e77b5717016be302aa2 (patch)
treed29d098a09b697988051ae04ba139346cc632597 /wallet/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt
parent917a0175af8493b893486c0b6b2a001ce1b952c6 (diff)
downloadtaler-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.kt18
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)