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>2019-10-26 20:45:55 +0300
committerdesperateCoder <echotodevnull@gmail.com>2019-10-26 20:45:55 +0300
commit0496077c9b9d8fe882d7e424d23e4e3aa4b04ad5 (patch)
treed76d0fa5dcc28ce1cca794e29dc070c50fe8a875 /app/src/main
parent71bcdcf689126c090dce8518fbb347ad8c4520f1 (diff)
closes #196 sync ACL after being offline
Diffstat (limited to 'app/src/main')
-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/AccessControlDao.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AccessControlDataProvider.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java6
4 files changed, 13 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 bbe2c4e1b..7778446a4 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
@@ -582,4 +582,7 @@ public class DataBaseAdapter {
public List<AccessControl> getLocallyChangedAccessControl(long accountId, long boardId) {
return db.getAccessControlDao().getLocallyChangedAccessControl(accountId, boardId);
}
+ public List<Long> getBoardIDsOfLocallyChangedAccessControl(long accountId) {
+ return db.getAccessControlDao().getBoardIDsOfLocallyChangedAccessControl(accountId);
+ }
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/AccessControlDao.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/AccessControlDao.java
index 928b8177c..f4fbeb8c7 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/AccessControlDao.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/AccessControlDao.java
@@ -22,4 +22,7 @@ public interface AccessControlDao extends GenericDao<AccessControl> {
@Query("SELECT * FROM AccessControl WHERE accountId = :accountId and boardId = :boardId and (status<>1 or id is null or lastModified <> lastModifiedLocal)")
List<AccessControl> getLocallyChangedAccessControl(long accountId, long boardId);
+
+ @Query("SELECT distinct boardId FROM AccessControl WHERE accountId = :accountId and (status<>1 or id is null or lastModified <> lastModifiedLocal)")
+ List<Long> getBoardIDsOfLocallyChangedAccessControl(long accountId);
} \ No newline at end of file
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AccessControlDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AccessControlDataProvider.java
index a9ee5c0db..98d91dcba 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AccessControlDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AccessControlDataProvider.java
@@ -84,6 +84,6 @@ public class AccessControlDataProvider extends AbstractSyncDataProvider<AccessCo
@Override
public List<AccessControl> getAllChangedFromDB(DataBaseAdapter dataBaseAdapter, long accountId, Date lastSync) {
- return dataBaseAdapter.getLocallyChangedAccessControl(accountId, board.getId());
+ return dataBaseAdapter.getLocallyChangedAccessControl(accountId, board.getLocalId());
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java
index d19c950ec..dabcbcbe7 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java
@@ -1,5 +1,6 @@
package it.niedermann.nextcloud.deck.persistence.sync.helpers.providers;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
@@ -105,6 +106,11 @@ public class BoardDataProvider extends AbstractSyncDataProvider<FullBoard> {
syncHelper.doUpSyncFor(new LabelDataProvider(this, board, Collections.singletonList(label)));
}
+ List<Long> localBoardIDsWithChangedACL = dataBaseAdapter.getBoardIDsOfLocallyChangedAccessControl(accountId);
+ for (Long boardId : localBoardIDsWithChangedACL) {
+ syncHelper.doUpSyncFor(new AccessControlDataProvider(this, dataBaseAdapter.getFullBoardByLocalIdDirectly(accountId, boardId) ,new ArrayList<>()));
+ }
+
Set<Long> syncedBoards = new HashSet<>();
List<FullStack> locallyChangedStacks = dataBaseAdapter.getLocallyChangedStacks(accountId);
if (locallyChangedStacks.size() < 1) {