taler-android

Android apps for GNU Taler (wallet, PoS, cashier)
Log | Files | Refs | README | LICENSE

commit f1e0237c028aa2138505881802ffe53be3260d51
parent 339c929a113d90ec42f618c9d55bb13260176fe5
Author: Iván Ávalos <avalos@disroot.org>
Date:   Thu,  3 Apr 2025 17:18:21 +0200

[wallet] render repurchase state

Diffstat:
Mwallet/src/main/java/net/taler/wallet/transactions/TransactionState.kt | 7+++++--
Mwallet/src/main/java/net/taler/wallet/transactions/TransactionStateComposable.kt | 32+++++++++++++++++++++-----------
Mwallet/src/main/java/net/taler/wallet/transactions/TransactionsComposable.kt | 5+++++
Mwallet/src/main/res/values/strings.xml | 1+
4 files changed, 32 insertions(+), 13 deletions(-)

diff --git a/wallet/src/main/java/net/taler/wallet/transactions/TransactionState.kt b/wallet/src/main/java/net/taler/wallet/transactions/TransactionState.kt @@ -103,6 +103,9 @@ enum class TransactionMinorState { @SerialName("exchange-wait-reserve") ExchangeWaitReserve, - @SerialName("paid-by-other") - PaidByOther, + @SerialName("repurchase") + Repurchase, + + @SerialName("unknown") + Unknown; } diff --git a/wallet/src/main/java/net/taler/wallet/transactions/TransactionStateComposable.kt b/wallet/src/main/java/net/taler/wallet/transactions/TransactionStateComposable.kt @@ -52,7 +52,7 @@ import net.taler.wallet.transactions.TransactionMinorState.BalanceKycInit import net.taler.wallet.transactions.TransactionMinorState.BalanceKycRequired import net.taler.wallet.transactions.TransactionMinorState.BankConfirmTransfer import net.taler.wallet.transactions.TransactionMinorState.KycRequired -import net.taler.wallet.transactions.TransactionMinorState.PaidByOther +import net.taler.wallet.transactions.TransactionMinorState.Repurchase import net.taler.wallet.transactions.WithdrawalDetails.ManualTransfer @Composable @@ -77,23 +77,33 @@ fun TransactionStateComposable( } else stringResource(R.string.transaction_state_aborted) TransactionState(Aborting) -> stringResource(R.string.transaction_state_aborting) TransactionState(Suspended) -> stringResource(R.string.transaction_state_suspended) - TransactionState(Failed, PaidByOther) -> stringResource(R.string.payment_already_paid) + TransactionState(Failed, Repurchase) -> stringResource(R.string.payment_already_paid) TransactionState(Failed) -> stringResource(R.string.transaction_state_failed) TransactionState(Expired) -> stringResource(R.string.transaction_state_expired) else -> return } - val cardColor = when (state.major) { - Done -> colorResource(R.color.green) - Aborted, Aborting, Failed, Expired -> MaterialTheme.colorScheme.errorContainer - Pending, Suspended -> MaterialTheme.colorScheme.surfaceVariant + val cardColor = when (state) { + TransactionState(Done) -> colorResource(R.color.green) + TransactionState(Pending), + TransactionState(Suspended), + TransactionState(Failed, Repurchase) -> MaterialTheme.colorScheme.surfaceVariant + TransactionState(Aborted), + TransactionState(Aborting), + TransactionState(Failed), + TransactionState(Expired) -> MaterialTheme.colorScheme.errorContainer else -> return } - val textColor = when (state.major) { - Done -> Color.White - Aborted, Aborting, Failed, Expired -> MaterialTheme.colorScheme.onErrorContainer - Pending, Suspended -> MaterialTheme.colorScheme.onSurfaceVariant + val textColor = when (state) { + TransactionState(Done) -> Color.White + TransactionState(Pending), + TransactionState(Suspended), + TransactionState(Failed, Repurchase) -> MaterialTheme.colorScheme.onSurfaceVariant + TransactionState(Aborted), + TransactionState(Aborting), + TransactionState(Failed), + TransactionState(Expired) -> MaterialTheme.colorScheme.onErrorContainer else -> return } @@ -133,7 +143,7 @@ fun TransactionStateComposablePreview() { TransactionStateComposable(modifier, state = TransactionState(Aborted)) TransactionStateComposable(modifier, state = TransactionState(Aborting)) TransactionStateComposable(modifier, state = TransactionState(Suspended)) - TransactionStateComposable(modifier, state = TransactionState(Failed, PaidByOther)) + TransactionStateComposable(modifier, state = TransactionState(Failed, Repurchase)) TransactionStateComposable(modifier, state = TransactionState(Failed)) TransactionStateComposable(modifier, state = TransactionState(Expired)) TransactionStateComposable(modifier, state = TransactionState(Done)) diff --git a/wallet/src/main/java/net/taler/wallet/transactions/TransactionsComposable.kt b/wallet/src/main/java/net/taler/wallet/transactions/TransactionsComposable.kt @@ -96,6 +96,7 @@ import net.taler.wallet.transactions.TransactionMinorState.BalanceKycInit import net.taler.wallet.transactions.TransactionMinorState.BalanceKycRequired import net.taler.wallet.transactions.TransactionMinorState.BankConfirmTransfer import net.taler.wallet.transactions.TransactionMinorState.KycRequired +import net.taler.wallet.transactions.TransactionMinorState.Repurchase import net.taler.wallet.transactions.TransactionsResult.Error import net.taler.wallet.transactions.TransactionsResult.None import net.taler.wallet.transactions.TransactionsResult.Success @@ -432,6 +433,10 @@ fun TransactionExtraInfo(tx: Transaction) { color = MaterialTheme.colorScheme.error, ) + tx.txState.minor == Repurchase -> Text( + stringResource(R.string.payment_repurchase), + ) + tx.txState.major == Failed -> Text( stringResource(R.string.payment_failed), color = MaterialTheme.colorScheme.error, diff --git a/wallet/src/main/res/values/strings.xml b/wallet/src/main/res/values/strings.xml @@ -203,6 +203,7 @@ GNU Taler is immune against many types of fraud, such as phishing of credit card <string name="payment_pay_template_title">Customize your order</string> <string name="payment_pending">Payment not completed, it will be retried</string> <string name="payment_prompt_title">Review payment</string> + <string name="payment_repurchase">Repurchase</string> <!-- including <amount> <tax name> --> <string name="payment_tax">incl. %1$s %2$s</string> <string name="payment_template_error">Error creating order</string>