Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordesperateCoder <echotodevnull@gmail.com>2020-12-15 12:03:49 +0300
committerdesperateCoder <echotodevnull@gmail.com>2020-12-15 12:03:49 +0300
commitf09f9da6b4b804ca7630cafe5508b21bf8b48a9b (patch)
treeae087099f05465784b4e8b22924b567432e9a4ea /app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java
parentb8c2247c7a0dbc90eb779bff32bb7ef1b2dbd34a (diff)
#597 filter widget: fix filter algorithm: stacks for board
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.java17
1 files changed, 10 insertions, 7 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 919ee7431..59d276f60 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
@@ -1162,8 +1162,6 @@ public class DataBaseAdapter {
cardsResult.addAll(db.getCardDao().getFilteredFullCardsForStackDirectly(getQueryForFilter(filter, null, null)));
} else {
for (FilterWidgetAccount account : filterWidget.getAccounts()) {
- List<Long> accounts = new ArrayList<>();
- accounts.add(account.getId());
filter.setNoAssignedUser(account.isIncludeNoUser());
List<User> users = new ArrayList<>();
if (!account.getUsers().isEmpty()) {
@@ -1177,19 +1175,24 @@ public class DataBaseAdapter {
if (!account.getBoards().isEmpty()) {
for (FilterWidgetBoard board : account.getBoards()) {
filter.setNoAssignedLabel(board.isIncludeNoLabel());
- List<Long> stacks = new ArrayList<>();
+ List<Long> stacks;
for (FilterWidgetLabel label : board.getLabels()) {
Label l = new Label();
l.setLocalId(label.getLabelId());
filter.addLabel(l);
}
- for (FilterWidgetStack stack : board.getStacks()) {
- stacks.add(stack.getStackId());
+ if (board.getStacks().isEmpty()) {
+ stacks = db.getStackDao().getLocalStackIdsByLocalBoardIdDirectly(board.getBoardId());
+ } else {
+ stacks = new ArrayList<>();
+ for (FilterWidgetStack stack : board.getStacks()) {
+ stacks.add(stack.getStackId());
+ }
}
- cardsResult.addAll(db.getCardDao().getFilteredFullCardsForStackDirectly(getQueryForFilter(filter, accounts, stacks)));
+ cardsResult.addAll(db.getCardDao().getFilteredFullCardsForStackDirectly(getQueryForFilter(filter, Collections.singletonList(account.getId()), stacks)));
}
} else {
- cardsResult.addAll(db.getCardDao().getFilteredFullCardsForStackDirectly(getQueryForFilter(filter, accounts, null)));
+ cardsResult.addAll(db.getCardDao().getFilteredFullCardsForStackDirectly(getQueryForFilter(filter, Collections.singletonList(account.getId()), null)));
}
}
}