From 5b1163311192e9adf15ef3d626c72812e638f90c Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Mon, 3 Aug 2020 13:31:26 -0300 Subject: [pos] improve payment processing - cancel orders that have been abandoned and will not be paid - show unpaid orders in history (in case one makes it through) - set deadlines when creating orders in case it helps with enabling refunds --- .../merchantpos/history/MerchantHistoryFragment.kt | 60 +--------------------- 1 file changed, 1 insertion(+), 59 deletions(-) (limited to 'merchant-terminal/src/main/java/net/taler/merchantpos/history/MerchantHistoryFragment.kt') diff --git a/merchant-terminal/src/main/java/net/taler/merchantpos/history/MerchantHistoryFragment.kt b/merchant-terminal/src/main/java/net/taler/merchantpos/history/MerchantHistoryFragment.kt index 25805dc..596b8b0 100644 --- a/merchant-terminal/src/main/java/net/taler/merchantpos/history/MerchantHistoryFragment.kt +++ b/merchant-terminal/src/main/java/net/taler/merchantpos/history/MerchantHistoryFragment.kt @@ -20,34 +20,25 @@ import android.os.Bundle import android.util.Log import android.view.LayoutInflater import android.view.View -import android.view.View.GONE -import android.view.View.VISIBLE import android.view.ViewGroup -import android.widget.ImageButton -import android.widget.TextView import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.lifecycle.Observer import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.DividerItemDecoration.VERTICAL import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView.Adapter -import androidx.recyclerview.widget.RecyclerView.ViewHolder import com.google.android.material.snackbar.BaseTransientBottomBar.LENGTH_LONG import com.google.android.material.snackbar.Snackbar import kotlinx.android.synthetic.main.fragment_merchant_history.* import net.taler.common.exhaustive import net.taler.common.navigate -import net.taler.common.toRelativeTime import net.taler.merchantlib.OrderHistoryEntry import net.taler.merchantpos.MainViewModel import net.taler.merchantpos.R -import net.taler.merchantpos.history.HistoryItemAdapter.HistoryItemViewHolder import net.taler.merchantpos.history.MerchantHistoryFragmentDirections.Companion.actionGlobalMerchantSettings import net.taler.merchantpos.history.MerchantHistoryFragmentDirections.Companion.actionNavHistoryToRefundFragment -import java.util.ArrayList -private interface RefundClickListener { +internal interface RefundClickListener { fun onRefundClicked(item: OrderHistoryEntry) } @@ -115,52 +106,3 @@ class MerchantHistoryFragment : Fragment(), RefundClickListener { } } - -private class HistoryItemAdapter(private val listener: RefundClickListener) : - Adapter() { - - private val items = ArrayList() - - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HistoryItemViewHolder { - val v = - LayoutInflater.from(parent.context).inflate(R.layout.list_item_history, parent, false) - return HistoryItemViewHolder(v) - } - - override fun getItemCount() = items.size - - override fun onBindViewHolder(holder: HistoryItemViewHolder, position: Int) { - holder.bind(items[position]) - } - - fun setData(items: List) { - this.items.clear() - this.items.addAll(items) - this.notifyDataSetChanged() - } - - private inner class HistoryItemViewHolder(private val v: View) : ViewHolder(v) { - - private val orderSummaryView: TextView = v.findViewById(R.id.orderSummaryView) - private val orderAmountView: TextView = v.findViewById(R.id.orderAmountView) - private val orderTimeView: TextView = v.findViewById(R.id.orderTimeView) - private val orderIdView: TextView = v.findViewById(R.id.orderIdView) - private val refundButton: ImageButton = v.findViewById(R.id.refundButton) - - fun bind(item: OrderHistoryEntry) { - orderSummaryView.text = item.summary - val amount = item.amount - orderAmountView.text = amount.toString() - orderIdView.text = v.context.getString(R.string.history_ref_no, item.orderId) - orderTimeView.text = item.timestamp.ms.toRelativeTime(v.context) - if (item.refundable) { - refundButton.visibility = VISIBLE - refundButton.setOnClickListener { listener.onRefundClicked(item) } - } else { - refundButton.visibility = GONE - } - } - - } - -} -- cgit v1.2.3