diff options
author | Torsten Grote <t@grobox.de> | 2020-04-15 11:26:51 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2020-04-15 11:26:51 -0300 |
commit | ea3250845fb266a2ecd5ebeba561bc99101bf3de (patch) | |
tree | d726f2216efa9b3008741b0037db325725d0d90b /wallet/src/main/java/net/taler/wallet/history/HistoryAdapter.kt | |
parent | 8e4f85d467c8e8109026a7195757ce9448ad7b19 (diff) | |
download | taler-android-ea3250845fb266a2ecd5ebeba561bc99101bf3de.tar.gz taler-android-ea3250845fb266a2ecd5ebeba561bc99101bf3de.tar.bz2 taler-android-ea3250845fb266a2ecd5ebeba561bc99101bf3de.zip |
[wallet] rename history to transactions
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/history/HistoryAdapter.kt')
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/history/HistoryAdapter.kt | 199 |
1 files changed, 0 insertions, 199 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/history/HistoryAdapter.kt b/wallet/src/main/java/net/taler/wallet/history/HistoryAdapter.kt deleted file mode 100644 index b9770fb..0000000 --- a/wallet/src/main/java/net/taler/wallet/history/HistoryAdapter.kt +++ /dev/null @@ -1,199 +0,0 @@ -/* - * This file is part of GNU Taler - * (C) 2020 Taler Systems S.A. - * - * GNU Taler is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 3, or (at your option) any later version. - * - * GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with - * GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -package net.taler.wallet.history - -import android.content.Context -import android.graphics.Paint.STRIKE_THRU_TEXT_FLAG -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.ImageView -import android.widget.TextView -import androidx.annotation.CallSuper -import androidx.recyclerview.widget.RecyclerView.Adapter -import androidx.recyclerview.widget.RecyclerView.ViewHolder -import net.taler.common.toRelativeTime -import net.taler.wallet.R -import net.taler.wallet.cleanExchange -import net.taler.wallet.history.HistoryAdapter.HistoryEventViewHolder - - -internal class HistoryAdapter( - private val devMode: Boolean, - private val listener: OnEventClickListener, - private var history: History = History() -) : Adapter<HistoryEventViewHolder>() { - - init { - setHasStableIds(false) - } - - override fun getItemViewType(position: Int): Int = history[position].layout - - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HistoryEventViewHolder { - val view = LayoutInflater.from(parent.context).inflate(viewType, parent, false) - return when (viewType) { - R.layout.history_receive -> HistoryReceiveViewHolder(view) - R.layout.history_payment -> HistoryPaymentViewHolder(view) - else -> GenericHistoryEventViewHolder(view) - } - } - - override fun getItemCount(): Int = history.size - - override fun onBindViewHolder(holder: HistoryEventViewHolder, position: Int) { - val event = history[position] - holder.bind(event) - } - - fun update(updatedHistory: History) { - this.history = updatedHistory - this.notifyDataSetChanged() - } - - internal abstract inner class HistoryEventViewHolder(private val v: View) : ViewHolder(v) { - - protected 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 time: TextView = v.findViewById(R.id.time) - private val selectableBackground = v.background - - @CallSuper - open fun bind(event: HistoryEvent) { - if (devMode || event.detailPageLayout != 0) { - v.background = selectableBackground - v.setOnClickListener { listener.onEventClicked(event) } - } else { - v.background = null - v.setOnClickListener(null) - } - icon.setImageResource(event.icon) - if (event.title == 0) title.text = event::class.java.simpleName - else title.setText(event.title) - time.text = event.timestamp.ms.toRelativeTime(context) - } - - } - - internal inner class GenericHistoryEventViewHolder(v: View) : HistoryEventViewHolder(v) { - - private val info: TextView = v.findViewById(R.id.info) - - override fun bind(event: HistoryEvent) { - super.bind(event) - info.text = when (event) { - is ExchangeAddedEvent -> cleanExchange(event.exchangeBaseUrl) - is ExchangeUpdatedEvent -> cleanExchange(event.exchangeBaseUrl) - is ReserveBalanceUpdatedEvent -> event.reserveBalance.toString() - is HistoryPaymentSentEvent -> event.orderShortInfo.summary - is HistoryOrderAcceptedEvent -> event.orderShortInfo.summary - is HistoryOrderRefusedEvent -> event.orderShortInfo.summary - is HistoryOrderRedirectedEvent -> event.newOrderShortInfo.summary - else -> "" - } - } - - } - - internal inner class HistoryReceiveViewHolder(v: View) : HistoryEventViewHolder(v) { - - private val summary: TextView = v.findViewById(R.id.summary) - private val amountWithdrawn: TextView = v.findViewById(R.id.amountWithdrawn) - private val paintFlags = amountWithdrawn.paintFlags - - override fun bind(event: HistoryEvent) { - super.bind(event) - when (event) { - is HistoryWithdrawnEvent -> bind(event) - is HistoryRefundedEvent -> bind(event) - is HistoryTipAcceptedEvent -> bind(event) - is HistoryTipDeclinedEvent -> bind(event) - } - } - - private fun bind(event: HistoryWithdrawnEvent) { - summary.text = cleanExchange(event.exchangeBaseUrl) - amountWithdrawn.text = - context.getString(R.string.amount_positive, event.amountWithdrawnEffective) - amountWithdrawn.paintFlags = paintFlags - } - - private fun bind(event: HistoryRefundedEvent) { - summary.text = event.orderShortInfo.summary - amountWithdrawn.text = - context.getString(R.string.amount_positive, event.amountRefundedEffective) - amountWithdrawn.paintFlags = paintFlags - } - - private fun bind(event: HistoryTipAcceptedEvent) { - summary.text = null - amountWithdrawn.text = context.getString(R.string.amount_positive, event.tipRaw) - amountWithdrawn.paintFlags = paintFlags - } - - private fun bind(event: HistoryTipDeclinedEvent) { - summary.text = null - amountWithdrawn.text = context.getString(R.string.amount_positive, event.tipAmount) - amountWithdrawn.paintFlags = amountWithdrawn.paintFlags or STRIKE_THRU_TEXT_FLAG - } - - } - - internal inner class HistoryPaymentViewHolder(v: View) : HistoryEventViewHolder(v) { - - private val summary: TextView = v.findViewById(R.id.summary) - private val amountPaidWithFees: TextView = v.findViewById(R.id.amountPaidWithFees) - - override fun bind(event: HistoryEvent) { - super.bind(event) - when (event) { - is HistoryPaymentSentEvent -> bind(event) - is HistoryPaymentAbortedEvent -> bind(event) - is HistoryRefreshedEvent -> bind(event) - } - } - - private fun bind(event: HistoryPaymentSentEvent) { - summary.text = event.orderShortInfo.summary - amountPaidWithFees.text = - context.getString(R.string.amount_negative, event.amountPaidWithFees) - } - - private fun bind(event: HistoryPaymentAbortedEvent) { - summary.text = event.orderShortInfo.summary - amountPaidWithFees.text = context.getString(R.string.amount_negative, event.amountLost) - } - - private fun bind(event: HistoryRefreshedEvent) { - val res = when (event.refreshReason) { - RefreshReason.MANUAL -> R.string.history_event_refresh_reason_manual - RefreshReason.PAY -> R.string.history_event_refresh_reason_pay - RefreshReason.REFUND -> R.string.history_event_refresh_reason_refund - RefreshReason.ABORT_PAY -> R.string.history_event_refresh_reason_abort_pay - RefreshReason.RECOUP -> R.string.history_event_refresh_reason_recoup - RefreshReason.BACKUP_RESTORED -> R.string.history_event_refresh_reason_backup_restored - } - summary.text = context.getString(res) - val fee = event.amountRefreshedRaw - event.amountRefreshedEffective - if (fee.isZero()) amountPaidWithFees.text = null - else amountPaidWithFees.text = context.getString(R.string.amount_negative, fee) - } - - } - -} |