From 148faa00e48eb21945c13138d87b0af52ac43844 Mon Sep 17 00:00:00 2001 From: m2049r <miner2049er@women-at-work.org> Date: Sun, 5 Sep 2021 21:24:53 +0200 Subject: [PATCH] minor fixes for confirmations indicator (#782) --- .../xmrwallet/layout/TransactionInfoAdapter.java | 10 ++++------ .../com/m2049r/xmrwallet/model/TransactionInfo.java | 6 ++++++ app/src/main/res/layout/item_transaction.xml | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/m2049r/xmrwallet/layout/TransactionInfoAdapter.java b/app/src/main/java/com/m2049r/xmrwallet/layout/TransactionInfoAdapter.java index 835c3a14..da218804 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/layout/TransactionInfoAdapter.java +++ b/app/src/main/java/com/m2049r/xmrwallet/layout/TransactionInfoAdapter.java @@ -49,8 +49,6 @@ import java.util.TimeZone; import timber.log.Timber; public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfoAdapter.ViewHolder> { - private final static int MAX_CONFIRMATIONS = 10; - private final static SimpleDateFormat DATETIME_FORMATTER = new SimpleDateFormat("yyyy-MM-dd HH:mm"); private final int outboundColour; @@ -81,7 +79,7 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo } public boolean needsTransactionUpdateOnNewBlock() { - return (infoItems.size() > 0) && (infoItems.get(0).confirmations < MAX_CONFIRMATIONS); + return (infoItems.size() > 0) && !infoItems.get(0).isConfirmed(); } private static class TransactionInfoDiff extends DiffCallback<TransactionInfo> { @@ -169,7 +167,7 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo tvPaymentId = itemView.findViewById(R.id.tx_paymentid); tvDateTime = itemView.findViewById(R.id.tx_datetime); pbConfirmations = itemView.findViewById(R.id.pbConfirmations); - pbConfirmations.setMax(MAX_CONFIRMATIONS); + pbConfirmations.setMax(TransactionInfo.CONFIRMATION); tvConfirmations = itemView.findViewById(R.id.tvConfirmations); } @@ -228,9 +226,9 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo tvConfirmations.setVisibility(View.GONE); } else if (infoItem.direction == TransactionInfo.Direction.Direction_In) { setTxColour(inboundColour); - final int confirmations = (int) infoItem.confirmations; - if (confirmations <= MAX_CONFIRMATIONS) { + if (!infoItem.isConfirmed()) { pbConfirmations.setVisibility(View.VISIBLE); + final int confirmations = (int) infoItem.confirmations; pbConfirmations.setProgressCompat(confirmations, true); final String confCount = Integer.toString(confirmations); tvConfirmations.setText(confCount); diff --git a/app/src/main/java/com/m2049r/xmrwallet/model/TransactionInfo.java b/app/src/main/java/com/m2049r/xmrwallet/model/TransactionInfo.java index 17af6803..4b904e16 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/model/TransactionInfo.java +++ b/app/src/main/java/com/m2049r/xmrwallet/model/TransactionInfo.java @@ -29,6 +29,8 @@ import lombok.RequiredArgsConstructor; // this is not the TransactionInfo from the API as that is owned by the TransactionHistory // this is a POJO for the TransactionInfoAdapter public class TransactionInfo implements Parcelable, Comparable<TransactionInfo> { + public static final int CONFIRMATION = 10; // blocks + @RequiredArgsConstructor public enum Direction { Direction_In(0), @@ -98,6 +100,10 @@ public class TransactionInfo implements Parcelable, Comparable<TransactionInfo> this.transfers = transfers; } + public boolean isConfirmed() { + return confirmations >= CONFIRMATION; + } + public String getDisplayLabel() { if (subaddressLabel.isEmpty() || (Subaddress.DEFAULT_LABEL_FORMATTER.matcher(subaddressLabel).matches())) return ("#" + addressIndex); diff --git a/app/src/main/res/layout/item_transaction.xml b/app/src/main/res/layout/item_transaction.xml index c9e55d71..e2107019 100644 --- a/app/src/main/res/layout/item_transaction.xml +++ b/app/src/main/res/layout/item_transaction.xml @@ -48,7 +48,7 @@ <TextView android:id="@+id/tvConfirmations" - style="@style/MoneroText" + style="@style/MoneroText.Small" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"