diff options
Diffstat (limited to 'wallet/src/main')
4 files changed, 13 insertions, 8 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/payment/PayTemplateFragment.kt b/wallet/src/main/java/net/taler/wallet/payment/PayTemplateFragment.kt index e05d1bd..9712254 100644 --- a/wallet/src/main/java/net/taler/wallet/payment/PayTemplateFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/payment/PayTemplateFragment.kt @@ -84,12 +84,14 @@ class PayTemplateFragment : Fragment() { findNavController().navigate(R.id.action_promptPayTemplate_to_promptPayment) } - is PayStatus.Error -> { + is PayStatus.Error -> if (payStatus.error != null) { if (model.devMode.value == true) { showError(payStatus.error) } else { - showError(R.string.payment_template_error, payStatus.error.userFacingMsg) + showError(R.string.payment_error, payStatus.error.userFacingMsg) } + } else { + showError(getString(R.string.payment_template_error)) } else -> {} diff --git a/wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt b/wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt index 19be280..804c6a0 100644 --- a/wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt +++ b/wallet/src/main/java/net/taler/wallet/payment/PaymentManager.kt @@ -57,7 +57,7 @@ sealed class PayStatus { data class Error( val transactionId: String? = null, - val error: TalerErrorInfo, + val error: TalerErrorInfo? = null, ) : PayStatus() data class Success( val transactionId: String, @@ -105,6 +105,7 @@ class PaymentManager( transactionId = response.transactionId, currency = currency, ) + // TODO: is pending == error always? is ConfirmPayResult.Pending -> PayStatus.Error( transactionId = response.transactionId, error = response.lastError, diff --git a/wallet/src/main/java/net/taler/wallet/payment/PaymentResponses.kt b/wallet/src/main/java/net/taler/wallet/payment/PaymentResponses.kt index 5e97f58..407f55f 100644 --- a/wallet/src/main/java/net/taler/wallet/payment/PaymentResponses.kt +++ b/wallet/src/main/java/net/taler/wallet/payment/PaymentResponses.kt @@ -79,6 +79,6 @@ sealed class ConfirmPayResult { @SerialName("pending") data class Pending( val transactionId: String, - val lastError: TalerErrorInfo, + val lastError: TalerErrorInfo? = null, ) : ConfirmPayResult() } 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 73da394..656ca08 100644 --- a/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt @@ -133,11 +133,13 @@ class PromptPaymentFragment : Fragment(), ProductImageClickListener { } is PayStatus.Error -> { showLoading(false) - if (model.devMode.value == true) { - showError(payStatus.error) + 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() } - ui.details.errorView.text = getString(R.string.payment_error, payStatus.error.userFacingMsg) - ui.details.errorView.fadeIn() } is PayStatus.None -> { // No payment active. |