gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-taler-android] 03/08: [wallet] Fix serialization error of "pendin


From: gnunet
Subject: [taler-taler-android] 03/08: [wallet] Fix serialization error of "pending" payments
Date: Wed, 06 Mar 2024 18:38:05 +0100

This is an automated email from the git hooks/post-receive script.

torsten-grote pushed a commit to branch master
in repository taler-android.

commit 993e5abcd9a2d0f279a8c6166e392955befe4300
Author: Iván Ávalos <avalos@disroot.org>
AuthorDate: Mon Mar 4 15:20:45 2024 -0600

    [wallet] Fix serialization error of "pending" payments
    
    bug 0008505
---
 .../main/java/net/taler/wallet/payment/PayTemplateFragment.kt  |  6 ++++--
 .../src/main/java/net/taler/wallet/payment/PaymentManager.kt   |  3 ++-
 .../src/main/java/net/taler/wallet/payment/PaymentResponses.kt |  2 +-
 .../java/net/taler/wallet/payment/PromptPaymentFragment.kt     | 10 ++++++----
 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.

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]