From 7bed924ff8d667c4da92867a2b398aa863b8cc7b Mon Sep 17 00:00:00 2001 From: davigonz Date: Wed, 1 Aug 2018 11:10:16 +0200 Subject: [PATCH 001/144] Refactor uri builds in shares --- .../shares/CreateRemoteShareOperation.java | 19 ++++++++++----- .../shares/GetRemoteShareOperation.java | 12 ++++++++-- .../shares/GetRemoteShareesOperation.java | 5 ++-- .../GetRemoteSharesForFileOperation.java | 17 ++++++++++---- .../shares/GetRemoteSharesOperation.java | 12 +++++++--- .../shares/RemoveRemoteShareOperation.java | 23 ++++++++++++------- .../lib/resources/shares/ShareUtils.java | 2 +- .../shares/UpdateRemoteShareOperation.java | 2 +- 8 files changed, 64 insertions(+), 28 deletions(-) diff --git a/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java index c7b232ba..01af5bfa 100644 --- a/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java @@ -1,7 +1,8 @@ /* ownCloud Android Library is available under MIT license * @author masensio * @author David A. Velasco - * Copyright (C) 2016 ownCloud GmbH. + * @author David González Verdugo + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -26,14 +27,16 @@ package com.owncloud.android.lib.resources.shares; -import org.apache.commons.httpclient.HttpStatus; -import org.apache.commons.httpclient.methods.PostMethod; +import android.net.Uri; import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.utils.Log_OC; +import org.apache.commons.httpclient.HttpStatus; +import org.apache.commons.httpclient.methods.PostMethod; + import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -187,14 +190,18 @@ public class CreateRemoteShareOperation extends RemoteOperation { @Override protected RemoteOperationResult run(OwnCloudClient client) { - RemoteOperationResult result = null; - int status = -1; + RemoteOperationResult result; + int status; PostMethod post = null; try { + Uri requestUri = client.getBaseUri(); + Uri.Builder uriBuilder = requestUri.buildUpon(); + uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); + // Post Method - post = new PostMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH); + post = new PostMethod(uriBuilder.build().toString()); post.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); // necessary for special characters diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java index 3d3e396c..bf232d63 100644 --- a/src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteShareOperation.java @@ -1,6 +1,7 @@ /* ownCloud Android Library is available under MIT license * @author David A. Velasco - * Copyright (C) 2016 ownCloud GmbH. + * @author David González Verdugo + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -25,6 +26,8 @@ package com.owncloud.android.lib.resources.shares; +import android.net.Uri; + import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; @@ -59,7 +62,12 @@ public class GetRemoteShareOperation extends RemoteOperation { // Get the response try { - get = new GetMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH + "/" + Long.toString(mRemoteId)); + Uri requestUri = client.getBaseUri(); + Uri.Builder uriBuilder = requestUri.buildUpon(); + uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); + uriBuilder.appendEncodedPath(Long.toString(mRemoteId)); + + get = new GetMethod(uriBuilder.build().toString()); get.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); status = client.executeMethod(get); diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteShareesOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteShareesOperation.java index 569101cc..3d88ceba 100644 --- a/src/com/owncloud/android/lib/resources/shares/GetRemoteShareesOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteShareesOperation.java @@ -2,7 +2,8 @@ * * @author masensio * @author David A. Velasco - * Copyright (C) 2016 ownCloud GmbH. + * @author David González Verdugo + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -112,7 +113,7 @@ public class GetRemoteShareesOperation extends RemoteOperation{ @Override protected RemoteOperationResult run(OwnCloudClient client) { - RemoteOperationResult result = null; + RemoteOperationResult result; int status; GetMethod get = null; diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java index 3f6a434e..e5ae83f9 100644 --- a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java @@ -1,7 +1,8 @@ /* ownCloud Android Library is available under MIT license * @author masensio * @author David A. Velasco - * Copyright (C) 2016 ownCloud GmbH. + * @author David González Verdugo + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -26,15 +27,17 @@ package com.owncloud.android.lib.resources.shares; -import org.apache.commons.httpclient.HttpStatus; -import org.apache.commons.httpclient.NameValuePair; -import org.apache.commons.httpclient.methods.GetMethod; +import android.net.Uri; import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.utils.Log_OC; +import org.apache.commons.httpclient.HttpStatus; +import org.apache.commons.httpclient.NameValuePair; +import org.apache.commons.httpclient.methods.GetMethod; + /** * Provide a list shares for a specific file. * The input is the full path of the desired file. @@ -77,8 +80,12 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { GetMethod get = null; try { + Uri requestUri = client.getBaseUri(); + Uri.Builder uriBuilder = requestUri.buildUpon(); + uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); + // Get Method - get = new GetMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH); + get = new GetMethod(uriBuilder.build().toString()); // Add Parameters to Get Method get.setQueryString(new NameValuePair[]{ diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java index 022a644a..66c6615f 100644 --- a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java @@ -26,14 +26,16 @@ package com.owncloud.android.lib.resources.shares; -import org.apache.commons.httpclient.HttpStatus; -import org.apache.commons.httpclient.methods.GetMethod; +import android.net.Uri; import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.utils.Log_OC; +import org.apache.commons.httpclient.HttpStatus; +import org.apache.commons.httpclient.methods.GetMethod; + /** * Get the data from the server about ALL the known shares owned by the requester. */ @@ -56,7 +58,11 @@ public class GetRemoteSharesOperation extends RemoteOperation { // Get the response try { - get = new GetMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH); + Uri requestUri = client.getBaseUri(); + Uri.Builder uriBuilder = requestUri.buildUpon(); + uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); + + get = new GetMethod(uriBuilder.build().toString()); get.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); status = client.executeMethod(get); diff --git a/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java index b61a8cee..9654d43a 100644 --- a/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java @@ -1,7 +1,8 @@ /* ownCloud Android Library is available under MIT license * @author masensio * @author David A. Velasco - * Copyright (C) 2016 ownCloud GmbH. + * @author David González Verdugo + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -26,14 +27,16 @@ package com.owncloud.android.lib.resources.shares; -import org.apache.commons.httpclient.HttpStatus; -import org.apache.jackrabbit.webdav.client.methods.DeleteMethod; +import android.net.Uri; import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.utils.Log_OC; +import org.apache.commons.httpclient.HttpStatus; +import org.apache.jackrabbit.webdav.client.methods.DeleteMethod; + /** * Remove a share */ @@ -57,14 +60,18 @@ public class RemoveRemoteShareOperation extends RemoteOperation { @Override protected RemoteOperationResult run(OwnCloudClient client) { - RemoteOperationResult result = null; - int status = -1; + RemoteOperationResult result; + int status; DeleteMethod delete = null; try { - String id = "/" + String.valueOf(mRemoteShareId); - delete = new DeleteMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH + id); + Uri requestUri = client.getBaseUri(); + Uri.Builder uriBuilder = requestUri.buildUpon(); + uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); + uriBuilder.appendEncodedPath(String.valueOf(mRemoteShareId)); + + delete = new DeleteMethod(uriBuilder.build().toString()); delete.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); @@ -79,7 +86,7 @@ public class RemoveRemoteShareOperation extends RemoteOperation { ); result = parser.parse(response); - Log_OC.d(TAG, "Unshare " + id + ": " + result.getLogMessage()); + Log_OC.d(TAG, "Unshare " + mRemoteShareId + ": " + result.getLogMessage()); } else { result = new RemoteOperationResult(false, delete); diff --git a/src/com/owncloud/android/lib/resources/shares/ShareUtils.java b/src/com/owncloud/android/lib/resources/shares/ShareUtils.java index 056565d5..50c2be86 100644 --- a/src/com/owncloud/android/lib/resources/shares/ShareUtils.java +++ b/src/com/owncloud/android/lib/resources/shares/ShareUtils.java @@ -36,7 +36,7 @@ import com.owncloud.android.lib.resources.status.OwnCloudVersion; public class ShareUtils { // OCS Route - public static final String SHARING_API_PATH ="/ocs/v1.php/apps/files_sharing/api/v1/shares"; + public static final String SHARING_API_PATH ="ocs/v1.php/apps/files_sharing/api/v1/shares"; // String to build the link with the token of a share: public static final String SHARING_LINK_PATH_BEFORE_VERSION_8 = "/public.php?service=files&t="; diff --git a/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java index a16d4c66..29f2f48d 100644 --- a/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java @@ -208,7 +208,7 @@ public class UpdateRemoteShareOperation extends RemoteOperation { try { Uri requestUri = client.getBaseUri(); Uri.Builder uriBuilder = requestUri.buildUpon(); - uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH.substring(1)); + uriBuilder.appendEncodedPath(ShareUtils.SHARING_API_PATH); uriBuilder.appendEncodedPath(Long.toString(mRemoteId)); uriString = uriBuilder.build().toString(); From d4908e4172c656ce1fde22faa582e195f023fafa Mon Sep 17 00:00:00 2001 From: davigonz Date: Wed, 1 Aug 2018 12:53:56 +0200 Subject: [PATCH 002/144] Switch to v2.php --- .../shares/GetRemoteSharesForFileOperation.java | 7 +++---- .../shares/ShareToRemoteOperationResultParser.java | 5 +++-- .../android/lib/resources/shares/ShareUtils.java | 8 ++++---- .../lib/resources/shares/ShareXMLParser.java | 13 +++++-------- .../status/GetRemoteCapabilitiesOperation.java | 2 +- .../resources/users/GetRemoteUserInfoOperation.java | 5 ++--- 6 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java index e5ae83f9..5e4eb7d5 100644 --- a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java @@ -74,8 +74,8 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { @Override protected RemoteOperationResult run(OwnCloudClient client) { - RemoteOperationResult result = null; - int status = -1; + RemoteOperationResult result; + int status; GetMethod get = null; @@ -132,5 +132,4 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation { private boolean isSuccess(int status) { return (status == HttpStatus.SC_OK); } - -} +} \ No newline at end of file diff --git a/src/com/owncloud/android/lib/resources/shares/ShareToRemoteOperationResultParser.java b/src/com/owncloud/android/lib/resources/shares/ShareToRemoteOperationResultParser.java index 3b37c035..45fcb186 100644 --- a/src/com/owncloud/android/lib/resources/shares/ShareToRemoteOperationResultParser.java +++ b/src/com/owncloud/android/lib/resources/shares/ShareToRemoteOperationResultParser.java @@ -1,6 +1,7 @@ /* ownCloud Android Library is available under MIT license * @author David A. Velasco - * Copyright (C) 2016 ownCloud GmbH. + * @author David González Verdugo + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -70,7 +71,7 @@ public class ShareToRemoteOperationResultParser { return new RemoteOperationResult(RemoteOperationResult.ResultCode.WRONG_SERVER_RESPONSE); } - RemoteOperationResult result = null; + RemoteOperationResult result; ArrayList resultData = new ArrayList(); try { diff --git a/src/com/owncloud/android/lib/resources/shares/ShareUtils.java b/src/com/owncloud/android/lib/resources/shares/ShareUtils.java index 50c2be86..cb355855 100644 --- a/src/com/owncloud/android/lib/resources/shares/ShareUtils.java +++ b/src/com/owncloud/android/lib/resources/shares/ShareUtils.java @@ -1,5 +1,5 @@ /* ownCloud Android Library is available under MIT license - * Copyright (C) 2016 ownCloud GmbH. + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -30,13 +30,14 @@ import com.owncloud.android.lib.resources.status.OwnCloudVersion; * Contains Constants for Share Operation * * @author masensio + * @author David González Verdugo * */ public class ShareUtils { // OCS Route - public static final String SHARING_API_PATH ="ocs/v1.php/apps/files_sharing/api/v1/shares"; + public static final String SHARING_API_PATH ="ocs/v2.php/apps/files_sharing/api/v1/shares"; // String to build the link with the token of a share: public static final String SHARING_LINK_PATH_BEFORE_VERSION_8 = "/public.php?service=files&t="; @@ -49,5 +50,4 @@ public class ShareUtils { return SHARING_LINK_PATH_BEFORE_VERSION_8; } } - -} +} \ No newline at end of file diff --git a/src/com/owncloud/android/lib/resources/shares/ShareXMLParser.java b/src/com/owncloud/android/lib/resources/shares/ShareXMLParser.java index 70891a4f..ef2337eb 100644 --- a/src/com/owncloud/android/lib/resources/shares/ShareXMLParser.java +++ b/src/com/owncloud/android/lib/resources/shares/ShareXMLParser.java @@ -1,5 +1,5 @@ /* ownCloud Android Library is available under MIT license - * Copyright (C) 2016 ownCloud GmbH. + * Copyright (C) 2018 ownCloud GmbH. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -41,7 +41,7 @@ import com.owncloud.android.lib.resources.files.FileUtils; /** * Parser for Share API Response * @author masensio - * + * @author David González Verdugo */ public class ShareXMLParser { @@ -82,7 +82,7 @@ public class ShareXMLParser { private static final String TYPE_FOLDER = "folder"; - private static final int SUCCESS = 100; + private static final int SUCCESS = 200; private static final int ERROR_WRONG_PARAMETER = 400; private static final int ERROR_FORBIDDEN = 403; private static final int ERROR_NOT_FOUND = 404; @@ -172,7 +172,7 @@ public class ShareXMLParser { */ private ArrayList readOCS (XmlPullParser parser) throws XmlPullParserException, IOException { - ArrayList shares = new ArrayList(); + ArrayList shares = new ArrayList<>(); parser.require(XmlPullParser.START_TAG, ns , NODE_OCS); while (parser.next() != XmlPullParser.END_TAG) { if (parser.getEventType() != XmlPullParser.START_TAG) { @@ -190,8 +190,6 @@ public class ShareXMLParser { } return shares; - - } /** @@ -439,5 +437,4 @@ public class ShareXMLParser { } } } - -} +} \ No newline at end of file diff --git a/src/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.java b/src/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.java index a3c77e26..d59a32de 100644 --- a/src/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.java +++ b/src/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.java @@ -50,7 +50,7 @@ public class GetRemoteCapabilitiesOperation extends RemoteOperation { // OCS Routes - private static final String OCS_ROUTE = "ocs/v1.php/cloud/capabilities"; + private static final String OCS_ROUTE = "ocs/v2.php/cloud/capabilities"; // Arguments - names private static final String PARAM_FORMAT = "format"; diff --git a/src/com/owncloud/android/lib/resources/users/GetRemoteUserInfoOperation.java b/src/com/owncloud/android/lib/resources/users/GetRemoteUserInfoOperation.java index ef0f4c04..12e0486b 100644 --- a/src/com/owncloud/android/lib/resources/users/GetRemoteUserInfoOperation.java +++ b/src/com/owncloud/android/lib/resources/users/GetRemoteUserInfoOperation.java @@ -48,7 +48,7 @@ public class GetRemoteUserInfoOperation extends RemoteOperation { private static final String TAG = GetRemoteUserInfoOperation.class.getSimpleName(); // OCS Route - private static final String OCS_ROUTE = "/ocs/v1.php/cloud/user?format=json"; + private static final String OCS_ROUTE = "/ocs/v2.php/cloud/user?format=json"; // JSON Node names private static final String NODE_OCS = "ocs"; @@ -125,5 +125,4 @@ public class GetRemoteUserInfoOperation extends RemoteOperation { public String mDisplayName = ""; public String mEmail = ""; } - -} +} \ No newline at end of file From cd3d20db072a7c57a8680fa80e03102371caa4e2 Mon Sep 17 00:00:00 2001 From: DerSchabi Date: Thu, 17 May 2018 09:45:54 +0200 Subject: [PATCH 003/144] add dav4droid support part1 --- .gitignore | 5 +- build.gradle | 6 + sample_client/AndroidManifest.xml | 29 +- sample_client/build.gradle | 4 + sample_client/res/layout/main.xml | 195 +++---- sample_client/res/values/strings.xml | 1 - .../lib/sampleclient/MainActivity.java | 399 +++---------- .../common/operations/RemoteOperation.java | 26 + .../owncloud/android/lib/refactor/Log_OC.java | 212 +++++++ .../android/lib/refactor/OwnCloudContext.java | 50 ++ .../android/lib/refactor/RemoteOperation.java | 50 ++ .../lib/refactor/RemoteOperationResult.java | 523 ++++++++++++++++++ .../authentication/OwnCloudCredentials.java | 44 ++ .../OwnCloudAnonymousCredentials.java | 29 + .../credentials/OwnCloudBasicCredentials.java | 66 +++ .../OwnCloudBearerCredentials.java | 69 +++ .../OwnCloudSamlSsoCredentials.java | 90 +++ .../oauth/BearerAuthScheme.java | 261 +++++++++ .../oauth/BearerCredentials.java | 102 ++++ .../oauth/OAuth2ClientConfiguration.java | 55 ++ .../authentication/oauth/OAuth2Constants.java | 68 +++ .../authentication/oauth/OAuth2GrantType.java | 46 ++ .../authentication/oauth/OAuth2Provider.java | 66 +++ .../oauth/OAuth2ProvidersRegistry.java | 122 ++++ .../oauth/OAuth2QueryParser.java | 75 +++ .../oauth/OAuth2RequestBuilder.java | 48 ++ .../oauth/OAuth2ResponseParser.java | 77 +++ .../oauth/OwnCloudOAuth2Provider.java | 94 ++++ .../oauth/OwnCloudOAuth2RequestBuilder.java | 153 +++++ .../OAuth2GetAccessTokenOperation.java | 136 +++++ .../OAuth2RefreshAccessTokenOperation.java | 134 +++++ .../CertificateCombinedException.java | 140 +++++ .../OperationCancelledException.java | 34 ++ .../operations/PropfindOperation.java | 18 + .../lib/refactor/utils/AccountTypeUtils.java | 49 ++ .../lib/refactor/utils/AccountUtils.java | 321 +++++++++++ .../refactor/utils/ErrorMessageParser.java | 138 +++++ .../InvalidCharacterExceptionParser.java | 144 +++++ .../files/ReadRemoteFolderOperation.java | 3 + test_client/build.gradle | 4 + 40 files changed, 3612 insertions(+), 474 deletions(-) create mode 100644 src/com/owncloud/android/lib/refactor/Log_OC.java create mode 100644 src/com/owncloud/android/lib/refactor/OwnCloudContext.java create mode 100644 src/com/owncloud/android/lib/refactor/RemoteOperation.java create mode 100644 src/com/owncloud/android/lib/refactor/RemoteOperationResult.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/OwnCloudCredentials.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/credentials/OwnCloudAnonymousCredentials.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/credentials/OwnCloudBasicCredentials.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/credentials/OwnCloudBearerCredentials.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/credentials/OwnCloudSamlSsoCredentials.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/oauth/BearerAuthScheme.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/oauth/BearerCredentials.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/oauth/OAuth2ClientConfiguration.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/oauth/OAuth2Constants.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/oauth/OAuth2GrantType.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/oauth/OAuth2Provider.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/oauth/OAuth2ProvidersRegistry.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/oauth/OAuth2QueryParser.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/oauth/OAuth2RequestBuilder.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/oauth/OAuth2ResponseParser.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/oauth/OwnCloudOAuth2Provider.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/oauth/OwnCloudOAuth2RequestBuilder.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/oauth/operations/OAuth2GetAccessTokenOperation.java create mode 100644 src/com/owncloud/android/lib/refactor/authentication/oauth/operations/OAuth2RefreshAccessTokenOperation.java create mode 100644 src/com/owncloud/android/lib/refactor/exceptions/CertificateCombinedException.java create mode 100644 src/com/owncloud/android/lib/refactor/exceptions/OperationCancelledException.java create mode 100644 src/com/owncloud/android/lib/refactor/operations/PropfindOperation.java create mode 100644 src/com/owncloud/android/lib/refactor/utils/AccountTypeUtils.java create mode 100644 src/com/owncloud/android/lib/refactor/utils/AccountUtils.java create mode 100644 src/com/owncloud/android/lib/refactor/utils/ErrorMessageParser.java create mode 100644 src/com/owncloud/android/lib/refactor/utils/InvalidCharacterExceptionParser.java diff --git a/.gitignore b/.gitignore index dd7c979e..d217bb39 100644 --- a/.gitignore +++ b/.gitignore @@ -30,4 +30,7 @@ tests/test_cases/local.properties proguard-project.txt sample_client/proguard-project.txt tests/proguard-project.txt -tests/test_cases/proguard-project.txt \ No newline at end of file +tests/test_cases/proguard-project.txt + +# setup.xml login credentials +sample_client/res/values/setup.xml diff --git a/build.gradle b/build.gradle index 3fe45e41..46e813f9 100644 --- a/build.gradle +++ b/build.gradle @@ -14,12 +14,14 @@ allprojects { repositories { google() jcenter() + maven { url 'https://jitpack.io' } } } dependencies { api 'org.apache.jackrabbit:jackrabbit-webdav:2.12.4' api 'com.squareup.okhttp3:okhttp:3.10.0' + api 'com.gitlab.derSchabi:dav4android:dev2' } android { @@ -52,4 +54,8 @@ android { lintOptions { abortOnError false } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } diff --git a/sample_client/AndroidManifest.xml b/sample_client/AndroidManifest.xml index a2697540..c0885e36 100644 --- a/sample_client/AndroidManifest.xml +++ b/sample_client/AndroidManifest.xml @@ -24,27 +24,22 @@ --> - - + package="com.owncloud.android.lib.sampleclient" + android:versionCode="1" + android:versionName="1.0"> + - - + + - - + + diff --git a/sample_client/build.gradle b/sample_client/build.gradle index c0f96865..e61a1458 100644 --- a/sample_client/build.gradle +++ b/sample_client/build.gradle @@ -42,4 +42,8 @@ android { packagingOptions { exclude 'META-INF/LICENSE.txt' } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } diff --git a/sample_client/res/layout/main.xml b/sample_client/res/layout/main.xml index 6a15c528..e743396b 100644 --- a/sample_client/res/layout/main.xml +++ b/sample_client/res/layout/main.xml @@ -24,150 +24,99 @@ --> - - -