gnunet-svn
[Top][All Lists]
Advanced

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

[taler-taler-android] 01/02: [pos] Keep checking payment status as long


From: gnunet
Subject: [taler-taler-android] 01/02: [pos] Keep checking payment status as long as payment fragment is shown
Date: Tue, 11 Apr 2023 19:35:43 +0200

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 7e8d39aa6f7a97ae14cb90db12f3ab83c9c5a343
Author: Torsten Grote <t@grobox.de>
AuthorDate: Tue Apr 11 14:34:32 2023 -0300

    [pos] Keep checking payment status as long as payment fragment is shown
    
    don't cancel on network errors and don't time-out. We keep checking as long 
as the users cancels or navigates back from the screen.
---
 .../src/main/java/net/taler/merchantpos/payment/PaymentManager.kt | 8 +++++---
 .../java/net/taler/merchantpos/payment/ProcessPaymentFragment.kt  | 4 ++--
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git 
a/merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt
 
b/merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt
index 02f66fa..efcb158 100644
--- 
a/merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt
+++ 
b/merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt
@@ -36,10 +36,9 @@ import net.taler.merchantpos.R
 import net.taler.merchantpos.config.ConfigManager
 import net.taler.merchantpos.order.Order
 import java.util.concurrent.TimeUnit.HOURS
-import java.util.concurrent.TimeUnit.MINUTES
 import java.util.concurrent.TimeUnit.SECONDS
 
-private val TIMEOUT = MINUTES.toMillis(2)
+private const val TIMEOUT = Long.MAX_VALUE
 private val CHECK_INTERVAL = SECONDS.toMillis(1)
 
 class PaymentManager(
@@ -85,7 +84,10 @@ class PaymentManager(
 
     private fun checkPayment(orderId: String) = scope.launch {
         val merchantConfig = configManager.merchantConfig!!
-        api.checkOrder(merchantConfig, orderId).handle(::onNetworkError) { 
response ->
+        api.checkOrder(merchantConfig, orderId).handle({ error ->
+            // don't call onNetworkError() to not cancel payment, just keep 
trying
+            Log.d(TAG, "Network error: $error")
+        }) { response ->
             assertUiThread()
             if (!isActive) return@handle // don't continue if job was cancelled
             val currentValue = requireNotNull(mPayment.value)
diff --git 
a/merchant-terminal/src/main/java/net/taler/merchantpos/payment/ProcessPaymentFragment.kt
 
b/merchant-terminal/src/main/java/net/taler/merchantpos/payment/ProcessPaymentFragment.kt
index 201c9cf..443ca91 100644
--- 
a/merchant-terminal/src/main/java/net/taler/merchantpos/payment/ProcessPaymentFragment.kt
+++ 
b/merchant-terminal/src/main/java/net/taler/merchantpos/payment/ProcessPaymentFragment.kt
@@ -55,9 +55,9 @@ class ProcessPaymentFragment : Fragment() {
         val introRes =
             if (hasNfc(requireContext())) R.string.payment_intro_nfc else 
R.string.payment_intro
         ui.payIntroView.setText(introRes)
-        paymentManager.payment.observe(viewLifecycleOwner, { payment ->
+        paymentManager.payment.observe(viewLifecycleOwner) { payment ->
             onPaymentStateChanged(payment)
-        })
+        }
         ui.cancelPaymentButton.setOnClickListener {
             onPaymentCancel()
         }

-- 
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]