]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/async/TransactionAccumulator.java
Room-based profile management
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / async / TransactionAccumulator.java
index 1b96425681642a25580c13c7a8d2518e035051ae..89fa2edd19d84b6c4f7e318980e6bde1a7739903 100644 (file)
@@ -28,21 +28,25 @@ public class TransactionAccumulator {
     private final ArrayList<TransactionListItem> list = new ArrayList<>();
     private final MainModel model;
     private SimpleDate earliestDate, latestDate;
-    private SimpleDate lastDate = SimpleDate.today();
+    private SimpleDate lastDate;
     private boolean done;
     public TransactionAccumulator(MainModel model) {
         this.model = model;
+
+        list.add(new TransactionListItem());    // head item
     }
     public void put(LedgerTransaction transaction, SimpleDate date) {
         if (done)
             throw new IllegalStateException("Can't put new items after done()");
-        if (null == latestDate) {
+
+        // first item
+        if (null == latestDate)
             latestDate = date;
-            list.add(new TransactionListItem(date, SimpleDate.today().month != date.month));
-        }
         earliestDate = date;
 
         if (!date.equals(lastDate)) {
+            if (lastDate == null)
+                lastDate = SimpleDate.today();
             boolean showMonth = date.month != lastDate.month || date.year != lastDate.year;
             list.add(new TransactionListItem(date, showMonth));
         }