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:
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AttachmentDataProvider.java')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/AttachmentDataProvider.java41
1 files changed, 15 insertions, 26 deletions
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 184185fb6..4a9688b3c 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
@@ -1,30 +1,30 @@
package it.niedermann.nextcloud.deck.persistence.sync.helpers.providers;
-import android.content.ContentResolver;
import android.net.Uri;
-import android.webkit.MimeTypeMap;
import java.io.File;
import java.util.Date;
import java.util.List;
-import it.niedermann.nextcloud.deck.DeckLog;
import it.niedermann.nextcloud.deck.api.IResponseCallback;
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.Stack;
-import it.niedermann.nextcloud.deck.model.full.FullCard;
import it.niedermann.nextcloud.deck.persistence.sync.adapters.ServerAdapter;
import it.niedermann.nextcloud.deck.persistence.sync.adapters.db.DataBaseAdapter;
public class AttachmentDataProvider extends AbstractSyncDataProvider<Attachment> {
- private FullCard card;
+ private Card card;
+ private Board board;
+ private Stack stack;
private List<Attachment> attachments;
- public AttachmentDataProvider(AbstractSyncDataProvider<?> parent, FullCard card, List<Attachment> attachments) {
+ public AttachmentDataProvider(AbstractSyncDataProvider<?> parent, Board board, Stack stack, Card card, List<Attachment> attachments) {
super(parent);
+ this.board = board;
+ this.stack = stack;
this.card = card;
this.attachments = attachments;
}
@@ -41,13 +41,13 @@ public class AttachmentDataProvider extends AbstractSyncDataProvider<Attachment>
@Override
public long createInDB(DataBaseAdapter dataBaseAdapter, long accountId, Attachment attachment) {
- attachment.setCardId(card.getCard().getLocalId());
+ attachment.setCardId(card.getLocalId());
return dataBaseAdapter.createAttachment(accountId, attachment);
}
@Override
public void updateInDB(DataBaseAdapter dataBaseAdapter, long accountId, Attachment attachment, boolean setStatus) {
- attachment.setCardId(card.getCard().getLocalId());
+ attachment.setCardId(card.getLocalId());
dataBaseAdapter.updateAttachment(accountId, attachment, setStatus);
}
@@ -64,37 +64,26 @@ public class AttachmentDataProvider extends AbstractSyncDataProvider<Attachment>
@Override
public void createOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<Attachment> responder, Attachment entity) {
- Card card = dataBaseAdapter.getCardByLocalIdDirectly(accountId, entity.getCardId());
- Stack stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getStackId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
-
- ContentResolver cR = dataBaseAdapter.getContext().getContentResolver();
- MimeTypeMap mime = MimeTypeMap.getSingleton();
Uri uri = Uri.fromFile(new File(entity.getLocalPath()));
- String type = mime.getExtensionFromMimeType(cR.getType(uri));
- serverAdapter.uploadAttachment(board.getId(), stack.getId(), card.getId(), type, uri, new IResponseCallback<Attachment>(dataBaseAdapter.readAccountDirectly(accountId)) {
- @Override
- public void onResponse(Attachment response) {
- DeckLog.log("uploading " + uri.getPath() + " successful.");
- }
- });
+ String type = Attachment.getMimetypeForUri(dataBaseAdapter.getContext(), uri);
+ serverAdapter.uploadAttachment(board.getId(), stack.getId(), card.getId(), type, uri, responder);
}
@Override
public void updateOnServer(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, IResponseCallback<Attachment> callback, Attachment entity) {
- //TODO: implement
+ Uri uri = Uri.fromFile(new File(entity.getLocalPath()));
+ String type = Attachment.getMimetypeForUri(dataBaseAdapter.getContext(), uri);
+ serverAdapter.updateAttachment(board.getId(), stack.getId(), card.getId(), entity.getId(), type, uri, callback);
+
}
@Override
public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, Attachment entity, DataBaseAdapter dataBaseAdapter) {
- Card card = dataBaseAdapter.getCardByLocalIdDirectly(accountId, entity.getCardId());
- Stack stack = dataBaseAdapter.getStackByLocalIdDirectly(card.getStackId());
- Board board = dataBaseAdapter.getBoardByLocalIdDirectly(stack.getBoardId());
serverAdapter.deleteAttachment(board.getId(), stack.getId(), card.getId(), entity.getId(), callback);
}
@Override
public List<Attachment> getAllChangedFromDB(DataBaseAdapter dataBaseAdapter, long accountId, Date lastSync) {
- return null;
+ return dataBaseAdapter.getLocallyChangedAttachmentsByLocalCardIdDirectly(accountId, card.getLocalId());
}
}