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-20 16:03:48 +0300
committerdesperateCoder <echotodevnull@gmail.com>2020-12-20 16:03:48 +0300
commite24d0ff940af79cce340c45d0ffb30c1ee0ac0e0 (patch)
tree9967607bba722bd1f814a74d23280ba22e08409e
parent5dafd60cb72f55087cb454af3e7ec3ea57943aa3 (diff)
#597 filter widget: notify widgets on project change
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/model/widget/filter/FilterWidget.java1
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/widgets/filter/FilterWidgetDao.java2
3 files changed, 5 insertions, 1 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/widget/filter/FilterWidget.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/widget/filter/FilterWidget.java
index ed8b7efa8..d6e7d4b08 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/model/widget/filter/FilterWidget.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/widget/filter/FilterWidget.java
@@ -137,5 +137,6 @@ public class FilterWidget {
STACK,
LABEL,
USER,
+ PROJECT,
}
}
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 6be24bacc..846b35da7 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
@@ -1383,7 +1383,8 @@ public class DataBaseAdapter {
assignment.setStatus(DBStatus.UP_TO_DATE.getId());
assignment.setCardId(card.getLocalId());
assignment.setProjectId(localProjectId);
- db.getJoinCardWithOcsProjectDao().insert(assignment);
+ long id = db.getJoinCardWithOcsProjectDao().insert(assignment);
+ notifyFilterWidgetsAboutChangedEntity(FilterWidget.EChangedEntityType.PROJECT, id);
}
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/widgets/filter/FilterWidgetDao.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/widgets/filter/FilterWidgetDao.java
index d30863f14..23dcbea0f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/widgets/filter/FilterWidgetDao.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/widgets/filter/FilterWidgetDao.java
@@ -31,11 +31,13 @@ public interface FilterWidgetDao extends GenericDao<FilterWidget> {
"LEFT JOIN FilterWidgetBoard b ON a.id = b.filterAccountId " +
"LEFT JOIN FilterWidgetStack s ON b.id = s.filterBoardId " +
"LEFT JOIN FilterWidgetUser u ON a.id = u.filterAccountId " +
+ "LEFT JOIN FilterWidgetProject p ON a.id = p.filterAccountId " +
"LEFT JOIN FilterWidgetLabel l ON b.id = l.filterBoardId " +
"WHERE (:changedEntityType = 'ACCOUNT' AND (a.accountId = :localIdOfChangedEntity OR a.accountId IS NULL)) " +
"OR (:changedEntityType = 'BOARD' AND (b.boardId = :localIdOfChangedEntity OR b.boardId IS NULL)) " +
"OR (:changedEntityType = 'STACK' AND (s.stackId = :localIdOfChangedEntity OR s.stackId IS NULL)) " +
"OR (:changedEntityType = 'USER' AND (u.userId = :localIdOfChangedEntity OR u.userId IS NULL)) " +
+ "OR (:changedEntityType = 'PROJECT' AND (p.projectId = :localIdOfChangedEntity OR p.projectId IS NULL)) " +
"OR (:changedEntityType = 'LABEL' AND (l.labelId = :localIdOfChangedEntity OR l.labelId IS NULL)) "
)
List<EWidgetType> getChangedListTypesByEntity(String changedEntityType, Long localIdOfChangedEntity);