diff options
author | desperateCoder <echotodevnull@gmail.com> | 2021-01-31 15:44:59 +0300 |
---|---|---|
committer | Niedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com> | 2021-01-31 16:19:16 +0300 |
commit | b758780368949c96bd46fbefd6f670fa9be07ed9 (patch) | |
tree | dfb4827d194d47ad6237a24de88055a89dd61d11 /app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java | |
parent | a01cfebe2fcd4985b1bf97376f5f739f8b1eb34d (diff) |
#800 add cards of non-shared boards to result list
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, 12 insertions, 0 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 5aa996603..82a9e5caa 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 @@ -1294,6 +1294,7 @@ public class DataBaseAdapter { } } + handleWidgetTypeExtras(filterWidget, cardsResult); filterRelationsForCard(cardsResult); @@ -1318,6 +1319,17 @@ public class DataBaseAdapter { return result; } + private void handleWidgetTypeExtras(FilterWidget filterWidget, List<FullCard> cardsResult) { + if (filterWidget.getWidgetType() == EWidgetType.UPCOMING_WIDGET) { + // 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()); + } + cardsResult.addAll(db.getCardDao().getFullCardsForNonSharedBoardsDirectly(accountIds)); + } + } + public List<FilterWidget> getFilterWidgetsByType(EWidgetType type) { List<Integer> ids = db.getFilterWidgetDao().getFilterWidgetIdsByType(type.getId()); List<FilterWidget> widgets = new ArrayList<>(ids.size()); |