Skip to content

Commit b884b0a

Browse files
Merge pull request #1635 from nextcloud/backport/1494/stable-2.19
[stable-2.19] Add New Capabilities For Compatible File Names
2 parents c72125f + 5091cbf commit b884b0a

2 files changed

Lines changed: 34 additions & 0 deletions

File tree

library/src/main/java/com/owncloud/android/lib/resources/status/GetCapabilitiesRemoteOperation.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,12 @@ public class GetCapabilitiesRemoteOperation extends RemoteOperation {
160160
private static final String NODE_SECURITY_GUARD = "security_guard";
161161
private static final String NODE_DIAGNOSTICS = "diagnostics";
162162

163+
// needed for checking compatible filenames
164+
private static final String FORBIDDEN_FILENAME_CHARACTERS = "forbidden_filename_characters";
165+
private static final String FORBIDDEN_FILENAMES = "forbidden_filenames";
166+
private static final String FORBIDDEN_FILENAME_EXTENSIONS = "forbidden_filename_extensions";
167+
private static final String FORBIDDEN_FILENAME_BASE_NAMES = "forbidden_filename_basenames";
168+
163169
private OCCapability currentCapability = null;
164170

165171
public GetCapabilitiesRemoteOperation() {
@@ -438,6 +444,28 @@ private OCCapability parseResponse(String response) throws JSONException {
438444
capability.setDirectEditingEtag(respDirectEditing.getString("etag"));
439445
}
440446

447+
// region compatible file names
448+
if (respFiles.has(FORBIDDEN_FILENAME_CHARACTERS)) {
449+
JSONArray result = respFiles.getJSONArray(FORBIDDEN_FILENAME_CHARACTERS);
450+
capability.setForbiddenFilenameCharactersJson(result.toString());
451+
}
452+
453+
if (respFiles.has(FORBIDDEN_FILENAMES)) {
454+
JSONArray result = respFiles.getJSONArray(FORBIDDEN_FILENAMES);
455+
capability.setForbiddenFilenamesJson(result.toString());
456+
}
457+
458+
if (respFiles.has(FORBIDDEN_FILENAME_EXTENSIONS)) {
459+
JSONArray result = respFiles.getJSONArray(FORBIDDEN_FILENAME_EXTENSIONS);
460+
capability.setForbiddenFilenameExtensionJson(result.toString());
461+
}
462+
463+
if (respFiles.has(FORBIDDEN_FILENAME_BASE_NAMES)) {
464+
JSONArray result = respFiles.getJSONArray(FORBIDDEN_FILENAME_BASE_NAMES);
465+
capability.setForbiddenFilenameBaseNamesJson(result.toString());
466+
}
467+
// endregion
468+
441469
Log_OC.d(TAG, "*** Added " + NODE_FILES);
442470
}
443471

library/src/main/java/com/owncloud/android/lib/resources/status/OCCapability.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,12 @@ class OCCapability {
104104
// Security guard
105105
var securityGuard = CapabilityBooleanType.UNKNOWN
106106

107+
// needed for checking compatible filenames
108+
var forbiddenFilenameCharactersJson: String? = null
109+
var forbiddenFilenamesJson: String? = null
110+
var forbiddenFilenameExtensionJson: String? = null
111+
var forbiddenFilenameBaseNamesJson: String? = null
112+
107113
// Etag for capabilities
108114
var etag: String? = ""
109115

0 commit comments

Comments
 (0)