taler-android

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

commit de979bb196eff773850e3835e61dce2c63f1b14c
parent d319bc06888906196fe7ffe8891f13ed3125596a
Author: Iván Ávalos <avalos@disroot.org>
Date:   Tue, 20 May 2025 20:35:51 +0200

[wallet] show KYC button for p2p transactions

Diffstat:
Mwallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushDebit.kt | 4++--
Mwallet/src/main/java/net/taler/wallet/transactions/ActionButtonComposable.kt | 4+++-
Mwallet/src/main/res/values/strings.xml | 1+
3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushDebit.kt b/wallet/src/main/java/net/taler/wallet/peer/TransactionPeerPushDebit.kt @@ -50,6 +50,7 @@ import net.taler.wallet.transactions.TransactionAmountComposable import net.taler.wallet.transactions.TransactionInfoComposable import net.taler.wallet.transactions.TransactionMajorState.Pending import net.taler.wallet.transactions.TransactionMinorState.CreatePurse +import net.taler.wallet.transactions.TransactionMinorState.MergeKycRequired import net.taler.wallet.transactions.TransactionMinorState.Ready import net.taler.wallet.transactions.TransactionPeerComposable import net.taler.wallet.transactions.TransactionPeerPushDebit @@ -98,7 +99,7 @@ fun ColumnScope.PeerQrCode( talerUri: String?, instructionResId: Int, ) { - if (state == TransactionState(Pending)) { + if (state == TransactionState(Pending) && state.minor != MergeKycRequired) { Text( modifier = Modifier.padding(top = 16.dp, start = 16.dp, end = 16.dp), style = MaterialTheme.typography.titleLarge, @@ -128,7 +129,6 @@ fun ColumnScope.PeerQrCode( ) } } - } @Preview diff --git a/wallet/src/main/java/net/taler/wallet/transactions/ActionButtonComposable.kt b/wallet/src/main/java/net/taler/wallet/transactions/ActionButtonComposable.kt @@ -37,6 +37,7 @@ import net.taler.wallet.transactions.TransactionMinorState.BalanceKycRequired import net.taler.wallet.transactions.TransactionMinorState.BankConfirmTransfer import net.taler.wallet.transactions.TransactionMinorState.ExchangeWaitReserve import net.taler.wallet.transactions.TransactionMinorState.KycRequired +import net.taler.wallet.transactions.TransactionMinorState.MergeKycRequired interface ActionListener { enum class Type { @@ -57,7 +58,7 @@ fun ActionButton( ) { if (tx.txState.major == Pending) { when (tx.txState.minor) { - KycRequired, BalanceKycRequired -> KycButton(modifier, tx, listener) + KycRequired, BalanceKycRequired, MergeKycRequired -> KycButton(modifier, tx, listener) BankConfirmTransfer -> ConfirmBankButton(modifier, tx, listener) ExchangeWaitReserve -> ConfirmManualButton(modifier, tx, listener) else -> {} @@ -78,6 +79,7 @@ private fun KycButton( val label = when (tx.txState.minor) { KycRequired -> stringResource(R.string.transaction_action_kyc_balance) BalanceKycRequired -> stringResource(R.string.transaction_action_kyc_bank) + MergeKycRequired -> stringResource(R.string.transaction_action_kyc_merge) else -> return@Button } diff --git a/wallet/src/main/res/values/strings.xml b/wallet/src/main/res/values/strings.xml @@ -126,6 +126,7 @@ GNU Taler is immune against many types of fraud, such as phishing of credit card <!-- Transactions --> + <string name="transaction_action_kyc_merge">Complete KYC</string> <string name="transaction_action_kyc_balance">Complete balance KYC</string> <string name="transaction_action_kyc_bank">Complete withdrawal KYC</string> <string name="transaction_denom_loss">Loss of funds</string>