From 60c85fd129c9661c223410e6833ac8b9b5ca9826 Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Wed, 8 Jul 2026 14:32:06 +0200 Subject: [PATCH 1/2] use uri Signed-off-by: alperozturk96 --- .../android/files/FetchTemplateOperation.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/owncloud/android/files/FetchTemplateOperation.java b/app/src/main/java/com/owncloud/android/files/FetchTemplateOperation.java index e16fafa6f562..4eddbc660e20 100644 --- a/app/src/main/java/com/owncloud/android/files/FetchTemplateOperation.java +++ b/app/src/main/java/com/owncloud/android/files/FetchTemplateOperation.java @@ -7,6 +7,8 @@ */ package com.owncloud.android.files; +import android.net.Uri; + import com.owncloud.android.datamodel.Template; import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.operations.RemoteOperation; @@ -26,14 +28,15 @@ public class FetchTemplateOperation extends RemoteOperation { private static final String TAG = FetchTemplateOperation.class.getSimpleName(); private static final int SYNC_READ_TIMEOUT = 40000; private static final int SYNC_CONNECTION_TIMEOUT = 5000; - private static final String TEMPLATE_URL = "/ocs/v2.php/apps/richdocuments/api/v1/templates/"; + private static final String TEMPLATE_ROUTE = "ocs/v2.php/apps/richdocuments/api/v1/templates"; + private static final String PARAM_FORMAT = "format"; + private static final String VALUE_FORMAT_JSON = "json"; private ChooseRichDocumentsTemplateDialogFragment.Type type; // JSON node names private static final String NODE_OCS = "ocs"; private static final String NODE_DATA = "data"; - private static final String JSON_FORMAT = "?format=json"; public FetchTemplateOperation(ChooseRichDocumentsTemplateDialogFragment.Type type) { this.type = type; @@ -44,9 +47,14 @@ protected RemoteOperationResult run(OwnCloudClient client) { GetMethod getMethod = null; try { + Uri uri = client.getBaseUri() + .buildUpon() + .appendEncodedPath(TEMPLATE_ROUTE) + .appendEncodedPath(type.toString().toLowerCase(Locale.ENGLISH)) + .appendQueryParameter(PARAM_FORMAT, VALUE_FORMAT_JSON) + .build(); - getMethod = new GetMethod(client.getBaseUri() + TEMPLATE_URL + type.toString().toLowerCase(Locale.ENGLISH) + - JSON_FORMAT); + getMethod = new GetMethod(uri.toString()); // remote request getMethod.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE); @@ -76,8 +84,9 @@ protected RemoteOperationResult run(OwnCloudClient client) { result = new RemoteOperationResult(true, getMethod); result.setData(templateArray); } else { + String errorBody = getMethod.getResponseBodyAsString(); result = new RemoteOperationResult(false, getMethod); - client.exhaustResponse(getMethod.getResponseBodyAsStream()); + Log_OC.e(TAG, "Get templates for type " + type + " failed with status " + status + ": " + errorBody); } } catch (Exception e) { result = new RemoteOperationResult(e); From 5de9a6e02ff4cfce3264ef206bf6f5a8f41c976f Mon Sep 17 00:00:00 2001 From: alperozturk96 Date: Wed, 8 Jul 2026 14:32:20 +0200 Subject: [PATCH 2/2] wip Signed-off-by: alperozturk96 --- .../ui/dialog/ChooseRichDocumentsTemplateDialogFragment.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/owncloud/android/ui/dialog/ChooseRichDocumentsTemplateDialogFragment.kt b/app/src/main/java/com/owncloud/android/ui/dialog/ChooseRichDocumentsTemplateDialogFragment.kt index 1afec56af969..32b104be8319 100644 --- a/app/src/main/java/com/owncloud/android/ui/dialog/ChooseRichDocumentsTemplateDialogFragment.kt +++ b/app/src/main/java/com/owncloud/android/ui/dialog/ChooseRichDocumentsTemplateDialogFragment.kt @@ -301,7 +301,7 @@ class ChooseRichDocumentsTemplateDialogFragment : name, fileDataStorageManager.getCapability(currentAccount.user), requireContext(), - fileNames ?: setOf() + fileNames ) return when {