diff --git a/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java b/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java index a15461c87..97b65d37f 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()); 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 cddfcbc54..08cbae4ed 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 8bd752133..e0d0378f9 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