From 5d0362dc4d6d456dedcc7ae7641c4e3bfed43830 Mon Sep 17 00:00:00 2001 From: davigonz Date: Thu, 24 May 2018 14:05:27 +0200 Subject: [PATCH] Use DavOCResource again --- dav4android | 2 +- .../operations/PropfindOperation.java | 12 +++-- .../operations/UploadRemoteFileOperation.java | 47 +++++-------------- 3 files changed, 20 insertions(+), 41 deletions(-) diff --git a/dav4android b/dav4android index 980eb7ec..a149a3ff 160000 --- a/dav4android +++ b/dav4android @@ -1 +1 @@ -Subproject commit 980eb7ece17314f6c88f87319be1541c579c4b94 +Subproject commit a149a3ff92a1149f02012086ed4de4b442efece5 diff --git a/src/com/owncloud/android/lib/refactor/operations/PropfindOperation.java b/src/com/owncloud/android/lib/refactor/operations/PropfindOperation.java index 367860b6..18c49f21 100644 --- a/src/com/owncloud/android/lib/refactor/operations/PropfindOperation.java +++ b/src/com/owncloud/android/lib/refactor/operations/PropfindOperation.java @@ -27,6 +27,7 @@ package com.owncloud.android.lib.refactor.operations; import com.owncloud.android.lib.refactor.OCContext; import com.owncloud.android.lib.refactor.RemoteOperation; +import at.bitfire.dav4android.DavOCResource; import at.bitfire.dav4android.DavResource; import at.bitfire.dav4android.PropertyUtils; import okhttp3.HttpUrl; @@ -45,14 +46,15 @@ public class PropfindOperation extends RemoteOperation { @Override public Result exec() { try { - final HttpUrl location = HttpUrl.parse(getWebDavHttpUrl("/").toString()); + final HttpUrl location = HttpUrl.parse(getWebDavHttpUrl(mRemotePath).toString()); - DavResource davResource = new DavResource(getClient(), location); - davResource.propfind(1, PropertyUtils.INSTANCE.getAllPropSet()); + DavOCResource davOCResource = new DavOCResource(getClient(), location); + davOCResource.propfind(1, PropertyUtils.INSTANCE.getAllPropSet()); + + return new Result(OK, davOCResource); - return new Result(OK, davResource); } catch (Exception e) { return new Result(e); } } -} +} \ No newline at end of file diff --git a/src/com/owncloud/android/lib/refactor/operations/UploadRemoteFileOperation.java b/src/com/owncloud/android/lib/refactor/operations/UploadRemoteFileOperation.java index 15d4407e..8c019c8b 100644 --- a/src/com/owncloud/android/lib/refactor/operations/UploadRemoteFileOperation.java +++ b/src/com/owncloud/android/lib/refactor/operations/UploadRemoteFileOperation.java @@ -26,13 +26,11 @@ package com.owncloud.android.lib.refactor.operations; import com.owncloud.android.lib.refactor.OCContext; import com.owncloud.android.lib.refactor.RemoteOperation; -import com.owncloud.android.lib.refactor.RemoteOperationResult; import java.io.File; -import at.bitfire.dav4android.DavResource; +import at.bitfire.dav4android.DavOCResource; import okhttp3.MediaType; -import okhttp3.Request; import okhttp3.RequestBody; import static com.owncloud.android.lib.refactor.RemoteOperationResult.ResultCode.OK; @@ -42,11 +40,6 @@ import static com.owncloud.android.lib.refactor.RemoteOperationResult.ResultCode */ public class UploadRemoteFileOperation extends RemoteOperation { - private static final String CONTENT_TYPE_HEADER = "Content-Type"; - private static final String OC_TOTAL_LENGTH_HEADER = "OC-Total-Length"; - private static final String OC_X_OC_MTIME_HEADER = "X-OC-Mtime"; - private static final String IF_MATCH_HEADER = "If-Match"; - private File mFileToUpload; private String mRemotePath; private String mMimeType; @@ -71,20 +64,19 @@ public class UploadRemoteFileOperation extends RemoteOperation { MediaType mediaType = MediaType.parse(mMimeType); RequestBody requestBody = RequestBody.create(mediaType, mFileToUpload); - DavResource davResource = new DavResource( - getClient() - .newBuilder() - .addInterceptor(chain -> - chain.proceed( - addUploadHeaders(chain.request()) - .build())) - .followRedirects(false) - .build(), - getWebDavHttpUrl(mRemotePath)); + DavOCResource davOCResource = new DavOCResource( + getClient(), + getWebDavHttpUrl(mRemotePath) + ); - davResource.put(requestBody, + davOCResource.put( + requestBody, null, - false); + false, + "multipart/form-data", + String.valueOf(mFileToUpload.length()), + mFileLastModifTimestamp + ); } catch (Exception e) { return new Result(e); @@ -92,19 +84,4 @@ public class UploadRemoteFileOperation extends RemoteOperation { return new Result(OK); } - - /** - * Add headers needed to upload a file - * @param request request in which include the headers - * @return request with upload headers - */ - private Request.Builder addUploadHeaders (Request request) { - - Request.Builder builder = request.newBuilder(); - builder.addHeader(CONTENT_TYPE_HEADER, "multipart/form-data"); - builder.addHeader(OC_TOTAL_LENGTH_HEADER, String.valueOf(mFileToUpload.length())); - builder.addHeader(OC_X_OC_MTIME_HEADER, mFileLastModifTimestamp); - - return builder; - } } \ No newline at end of file