taler-android

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

commit 7a0093077a08ec8a3c7ca1df21af19094a76535c
parent 793746ef485e8409298fcbdf601d4d1965c9b732
Author: Torsten Grote <t@grobox.de>
Date:   Fri, 28 Jul 2023 10:17:10 +0200

[wallet] show peer transaction summary/purpose in list

Diffstat:
Mwallet/src/main/java/net/taler/wallet/transactions/TransactionAdapter.kt | 73+++++++++++++++++++++++++++++++++++++++++++++++++++----------------------
1 file changed, 51 insertions(+), 22 deletions(-)

diff --git a/wallet/src/main/java/net/taler/wallet/transactions/TransactionAdapter.kt b/wallet/src/main/java/net/taler/wallet/transactions/TransactionAdapter.kt @@ -86,6 +86,7 @@ internal class TransactionAdapter( private val pendingView: TextView = v.findViewById(R.id.pendingView) private val amountColor = amount.currentTextColor + private val extraInfoColor = extraInfoView.currentTextColor private val red = getColor(context, R.color.red) private val green = getColor(context, R.color.green) @@ -110,29 +111,57 @@ internal class TransactionAdapter( } private fun bindExtraInfo(transaction: Transaction) { - if (transaction.error != null) { - extraInfoView.text = - context.getString(R.string.payment_error, transaction.error!!.userFacingMsg) - extraInfoView.setTextColor(red) - extraInfoView.visibility = VISIBLE - } else if (transaction is TransactionWithdrawal && !transaction.confirmed) { - extraInfoView.setText(R.string.withdraw_waiting_confirm) - extraInfoView.setTextColor(amountColor) - extraInfoView.visibility = VISIBLE - } else { - when (transaction.txState.major) { - Aborted -> { - extraInfoView.setText(R.string.payment_aborted) - extraInfoView.visibility = VISIBLE - } - - Failed -> { - extraInfoView.setText(R.string.payment_failed) - extraInfoView.visibility = VISIBLE - } - - else -> extraInfoView.visibility = GONE + when { + transaction.txState.major == Aborted -> { + extraInfoView.setText(R.string.payment_aborted) + extraInfoView.setTextColor(red) + extraInfoView.visibility = VISIBLE + } + + transaction.txState.major == Failed -> { + extraInfoView.setText(R.string.payment_failed) + extraInfoView.setTextColor(red) + extraInfoView.visibility = VISIBLE + } + + transaction.error != null -> { + extraInfoView.text = + context.getString(R.string.payment_error, transaction.error!!.userFacingMsg) + extraInfoView.setTextColor(red) + extraInfoView.visibility = VISIBLE + } + + transaction is TransactionWithdrawal && !transaction.confirmed -> { + extraInfoView.setText(R.string.withdraw_waiting_confirm) + extraInfoView.setTextColor(amountColor) + extraInfoView.visibility = VISIBLE + } + + transaction is TransactionPeerPushCredit && transaction.info.summary != null -> { + extraInfoView.text = transaction.info.summary + extraInfoView.setTextColor(extraInfoColor) + extraInfoView.visibility = VISIBLE + } + + transaction is TransactionPeerPushDebit && transaction.info.summary != null -> { + extraInfoView.text = transaction.info.summary + extraInfoView.setTextColor(extraInfoColor) + extraInfoView.visibility = VISIBLE + } + + transaction is TransactionPeerPullCredit && transaction.info.summary != null -> { + extraInfoView.text = transaction.info.summary + extraInfoView.setTextColor(extraInfoColor) + extraInfoView.visibility = VISIBLE + } + + transaction is TransactionPeerPullDebit && transaction.info.summary != null -> { + extraInfoView.text = transaction.info.summary + extraInfoView.setTextColor(extraInfoColor) + extraInfoView.visibility = VISIBLE } + + else -> extraInfoView.visibility = GONE } }