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"