aboutsummaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/deposit/DepositManager.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2022-11-03 11:33:13 -0300
committerTorsten Grote <t@grobox.de>2022-11-03 11:33:13 -0300
commit6bf523637c89394fa5729f4d7d299bbfb1036974 (patch)
tree30864570b2e5c8ec9c1c15c7202380a9d616a36f /wallet/src/main/java/net/taler/wallet/deposit/DepositManager.kt
parent4a5b7f7308807a0e84f496e5cbbb3ae1f523b968 (diff)
downloadtaler-android-6bf523637c89394fa5729f4d7d299bbfb1036974.tar.gz
taler-android-6bf523637c89394fa5729f4d7d299bbfb1036974.tar.bz2
taler-android-6bf523637c89394fa5729f4d7d299bbfb1036974.zip
[wallet] Improve flow for making a bank deposit
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/deposit/DepositManager.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/deposit/DepositManager.kt20
1 files changed, 14 insertions, 6 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/deposit/DepositManager.kt b/wallet/src/main/java/net/taler/wallet/deposit/DepositManager.kt
index a207691..81124ec 100644
--- a/wallet/src/main/java/net/taler/wallet/deposit/DepositManager.kt
+++ b/wallet/src/main/java/net/taler/wallet/deposit/DepositManager.kt
@@ -53,11 +53,14 @@ class DepositManager(
params = mapOf("receiver-name" to receiverName),
).paytoUri
- if (depositState.value.showFees) {
- val effectiveDepositAmount = depositState.value.effectiveDepositAmount
- ?: Amount.zero(amount.currency)
- makeDeposit(paytoUri, amount, effectiveDepositAmount)
- } else {
+ if (depositState.value.showFees) makeDeposit(
+ paytoUri = paytoUri,
+ amount = amount,
+ totalDepositCost = depositState.value.totalDepositCost
+ ?: Amount.zero(amount.currency),
+ effectiveDepositAmount = depositState.value.effectiveDepositAmount
+ ?: Amount.zero(amount.currency),
+ ) else {
prepareDeposit(paytoUri, amount)
}
}
@@ -73,6 +76,7 @@ class DepositManager(
mDepositState.value = DepositState.Error(it.userFacingMsg)
}.onSuccess {
mDepositState.value = DepositState.FeesChecked(
+ totalDepositCost = it.totalDepositCost,
effectiveDepositAmount = it.effectiveDepositAmount,
)
}
@@ -82,9 +86,13 @@ class DepositManager(
private fun makeDeposit(
paytoUri: String,
amount: Amount,
+ totalDepositCost: Amount,
effectiveDepositAmount: Amount,
) {
- mDepositState.value = DepositState.MakingDeposit(effectiveDepositAmount)
+ mDepositState.value = DepositState.MakingDeposit(
+ totalDepositCost = totalDepositCost,
+ effectiveDepositAmount = effectiveDepositAmount,
+ )
scope.launch {
api.request("createDepositGroup", CreateDepositGroupResponse.serializer()) {
put("depositPaytoUri", paytoUri)