summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-03-05 13:43:38 -0300
committerTorsten Grote <t@grobox.de>2020-03-05 13:43:38 -0300
commitb666242c18173344d64724496cad213e58760ef7 (patch)
treecdb78ce78423f21038b5c2a9448d600bceaad9f0 /app/src
parent9c7f53f6fccf55d4aa67063ab806f22c871c20e1 (diff)
downloadwallet-android-b666242c18173344d64724496cad213e58760ef7.tar.gz
wallet-android-b666242c18173344d64724496cad213e58760ef7.tar.bz2
wallet-android-b666242c18173344d64724496cad213e58760ef7.zip
Don't restart withdrawal process after accepting ToS
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt25
1 files changed, 18 insertions, 7 deletions
diff --git a/app/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt b/app/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
index dec03af..8179d8d 100644
--- a/app/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
+++ b/app/src/main/java/net/taler/wallet/withdraw/WithdrawManager.kt
@@ -30,7 +30,9 @@ sealed class WithdrawStatus {
val talerWithdrawUri: String,
val exchangeBaseUrl: String,
val tosText: String,
- val tosEtag: String
+ val tosEtag: String,
+ val amount: Amount,
+ val suggestedExchange: String
) : WithdrawStatus()
object Success : WithdrawStatus()
@@ -115,8 +117,13 @@ class WithdrawManager(private val walletBackendApi: WalletBackendApi) {
Log.v(TAG, "ignoring withdrawal info result, not loading.")
return@sendRequest
}
+ val wi = result.getJSONObject("bankWithdrawDetails")
+ val suggestedExchange = wi.getString("suggestedExchange")
+ val amount = Amount.fromJson(wi.getJSONObject("amount"))
+
val ei = result.getJSONObject("exchangeWithdrawDetails")
val termsOfServiceAccepted = ei.getBoolean("termsOfServiceAccepted")
+
if (!termsOfServiceAccepted) {
val exchange = ei.getJSONObject("exchangeInfo")
val tosText = exchange.getString("termsOfServiceText")
@@ -126,13 +133,12 @@ class WithdrawManager(private val walletBackendApi: WalletBackendApi) {
status.talerWithdrawUri,
selectedExchange,
tosText,
- tosEtag
+ tosEtag,
+ amount,
+ suggestedExchange
)
)
} else {
- val wi = result.getJSONObject("bankWithdrawDetails")
- val suggestedExchange = wi.getString("suggestedExchange")
- val amount = Amount.fromJson(wi.getJSONObject("amount"))
withdrawStatus.postValue(
WithdrawStatus.ReceivedDetails(
status.talerWithdrawUri,
@@ -178,8 +184,13 @@ class WithdrawManager(private val walletBackendApi: WalletBackendApi) {
if (isError) {
return@sendRequest
}
- // Try withdrawing again with accepted ToS
- getWithdrawalInfo(s.talerWithdrawUri)
+ withdrawStatus.postValue(
+ WithdrawStatus.ReceivedDetails(
+ s.talerWithdrawUri,
+ s.amount,
+ s.suggestedExchange
+ )
+ )
}
}
}