summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/transactions/TransactionAdapter.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-05-19 14:59:03 -0300
committerTorsten Grote <t@grobox.de>2020-05-19 14:59:03 -0300
commite3edd5f58fe1d2f3f70d1ff20f58564f8990bcc2 (patch)
treefa1a648d7ff24f9e6ff9235ddded4f40b9f6058e /wallet/src/main/java/net/taler/wallet/transactions/TransactionAdapter.kt
parenta94022d0f21ca4575b8b8ee5b58e71a679faa542 (diff)
downloadtaler-android-e3edd5f58fe1d2f3f70d1ff20f58564f8990bcc2.tar.gz
taler-android-e3edd5f58fe1d2f3f70d1ff20f58564f8990bcc2.tar.bz2
taler-android-e3edd5f58fe1d2f3f70d1ff20f58564f8990bcc2.zip
[wallet] show transaction errors to user
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/transactions/TransactionAdapter.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/transactions/TransactionAdapter.kt22
1 files changed, 18 insertions, 4 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
index e6dad6f..d670b74 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionAdapter.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionAdapter.kt
@@ -92,15 +92,29 @@ internal class TransactionAdapter(
icon.setImageResource(transaction.icon)
title.text = transaction.getTitle(context)
- if (transaction is TransactionWithdrawal && !transaction.confirmed) {
+ bindExtraInfo(transaction)
+ time.text = transaction.timestamp.ms.toRelativeTime(context)
+ bindAmount(transaction)
+ pendingView.visibility = if (transaction.pending) VISIBLE else GONE
+ }
+
+ private fun bindExtraInfo(transaction: Transaction) {
+ if (transaction.error != null) {
+ extraInfoView.text =
+ context.getString(R.string.payment_error, transaction.error.text)
+ 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 if (transaction is TransactionPayment && transaction.status != PaymentStatus.Paid && transaction.status != PaymentStatus.Accepted) {
+ extraInfoView.setText(if (transaction.status == PaymentStatus.Aborted) R.string.payment_aborted else R.string.payment_failed)
+ extraInfoView.setTextColor(amountColor)
extraInfoView.visibility = VISIBLE
} else {
extraInfoView.visibility = GONE
}
- time.text = transaction.timestamp.ms.toRelativeTime(context)
- bindAmount(transaction)
- pendingView.visibility = if (transaction.pending) VISIBLE else GONE
}
private fun bindAmount(transaction: Transaction) {