summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2021-12-08 15:46:15 -0300
committerTorsten Grote <t@grobox.de>2021-12-08 15:46:15 -0300
commit5c525667c77d945abb85e5f0b2469fb5af376fce (patch)
tree4c73e785f64664e1b045be2ce6736dbb299cbc8d /wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
parent71be094780464c2b97a4cb6b33dd7f465647c082 (diff)
downloadtaler-android-5c525667c77d945abb85e5f0b2469fb5af376fce.tar.gz
taler-android-5c525667c77d945abb85e5f0b2469fb5af376fce.tar.bz2
taler-android-5c525667c77d945abb85e5f0b2469fb5af376fce.zip
Add a button to cancel manual withdrawal
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt7
1 files changed, 5 insertions, 2 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt b/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
index 858d63e..fbb5c18 100644
--- a/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
+++ b/wallet/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
@@ -63,6 +63,7 @@ sealed class WithdrawStatus {
val iban: String,
val subject: String,
val amountRaw: Amount,
+ val transactionId: String?,
) : WithdrawStatus()
data class Error(val message: String?) : WithdrawStatus()
@@ -241,8 +242,7 @@ class WithdrawManager(
amount = status.amountRaw,
exchangeBaseUrl = status.exchangeBaseUrl,
// TODO what if there's more than one or no URI?
- uriStr = "payto://iban/ASDQWEASDZXCASDQWE?amount=KUDOS%3A10&message=Taler+Withdrawal+P2T19EXRBY4B145JRNZ8CQTD7TCS03JE9VZRCEVKVWCP930P56WG", // response.exchangePaytoUris[0],
- // "payto://x-taler-bank/bank.demo.taler.net/Exchange?amount=KUDOS%3A10&message=Taler+Withdrawal+P2T19EXRBY4B145JRNZ8CQTD7TCS03JE9VZRCEVKVWCP930P56WG"
+ uriStr = response.exchangePaytoUris[0],
)
}
}
@@ -258,6 +258,7 @@ class WithdrawManager(
* Don't call this from ongoing withdrawal processes as it destroys state.
*/
fun viewManualWithdrawal(status: WithdrawStatus.ManualTransferRequired) {
+ require(status.transactionId != null) { "No transaction ID given" }
withdrawStatus.value = status
}
@@ -267,6 +268,7 @@ fun createManualTransferRequired(
amount: Amount,
exchangeBaseUrl: String,
uriStr: String,
+ transactionId: String? = null,
): WithdrawStatus.ManualTransferRequired {
val uri = Uri.parse(uriStr)
return WithdrawStatus.ManualTransferRequired(
@@ -275,5 +277,6 @@ fun createManualTransferRequired(
iban = uri.lastPathSegment!!,
subject = uri.getQueryParameter("message")!!,
amountRaw = amount,
+ transactionId = transactionId,
)
}