gnunet-svn
[Top][All Lists]
Advanced

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

[taler-taler-android] branch master updated: [wallet] Properly handle ti


From: gnunet
Subject: [taler-taler-android] branch master updated: [wallet] Properly handle tipping errors
Date: Mon, 12 Jun 2023 20:30:24 +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.

The following commit(s) were added to refs/heads/master by this push:
     new 19dd896  [wallet] Properly handle tipping errors
19dd896 is described below

commit 19dd896ce8ce4c59ff867778c546eb4e97ca3f38
Author: Torsten Grote <t@grobox.de>
AuthorDate: Mon Jun 12 15:30:21 2023 -0300

    [wallet] Properly handle tipping errors
---
 .../main/java/net/taler/wallet/tip/PromptTipFragment.kt | 17 ++++++-----------
 wallet/src/main/java/net/taler/wallet/tip/TipManager.kt |  6 +++---
 2 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/wallet/src/main/java/net/taler/wallet/tip/PromptTipFragment.kt 
b/wallet/src/main/java/net/taler/wallet/tip/PromptTipFragment.kt
index b0f5a35..78969d0 100644
--- a/wallet/src/main/java/net/taler/wallet/tip/PromptTipFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/tip/PromptTipFragment.kt
@@ -28,6 +28,7 @@ import 
com.google.android.material.snackbar.Snackbar.LENGTH_LONG
 import net.taler.common.Amount
 import net.taler.common.fadeIn
 import net.taler.common.fadeOut
+import net.taler.common.showError
 import net.taler.wallet.MainViewModel
 import net.taler.wallet.R
 import net.taler.wallet.cleanExchange
@@ -54,14 +55,6 @@ class PromptTipFragment : Fragment() {
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         tipManager.tipStatus.observe(viewLifecycleOwner, 
::onPaymentStatusChanged)
-
-    }
-
-    override fun onDestroy() {
-        super.onDestroy()
-        if (!requireActivity().isChangingConfigurations) {
-            // tipManager.abortTip()
-        }
     }
 
     private fun showLoading(show: Boolean) {
@@ -84,7 +77,7 @@ class PromptTipFragment : Fragment() {
             )
             ui.confirmWithdrawButton.isEnabled = true
             ui.confirmWithdrawButton.setOnClickListener {
-                tipManager.confirmTip(
+                tipManager.acceptTip(
                     payStatus.walletTipId,
                     payStatus.tipAmountRaw.currency
                 )
@@ -109,8 +102,10 @@ class PromptTipFragment : Fragment() {
         }
         is TipStatus.Error -> {
             showLoading(false)
-            ui.introView.text = getString(R.string.payment_error, 
payStatus.error)
-            ui.introView.fadeIn()
+            // TODO pass TalerErrorInfo for JSON rendering
+            showError(getString(R.string.payment_error, 
payStatus.error.userFacingMsg))
+            ui.confirmProgressBar.fadeOut()
+            ui.confirmWithdrawButton.fadeIn()
         }
         is TipStatus.None -> {
             // No tip active
diff --git a/wallet/src/main/java/net/taler/wallet/tip/TipManager.kt 
b/wallet/src/main/java/net/taler/wallet/tip/TipManager.kt
index 5548687..3c54d20 100644
--- a/wallet/src/main/java/net/taler/wallet/tip/TipManager.kt
+++ b/wallet/src/main/java/net/taler/wallet/tip/TipManager.kt
@@ -47,7 +47,7 @@ sealed class TipStatus {
     ) : TipStatus()
 
     // TODO bring user to fulfilment URI (not yet in wallet API)
-    data class Error(val error: String) : TipStatus()
+    data class Error(val error: TalerErrorInfo) : TipStatus()
     data class Success(val currency: String) : TipStatus()
 }
 
@@ -76,7 +76,7 @@ class TipManager(
         }
     }
 
-    fun confirmTip(tipId: String, currency: String) = scope.launch {
+    fun acceptTip(tipId: String, currency: String) = scope.launch {
         mTipStatus.value = TipStatus.Accepting
         api.request("acceptTip", ConfirmTipResult.serializer()) {
             put("walletTipId", tipId)
@@ -94,7 +94,7 @@ class TipManager(
 
     private fun handleError(operation: String, error: TalerErrorInfo) {
         Log.e(TAG, "got $operation error result $error")
-        mTipStatus.value = TipStatus.Error(error.userFacingMsg)
+        mTipStatus.value = TipStatus.Error(error)
     }
 
 }

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