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-06-03 19:42:16 +0300
committerdesperateCoder <echotodevnull@gmail.com>2019-06-03 19:42:16 +0300
commite0d053378a7dc8f0deb6671db32414e6f81ccd22 (patch)
treee2cb34726fc95089dd2b31d685324ccac0cca08c /app/src/main/java/it
parent0368fdf7958d740700da3f967d64e795a772fc66 (diff)
upsync WIP
Diffstat (limited to 'app/src/main/java/it')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java12
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/CardDao.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/DataPropagationHelper.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/SyncHelper.java24
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AbstractSyncDataProvider.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AccessControlDataProvider.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AttachmentDataProvider.java6
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java10
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/CardDataProvider.java31
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/LabelDataProvider.java11
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/StackDataProvider.java16
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/UserDataProvider.java6
12 files changed, 84 insertions, 54 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 ddb8866cd..d64b17d86 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
@@ -217,6 +217,9 @@ public class DataBaseAdapter {
markAsDeletedIfNeeded(label, setStatus);
db.getLabelDao().update(label);
}
+ public void deleteLabelPhysically(Label label) {
+ db.getLabelDao().delete(label);
+ }
public WrappedLiveData<Account> createAccount(Account account) {
return LiveDataHelper.wrapInLiveData(() -> {
@@ -305,12 +308,15 @@ public class DataBaseAdapter {
db.getStackDao().update(stack);
}
+ public Card getCardByLocalIdDirectly(long accountId, long localCardId) {
+ return db.getCardDao().getCardByLocalIdDirectly(accountId, localCardId);
+ }
+
public LiveData<FullCard> getCardByLocalId(long accountId, long localCardId) {
return LiveDataHelper.interceptLiveData(db.getCardDao().getFullCardByLocalId(accountId, localCardId), this::readRelationsForCard);
}
-
- public Card getCardByLocalIdDirectly(long accountId, long localCardId) {
- return db.getCardDao().getCardByLocalIdDirectly(accountId, localCardId);
+ public List<FullCard> getLocallyChangedCardsDirectly(long accountId) {
+ return db.getCardDao().getLocallyChangedCardsDirectly(accountId);
}
public long createCard(long accountId, Card card) {
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 6c0c7dcf3..de18cf398 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
@@ -48,4 +48,8 @@ public interface CardDao extends GenericDao<Card> {
@Query("SELECT * FROM card WHERE accountId = :accountId and id = :remoteId")
Card getCardByRemoteIdDirectly(long accountId, long remoteId);
+
+ @Transaction
+ @Query("SELECT * FROM card WHERE accountId = :accountId and (status<>1 or id is null or lastModified <> lastModifiedLocal)")
+ List<FullCard> getLocallyChangedCardsDirectly(long accountId);
} \ No newline at end of file
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/DataPropagationHelper.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/DataPropagationHelper.java
index 2e329c973..47b346bb8 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/DataPropagationHelper.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/DataPropagationHelper.java
@@ -23,7 +23,7 @@ public class DataPropagationHelper {
entity.setLocalId(newID);
boolean connected = serverAdapter.hasInternetConnection();
if (connected) {
- provider.createOnServer(serverAdapter, accountId, new IResponseCallback<T>(new Account(accountId)) {
+ provider.createOnServer(serverAdapter, dataBaseAdapter, accountId, new IResponseCallback<T>(new Account(accountId)) {
@Override
public void onResponse(T response) {
applyUpdatesFromRemote(entity, response, accountId);
@@ -48,7 +48,7 @@ public class DataPropagationHelper {
provider.updateInDB(dataBaseAdapter, accountId, entity);
boolean connected = serverAdapter.hasInternetConnection();
if (connected) {
- provider.updateOnServer(serverAdapter, accountId, new IResponseCallback<T>(new Account(accountId)) {
+ provider.updateOnServer(serverAdapter, dataBaseAdapter, accountId, new IResponseCallback<T>(new Account(accountId)) {
@Override
public void onResponse(T response) {
callback.onResponse(entity);
@@ -81,7 +81,7 @@ public class DataPropagationHelper {
super.onError(throwable);
callback.onError(throwable);
}
- }, entity);
+ }, entity, dataBaseAdapter);
} else {
callback.onResponse(null);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/SyncHelper.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/SyncHelper.java
index 6f2b0fc19..31d4c9c0b 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/SyncHelper.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/SyncHelper.java
@@ -73,23 +73,21 @@ public class SyncHelper {
// Sync App -> Server
public <T extends IRemoteEntity> void doUpSyncFor(AbstractSyncDataProvider<T> provider){
- new Thread(() -> {
- List<T> allFromDB = provider.getAllFromDB(dataBaseAdapter, accountId, lastSync);
- if (allFromDB != null && !allFromDB.isEmpty()) {
- for (T entity : allFromDB) {
- if (entity.getId()!=null) {
- if (entity.getStatusEnum() == DBStatus.LOCAL_DELETED) {
- provider.deleteOnServer(serverAdapter, accountId, getDeleteCallback(provider, entity), entity);
- } else {
- provider.updateOnServer(serverAdapter, accountId, getUpdateCallback(provider, entity), entity);
- }
+ List<T> allFromDB = provider.getAllFromDB(dataBaseAdapter, accountId, lastSync);
+ if (allFromDB != null && !allFromDB.isEmpty()) {
+ for (T entity : allFromDB) {
+ if (entity.getId()!=null) {
+ if (entity.getStatusEnum() == DBStatus.LOCAL_DELETED) {
+ provider.deleteOnServer(serverAdapter, accountId, getDeleteCallback(provider, entity), entity, dataBaseAdapter);
} else {
- provider.createOnServer(serverAdapter, accountId, getUpdateCallback(provider, entity), entity);
+ provider.updateOnServer(serverAdapter, dataBaseAdapter, accountId, getUpdateCallback(provider, entity), entity);
}
+ } else {
+ provider.createOnServer(serverAdapter, dataBaseAdapter, accountId, getUpdateCallback(provider, entity), entity);
}
}
- provider.goDeeperForUpSync(this, dataBaseAdapter, responseCallback);
- }).start();
+ }
+ provider.goDeeperForUpSync(this, dataBaseAdapter, responseCallback);
}
private <T extends IRemoteEntity> IResponseCallback<Void> getDeleteCallback(AbstractSyncDataProvider<T> provider, T entity) {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AbstractSyncDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AbstractSyncDataProvider.java
index 2d2423cc5..d15df875a 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AbstractSyncDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AbstractSyncDataProvider.java
@@ -48,11 +48,11 @@ public abstract class AbstractSyncDataProvider<T extends IRemoteEntity> {
childDone(this, callback, true);
}
- public abstract void createOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<T> responder, T entity);
+ public abstract void createOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<T> responder, T entity);
- public abstract void updateOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<T> callback, T entity);
+ public abstract void updateOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<T> callback, T entity);
- public abstract void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, T entity);
+ public abstract void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, T entity, DataBaseAdapter dataBaseAdapter);
public void childDone(AbstractSyncDataProvider<?> child, IResponseCallback<Boolean> responseCallback, boolean syncChangedSomething) {
children.remove(child);
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 7ddcc5fc5..f612c3efa 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
@@ -53,12 +53,12 @@ public class AccessControlDataProvider extends AbstractSyncDataProvider<AccessCo
}
@Override
- public void createOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<AccessControl> responder, AccessControl entity) {
+ public void createOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<AccessControl> responder, AccessControl entity) {
//TODO: implement
}
@Override
- public void updateOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<AccessControl> callback, AccessControl entity) {
+ public void updateOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<AccessControl> callback, AccessControl entity) {
//TODO: implement
}
@@ -68,7 +68,7 @@ public class AccessControlDataProvider extends AbstractSyncDataProvider<AccessCo
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, AccessControl entity) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, AccessControl entity, DataBaseAdapter dataBaseAdapter) {
//TODO: implement
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AttachmentDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AttachmentDataProvider.java
index 2e6ca17de..74b5ad6a6 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AttachmentDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AttachmentDataProvider.java
@@ -49,17 +49,17 @@ public class AttachmentDataProvider extends AbstractSyncDataProvider<Attachment>
}
@Override
- public void createOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Attachment> responder, Attachment entity) {
+ public void createOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<Attachment> responder, Attachment entity) {
//TODO: implement
}
@Override
- public void updateOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Attachment> callback, Attachment entity) {
+ public void updateOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<Attachment> callback, Attachment entity) {
//TODO: implement
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, Attachment entity) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, Attachment entity, DataBaseAdapter dataBaseAdapter) {
//TODO: implement
}
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 0f4b0105c..02c42897f 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
@@ -76,15 +76,13 @@ public class BoardDataProvider extends AbstractSyncDataProvider<FullBoard> {
}
@Override
- public void createOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<FullBoard> responder, FullBoard entity) {
+ public void createOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<FullBoard> responder, FullBoard entity) {
serverAdapter.createBoard(entity.getBoard(), responder);
}
@Override
public List<FullBoard> getAllFromDB(DataBaseAdapter dataBaseAdapter, long accountId, Date lastSync) {
- return null;
- // TODO: reactivate for UpSync test
-// return dataBaseAdapter.getLocallyChangedBoards(accountId);
+ return dataBaseAdapter.getLocallyChangedBoards(accountId);
}
@Override
@@ -99,7 +97,7 @@ public class BoardDataProvider extends AbstractSyncDataProvider<FullBoard> {
}
@Override
- public void updateOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<FullBoard> callback, FullBoard entity) {
+ public void updateOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<FullBoard> callback, FullBoard entity) {
serverAdapter.updateBoard(entity.getBoard(), callback);
}
@@ -114,7 +112,7 @@ public class BoardDataProvider extends AbstractSyncDataProvider<FullBoard> {
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, FullBoard entity) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, FullBoard entity, DataBaseAdapter dataBaseAdapter) {
serverAdapter.deleteBoard(entity.getBoard(), callback);
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/CardDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/CardDataProvider.java
index 075845e75..51d3bc426 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/CardDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/CardDataProvider.java
@@ -9,6 +9,7 @@ import it.niedermann.nextcloud.deck.model.Attachment;
import it.niedermann.nextcloud.deck.model.Board;
import it.niedermann.nextcloud.deck.model.Card;
import it.niedermann.nextcloud.deck.model.Label;
+import it.niedermann.nextcloud.deck.model.Stack;
import it.niedermann.nextcloud.deck.model.User;
import it.niedermann.nextcloud.deck.model.full.FullCard;
import it.niedermann.nextcloud.deck.model.full.FullStack;
@@ -111,13 +112,25 @@ public class CardDataProvider extends AbstractSyncDataProvider<FullCard> {
}
@Override
- public void createOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<FullCard> responder, FullCard entity) {
+ public void createOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<FullCard> responder, FullCard entity) {
+ Board board = this.board;
+ Stack stack = this.stack == null ? null : this.stack.getStack();
+ if (board == null || stack == null){
+ stack = dataBaseAdapter.getStackByLocalIdDirectly(entity.getCard().getStackId());
+ board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
+ }
serverAdapter.createCard(board.getId(), stack.getId(), entity.getCard(), responder);
}
@Override
- public void updateOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<FullCard> callback, FullCard entity) {
- serverAdapter.updateCard(board.getId(), stack.getId(), entity.getCard(), callback);
+ public void updateOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<FullCard> callback, FullCard entity) {
+ Board board = this.board;
+ Stack stack = this.stack == null ? null : this.stack.getStack();
+ if (board == null || stack == null){
+ stack = dataBaseAdapter.getStackByLocalIdDirectly(entity.getCard().getStackId());
+ board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
+ }
+ serverAdapter.updateCard(board.getId(), entity.getCard().getStackId(), entity.getCard(), callback);
}
@Override
@@ -126,14 +139,20 @@ public class CardDataProvider extends AbstractSyncDataProvider<FullCard> {
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, FullCard entity) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, FullCard entity, DataBaseAdapter dataBaseAdapter) {
+
+ Board board = this.board;
+ Stack stack = this.stack == null ? null : this.stack.getStack();
+ if (board == null || stack == null){
+ stack = dataBaseAdapter.getStackByLocalIdDirectly(entity.getCard().getStackId());
+ board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
+ }
serverAdapter.deleteCard(board.getId(), stack.getId(), entity.getCard(), callback);
}
@Override
public List<FullCard> getAllFromDB(DataBaseAdapter dataBaseAdapter, long accountId, Date lastSync) {
- //TODO: implement
- return null;
+ return dataBaseAdapter.getLocallyChangedCardsDirectly(accountId);
}
@Override
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/LabelDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/LabelDataProvider.java
index d8a4b95c7..8cc122327 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/LabelDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/LabelDataProvider.java
@@ -46,28 +46,27 @@ public class LabelDataProvider extends AbstractSyncDataProvider<Label> {
}
@Override
- public void createOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Label> responder, Label entity) {
+ public void createOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<Label> responder, Label entity) {
serverAdapter.createLabel(board.getId(), entity, responder);
}
@Override
public void deleteInDB(DataBaseAdapter dataBaseAdapter, long accountId, Label label) {
- // TODO: implement
+ dataBaseAdapter.deleteLabelPhysically(label);
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, Label entity) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, Label entity, DataBaseAdapter dataBaseAdapter) {
serverAdapter.deleteLabel(board.getId(), entity, callback);
}
@Override
public List<Label> getAllFromDB(DataBaseAdapter dataBaseAdapter, long accountId, Date lastSync) {
- // TODO: implement
- return null;
+ return labels;
}
@Override
- public void updateOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Label> callback, Label entity) {
+ public void updateOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<Label> callback, Label entity) {
serverAdapter.updateLabel(board.getId(), entity, callback);
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/StackDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/StackDataProvider.java
index a28669d15..917c77e91 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/StackDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/StackDataProvider.java
@@ -4,6 +4,7 @@ import java.util.Date;
import java.util.List;
import it.niedermann.nextcloud.deck.api.IResponseCallback;
+import it.niedermann.nextcloud.deck.model.Board;
import it.niedermann.nextcloud.deck.model.Card;
import it.niedermann.nextcloud.deck.model.full.FullBoard;
import it.niedermann.nextcloud.deck.model.full.FullStack;
@@ -56,7 +57,7 @@ public class StackDataProvider extends AbstractSyncDataProvider<FullStack> {
}
@Override
- public void createOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<FullStack> responder, FullStack entity) {
+ public void createOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<FullStack> responder, FullStack entity) {
entity.getStack().setBoardId(board.getId());
serverAdapter.createStack(entity.getStack(), responder);
}
@@ -67,22 +68,27 @@ public class StackDataProvider extends AbstractSyncDataProvider<FullStack> {
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, FullStack entity) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, FullStack entity, DataBaseAdapter dataBaseAdapter) {
serverAdapter.deleteStack(entity.getStack(), callback);
}
@Override
public List<FullStack> getAllFromDB(DataBaseAdapter dataBaseAdapter, long accountId, Date lastSync) {
- return dataBaseAdapter.getLocallyChangedStacks(accountId);
+ List<FullStack> locallyChangedStacks = dataBaseAdapter.getLocallyChangedStacks(accountId);
+ for (FullStack locallyChangedStack : locallyChangedStacks) {
+ Board board = dataBaseAdapter.getBoardByLocalIdDirectly(locallyChangedStack.getStack().getBoardId());
+ locallyChangedStack.getStack().setBoardId(board.getId());
+ }
+ return locallyChangedStacks;
}
@Override
public void goDeeperForUpSync(SyncHelper syncHelper, DataBaseAdapter dataBaseAdapter, IResponseCallback<Boolean> callback) {
- // TODO: implement
+ syncHelper.doUpSyncFor(new CardDataProvider(this, null, null));
}
@Override
- public void updateOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<FullStack> callback, FullStack entity) {
+ public void updateOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<FullStack> callback, FullStack entity) {
serverAdapter.updateStack(entity.getStack(), callback);
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/UserDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/UserDataProvider.java
index 28dfbe2c2..baf1045e9 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/UserDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/UserDataProvider.java
@@ -47,7 +47,7 @@ public class UserDataProvider extends AbstractSyncDataProvider<User> {
}
@Override
- public void createOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<User> responder, User entity) {
+ public void createOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<User> responder, User entity) {
//TODO: implement
}
@@ -57,7 +57,7 @@ public class UserDataProvider extends AbstractSyncDataProvider<User> {
}
@Override
- public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, User entity) {
+ public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, User entity, DataBaseAdapter dataBaseAdapter) {
//TODO: implement
}
@@ -67,7 +67,7 @@ public class UserDataProvider extends AbstractSyncDataProvider<User> {
}
@Override
- public void updateOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<User> callback, User entity) {
+ public void updateOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<User> callback, User entity) {
//TODO: implement
}
}