summaryrefslogtreecommitdiff
path: root/app/src/main/java/net/taler/wallet/payment
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/net/taler/wallet/payment')
-rw-r--r--app/src/main/java/net/taler/wallet/payment/PaymentManager.kt11
-rw-r--r--app/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt14
2 files changed, 18 insertions, 7 deletions
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
}