X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fasync%2FRetrieveTransactionsTask.java;h=c4f55d0e7e6114caf66151ca71f276981eb31d16;hp=dfb1f74548a891e04a6c802c26b376be356aef0d;hb=31ddecc27155db9bf5f328335e55b6900c2a0030;hpb=c6fe580ac5a93cff593d95a0fe34bd6c2c7bddfc diff --git a/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java b/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java index dfb1f745..c4f55d0e 100644 --- a/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java +++ b/app/src/main/java/net/ktnx/mobileledger/async/RetrieveTransactionsTask.java @@ -170,9 +170,9 @@ public class RetrieveTransactionsTask L(String.format("found account: %s", acct_name)); lastAccount = profile.tryLoadAccount(db, acct_name); - if (lastAccount == null) { + if (lastAccount == null) lastAccount = new LedgerAccount(acct_name); - } + else lastAccount.removeAmounts(); profile.storeAccount(db, lastAccount); // make sure the parent account(s) are present, @@ -190,15 +190,16 @@ public class RetrieveTransactionsTask String aName = toAppend.pop(); LedgerAccount acc = new LedgerAccount(aName); acc.setHiddenByStar(lastAccount.isHiddenByStar()); - if (!onlyStarred || !acc.isHiddenByStar()) - accountList.add(acc); + if ((!onlyStarred || !acc.isHiddenByStar()) && + acc.isVisible(accountList)) accountList.add(acc); L(String.format("gap-filling with %s", aName)); accountNames.put(aName, null); profile.storeAccount(db, acc); } } - if (!onlyStarred || !lastAccount.isHiddenByStar()) + if ((!onlyStarred || !lastAccount.isHiddenByStar()) && + lastAccount.isVisible(accountList)) accountList.add(lastAccount); accountNames.put(acct_name, null);