Skip to content

Commit d3924f1

Browse files
wip
Signed-off-by: tobiasKaminsky <[email protected]>
1 parent f8e5d04 commit d3924f1

File tree

93 files changed

+1158
-582
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+1158
-582
lines changed

.idea/codeStyles/Project.xml

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Fri Sep 16 08:12:41 CEST 2022
1+
#Thu Jun 15 14:34:27 CEST 2023
22
distributionBase=GRADLE_USER_HOME
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip
43
distributionPath=wrapper/dists
5-
zipStorePath=wrapper/dists
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
65
zipStoreBase=GRADLE_USER_HOME
6+
zipStorePath=wrapper/dists

library/src/androidTest/java/com/owncloud/android/lib/common/accounts/ExternalLinksOperationIT.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,17 @@
2727
package com.owncloud.android.lib.common.accounts
2828

2929
import com.owncloud.android.AbstractIT
30-
import com.owncloud.android.lib.common.ExternalLink
3130
import junit.framework.Assert.assertEquals
3231
import junit.framework.Assert.assertTrue
3332
import org.junit.Test
3433

3534
class ExternalLinksOperationIT : AbstractIT() {
3635
@Test
3736
fun retrieveExternalLinks() {
38-
val result = ExternalLinksOperation().execute(client)
37+
val result = ExternalLinksOperation().execute(nextcloudClient)
3938
assertTrue(result.isSuccess)
4039

41-
val data = result.data as ArrayList<ExternalLink>
40+
val data = result.resultData
4241
assertEquals(2, data.size)
4342

4443
assertEquals("Nextcloud", data[0].name)

library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardGetWidgetItemsRemoteOperation.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ import com.nextcloud.common.NextcloudClient
2727
import com.nextcloud.operations.GetMethod
2828
import com.owncloud.android.lib.common.operations.RemoteOperationResult
2929
import com.owncloud.android.lib.ocs.ServerResponse
30-
import com.owncloud.android.lib.resources.OCSRemoteOperation
30+
import com.owncloud.android.lib.resources.OCSNextcloudRemoteOperation
3131
import org.apache.commons.httpclient.HttpStatus
3232
import java.io.IOException
3333

3434
class DashboardGetWidgetItemsRemoteOperation(val id: String, private val limitSize: Int) :
35-
OCSRemoteOperation<HashMap<String, List<DashboardWidgetItem>>>() {
35+
OCSNextcloudRemoteOperation<HashMap<String, List<DashboardWidgetItem>>>() {
3636

3737
override fun run(client: NextcloudClient): RemoteOperationResult<HashMap<String, List<DashboardWidgetItem>>> {
3838
lateinit var result: RemoteOperationResult<HashMap<String, List<DashboardWidgetItem>>>

library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardListWidgetsRemoteOperation.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ import com.nextcloud.common.NextcloudClient
2727
import com.nextcloud.operations.GetMethod
2828
import com.owncloud.android.lib.common.operations.RemoteOperationResult
2929
import com.owncloud.android.lib.ocs.ServerResponse
30-
import com.owncloud.android.lib.resources.OCSRemoteOperation
30+
import com.owncloud.android.lib.resources.OCSNextcloudRemoteOperation
3131
import org.apache.commons.httpclient.HttpStatus
3232
import java.io.IOException
3333

34-
class DashboardListWidgetsRemoteOperation : OCSRemoteOperation<Map<String, DashboardWidget>>() {
34+
class DashboardListWidgetsRemoteOperation : OCSNextcloudRemoteOperation<Map<String, DashboardWidget>>() {
3535

3636
override fun run(client: NextcloudClient): RemoteOperationResult<Map<String, DashboardWidget>> {
3737
lateinit var result: RemoteOperationResult<Map<String, DashboardWidget>>

library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingCreateFileRemoteOperation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
package com.nextcloud.android.lib.resources.directediting;
2929

3030
import com.owncloud.android.lib.common.OwnCloudClient;
31-
import com.owncloud.android.lib.common.operations.RemoteOperation;
31+
import com.owncloud.android.lib.common.operations.LegacyRemoteOperation;
3232
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
3333
import com.owncloud.android.lib.common.utils.Log_OC;
3434

@@ -40,7 +40,7 @@
4040
* Create file with direct editing api
4141
*/
4242

43-
public class DirectEditingCreateFileRemoteOperation extends RemoteOperation<String> {
43+
public class DirectEditingCreateFileRemoteOperation extends LegacyRemoteOperation<String> {
4444
private static final String TAG = DirectEditingCreateFileRemoteOperation.class.getSimpleName();
4545
private static final int SYNC_READ_TIMEOUT = 40000;
4646
private static final int SYNC_CONNECTION_TIMEOUT = 5000;

library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingOpenFileRemoteOperation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
package com.nextcloud.android.lib.resources.directediting;
2929

3030
import com.owncloud.android.lib.common.OwnCloudClient;
31-
import com.owncloud.android.lib.common.operations.RemoteOperation;
31+
import com.owncloud.android.lib.common.operations.LegacyRemoteOperation;
3232
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
3333
import com.owncloud.android.lib.common.utils.Log_OC;
3434

@@ -40,7 +40,7 @@
4040
* open file for direct editing
4141
*/
4242

43-
public class DirectEditingOpenFileRemoteOperation extends RemoteOperation {
43+
public class DirectEditingOpenFileRemoteOperation extends LegacyRemoteOperation {
4444
private static final String TAG = DirectEditingOpenFileRemoteOperation.class.getSimpleName();
4545
private static final int SYNC_READ_TIMEOUT = 40000;
4646
private static final int SYNC_CONNECTION_TIMEOUT = 5000;

library/src/main/java/com/nextcloud/android/lib/resources/files/ToggleFileLockRemoteOperation.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import com.nextcloud.common.NextcloudClient
2424
import com.nextcloud.common.OkHttpMethodBase
2525
import com.nextcloud.operations.LockMethod
2626
import com.nextcloud.operations.UnlockMethod
27-
import com.owncloud.android.lib.common.operations.RemoteOperation
27+
import com.owncloud.android.lib.common.operations.NextcloudRemoteOperation
2828
import com.owncloud.android.lib.common.operations.RemoteOperationResult
2929
import com.owncloud.android.lib.common.utils.Log_OC
3030
import org.apache.commons.httpclient.HttpStatus
@@ -35,7 +35,7 @@ import org.apache.commons.httpclient.HttpStatus
3535
* @param toLock `true` if file is to be locked, `false` if it is to be unlocked
3636
*/
3737
class ToggleFileLockRemoteOperation(private val toLock: Boolean, private val filePath: String) :
38-
RemoteOperation<Void>() {
38+
NextcloudRemoteOperation<Void>() {
3939
@Suppress("TooGenericExceptionCaught")
4040
override fun run(client: NextcloudClient): RemoteOperationResult<Void> {
4141
var method: OkHttpMethodBase? = null

library/src/main/java/com/nextcloud/android/lib/resources/groupfolders/GetGroupfoldersRemoteOperation.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@ import com.nextcloud.operations.GetMethod
3232
import com.owncloud.android.lib.common.operations.RemoteOperationResult
3333
import com.owncloud.android.lib.common.utils.Log_OC
3434
import com.owncloud.android.lib.ocs.ServerResponse
35-
import com.owncloud.android.lib.resources.OCSRemoteOperation
35+
import com.owncloud.android.lib.resources.OCSNextcloudRemoteOperation
3636
import org.apache.commons.httpclient.HttpStatus
3737

3838
/**
3939
* Get groupfolders of an user
4040
*/
4141
class GetGroupfoldersRemoteOperation :
42-
OCSRemoteOperation<Map<String, Groupfolder>>() {
42+
OCSNextcloudRemoteOperation<Map<String, Groupfolder>>() {
4343
@Suppress("TooGenericExceptionCaught")
4444
override fun run(client: NextcloudClient): RemoteOperationResult<Map<String, Groupfolder>> {
4545
var result: RemoteOperationResult<Map<String, Groupfolder>>

library/src/main/java/com/nextcloud/android/lib/resources/profile/GetHoverCardRemoteOperation.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ import com.nextcloud.operations.GetMethod
3232
import com.owncloud.android.lib.common.operations.RemoteOperationResult
3333
import com.owncloud.android.lib.common.utils.Log_OC
3434
import com.owncloud.android.lib.ocs.ServerResponse
35-
import com.owncloud.android.lib.resources.OCSRemoteOperation
35+
import com.owncloud.android.lib.resources.OCSNextcloudRemoteOperation
3636
import org.apache.commons.httpclient.HttpStatus
3737

3838
/**
3939
* Get hoverCard of an user
4040
*/
41-
class GetHoverCardRemoteOperation(private val userId: String) : OCSRemoteOperation<HoverCard?>() {
41+
class GetHoverCardRemoteOperation(private val userId: String) : OCSNextcloudRemoteOperation<HoverCard?>() {
4242
@Suppress("TooGenericExceptionCaught")
4343
override fun run(client: NextcloudClient): RemoteOperationResult<HoverCard?> {
4444
var result: RemoteOperationResult<HoverCard?>

library/src/main/java/com/nextcloud/android/lib/resources/search/UnifiedSearchProvidersRemoteOperation.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ import com.owncloud.android.lib.common.SearchProviders
3030
import com.owncloud.android.lib.common.operations.RemoteOperationResult
3131
import com.owncloud.android.lib.common.utils.Log_OC
3232
import com.owncloud.android.lib.ocs.ServerResponse
33-
import com.owncloud.android.lib.resources.OCSRemoteOperation
33+
import com.owncloud.android.lib.resources.OCSNextcloudRemoteOperation
3434
import org.apache.commons.httpclient.HttpStatus
3535

3636
/**
3737
* Get all search providers for unified search
3838
*/
3939
@Suppress("TooGenericExceptionCaught")
40-
class UnifiedSearchProvidersRemoteOperation : OCSRemoteOperation<SearchProviders>() {
40+
class UnifiedSearchProvidersRemoteOperation : OCSNextcloudRemoteOperation<SearchProviders>() {
4141
companion object {
4242
private val TAG = UnifiedSearchProvidersRemoteOperation::class.java.simpleName
4343
private const val ENDPOINT = "/ocs/v2.php/search/providers"

library/src/main/java/com/nextcloud/android/lib/resources/search/UnifiedSearchRemoteOperation.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import com.owncloud.android.lib.common.SearchResult
2929
import com.owncloud.android.lib.common.operations.RemoteOperationResult
3030
import com.owncloud.android.lib.common.utils.Log_OC
3131
import com.owncloud.android.lib.ocs.ServerResponse
32-
import com.owncloud.android.lib.resources.OCSRemoteOperation
32+
import com.owncloud.android.lib.resources.OCSNextcloudRemoteOperation
3333
import org.apache.commons.httpclient.HttpStatus
3434
import java.net.URLEncoder
3535

@@ -43,7 +43,7 @@ class UnifiedSearchRemoteOperation(
4343
val cursor: Int? = null,
4444
val limit: Int = 5
4545
) :
46-
OCSRemoteOperation<SearchResult>() {
46+
OCSNextcloudRemoteOperation<SearchResult>() {
4747
companion object {
4848
private val TAG = UnifiedSearchRemoteOperation::class.java.simpleName
4949
private const val ENDPOINT = "/ocs/v2.php/search/providers/"

library/src/main/java/com/nextcloud/android/lib/richWorkspace/RichWorkspaceDirectEditingRemoteOperation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929

3030
import com.google.gson.GsonBuilder;
3131
import com.owncloud.android.lib.common.OwnCloudClient;
32-
import com.owncloud.android.lib.common.operations.RemoteOperation;
32+
import com.owncloud.android.lib.common.operations.LegacyRemoteOperation;
3333
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
3434
import com.owncloud.android.lib.common.utils.Log_OC;
3535

@@ -45,7 +45,7 @@
4545
* Get direct editing url for rich workspace
4646
*/
4747

48-
public class RichWorkspaceDirectEditingRemoteOperation extends RemoteOperation {
48+
public class RichWorkspaceDirectEditingRemoteOperation extends LegacyRemoteOperation {
4949
private static final String TAG = RichWorkspaceDirectEditingRemoteOperation.class.getSimpleName();
5050
private static final int SYNC_READ_TIMEOUT = 40000;
5151
private static final int SYNC_CONNECTION_TIMEOUT = 5000;

library/src/main/java/com/nextcloud/common/NextcloudClient.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import com.owncloud.android.lib.common.accounts.AccountUtils
3737
import com.owncloud.android.lib.common.network.AdvancedX509TrustManager
3838
import com.owncloud.android.lib.common.network.NetworkUtils
3939
import com.owncloud.android.lib.common.network.RedirectionPath
40-
import com.owncloud.android.lib.common.operations.RemoteOperation
40+
import com.owncloud.android.lib.common.operations.NextcloudRemoteOperation
4141
import com.owncloud.android.lib.common.operations.RemoteOperationResult
4242
import com.owncloud.android.lib.common.utils.Log_OC
4343
import okhttp3.CookieJar
@@ -101,7 +101,7 @@ class NextcloudClient private constructor(
101101
) : this(baseUri, userId, credentials, createDefaultClient(context))
102102

103103
@Suppress("TooGenericExceptionCaught")
104-
fun <T> execute(remoteOperation: RemoteOperation<T>): RemoteOperationResult<T> {
104+
fun <T> execute(remoteOperation: NextcloudRemoteOperation<T>): RemoteOperationResult<T> {
105105
return try {
106106
remoteOperation.run(this)
107107
} catch (ex: Exception) {

library/src/main/java/com/owncloud/android/lib/common/accounts/ExternalLinksOperation.java

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -27,28 +27,28 @@
2727

2828
package com.owncloud.android.lib.common.accounts;
2929

30+
import com.nextcloud.common.NextcloudClient;
31+
import com.nextcloud.operations.GetMethod;
3032
import com.owncloud.android.lib.common.ExternalLink;
3133
import com.owncloud.android.lib.common.ExternalLinkType;
32-
import com.owncloud.android.lib.common.OwnCloudClient;
33-
import com.owncloud.android.lib.common.operations.RemoteOperation;
34+
import com.owncloud.android.lib.common.operations.NextcloudRemoteOperation;
3435
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
3536
import com.owncloud.android.lib.common.utils.Log_OC;
3637
import com.owncloud.android.lib.resources.status.GetCapabilitiesRemoteOperation;
3738
import com.owncloud.android.lib.resources.status.OCCapability;
3839

3940
import org.apache.commons.httpclient.HttpStatus;
40-
import org.apache.commons.httpclient.NameValuePair;
41-
import org.apache.commons.httpclient.methods.GetMethod;
4241
import org.json.JSONArray;
4342
import org.json.JSONObject;
4443

4544
import java.util.ArrayList;
45+
import java.util.HashMap;
4646

4747
/**
4848
* gets external links provided by 'external' app
4949
*/
5050

51-
public class ExternalLinksOperation extends RemoteOperation {
51+
public class ExternalLinksOperation extends NextcloudRemoteOperation<ArrayList<ExternalLink>> {
5252

5353
private static final String TAG = ExternalLinksOperation.class.getSimpleName();
5454

@@ -68,24 +68,26 @@ public class ExternalLinksOperation extends RemoteOperation {
6868

6969

7070
@Override
71-
protected RemoteOperationResult run(OwnCloudClient client) {
72-
RemoteOperationResult result = null;
71+
public RemoteOperationResult<ArrayList<ExternalLink>> run(NextcloudClient client) {
72+
RemoteOperationResult<ArrayList<ExternalLink>> result = null;
7373
int status = -1;
7474
GetMethod get = null;
7575
String ocsUrl = client.getBaseUri() + OCS_ROUTE_EXTERNAL_LINKS;
7676

7777
try {
7878
// check capabilities
79-
RemoteOperation getCapabilities = new GetCapabilitiesRemoteOperation();
80-
RemoteOperationResult capabilitiesResult = getCapabilities.execute(client);
79+
NextcloudRemoteOperation getCapabilities = new GetCapabilitiesRemoteOperation();
80+
RemoteOperationResult capabilitiesResult = client.execute(getCapabilities);
8181
OCCapability capability = (OCCapability) capabilitiesResult.getData().get(0);
8282

8383
if (capability.getExternalLinks().isTrue()) {
8484

85-
get = new GetMethod(ocsUrl);
86-
get.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE);
87-
get.setQueryString(new NameValuePair[]{new NameValuePair("format", "json")});
88-
status = client.executeMethod(get);
85+
get = new GetMethod(ocsUrl, true);
86+
HashMap<String, String> parameters = new HashMap<>();
87+
parameters.put("format", "json");
88+
get.setQueryString(parameters);
89+
90+
status = client.execute(get);
8991

9092
if (isSuccess(status)) {
9193
String response = get.getResponseBodyAsString();
@@ -94,13 +96,13 @@ protected RemoteOperationResult run(OwnCloudClient client) {
9496
// parse
9597
JSONArray links = new JSONObject(response).getJSONObject(NODE_OCS).getJSONArray(NODE_DATA);
9698

97-
ArrayList<Object> resultLinks = new ArrayList<>();
99+
ArrayList<ExternalLink> resultLinks = new ArrayList<>();
98100

99101
for (int i = 0; i < links.length(); i++) {
100102
JSONObject link = links.getJSONObject(i);
101103

102104
if (link != null) {
103-
Integer id = link.getInt(NODE_ID);
105+
int id = link.getInt(NODE_ID);
104106
String iconUrl = link.getString(NODE_ICON);
105107
String language = "";
106108
if (link.has(NODE_LANGUAGE)) {
@@ -137,26 +139,22 @@ protected RemoteOperationResult run(OwnCloudClient client) {
137139
}
138140
}
139141

140-
result = new RemoteOperationResult(true, status, get.getResponseHeaders());
141-
result.setData(resultLinks);
142+
result = new RemoteOperationResult<>(true, get);
143+
result.setResultData(resultLinks);
142144

143145
} else {
144-
result = new RemoteOperationResult(false, status, get.getResponseHeaders());
146+
result = new RemoteOperationResult<>(false, get);
145147
String response = get.getResponseBodyAsString();
146148
Log_OC.e(TAG, "Failed response while getting external links ");
147-
if (response != null) {
148-
Log_OC.e(TAG, "*** status code: " + status + " ; response message: " + response);
149-
} else {
150-
Log_OC.e(TAG, "*** status code: " + status);
151-
}
149+
Log_OC.e(TAG, "*** status code: " + status + " ; response message: " + response);
152150
}
153151
} else {
154-
result = new RemoteOperationResult(RemoteOperationResult.ResultCode.NOT_AVAILABLE);
152+
result = new RemoteOperationResult<>(RemoteOperationResult.ResultCode.NOT_AVAILABLE);
155153
Log_OC.d(TAG, "External links disabled");
156154
}
157155

158156
} catch (Exception e) {
159-
result = new RemoteOperationResult(e);
157+
result = new RemoteOperationResult<>(e);
160158
Log_OC.e(TAG, "Exception while getting external links ", e);
161159
} finally {
162160
if (get != null) {

0 commit comments

Comments
 (0)