From 786a05d7ff9f8f546ae28d22f042cac79b16842b Mon Sep 17 00:00:00 2001 From: alperozturk Date: Tue, 21 Oct 2025 12:07:40 +0200 Subject: [PATCH 1/4] 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 431ac4acb9..120242a27e 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"; @@ -482,6 +484,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 dc435ff38c..ef67f6c34e 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 d6a599e90507e5a10a7f54216bc7db4d4a9f24f1 Mon Sep 17 00:00:00 2001 From: alperozturk Date: Mon, 27 Oct 2025 13:24:15 +0100 Subject: [PATCH 2/4] solve git conflict Signed-off-by: alperozturk From 5f2bee8e5855b546f096c126bef0490f10a525a2 Mon Sep 17 00:00:00 2001 From: alperozturk Date: Thu, 13 Nov 2025 10:08:53 +0100 Subject: [PATCH 3/4] add missing test 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 0b8bcda75d..280d9dca1a 100644 --- a/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java +++ b/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java @@ -164,5 +164,10 @@ private void checkCapability(OCCapability capability, String userId) { if (capability.getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_32)) { assertTrue(capability.getUserStatusSupportsBusy().isTrue()); } + + // wcf + if (capability.getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_32)) { + assertTrue(capability.isWCFEnabled().isFalse()); + } } } From 343957a8dd50c8a06441e76ec96fa29cabab2998 Mon Sep 17 00:00:00 2001 From: alperozturk Date: Thu, 13 Nov 2025 10:33:34 +0100 Subject: [PATCH 4/4] add missing test 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 a15461c871..97b65d37fa 100644 --- a/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java +++ b/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java @@ -164,6 +164,11 @@ private void checkCapability(OCCapability capability, String userId) { if (capability.getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_32)) { assertTrue(capability.getUserStatusSupportsBusy().isTrue()); } + + // wcf + if (capability.getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_32)) { + assertTrue(capability.isWCFEnabled().isFalse()); + } // support assertTrue(capability.getHasValidSubscription().isFalse());