mirror of
https://github.com/owncloud/android-library.git
synced 2025-06-08 00:16:09 +00:00
Upload file operation [WIP]
This commit is contained in:
parent
81d3d832e9
commit
81cea2788d
@ -26,6 +26,8 @@ package com.owncloud.android.lib.refactor.operations.files;
|
|||||||
import com.owncloud.android.lib.refactor.OCContext;
|
import com.owncloud.android.lib.refactor.OCContext;
|
||||||
import com.owncloud.android.lib.refactor.operations.RemoteOperation;
|
import com.owncloud.android.lib.refactor.operations.RemoteOperation;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
|
|
||||||
import at.bitfire.dav4android.DavOCResource;
|
import at.bitfire.dav4android.DavOCResource;
|
||||||
import okhttp3.MediaType;
|
import okhttp3.MediaType;
|
||||||
import okhttp3.RequestBody;
|
import okhttp3.RequestBody;
|
||||||
@ -41,18 +43,27 @@ public class UploadRemoteFileOperation extends RemoteOperation<Void> {
|
|||||||
private String mRemotePath;
|
private String mRemotePath;
|
||||||
private String mMimeType;
|
private String mMimeType;
|
||||||
private String mFileLastModifTimestamp;
|
private String mFileLastModifTimestamp;
|
||||||
|
private String mRequiredEtag;
|
||||||
|
|
||||||
|
protected final AtomicBoolean mCancellationRequested = new AtomicBoolean(false);
|
||||||
|
|
||||||
|
|
||||||
public UploadRemoteFileOperation(OCContext ocContext, String localPath, String remotePath, String mimetype,
|
public UploadRemoteFileOperation(OCContext ocContext, String localPath, String remotePath, String mimeType,
|
||||||
String fileLastModifTimestamp) {
|
String fileLastModifTimestamp) {
|
||||||
super(ocContext);
|
super(ocContext);
|
||||||
|
|
||||||
mFileToUpload = new File(localPath);
|
mFileToUpload = new File(localPath);
|
||||||
mRemotePath = remotePath.replaceAll("^/+", ""); //Delete leading slashes
|
mRemotePath = remotePath.replaceAll("^/+", ""); //Delete leading slashes
|
||||||
mMimeType = mimetype;
|
mMimeType = mimeType;
|
||||||
mFileLastModifTimestamp = fileLastModifTimestamp;
|
mFileLastModifTimestamp = fileLastModifTimestamp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public UploadRemoteFileOperation(OCContext ocContext, String localPath, String remotePath, String mimeType,
|
||||||
|
String requiredEtag, String fileLastModifTimestamp) {
|
||||||
|
this(ocContext, localPath, remotePath, mimeType, fileLastModifTimestamp);
|
||||||
|
mRequiredEtag = requiredEtag;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result exec() {
|
public Result exec() {
|
||||||
|
|
||||||
@ -80,4 +91,12 @@ public class UploadRemoteFileOperation extends RemoteOperation<Void> {
|
|||||||
return new Result(e);
|
return new Result(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void cancel() {
|
||||||
|
synchronized (mCancellationRequested) {
|
||||||
|
mCancellationRequested.set(true);
|
||||||
|
if (mPutMethod != null)
|
||||||
|
mPutMethod.abort();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -194,5 +194,4 @@ public class UploadRemoteFileOperation extends RemoteOperation {
|
|||||||
mPutMethod.abort();
|
mPutMethod.abort();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user