summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenTransfer.kt
diff options
context:
space:
mode:
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenTransfer.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenTransfer.kt18
1 files changed, 15 insertions, 3 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenTransfer.kt b/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenTransfer.kt
index 0ea9208..7d0526c 100644
--- a/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenTransfer.kt
+++ b/wallet/src/main/java/net/taler/wallet/withdraw/manual/ScreenTransfer.kt
@@ -53,6 +53,7 @@ import net.taler.wallet.compose.copyToClipBoard
import net.taler.wallet.transactions.AmountType
import net.taler.wallet.transactions.TransactionAmountComposable
import net.taler.wallet.transactions.WithdrawalExchangeAccountDetails
+import net.taler.wallet.transactions.WithdrawalExchangeAccountDetails.Status.*
import net.taler.wallet.withdraw.TransferData
import net.taler.wallet.withdraw.WithdrawStatus
@@ -66,13 +67,20 @@ fun ScreenTransfer(
// TODO: show some placeholder
if (status.withdrawalTransfers.isEmpty()) return
- val defaultTransfer = status.withdrawalTransfers[0]
+ val transfers = status.withdrawalTransfers.filter {
+ // TODO: in dev mode, show debug info when status is `Error'
+ it.withdrawalAccount.status == Ok
+ }.sortedByDescending {
+ it.withdrawalAccount.priority
+ }
+
+ val defaultTransfer = transfers[0]
var selectedTransfer by remember { mutableStateOf(defaultTransfer) }
Column {
if (status.withdrawalTransfers.size > 1) {
TransferAccountChooser(
- accounts = status.withdrawalTransfers.map { it.withdrawalAccount },
+ accounts = transfers.map { it.withdrawalAccount },
selectedAccount = selectedTransfer.withdrawalAccount,
onSelectAccount = { account ->
status.withdrawalTransfers.find {
@@ -236,7 +244,9 @@ fun TransferAccountChooser(
selected = selectedAccount.paytoUri == account.paytoUri,
onClick = { onSelectAccount(account) },
text = {
- if (account.currencySpecification?.name != null) {
+ if (account.bankLabel != null) {
+ Text(account.bankLabel)
+ } else if (account.currencySpecification?.name != null) {
Text(stringResource(
R.string.withdraw_account_currency,
index + 1,
@@ -274,6 +284,7 @@ fun ScreenTransferPreview() {
withdrawalAccount = WithdrawalExchangeAccountDetails(
paytoUri = "https://taler.net/kudos",
transferAmount = Amount("KUDOS", 10, 0),
+ status = WithdrawalExchangeAccountDetails.Status.Ok,
currencySpecification = CurrencySpecification(
"KUDOS",
numFractionalInputDigits = 2,
@@ -295,6 +306,7 @@ fun ScreenTransferPreview() {
withdrawalAccount = WithdrawalExchangeAccountDetails(
paytoUri = "https://taler.net/btc",
transferAmount = Amount("BTC", 0, 14000000),
+ status = Ok,
currencySpecification = CurrencySpecification(
"Bitcoin",
numFractionalInputDigits = 2,