diff options
author | desperateCoder <echotodevnull@gmail.com> | 2020-12-20 16:03:48 +0300 |
---|---|---|
committer | desperateCoder <echotodevnull@gmail.com> | 2020-12-20 16:03:48 +0300 |
commit | e24d0ff940af79cce340c45d0ffb30c1ee0ac0e0 (patch) | |
tree | 9967607bba722bd1f814a74d23280ba22e08409e /app/src/main/java/it/niedermann/nextcloud | |
parent | 5dafd60cb72f55087cb454af3e7ec3ea57943aa3 (diff) |
#597 filter widget: notify widgets on project change
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud')
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); |