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

Include more methods to custom dav connections + chunked uploads [WIP]

This commit is contained in:
davigonz 2018-06-22 09:30:08 +02:00
parent d013d93ac9
commit f218a60611
4 changed files with 42 additions and 24 deletions

@ -1 +1 @@
Subproject commit d519949bcc53896becb7ad92bc643938f189d04e
Subproject commit 922b22b4e1f40d72d54f5f47db02cd962f46acab

View File

@ -62,6 +62,22 @@ public abstract class DavMethod extends HttpBaseMethod {
return mDavResource.isCallAborted();
}
// Connection parameters
@Override
public void setReadTimeout(long readTimeout, TimeUnit timeUnit) {
mDavResource.setReadTimeout(readTimeout, timeUnit);
}
@Override
public void setConnectionTimeout(long connectionTimeout, TimeUnit timeUnit) {
mDavResource.setConnectionTimeout(connectionTimeout, timeUnit);
}
@Override
public void setFollowRedirects(boolean followRedirects) {
mDavResource.setFollowRedirects(followRedirects);
}
@Override
public void setRetryOnConnectionFailure(boolean retryOnConnectionFailure) {
mDavResource.setRetryOnConnectionFailure(retryOnConnectionFailure);

View File

@ -24,24 +24,15 @@
package com.owncloud.android.lib.resources.files;
import java.io.ByteArrayInputStream;
import java.io.File;
import com.owncloud.android.lib.common.OwnCloudClient;
import com.owncloud.android.lib.common.http.HttpUtils;
import com.owncloud.android.lib.common.http.methods.webdav.MkColMethod;
import com.owncloud.android.lib.common.network.WebdavUtils;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
import java.util.Random;
import org.apache.commons.httpclient.methods.PutMethod;
import com.owncloud.android.lib.common.OwnCloudClient;
import com.owncloud.android.lib.common.network.ChunkFromFileChannelRequestEntity;
import com.owncloud.android.lib.common.network.ProgressiveDataTransferer;
import com.owncloud.android.lib.common.network.WebdavUtils;
import com.owncloud.android.lib.common.operations.InvalidCharacterExceptionParser;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.lib.common.utils.Log_OC;
public class ChunkedUploadRemoteFileOperation extends UploadRemoteFileOperation {
@ -53,16 +44,17 @@ public class ChunkedUploadRemoteFileOperation extends UploadRemoteFileOperation
private static final String OC_CHUNK_X_OC_MTIME_HEADER = "X-OC-Mtime";
private static final String TAG = ChunkedUploadRemoteFileOperation.class.getSimpleName();
private long mTransferId;
public ChunkedUploadRemoteFileOperation(String storagePath, String remotePath, String mimeType,
String fileLastModifTimestamp) {
super(storagePath, remotePath, mimeType, fileLastModifTimestamp);
}
public ChunkedUploadRemoteFileOperation(
String storagePath, String remotePath, String mimeType, String requiredEtag,
String fileLastModifTimestamp
) {
public ChunkedUploadRemoteFileOperation(long transferId, String storagePath, String remotePath, String mimeType,
String requiredEtag, String fileLastModifTimestamp) {
super(storagePath, remotePath, mimeType, requiredEtag, fileLastModifTimestamp);
mTransferId = transferId;
}
@Override
@ -73,6 +65,19 @@ public class ChunkedUploadRemoteFileOperation extends UploadRemoteFileOperation
FileChannel channel = null;
RandomAccessFile raf = null;
//MKCOL
try {
MkColMethod mkcol = new MkColMethod(
HttpUtils.stringUrlToHttpUrl(client.getWebdavUri() + WebdavUtils.encodePath(mRemotePath))
);
String a = "";
} catch (Exception e) {
String b = "";
}
//TODO
// try {
// File file = new File(mLocalPath);

View File

@ -117,7 +117,6 @@ public class CreateRemoteFolderOperation extends RemoteOperation {
} catch (Exception e) {
result = new RemoteOperationResult(e);
Log_OC.e(TAG, "Create directory " + mRemotePath + ": " + result.getLogMessage(), e);
}
return result;
@ -128,6 +127,4 @@ public class CreateRemoteFolderOperation extends RemoteOperation {
mCreateFullPath);
return operation.execute(client);
}
}
}