From 7496008b7e1892d2e53189ae9ac69a4d8c993754 Mon Sep 17 00:00:00 2001 From: alperozturk Date: Tue, 21 Oct 2025 12:07:40 +0200 Subject: [PATCH 1/2] add: windows compatible filenames capability Signed-off-by: alperozturk --- .../resources/status/GetCapabilitiesRemoteOperation.java | 7 +++++++ .../owncloud/android/lib/resources/status/OCCapability.kt | 1 + 2 files changed, 8 insertions(+) diff --git a/library/src/main/java/com/owncloud/android/lib/resources/status/GetCapabilitiesRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/status/GetCapabilitiesRemoteOperation.java index cddfcbc544..08cbae4ed3 100644 --- a/library/src/main/java/com/owncloud/android/lib/resources/status/GetCapabilitiesRemoteOperation.java +++ b/library/src/main/java/com/owncloud/android/lib/resources/status/GetCapabilitiesRemoteOperation.java @@ -170,6 +170,8 @@ public class GetCapabilitiesRemoteOperation extends RemoteOperation { private static final String FORBIDDEN_FILENAME_EXTENSIONS = "forbidden_filename_extensions"; private static final String FORBIDDEN_FILENAME_BASE_NAMES = "forbidden_filename_basenames"; + private static final String WINDOWS_COMPATIBLE_FILENAMES = "windows_compatible_filenames"; + // files download limits private static final String NODE_FILES_DOWNLOAD_LIMIT = "downloadlimit"; private static final String FILES_DOWNLOAD_LIMIT_DEFAULT = "default-limit"; @@ -486,6 +488,11 @@ private OCCapability parseResponse(String response) throws JSONException { JSONArray result = respFiles.getJSONArray(FORBIDDEN_FILENAME_BASE_NAMES); capability.setForbiddenFilenameBaseNamesJson(result.toString()); } + + if (respFiles.has(WINDOWS_COMPATIBLE_FILENAMES)) { + capability.setWCFEnabled(CapabilityBooleanType.fromBooleanValue( + respFiles.getBoolean(WINDOWS_COMPATIBLE_FILENAMES))); + } // endregion Log_OC.d(TAG, "*** Added " + NODE_FILES); diff --git a/library/src/main/java/com/owncloud/android/lib/resources/status/OCCapability.kt b/library/src/main/java/com/owncloud/android/lib/resources/status/OCCapability.kt index 8bd752133e..e0d0378f96 100644 --- a/library/src/main/java/com/owncloud/android/lib/resources/status/OCCapability.kt +++ b/library/src/main/java/com/owncloud/android/lib/resources/status/OCCapability.kt @@ -113,6 +113,7 @@ class OCCapability { var forbiddenFilenamesJson: String? = null var forbiddenFilenameExtensionJson: String? = null var forbiddenFilenameBaseNamesJson: String? = null + var isWCFEnabled = CapabilityBooleanType.UNKNOWN // files download limits var filesDownloadLimit = CapabilityBooleanType.UNKNOWN From d269978dfdef924517da8d218ccc95651217d9af Mon Sep 17 00:00:00 2001 From: alperozturk Date: Mon, 27 Oct 2025 13:24:15 +0100 Subject: [PATCH 2/2] solve git conflict Signed-off-by: alperozturk --- .../owncloud/android/GetCapabilitiesRemoteOperationIT.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java b/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java index 14456438d8..30cf871d44 100644 --- a/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java +++ b/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java @@ -157,5 +157,10 @@ private void checkCapability(OCCapability capability, String userId) { // support assertTrue(capability.getHasValidSubscription().isFalse()); + + // wcf + if (capability.getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_32)) { + assertTrue(capability.isWCFEnabled().isFalse()); + } } }