1
0
mirror of https://github.com/owncloud/android-library.git synced 2025-06-07 16:06:08 +00:00

Upload file operation [WIP]

This commit is contained in:
davigonz 2018-05-28 15:01:14 +02:00
parent 81d3d832e9
commit 81cea2788d
2 changed files with 22 additions and 4 deletions

View File

@ -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.operations.RemoteOperation;
import java.io.File;
import java.util.concurrent.atomic.AtomicBoolean;
import at.bitfire.dav4android.DavOCResource;
import okhttp3.MediaType;
import okhttp3.RequestBody;
@ -41,18 +43,27 @@ public class UploadRemoteFileOperation extends RemoteOperation<Void> {
private String mRemotePath;
private String mMimeType;
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) {
super(ocContext);
mFileToUpload = new File(localPath);
mRemotePath = remotePath.replaceAll("^/+", ""); //Delete leading slashes
mMimeType = mimetype;
mMimeType = mimeType;
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
public Result exec() {
@ -80,4 +91,12 @@ public class UploadRemoteFileOperation extends RemoteOperation<Void> {
return new Result(e);
}
}
public void cancel() {
synchronized (mCancellationRequested) {
mCancellationRequested.set(true);
if (mPutMethod != null)
mPutMethod.abort();
}
}
}

View File

@ -194,5 +194,4 @@ public class UploadRemoteFileOperation extends RemoteOperation {
mPutMethod.abort();
}
}
}
}