summaryrefslogtreecommitdiff
path: root/merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2021-02-05 13:49:51 -0300
committerTorsten Grote <t@grobox.de>2021-02-05 13:49:51 -0300
commit21c79819fa6aad2bf9c68bd03faa273ff450ca56 (patch)
treeb210ddfff94f797e2e7fae40ba47e6f0329e97d8 /merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt
parente07a00ed65262f5142ecd46d3f9df6672b28fbb3 (diff)
downloadtaler-android-21c79819fa6aad2bf9c68bd03faa273ff450ca56.tar.gz
taler-android-21c79819fa6aad2bf9c68bd03faa273ff450ca56.tar.bz2
taler-android-21c79819fa6aad2bf9c68bd03faa273ff450ca56.zip
[pos] Remove QR code once order has been claimed
Diffstat (limited to 'merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt')
-rw-r--r--merchant-terminal/src/main/java/net/taler/merchantpos/payment/PaymentManager.kt19
1 files changed, 12 insertions, 7 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 b017726..98161db 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
@@ -46,7 +46,7 @@ class PaymentManager(
private val context: Context,
private val configManager: ConfigManager,
private val scope: CoroutineScope,
- private val api: MerchantApi
+ private val api: MerchantApi,
) {
private val mPayment = MutableLiveData<Payment>()
@@ -89,12 +89,17 @@ class PaymentManager(
assertUiThread()
if (!isActive) return@handle // don't continue if job was cancelled
val currentValue = requireNotNull(mPayment.value)
- if (response.paid) {
- mPayment.value = currentValue.copy(paid = true)
- checkTimer.cancel()
- } else if (currentValue.talerPayUri == null) {
- response as CheckPaymentResponse.Unpaid
- mPayment.value = currentValue.copy(talerPayUri = response.talerPayUri)
+ when (response) {
+ is CheckPaymentResponse.Unpaid -> {
+ mPayment.value = currentValue.copy(talerPayUri = response.talerPayUri)
+ }
+ is CheckPaymentResponse.Claimed -> {
+ mPayment.value = currentValue.copy(claimed = true)
+ }
+ is CheckPaymentResponse.Paid -> {
+ mPayment.value = currentValue.copy(paid = true)
+ checkTimer.cancel()
+ }
}
}
}