X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fasync%2FTransactionAccumulator.java;h=1d86dbf629028ca417f1eee8587c8e704230c25a;hb=ba5500ffec0ae5d85e626d210ac2ced957f83bc7;hp=62b962748b9bab4e3a0deda55e1fe77f2cc34bc9;hpb=bae2aa9ee13d2503282ab98618f0ae9a6822b8be;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/async/TransactionAccumulator.java b/app/src/main/java/net/ktnx/mobileledger/async/TransactionAccumulator.java index 62b96274..1d86dbf6 100644 --- a/app/src/main/java/net/ktnx/mobileledger/async/TransactionAccumulator.java +++ b/app/src/main/java/net/ktnx/mobileledger/async/TransactionAccumulator.java @@ -17,27 +17,21 @@ package net.ktnx.mobileledger.async; -import net.ktnx.mobileledger.model.Data; import net.ktnx.mobileledger.model.LedgerTransaction; import net.ktnx.mobileledger.model.TransactionListItem; import net.ktnx.mobileledger.ui.MainModel; import net.ktnx.mobileledger.utils.SimpleDate; import java.util.ArrayList; -import java.util.Date; public class TransactionAccumulator { private final ArrayList list = new ArrayList<>(); - private final MainModel model; private final String boldAccountName; private SimpleDate earliestDate, latestDate; private SimpleDate lastDate; - private boolean done; - public TransactionAccumulator(MainModel model) { - this.model = model; - - boldAccountName = model.getAccountFilter() - .getValue(); + private int transactionCount = 0; + public TransactionAccumulator(String boldAccountName) { + this.boldAccountName = boldAccountName; list.add(new TransactionListItem()); // head item } @@ -45,8 +39,7 @@ public class TransactionAccumulator { put(transaction, transaction.getDate()); } public void put(LedgerTransaction transaction, SimpleDate date) { - if (done) - throw new IllegalStateException("Can't put new items after done()"); + transactionCount++; // first item if (null == latestDate) @@ -64,10 +57,8 @@ public class TransactionAccumulator { lastDate = date; } - public void done() { - done = true; - model.setDisplayedTransactions(list); - Data.lastUpdateDate.postValue(new Date()); + public void publishResults(MainModel model) { + model.setDisplayedTransactions(list, transactionCount); model.setFirstTransactionDate(earliestDate); model.setLastTransactionDate(latestDate); }