diff options
author | desperateCoder <echotodevnull@gmail.com> | 2021-02-14 15:51:37 +0300 |
---|---|---|
committer | desperateCoder <echotodevnull@gmail.com> | 2021-02-14 15:51:37 +0300 |
commit | 9891fc39ffff0ab67d63c38037435e2746c05558 (patch) | |
tree | f4d95e33d9ee763a1dc935b6dd3cac362110336d /app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java | |
parent | b72131984a60982e3b59d8deb773b6dffe8e4ce9 (diff) |
fixes #882 no more archived cards for upcoming card widget
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java index 32ca0f175..e76f97075 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java @@ -1333,11 +1333,19 @@ public class DataBaseAdapter { cardsResult.remove(fullCard); } } - // https://github.com/stefan-niedermann/nextcloud-deck/issues/800 all cards within non-shared boards need to be included List<Long> accountIds = null; if (filterWidget.getAccounts() != null && !filterWidget.getAccounts().isEmpty()) { - accountIds = filterWidget.getAccounts().stream().map(a -> a.getAccountId()).collect(Collectors.toList()); + accountIds = filterWidget.getAccounts().stream().map(FilterWidgetAccount::getAccountId).collect(Collectors.toList()); + } + // https://github.com/stefan-niedermann/nextcloud-deck/issues/822 exclude archived cards and boards + List<Long> archivedStacks = db.getStackDao().getLocalStackIdsInArchivedBoardsByAccountIdsDirectly(accountIds); + for (Long archivedStack : archivedStacks) { + List<FullCard> archivedCards = cardsResult.stream() + .filter(c -> c.getCard().isArchived() || archivedStack.equals(c.getCard().getStackId())) + .collect(Collectors.toList()); + cardsResult.removeAll(archivedCards); } + // https://github.com/stefan-niedermann/nextcloud-deck/issues/800 all cards within non-shared boards need to be included cardsResult.addAll(db.getCardDao().getFullCardsForNonSharedBoardsWithDueDateForUpcomingCardsWidgetDirectly(accountIds)); } } |