From dfc0db1432b181723e20efc01d46335ffd53115d Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Thu, 14 May 2020 15:38:36 -0300 Subject: [wallet] provide extra info in transactions when withdrawal requires confirmation --- .../wallet/transactions/TransactionAdapter.kt | 27 +++++++------- .../src/main/res/layout/list_item_transaction.xml | 43 ++++++++++++++++------ wallet/src/main/res/values/strings.xml | 1 + 3 files changed, 46 insertions(+), 25 deletions(-) (limited to 'wallet') 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 a2cd2e8..f93dd66 100644 --- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionAdapter.kt +++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionAdapter.kt @@ -70,12 +70,12 @@ internal class TransactionAdapter( tracker.select(it.transactionId) } - internal open inner class TransactionViewHolder(private val v: View) : ViewHolder(v) { - - protected val context: Context = v.context + internal inner class TransactionViewHolder(private val v: View) : ViewHolder(v) { + private val context: Context = v.context private val icon: ImageView = v.findViewById(R.id.icon) - protected val title: TextView = v.findViewById(R.id.title) + private val title: TextView = v.findViewById(R.id.title) + private val extraInfoView: TextView = v.findViewById(R.id.extraInfoView) private val time: TextView = v.findViewById(R.id.time) private val amount: TextView = v.findViewById(R.id.amount) private val pendingView: TextView = v.findViewById(R.id.pendingView) @@ -85,18 +85,19 @@ internal class TransactionAdapter( private val red = context.getColor(R.color.red) private val green = context.getColor(R.color.green) - open fun bind(transaction: Transaction, selected: Boolean) { - if (transaction.detailPageLayout != 0) { - v.foreground = selectableForeground - v.setOnClickListener { listener.onTransactionClicked(transaction) } - } else { - v.foreground = null - v.setOnClickListener(null) - } + fun bind(transaction: Transaction, selected: Boolean) { + v.foreground = selectableForeground + v.setOnClickListener { listener.onTransactionClicked(transaction) } v.isActivated = selected - icon.setImageResource(transaction.icon) + icon.setImageResource(transaction.icon) title.text = transaction.getTitle(context) + if (transaction is TransactionWithdrawal && !transaction.confirmed) { + extraInfoView.setText(R.string.withdraw_waiting_confirm) + extraInfoView.visibility = VISIBLE + } else { + extraInfoView.visibility = GONE + } time.text = transaction.timestamp.ms.toRelativeTime(context) bindAmount(transaction) pendingView.visibility = if (transaction.pending) VISIBLE else GONE diff --git a/wallet/src/main/res/layout/list_item_transaction.xml b/wallet/src/main/res/layout/list_item_transaction.xml index 058b170..a35ac30 100644 --- a/wallet/src/main/res/layout/list_item_transaction.xml +++ b/wallet/src/main/res/layout/list_item_transaction.xml @@ -44,20 +44,24 @@ android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginEnd="8dp" - app:layout_constraintEnd_toStartOf="@+id/amount" + app:layout_constraintEnd_toStartOf="@+id/barrier" app:layout_constraintStart_toEndOf="@+id/icon" app:layout_constraintTop_toTopOf="parent" tools:text="@string/transaction_payment" /> + android:layout_marginTop="8dp" + android:layout_marginEnd="8dp" + android:textSize="14sp" + android:visibility="gone" + app:layout_constraintEnd_toStartOf="@+id/barrier" + app:layout_constraintStart_toStartOf="@+id/title" + app:layout_constraintTop_toBottomOf="@+id/title" + tools:text="@string/withdraw_waiting_confirm" + tools:visibility="visible" /> + + + + diff --git a/wallet/src/main/res/values/strings.xml b/wallet/src/main/res/values/strings.xml index 1f2d80c..e408365 100644 --- a/wallet/src/main/res/values/strings.xml +++ b/wallet/src/main/res/values/strings.xml @@ -114,6 +114,7 @@ GNU Taler is immune against many types of fraud, such as phishing of credit card Confirm Withdraw Confirm with bank Review Terms + Waiting for confirmation Withdrawal Error Withdrawing is currently not possible. Please try again later! -- cgit v1.2.3