X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2FMainModel.java;h=44a6f303be75fac7d193b16cee33400af49d5e9b;hb=728e2e597258e913891038ae72c2bd71dae850f6;hp=6d640d622d5bca660f578cd14b0b8e212f67fd34;hpb=2d85826653a8ba3e619afc83c5c91216a7fdb0b6;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/MainModel.java b/app/src/main/java/net/ktnx/mobileledger/ui/MainModel.java index 6d640d62..44a6f303 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/MainModel.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/MainModel.java @@ -124,11 +124,11 @@ public class MainModel extends ViewModel { return merged; } - private void setLastUpdateStamp() { + private void setLastUpdateStamp(long transactionCount) { debug("db", "Updating transaction value stamp"); Date now = new Date(); profile.setLongOption(MLDB.OPT_LAST_SCRAPE, now.getTime()); - Data.lastUpdateLiveData.postValue(now); + Data.lastUpdateDate.postValue(now); } public void scheduleTransactionListReload() { UpdateTransactionsTask task = new UpdateTransactionsTask(); @@ -147,8 +147,9 @@ public class MainModel extends ViewModel { public LiveData> getDisplayedTransactions() { return displayedTransactions; } - public void setDisplayedTransactions(List list) { + public void setDisplayedTransactions(List list, int transactionCount) { displayedTransactions.postValue(list); + Data.lastUpdateTransactionCount.postValue(transactionCount); } public SimpleDate getFirstTransactionDate() { return firstTransactionDate; @@ -227,7 +228,7 @@ public class MainModel extends ViewModel { List accounts, List transactions) { profile.storeAccountAndTransactionListAsync(accounts, transactions); - setLastUpdateStamp(); + setLastUpdateStamp(transactions.size()); mergeAccountListFromWeb(accounts); updateDisplayedAccounts(); @@ -270,6 +271,7 @@ public class MainModel extends ViewModel { public void clearUpdateError() { updateError.postValue(null); } + public void clearAccounts() { displayedAccounts.postValue(new ArrayList<>()); } public void clearTransactions() { displayedTransactions.setValue(new ArrayList<>()); } @@ -361,15 +363,20 @@ public class MainModel extends ViewModel { Logger.debug("dFilter", String.format(Locale.US, "entered synchronized block (about to examine %d accounts)", list.size())); newDisplayed.add(new AccountListItem()); // header + + int count = 0; for (LedgerAccount a : list) { if (isInterrupted()) return; - if (a.isVisible()) + if (a.isVisible()) { newDisplayed.add(new AccountListItem(a)); + count++; + } } if (!isInterrupted()) { model.displayedAccounts.postValue(newDisplayed); + Data.lastUpdateAccountCount.postValue(count); } Logger.debug("dFilter", "left synchronized block"); }