mirror of
				https://github.com/owncloud/android-library.git
				synced 2025-10-31 10:27:45 +00:00 
			
		
		
		
	Refactor wrapper constructors and start to implement uploadoperations in library
This commit is contained in:
		
							parent
							
								
									c676f694d6
								
							
						
					
					
						commit
						524dc587db
					
				| @ -1 +1 @@ | |||||||
| Subproject commit 054d7b57b27d7c258d717c8a326eed89e195d168 | Subproject commit 466380e9bb8414d919391dbb14de7926dbfd387e | ||||||
| @ -33,7 +33,7 @@ import android.net.Uri; | |||||||
| import com.owncloud.android.lib.common.authentication.OwnCloudCredentials; | import com.owncloud.android.lib.common.authentication.OwnCloudCredentials; | ||||||
| import com.owncloud.android.lib.common.authentication.OwnCloudCredentialsFactory; | import com.owncloud.android.lib.common.authentication.OwnCloudCredentialsFactory; | ||||||
| import com.owncloud.android.lib.common.authentication.OwnCloudCredentialsFactory.OwnCloudAnonymousCredentials; | import com.owncloud.android.lib.common.authentication.OwnCloudCredentialsFactory.OwnCloudAnonymousCredentials; | ||||||
| import com.owncloud.android.lib.common.http.HttpBaseMethod; | import com.owncloud.android.lib.common.http.methods.HttpBaseMethod; | ||||||
| import com.owncloud.android.lib.common.network.RedirectionPath; | import com.owncloud.android.lib.common.network.RedirectionPath; | ||||||
| import com.owncloud.android.lib.common.utils.Log_OC; | import com.owncloud.android.lib.common.utils.Log_OC; | ||||||
| import com.owncloud.android.lib.resources.status.OwnCloudVersion; | import com.owncloud.android.lib.resources.status.OwnCloudVersion; | ||||||
|  | |||||||
| @ -22,7 +22,9 @@ | |||||||
|  * |  * | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| package com.owncloud.android.lib.common.http; | package com.owncloud.android.lib.common.http.methods; | ||||||
|  | 
 | ||||||
|  | import com.owncloud.android.lib.common.http.HttpClient; | ||||||
| 
 | 
 | ||||||
| import java.io.IOException; | import java.io.IOException; | ||||||
| import java.io.InputStream; | import java.io.InputStream; | ||||||
| @ -46,7 +48,7 @@ public abstract class HttpBaseMethod { | |||||||
|     protected Request mRequest; |     protected Request mRequest; | ||||||
|     protected Response mResponse; |     protected Response mResponse; | ||||||
| 
 | 
 | ||||||
|     public HttpBaseMethod (HttpUrl httpUrl) { |     protected HttpBaseMethod (HttpUrl httpUrl) { | ||||||
|         mOkHttpClient = HttpClient.getOkHttpClient(); |         mOkHttpClient = HttpClient.getOkHttpClient(); | ||||||
|         mRequest = new Request.Builder() |         mRequest = new Request.Builder() | ||||||
|                 .url(httpUrl) |                 .url(httpUrl) | ||||||
| @ -58,7 +60,6 @@ public abstract class HttpBaseMethod { | |||||||
|         return mRequest.headers(); |         return mRequest.headers(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     // Request headers |  | ||||||
|     public void addRequestHeader(String name, String value) { |     public void addRequestHeader(String name, String value) { | ||||||
|         mRequest.newBuilder() |         mRequest.newBuilder() | ||||||
|                 .addHeader(name, value) |                 .addHeader(name, value) | ||||||
| @ -24,22 +24,26 @@ | |||||||
| 
 | 
 | ||||||
| package com.owncloud.android.lib.common.http.methods.nonwebdav; | package com.owncloud.android.lib.common.http.methods.nonwebdav; | ||||||
| 
 | 
 | ||||||
|  | import java.io.IOException; | ||||||
|  | 
 | ||||||
|  | import okhttp3.HttpUrl; | ||||||
|  | 
 | ||||||
| /** | /** | ||||||
|  * OkHttp delete calls wrapper |  * OkHttp delete calls wrapper | ||||||
|  * @author David González Verdugo |  * @author David González Verdugo | ||||||
|  */ |  */ | ||||||
| public class DeleteMethod extends HttpMethod{ | public class DeleteMethod extends HttpMethod{ | ||||||
| 
 | 
 | ||||||
|     public DeleteMethod(String httpUrl) { |     public DeleteMethod(HttpUrl httpUrl) { | ||||||
|         super(httpUrl); |         super(httpUrl); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public int execute() throws Exception { |     public int execute() throws IOException { | ||||||
|         mRequest.newBuilder() |         mRequest = mRequest.newBuilder() | ||||||
|                 .delete() |                 .delete() | ||||||
|                 .build(); |                 .build(); | ||||||
| 
 | 
 | ||||||
|         return super.executeRequest(); |         return super.execute(); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -34,20 +34,16 @@ import okhttp3.HttpUrl; | |||||||
|  */ |  */ | ||||||
| public class GetMethod extends HttpMethod { | public class GetMethod extends HttpMethod { | ||||||
| 
 | 
 | ||||||
|     public GetMethod(String httpUrl) { |  | ||||||
|         super(httpUrl); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     public GetMethod(HttpUrl httpUrl) { |     public GetMethod(HttpUrl httpUrl) { | ||||||
|         super(httpUrl); |         super(httpUrl); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public int execute() throws IOException { |     public int execute() throws IOException { | ||||||
|         mRequest.newBuilder() |         mRequest = mRequest.newBuilder() | ||||||
|                 .get() |                 .get() | ||||||
|                 .build(); |                 .build(); | ||||||
| 
 | 
 | ||||||
|         return super.executeRequest(); |         return super.execute(); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -24,12 +24,11 @@ | |||||||
| 
 | 
 | ||||||
| package com.owncloud.android.lib.common.http.methods.nonwebdav; | package com.owncloud.android.lib.common.http.methods.nonwebdav; | ||||||
| 
 | 
 | ||||||
| import com.owncloud.android.lib.common.http.HttpBaseMethod; | import com.owncloud.android.lib.common.http.methods.HttpBaseMethod; | ||||||
| 
 | 
 | ||||||
| import java.io.IOException; | import java.io.IOException; | ||||||
| 
 | 
 | ||||||
| import okhttp3.HttpUrl; | import okhttp3.HttpUrl; | ||||||
| import okhttp3.Request; |  | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * Wrapper to perform OkHttp calls |  * Wrapper to perform OkHttp calls | ||||||
| @ -42,7 +41,8 @@ public abstract class HttpMethod extends HttpBaseMethod { | |||||||
|         super(httpUrl); |         super(httpUrl); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public int executeRequest() throws IOException { |     @Override | ||||||
|  |     public int execute() throws IOException { | ||||||
|         mResponse = mOkHttpClient.newCall(mRequest).execute(); |         mResponse = mOkHttpClient.newCall(mRequest).execute(); | ||||||
|         return super.getStatusCode(); |         return super.getStatusCode(); | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -24,6 +24,9 @@ | |||||||
| 
 | 
 | ||||||
| package com.owncloud.android.lib.common.http.methods.nonwebdav; | package com.owncloud.android.lib.common.http.methods.nonwebdav; | ||||||
| 
 | 
 | ||||||
|  | import java.io.IOException; | ||||||
|  | 
 | ||||||
|  | import okhttp3.HttpUrl; | ||||||
| import okhttp3.RequestBody; | import okhttp3.RequestBody; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
| @ -34,17 +37,17 @@ public class PostMethod extends HttpMethod { | |||||||
| 
 | 
 | ||||||
|     private RequestBody mRequestBody; |     private RequestBody mRequestBody; | ||||||
| 
 | 
 | ||||||
|     public PostMethod(String httpUrl, RequestBody requestBody){ |     public PostMethod(HttpUrl httpUrl, RequestBody requestBody){ | ||||||
|         super(httpUrl); |         super(httpUrl); | ||||||
|         mRequestBody = requestBody; |         mRequestBody = requestBody; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public int execute() throws Exception { |     public int execute() throws IOException { | ||||||
|         mRequest.newBuilder() |         mRequest = mRequest.newBuilder() | ||||||
|                 .post(mRequestBody) |                 .post(mRequestBody) | ||||||
|                 .build(); |                 .build(); | ||||||
| 
 | 
 | ||||||
|         return super.executeRequest(); |         return super.execute(); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -24,23 +24,26 @@ | |||||||
| 
 | 
 | ||||||
| package com.owncloud.android.lib.common.http.methods.nonwebdav; | package com.owncloud.android.lib.common.http.methods.nonwebdav; | ||||||
| 
 | 
 | ||||||
|  | import java.io.IOException; | ||||||
|  | 
 | ||||||
|  | import okhttp3.HttpUrl; | ||||||
| import okhttp3.RequestBody; | import okhttp3.RequestBody; | ||||||
| 
 | 
 | ||||||
| public class PutMethod extends HttpMethod{ | public class PutMethod extends HttpMethod{ | ||||||
| 
 | 
 | ||||||
|     private RequestBody mRequestBody; |     private RequestBody mRequestBody; | ||||||
| 
 | 
 | ||||||
|     public PutMethod(String httpUrl, RequestBody requestBody){ |     public PutMethod(HttpUrl httpUrl, RequestBody requestBody){ | ||||||
|         super(httpUrl); |         super(httpUrl); | ||||||
|         mRequestBody = requestBody; |         mRequestBody = requestBody; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public int execute() throws Exception { |     public int execute() throws IOException { | ||||||
|         mRequest.newBuilder() |         mRequest = mRequest.newBuilder() | ||||||
|                 .put(mRequestBody) |                 .put(mRequestBody) | ||||||
|                 .build(); |                 .build(); | ||||||
| 
 | 
 | ||||||
|         return super.executeRequest(); |         return super.execute(); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -24,7 +24,7 @@ | |||||||
| 
 | 
 | ||||||
| package com.owncloud.android.lib.common.http.methods.webdav; | package com.owncloud.android.lib.common.http.methods.webdav; | ||||||
| 
 | 
 | ||||||
| import com.owncloud.android.lib.common.http.HttpBaseMethod; | import com.owncloud.android.lib.common.http.methods.HttpBaseMethod; | ||||||
| 
 | 
 | ||||||
| import at.bitfire.dav4android.DavOCResource; | import at.bitfire.dav4android.DavOCResource; | ||||||
| import at.bitfire.dav4android.DavResource; | import at.bitfire.dav4android.DavResource; | ||||||
| @ -38,8 +38,8 @@ public abstract class DavMethod extends HttpBaseMethod { | |||||||
| 
 | 
 | ||||||
|     protected DavOCResource mDavResource; |     protected DavOCResource mDavResource; | ||||||
| 
 | 
 | ||||||
|     public DavMethod(HttpUrl httpUrl) { |     protected DavMethod(HttpUrl httpUrl) { | ||||||
|         super(); |         super(httpUrl); | ||||||
|         mDavResource = new DavOCResource( |         mDavResource = new DavOCResource( | ||||||
|                 mOkHttpClient, |                 mOkHttpClient, | ||||||
|                 httpUrl |                 httpUrl | ||||||
|  | |||||||
| @ -50,7 +50,7 @@ public class PutMethod extends DavMethod { | |||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public int execute() throws IOException, HttpException, DavException { |     public int execute() throws IOException, HttpException { | ||||||
|         try { |         try { | ||||||
|             mDavResource.put( |             mDavResource.put( | ||||||
|                     mRequestBody, |                     mRequestBody, | ||||||
|  | |||||||
| @ -32,16 +32,12 @@ import java.util.Locale; | |||||||
| 
 | 
 | ||||||
| import android.net.Uri; | import android.net.Uri; | ||||||
| 
 | 
 | ||||||
| import com.owncloud.android.lib.common.http.HttpBaseMethod; | import com.owncloud.android.lib.common.http.methods.HttpBaseMethod; | ||||||
| 
 | 
 | ||||||
| import org.apache.commons.httpclient.Header; |  | ||||||
| import org.apache.commons.httpclient.HttpMethod; |  | ||||||
| import org.apache.jackrabbit.webdav.property.DavPropertyName; | import org.apache.jackrabbit.webdav.property.DavPropertyName; | ||||||
| import org.apache.jackrabbit.webdav.property.DavPropertyNameSet; | import org.apache.jackrabbit.webdav.property.DavPropertyNameSet; | ||||||
| import org.apache.jackrabbit.webdav.xml.Namespace; | import org.apache.jackrabbit.webdav.xml.Namespace; | ||||||
| 
 | 
 | ||||||
| import okhttp3.Response; |  | ||||||
| 
 |  | ||||||
| public class WebdavUtils { | public class WebdavUtils { | ||||||
|     public static final SimpleDateFormat DISPLAY_DATE_FORMAT = new SimpleDateFormat( |     public static final SimpleDateFormat DISPLAY_DATE_FORMAT = new SimpleDateFormat( | ||||||
|             "dd.MM.yyyy hh:mm"); |             "dd.MM.yyyy hh:mm"); | ||||||
|  | |||||||
| @ -28,7 +28,7 @@ import android.accounts.Account; | |||||||
| import android.accounts.AccountsException; | import android.accounts.AccountsException; | ||||||
| 
 | 
 | ||||||
| import com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException; | import com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException; | ||||||
| import com.owncloud.android.lib.common.http.HttpBaseMethod; | import com.owncloud.android.lib.common.http.methods.HttpBaseMethod; | ||||||
| import com.owncloud.android.lib.common.network.CertificateCombinedException; | import com.owncloud.android.lib.common.network.CertificateCombinedException; | ||||||
| import com.owncloud.android.lib.common.utils.Log_OC; | import com.owncloud.android.lib.common.utils.Log_OC; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -72,79 +72,81 @@ public class ChunkedUploadRemoteFileOperation extends UploadRemoteFileOperation | |||||||
| 
 | 
 | ||||||
|         FileChannel channel = null; |         FileChannel channel = null; | ||||||
|         RandomAccessFile raf = null; |         RandomAccessFile raf = null; | ||||||
|         try { |  | ||||||
|             File file = new File(mLocalPath); |  | ||||||
|             raf = new RandomAccessFile(file, "r"); |  | ||||||
|             channel = raf.getChannel(); |  | ||||||
|             mEntity = new ChunkFromFileChannelRequestEntity(channel, mMimeType, CHUNK_SIZE, file); |  | ||||||
|             synchronized (mDataTransferListeners) { |  | ||||||
|                 ((ProgressiveDataTransferer) mEntity) |  | ||||||
|                     .addDatatransferProgressListeners(mDataTransferListeners); |  | ||||||
|             } |  | ||||||
| 
 | 
 | ||||||
|             long offset = 0; |         //TODO | ||||||
|             String uriPrefix = client.getWebdavUri() + WebdavUtils.encodePath(mRemotePath) + | //        try { | ||||||
|                 "-chunking-" + Math.abs((new Random()).nextInt(9000) + 1000) + "-"; | //            File file = new File(mLocalPath); | ||||||
|             long totalLength = file.length(); | //            raf = new RandomAccessFile(file, "r"); | ||||||
|             long chunkCount = (long) Math.ceil((double) totalLength / CHUNK_SIZE); | //            channel = raf.getChannel(); | ||||||
|             String chunkSizeStr = String.valueOf(CHUNK_SIZE); | //            mEntity = new ChunkFromFileChannelRequestEntity(channel, mMimeType, CHUNK_SIZE, file); | ||||||
|             String totalLengthStr = String.valueOf(file.length()); | //            synchronized (mDataTransferListeners) { | ||||||
|             for (int chunkIndex = 0; chunkIndex < chunkCount; chunkIndex++, offset += CHUNK_SIZE) { | //                ((ProgressiveDataTransferer) mEntity) | ||||||
|                 if (chunkIndex == chunkCount - 1) { | //                    .addDatatransferProgressListeners(mDataTransferListeners); | ||||||
|                     chunkSizeStr = String.valueOf(CHUNK_SIZE * chunkCount - totalLength); | //            } | ||||||
|                 } | // | ||||||
|                 if (mPutMethod != null) { | //            long offset = 0; | ||||||
|                     mPutMethod.releaseConnection();     // let the connection available | //            String uriPrefix = client.getWebdavUri() + WebdavUtils.encodePath(mRemotePath) + | ||||||
|                     // for other methods | //                "-chunking-" + Math.abs((new Random()).nextInt(9000) + 1000) + "-"; | ||||||
|                 } | //            long totalLength = file.length(); | ||||||
|                 mPutMethod = new PutMethod(uriPrefix + chunkCount + "-" + chunkIndex); | //            long chunkCount = (long) Math.ceil((double) totalLength / CHUNK_SIZE); | ||||||
|                 if (mRequiredEtag != null && mRequiredEtag.length() > 0) { | //            String chunkSizeStr = String.valueOf(CHUNK_SIZE); | ||||||
|                     mPutMethod.addRequestHeader(IF_MATCH_HEADER, "\"" + mRequiredEtag + "\""); | //            String totalLengthStr = String.valueOf(file.length()); | ||||||
|                 } | //            for (int chunkIndex = 0; chunkIndex < chunkCount; chunkIndex++, offset += CHUNK_SIZE) { | ||||||
|                 mPutMethod.addRequestHeader(OC_CHUNKED_HEADER, OC_CHUNKED_HEADER); | //                if (chunkIndex == chunkCount - 1) { | ||||||
|                 mPutMethod.addRequestHeader(OC_CHUNK_SIZE_HEADER, chunkSizeStr); | //                    chunkSizeStr = String.valueOf(CHUNK_SIZE * chunkCount - totalLength); | ||||||
|                 mPutMethod.addRequestHeader(OC_TOTAL_LENGTH_HEADER, totalLengthStr); | //                } | ||||||
| 
 | //                if (mPutMethod != null) { | ||||||
|                 mPutMethod.addRequestHeader(OC_CHUNK_X_OC_MTIME_HEADER, mFileLastModifTimestamp); | //                    mPutMethod.releaseConnection();     // let the connection available | ||||||
| 
 | //                    // for other methods | ||||||
|                 ((ChunkFromFileChannelRequestEntity) mEntity).setOffset(offset); | //                } | ||||||
|                 mPutMethod.setRequestEntity(mEntity); | //                mPutMethod = new PutMethod(uriPrefix + chunkCount + "-" + chunkIndex); | ||||||
|                 if (mCancellationRequested.get()) { | //                if (mRequiredEtag != null && mRequiredEtag.length() > 0) { | ||||||
|                     mPutMethod.abort(); | //                    mPutMethod.addRequestHeader(IF_MATCH_HEADER, "\"" + mRequiredEtag + "\""); | ||||||
|                     // next method will throw an exception | //                } | ||||||
|                 } | //                mPutMethod.addRequestHeader(OC_CHUNKED_HEADER, OC_CHUNKED_HEADER); | ||||||
| 
 | //                mPutMethod.addRequestHeader(OC_CHUNK_SIZE_HEADER, chunkSizeStr); | ||||||
|                 if (chunkIndex == chunkCount - 1) { | //                mPutMethod.addRequestHeader(OC_TOTAL_LENGTH_HEADER, totalLengthStr); | ||||||
|                     // Added a high timeout to the last chunk due to when the last chunk | // | ||||||
|                     // arrives to the server with the last PUT, all chunks get assembled | //                mPutMethod.addRequestHeader(OC_CHUNK_X_OC_MTIME_HEADER, mFileLastModifTimestamp); | ||||||
|                     // within that PHP request, so last one takes longer. | // | ||||||
|                     mPutMethod.getParams().setSoTimeout(LAST_CHUNK_TIMEOUT); | //                ((ChunkFromFileChannelRequestEntity) mEntity).setOffset(offset); | ||||||
|                 } | //                mPutMethod.setRequestEntity(mEntity); | ||||||
| 
 | //                if (mCancellationRequested.get()) { | ||||||
|                 status = client.executeMethod(mPutMethod); | //                    mPutMethod.abort(); | ||||||
| 
 | //                    // next method will throw an exception | ||||||
|                 result = new RemoteOperationResult( | //                } | ||||||
|                     isSuccess(status), | // | ||||||
|                     mPutMethod | //                if (chunkIndex == chunkCount - 1) { | ||||||
|                 ); | //                    // Added a high timeout to the last chunk due to when the last chunk | ||||||
| 
 | //                    // arrives to the server with the last PUT, all chunks get assembled | ||||||
|                 client.exhaustResponse(mPutMethod.getResponseBodyAsStream()); | //                    // within that PHP request, so last one takes longer. | ||||||
|                 Log_OC.d(TAG, "Upload of " + mLocalPath + " to " + mRemotePath + | //                    mPutMethod.getParams().setSoTimeout(LAST_CHUNK_TIMEOUT); | ||||||
|                     ", chunk index " + chunkIndex + ", count " + chunkCount + | //                } | ||||||
|                     ", HTTP result status " + status); | // | ||||||
| 
 | //                status = client.executeMethod(mPutMethod); | ||||||
|                 if (!isSuccess(status)) | // | ||||||
|                     break; | //                result = new RemoteOperationResult( | ||||||
|             } | //                    isSuccess(status), | ||||||
| 
 | //                    mPutMethod | ||||||
|         } finally { | //                ); | ||||||
|             if (channel != null) | // | ||||||
|                 channel.close(); | //                client.exhaustResponse(mPutMethod.getResponseBodyAsStream()); | ||||||
|             if (raf != null) | //                Log_OC.d(TAG, "Upload of " + mLocalPath + " to " + mRemotePath + | ||||||
|                 raf.close(); | //                    ", chunk index " + chunkIndex + ", count " + chunkCount + | ||||||
|             if (mPutMethod != null) | //                    ", HTTP result status " + status); | ||||||
|                 mPutMethod.releaseConnection();    // let the connection available for other methods | // | ||||||
|         } | //                if (!isSuccess(status)) | ||||||
|  | //                    break; | ||||||
|  | //            } | ||||||
|  | // | ||||||
|  | //        } finally { | ||||||
|  | //            if (channel != null) | ||||||
|  | //                channel.close(); | ||||||
|  | //            if (raf != null) | ||||||
|  | //                raf.close(); | ||||||
|  | //            if (mPutMethod != null) | ||||||
|  | //                mPutMethod.releaseConnection();    // let the connection available for other methods | ||||||
|  | //        } | ||||||
|         return result; |         return result; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -25,6 +25,7 @@ | |||||||
| package com.owncloud.android.lib.resources.files; | package com.owncloud.android.lib.resources.files; | ||||||
| 
 | 
 | ||||||
| import com.owncloud.android.lib.common.OwnCloudClient; | import com.owncloud.android.lib.common.OwnCloudClient; | ||||||
|  | import com.owncloud.android.lib.common.http.HttpConstants; | ||||||
| import com.owncloud.android.lib.common.http.HttpUtils; | import com.owncloud.android.lib.common.http.HttpUtils; | ||||||
| import com.owncloud.android.lib.common.network.FileRequestEntity; | import com.owncloud.android.lib.common.network.FileRequestEntity; | ||||||
| import com.owncloud.android.lib.common.network.OnDatatransferProgressListener; | import com.owncloud.android.lib.common.network.OnDatatransferProgressListener; | ||||||
| @ -134,11 +135,6 @@ public class UploadRemoteFileOperation extends RemoteOperation { | |||||||
|         return result; |         return result; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public boolean isSuccess(int status) { |  | ||||||
|         return ((status == HttpStatus.SC_OK || status == HttpStatus.SC_CREATED || |  | ||||||
|                 status == HttpStatus.SC_NO_CONTENT)); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     protected RemoteOperationResult uploadFile(OwnCloudClient client) throws IOException { |     protected RemoteOperationResult uploadFile(OwnCloudClient client) throws IOException { | ||||||
|         RemoteOperationResult result; |         RemoteOperationResult result; | ||||||
|         try { |         try { | ||||||
| @ -204,4 +200,9 @@ public class UploadRemoteFileOperation extends RemoteOperation { | |||||||
| //                mPutMethod.abort(); | //                mPutMethod.abort(); | ||||||
| //        } | //        } | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     public boolean isSuccess(int status) { | ||||||
|  |         return ((status == HttpConstants.HTTP_OK || status == HttpConstants.HTTP_CREATED || | ||||||
|  |                 status == HttpConstants.HTTP_NO_CONTENT)); | ||||||
|  |     } | ||||||
| } | } | ||||||
| @ -31,6 +31,7 @@ import android.net.Uri; | |||||||
| 
 | 
 | ||||||
| import com.owncloud.android.lib.common.OwnCloudClient; | import com.owncloud.android.lib.common.OwnCloudClient; | ||||||
| import com.owncloud.android.lib.common.http.HttpConstants; | import com.owncloud.android.lib.common.http.HttpConstants; | ||||||
|  | import com.owncloud.android.lib.common.http.HttpUtils; | ||||||
| import com.owncloud.android.lib.common.http.methods.nonwebdav.PostMethod; | import com.owncloud.android.lib.common.http.methods.nonwebdav.PostMethod; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperation; | import com.owncloud.android.lib.common.operations.RemoteOperation; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult; | import com.owncloud.android.lib.common.operations.RemoteOperationResult; | ||||||
| @ -231,7 +232,11 @@ public class CreateRemoteShareOperation extends RemoteOperation { | |||||||
|             Uri.Builder uriBuilder = requestUri.buildUpon(); |             Uri.Builder uriBuilder = requestUri.buildUpon(); | ||||||
|             uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); |             uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); | ||||||
| 
 | 
 | ||||||
|             PostMethod postMethod = new PostMethod(uriBuilder.build().toString(), formBody); |             PostMethod postMethod = new PostMethod( | ||||||
|  |                     HttpUtils.stringUrlToHttpUrl(uriBuilder.build().toString()), | ||||||
|  |                     formBody | ||||||
|  |             ); | ||||||
|  | 
 | ||||||
|             postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); |             postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); | ||||||
|             postMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); |             postMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -30,6 +30,7 @@ import android.net.Uri; | |||||||
| 
 | 
 | ||||||
| import com.owncloud.android.lib.common.OwnCloudClient; | import com.owncloud.android.lib.common.OwnCloudClient; | ||||||
| import com.owncloud.android.lib.common.http.HttpConstants; | import com.owncloud.android.lib.common.http.HttpConstants; | ||||||
|  | import com.owncloud.android.lib.common.http.HttpUtils; | ||||||
| import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod; | import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperation; | import com.owncloud.android.lib.common.operations.RemoteOperation; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult; | import com.owncloud.android.lib.common.operations.RemoteOperationResult; | ||||||
| @ -63,7 +64,11 @@ public class GetRemoteShareOperation extends RemoteOperation { | |||||||
|             uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); |             uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); | ||||||
|             uriBuilder.appendEncodedPath(Long.toString(mRemoteId)); |             uriBuilder.appendEncodedPath(Long.toString(mRemoteId)); | ||||||
| 
 | 
 | ||||||
|             GetMethod getMethod = new GetMethod(uriBuilder.build().toString()); |             GetMethod getMethod = new GetMethod( | ||||||
|  |                     HttpUtils.stringUrlToHttpUrl(uriBuilder.build().toString()) | ||||||
|  |             ); | ||||||
|  | 
 | ||||||
|  |             getMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); | ||||||
| 
 | 
 | ||||||
|             getMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); |             getMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); | ||||||
|             int status = client.executeHttpMethod(getMethod); |             int status = client.executeHttpMethod(getMethod); | ||||||
|  | |||||||
| @ -32,6 +32,7 @@ import android.net.Uri; | |||||||
| 
 | 
 | ||||||
| import com.owncloud.android.lib.common.OwnCloudClient; | import com.owncloud.android.lib.common.OwnCloudClient; | ||||||
| import com.owncloud.android.lib.common.http.HttpConstants; | import com.owncloud.android.lib.common.http.HttpConstants; | ||||||
|  | import com.owncloud.android.lib.common.http.HttpUtils; | ||||||
| import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod; | import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperation; | import com.owncloud.android.lib.common.operations.RemoteOperation; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult; | import com.owncloud.android.lib.common.operations.RemoteOperationResult; | ||||||
| @ -130,7 +131,10 @@ public class GetRemoteShareesOperation extends RemoteOperation{ | |||||||
|             uriBuilder.appendQueryParameter(PARAM_PAGE, String.valueOf(mPage)); |             uriBuilder.appendQueryParameter(PARAM_PAGE, String.valueOf(mPage)); | ||||||
|             uriBuilder.appendQueryParameter(PARAM_PER_PAGE, String.valueOf(mPerPage)); |             uriBuilder.appendQueryParameter(PARAM_PER_PAGE, String.valueOf(mPerPage)); | ||||||
| 
 | 
 | ||||||
|             GetMethod getMethod = new GetMethod(uriBuilder.build().toString()); |             GetMethod getMethod = new GetMethod( | ||||||
|  |                     HttpUtils.stringUrlToHttpUrl(uriBuilder.build().toString()) | ||||||
|  |             ); | ||||||
|  | 
 | ||||||
|             getMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); |             getMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); | ||||||
| 
 | 
 | ||||||
|             int status = client.executeHttpMethod(getMethod); |             int status = client.executeHttpMethod(getMethod); | ||||||
|  | |||||||
| @ -29,6 +29,7 @@ import android.net.Uri; | |||||||
| 
 | 
 | ||||||
| import com.owncloud.android.lib.common.OwnCloudClient; | import com.owncloud.android.lib.common.OwnCloudClient; | ||||||
| import com.owncloud.android.lib.common.http.HttpConstants; | import com.owncloud.android.lib.common.http.HttpConstants; | ||||||
|  | import com.owncloud.android.lib.common.http.HttpUtils; | ||||||
| import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod; | import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperation; | import com.owncloud.android.lib.common.operations.RemoteOperation; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult; | import com.owncloud.android.lib.common.operations.RemoteOperationResult; | ||||||
| @ -57,7 +58,10 @@ public class GetRemoteSharesOperation extends RemoteOperation { | |||||||
|             Uri.Builder uriBuilder = requestUri.buildUpon(); |             Uri.Builder uriBuilder = requestUri.buildUpon(); | ||||||
|             uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); |             uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); | ||||||
| 
 | 
 | ||||||
|             GetMethod getMethod = new GetMethod(uriBuilder.build().toString()); |             GetMethod getMethod = new GetMethod( | ||||||
|  |                     HttpUtils.stringUrlToHttpUrl(client.getBaseUri() + ShareUtils.SHARING_API_PATH) | ||||||
|  |             ); | ||||||
|  | 
 | ||||||
|             getMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); |             getMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); | ||||||
| 
 | 
 | ||||||
|             int status = client.executeHttpMethod(getMethod); |             int status = client.executeHttpMethod(getMethod); | ||||||
|  | |||||||
| @ -31,6 +31,7 @@ import android.net.Uri; | |||||||
| 
 | 
 | ||||||
| import com.owncloud.android.lib.common.OwnCloudClient; | import com.owncloud.android.lib.common.OwnCloudClient; | ||||||
| import com.owncloud.android.lib.common.http.HttpConstants; | import com.owncloud.android.lib.common.http.HttpConstants; | ||||||
|  | import com.owncloud.android.lib.common.http.HttpUtils; | ||||||
| import com.owncloud.android.lib.common.http.methods.nonwebdav.DeleteMethod; | import com.owncloud.android.lib.common.http.methods.nonwebdav.DeleteMethod; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperation; | import com.owncloud.android.lib.common.operations.RemoteOperation; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult; | import com.owncloud.android.lib.common.operations.RemoteOperationResult; | ||||||
| @ -72,7 +73,8 @@ public class RemoveRemoteShareOperation extends RemoteOperation { | |||||||
|             uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); |             uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); | ||||||
|             uriBuilder.appendEncodedPath(String.valueOf(mRemoteShareId)); |             uriBuilder.appendEncodedPath(String.valueOf(mRemoteShareId)); | ||||||
| 
 | 
 | ||||||
|             DeleteMethod deleteMethod = new DeleteMethod(uriBuilder.build().toString()); |             DeleteMethod deleteMethod = new DeleteMethod( | ||||||
|  |                     HttpUtils.stringUrlToHttpUrl(uriBuilder.build().toString())); | ||||||
| 
 | 
 | ||||||
|             deleteMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); |             deleteMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -29,6 +29,7 @@ import android.net.Uri; | |||||||
| 
 | 
 | ||||||
| import com.owncloud.android.lib.common.OwnCloudClient; | import com.owncloud.android.lib.common.OwnCloudClient; | ||||||
| import com.owncloud.android.lib.common.http.HttpConstants; | import com.owncloud.android.lib.common.http.HttpConstants; | ||||||
|  | import com.owncloud.android.lib.common.http.HttpUtils; | ||||||
| import com.owncloud.android.lib.common.http.methods.nonwebdav.PutMethod; | import com.owncloud.android.lib.common.http.methods.nonwebdav.PutMethod; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperation; | import com.owncloud.android.lib.common.operations.RemoteOperation; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult; | import com.owncloud.android.lib.common.operations.RemoteOperationResult; | ||||||
| @ -204,7 +205,11 @@ public class UpdateRemoteShareOperation extends RemoteOperation { | |||||||
|             uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH.substring(1)); |             uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH.substring(1)); | ||||||
|             uriBuilder.appendEncodedPath(Long.toString(mRemoteId)); |             uriBuilder.appendEncodedPath(Long.toString(mRemoteId)); | ||||||
| 
 | 
 | ||||||
|             PutMethod putMethod = new PutMethod(uriBuilder.build().toString(), formBody); |             PutMethod putMethod = new PutMethod( | ||||||
|  |                     HttpUtils.stringUrlToHttpUrl(uriBuilder.build().toString()), | ||||||
|  |                     formBody | ||||||
|  |             ); | ||||||
|  | 
 | ||||||
|             putMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); |             putMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); | ||||||
|             putMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); |             putMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -31,6 +31,7 @@ import android.net.Uri; | |||||||
| 
 | 
 | ||||||
| import com.owncloud.android.lib.common.OwnCloudClient; | import com.owncloud.android.lib.common.OwnCloudClient; | ||||||
| import com.owncloud.android.lib.common.http.HttpConstants; | import com.owncloud.android.lib.common.http.HttpConstants; | ||||||
|  | import com.owncloud.android.lib.common.http.HttpUtils; | ||||||
| import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod; | import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperation; | import com.owncloud.android.lib.common.operations.RemoteOperation; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult; | import com.owncloud.android.lib.common.operations.RemoteOperationResult; | ||||||
| @ -128,9 +129,10 @@ public class GetRemoteCapabilitiesOperation extends RemoteOperation { | |||||||
|             uriBuilder.appendEncodedPath(OCS_ROUTE);    // avoid starting "/" in this method |             uriBuilder.appendEncodedPath(OCS_ROUTE);    // avoid starting "/" in this method | ||||||
|             uriBuilder.appendQueryParameter(PARAM_FORMAT, VALUE_FORMAT); |             uriBuilder.appendQueryParameter(PARAM_FORMAT, VALUE_FORMAT); | ||||||
| 
 | 
 | ||||||
|             String url = uriBuilder.build().toString(); |             GetMethod getMethod = new GetMethod( | ||||||
|  |                     HttpUtils.stringUrlToHttpUrl(uriBuilder.build().toString()) | ||||||
|  |             ); | ||||||
| 
 | 
 | ||||||
|             GetMethod getMethod = new GetMethod(url); |  | ||||||
|             getMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); |             getMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); | ||||||
| 
 | 
 | ||||||
|             int status = client.executeHttpMethod(getMethod); |             int status = client.executeHttpMethod(getMethod); | ||||||
|  | |||||||
| @ -31,6 +31,7 @@ import android.net.Uri; | |||||||
| import com.owncloud.android.lib.common.OwnCloudClient; | import com.owncloud.android.lib.common.OwnCloudClient; | ||||||
| import com.owncloud.android.lib.common.http.HttpClient; | import com.owncloud.android.lib.common.http.HttpClient; | ||||||
| import com.owncloud.android.lib.common.http.HttpConstants; | import com.owncloud.android.lib.common.http.HttpConstants; | ||||||
|  | import com.owncloud.android.lib.common.http.HttpUtils; | ||||||
| import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod; | import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperation; | import com.owncloud.android.lib.common.operations.RemoteOperation; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult; | import com.owncloud.android.lib.common.operations.RemoteOperationResult; | ||||||
| @ -77,13 +78,13 @@ public class GetRemoteStatusOperation extends RemoteOperation { | |||||||
|         boolean retval = false; |         boolean retval = false; | ||||||
|         String baseUrlSt = client.getBaseUri().toString(); |         String baseUrlSt = client.getBaseUri().toString(); | ||||||
|         try { |         try { | ||||||
|             String url = baseUrlSt + OwnCloudClient.STATUS_PATH; |  | ||||||
| 
 |  | ||||||
|             HttpClient.getOkHttpClient() |             HttpClient.getOkHttpClient() | ||||||
|                     .newBuilder() |                     .newBuilder() | ||||||
|                     .followRedirects(false); |                     .followRedirects(false); | ||||||
| 
 | 
 | ||||||
|             GetMethod getMethod = new GetMethod(url); |             GetMethod getMethod = new GetMethod( | ||||||
|  |                     HttpUtils.stringUrlToHttpUrl(baseUrlSt + OwnCloudClient.STATUS_PATH) | ||||||
|  |             ); | ||||||
| 
 | 
 | ||||||
|             int status = client.executeHttpMethod(getMethod); |             int status = client.executeHttpMethod(getMethod); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -26,6 +26,7 @@ | |||||||
| package com.owncloud.android.lib.resources.users; | package com.owncloud.android.lib.resources.users; | ||||||
| 
 | 
 | ||||||
| import com.owncloud.android.lib.common.OwnCloudClient; | import com.owncloud.android.lib.common.OwnCloudClient; | ||||||
|  | import com.owncloud.android.lib.common.http.HttpUtils; | ||||||
| import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod; | import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod; | ||||||
| import com.owncloud.android.lib.common.network.WebdavUtils; | import com.owncloud.android.lib.common.network.WebdavUtils; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperation; | import com.owncloud.android.lib.common.operations.RemoteOperation; | ||||||
| @ -86,7 +87,10 @@ public class GetRemoteUserAvatarOperation extends RemoteOperation { | |||||||
|             ; |             ; | ||||||
|             Log_OC.d(TAG, "avatar URI: " + url); |             Log_OC.d(TAG, "avatar URI: " + url); | ||||||
| 
 | 
 | ||||||
|             getMethod = new GetMethod(url); |             getMethod = new GetMethod( | ||||||
|  |                     HttpUtils.stringUrlToHttpUrl(url) | ||||||
|  |             ); | ||||||
|  | 
 | ||||||
|             int status = client.executeHttpMethod(getMethod); |             int status = client.executeHttpMethod(getMethod); | ||||||
| 
 | 
 | ||||||
|             if (isSuccess(status)) { |             if (isSuccess(status)) { | ||||||
|  | |||||||
| @ -24,14 +24,17 @@ | |||||||
| 
 | 
 | ||||||
| package com.owncloud.android.lib.resources.users; | package com.owncloud.android.lib.resources.users; | ||||||
| 
 | 
 | ||||||
| import java.util.ArrayList; |  | ||||||
| import org.json.JSONObject; |  | ||||||
| import com.owncloud.android.lib.common.OwnCloudClient; | import com.owncloud.android.lib.common.OwnCloudClient; | ||||||
| import com.owncloud.android.lib.common.http.HttpConstants; | import com.owncloud.android.lib.common.http.HttpConstants; | ||||||
|  | import com.owncloud.android.lib.common.http.HttpUtils; | ||||||
|  | import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperation; | import com.owncloud.android.lib.common.operations.RemoteOperation; | ||||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult; | import com.owncloud.android.lib.common.operations.RemoteOperationResult; | ||||||
| import com.owncloud.android.lib.common.utils.Log_OC; | import com.owncloud.android.lib.common.utils.Log_OC; | ||||||
| import com.owncloud.android.lib.common.http.methods.nonwebdav.GetMethod; | 
 | ||||||
|  | import org.json.JSONObject; | ||||||
|  | 
 | ||||||
|  | import java.util.ArrayList; | ||||||
| 
 | 
 | ||||||
| import okhttp3.Request; | import okhttp3.Request; | ||||||
| 
 | 
 | ||||||
| @ -74,9 +77,10 @@ public class GetRemoteUserInfoOperation extends RemoteOperation { | |||||||
|                     .addHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE) |                     .addHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE) | ||||||
|                     .build(); |                     .build(); | ||||||
| 
 | 
 | ||||||
|             String url = client.getBaseUri() + OCS_ROUTE; |             GetMethod getMethod = new GetMethod( | ||||||
|  |                     HttpUtils.stringUrlToHttpUrl(client.getBaseUri() + OCS_ROUTE) | ||||||
|  |             ); | ||||||
| 
 | 
 | ||||||
|             GetMethod getMethod = new GetMethod(url); |  | ||||||
|             int status = client.executeHttpMethod(getMethod); |             int status = client.executeHttpMethod(getMethod); | ||||||
| 
 | 
 | ||||||
|             if (isSuccess(status)) { |             if (isSuccess(status)) { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user