diff options
author | desperateCoder <echotodevnull@gmail.com> | 2021-01-31 16:03:50 +0300 |
---|---|---|
committer | Niedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com> | 2021-01-31 16:19:16 +0300 |
commit | ef1ee351c210f61990875244385c171d2da5c73a (patch) | |
tree | 50943e02b8f6b09db754b08b24b46b137204f3ef | |
parent | 13958dc7e5c380210a0c692751ea1423a53f8d0f (diff) |
#800 notify on AccessControl change
2 files changed, 4 insertions, 1 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 82a9e5caa..c3d77f3f8 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 @@ -725,6 +725,7 @@ public class DataBaseAdapter { @WorkerThread public long createAccessControl(long accountId, @NonNull AccessControl entity) { entity.setAccountId(accountId); + notifyFilterWidgetsAboutChangedEntity(FilterWidget.EChangedEntityType.ACCOUNT, accountId); return db.getAccessControlDao().insert(entity); } @@ -743,6 +744,7 @@ public class DataBaseAdapter { public void updateAccessControl(AccessControl entity, boolean setStatus) { markAsEditedIfNeeded(entity, setStatus); + notifyFilterWidgetsAboutChangedEntity(FilterWidget.EChangedEntityType.ACCOUNT, entity.getAccountId()); db.getAccessControlDao().update(entity); } @@ -753,6 +755,7 @@ public class DataBaseAdapter { } else { db.getAccessControlDao().delete(entity); } + notifyFilterWidgetsAboutChangedEntity(FilterWidget.EChangedEntityType.ACCOUNT, entity.getAccountId()); } public LiveData<FullBoard> getFullBoardById(Long accountId, Long localId) { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/CardDao.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/CardDao.java index 89375788c..fe703e886 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/CardDao.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/CardDao.java @@ -88,7 +88,7 @@ public interface CardDao extends GenericDao<Card> { @Transaction @Query("SELECT * FROM card c WHERE " + - "exists(select 1 from Stack s join Board b on s.boardId = b.localId where s.localId = c.stackId and not exists(select 1 from AccessControl ac where ac.boardId = b.localId)) " + + "exists(select 1 from Stack s join Board b on s.boardId = b.localId where s.localId = c.stackId and not exists(select 1 from AccessControl ac where ac.boardId = b.localId and status <> 3)) " + "and (coalesce(:accountIds, null) is null or accountId in (:accountIds)) " + "and status <> 3") List<FullCard> getFullCardsForNonSharedBoardsDirectly(List<Long> accountIds); |