diff options
Diffstat (limited to 'app/src/main/java/net/taler/wallet/payment')
-rw-r--r-- | app/src/main/java/net/taler/wallet/payment/PaymentManager.kt | 11 | ||||
-rw-r--r-- | app/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt | 14 |
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 } |