gnunet-svn
[Top][All Lists]
Advanced

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

[taler-wallet-android] 03/06: Automatically abort payment proposals when


From: gnunet
Subject: [taler-wallet-android] 03/06: Automatically abort payment proposals when backing out of payment
Date: Fri, 21 Feb 2020 19:01:52 +0100

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

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

commit 497af85f4ccd40aaba29cf1fa3ed230a4d43159c
Author: Torsten Grote <address@hidden>
AuthorDate: Fri Feb 14 12:24:51 2020 -0300

    Automatically abort payment proposals when backing out of payment
---
 app/src/main/java/net/taler/wallet/ShowBalance.kt          |  7 ++-----
 .../main/java/net/taler/wallet/payment/PaymentManager.kt   | 11 ++++++++++-
 .../java/net/taler/wallet/payment/PromptPaymentFragment.kt | 14 ++++++++------
 app/src/main/res/layout/fragment_payment_successful.xml    |  2 +-
 app/src/main/res/layout/fragment_prompt_payment.xml        |  2 +-
 app/src/main/res/values/strings.xml                        |  3 ++-
 6 files changed, 24 insertions(+), 15 deletions(-)

diff --git a/app/src/main/java/net/taler/wallet/ShowBalance.kt 
b/app/src/main/java/net/taler/wallet/ShowBalance.kt
index 1a31b86..6bc8854 100644
--- a/app/src/main/java/net/taler/wallet/ShowBalance.kt
+++ b/app/src/main/java/net/taler/wallet/ShowBalance.kt
@@ -321,11 +321,8 @@ class ShowBalance : Fragment(), 
PendingOperationClickListener {
         when (type) {
             "proposal-choice" -> {
                 Log.v(TAG, "got action click on proposal-choice")
-                val proposalId = detail.optString("proposalId", "")
-                if (proposalId == "") {
-                    return
-                }
-                model.paymentManager.abortProposal(proposalId)
+                val json = detail.toString(4)
+                throw IllegalStateException("proposal-choice wasn't aborted 
automatically: $json")
             }
         }
     }
diff --git a/app/src/main/java/net/taler/wallet/payment/PaymentManager.kt 
b/app/src/main/java/net/taler/wallet/payment/PaymentManager.kt
index 489940f..ea9ca75 100644
--- a/app/src/main/java/net/taler/wallet/payment/PaymentManager.kt
+++ b/app/src/main/java/net/taler/wallet/payment/PaymentManager.kt
@@ -81,7 +81,16 @@ class PaymentManager(
         }
     }
 
-    fun abortProposal(proposalId: String) {
+    @UiThread
+    fun abortPay() {
+        val ps = payStatus.value
+        if (ps is PayStatus.Prepared) {
+            abortProposal(ps.proposalId)
+        }
+        resetPayStatus()
+    }
+
+    private fun abortProposal(proposalId: String) {
         val args = JSONObject(mapOf("proposalId" to proposalId))
 
         Log.i(TAG, "aborting proposal")
diff --git 
a/app/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt 
b/app/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt
index d623788..e8fe6db 100644
--- a/app/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt
+++ b/app/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt
@@ -70,16 +70,18 @@ class PromptPaymentFragment : Fragment() {
         }
 
         button_abort_payment.setOnClickListener {
-            when (val ps = paymentManager.payStatus.value) {
-                is PayStatus.Prepared -> {
-                    paymentManager.abortProposal(ps.proposalId)
-                }
-            }
-            paymentManager.resetPayStatus()
+            paymentManager.abortPay()
             findNavController().navigateUp()
         }
     }
 
+    override fun onDestroy() {
+        super.onDestroy()
+        if (!requireActivity().isChangingConfigurations) {
+            paymentManager.abortPay()
+        }
+    }
+
     private fun showLoading(show: Boolean) {
         model.showProgressBar.value = show
     }
diff --git a/app/src/main/res/layout/fragment_payment_successful.xml 
b/app/src/main/res/layout/fragment_payment_successful.xml
index af8bed2..414efc9 100644
--- a/app/src/main/res/layout/fragment_payment_successful.xml
+++ b/app/src/main/res/layout/fragment_payment_successful.xml
@@ -20,7 +20,7 @@
                 android:layout_width="match_parent"
                 android:textAlignment="center"
                 android:layout_height="50dp"
-                android:text="Payment was Successful"
+                android:text="@string/payment_successful"
                 android:autoSizeTextType="uniform"
                 android:textColor="@android:color/holo_green_dark"/>
 
diff --git a/app/src/main/res/layout/fragment_prompt_payment.xml 
b/app/src/main/res/layout/fragment_prompt_payment.xml
index 78d477f..a701653 100644
--- a/app/src/main/res/layout/fragment_prompt_payment.xml
+++ b/app/src/main/res/layout/fragment_prompt_payment.xml
@@ -98,7 +98,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_margin="@dimen/activity_horizontal_margin"
-                    android:text="@string/payment_label_amount"
+                    android:text="@string/payment_label_amount_total"
                     android:visibility="invisible"
                     app:layout_constraintBottom_toTopOf="@+id/order_amount"
                     app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/values/strings.xml 
b/app/src/main/res/values/strings.xml
index cd1ad54..1e18fe5 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -39,11 +39,12 @@
     <string name="payment_fee">(plus an additional %s payment fee)</string>
     <string name="payment_button_confirm">Confirm Payment</string>
     <string name="payment_button_abort">Abort Payment</string>
-    <string name="payment_label_amount">Amount</string>
+    <string name="payment_label_amount_total">Total Amount</string>
     <string name="payment_label_order_summary">Order Summary</string>
     <string name="payment_error">Error: %s</string>
     <string name="payment_balance_insufficient">Balance Insufficient!</string>
     <string name="payment_show_details">Show Details</string>
     <string name="payment_hide_details">Hide Details</string>
+    <string name="payment_successful">Payment was successful</string>
 
 </resources>

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

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