From 8ae4dd137df99939939789716e53c4aa225cf8c6 Mon Sep 17 00:00:00 2001 From: davigonz Date: Wed, 3 May 2017 13:56:05 +0200 Subject: [PATCH] Added multiple share links to the capabilities --- .../status/GetRemoteCapabilitiesOperation.java | 5 +++++ .../lib/resources/status/OCCapability.java | 18 ++++++++++++------ .../lib/resources/status/OwnCloudVersion.java | 6 ++++++ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.java b/src/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.java index 87095024..43d76586 100644 --- a/src/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.java +++ b/src/com/owncloud/android/lib/resources/status/GetRemoteCapabilitiesOperation.java @@ -94,6 +94,7 @@ public class GetRemoteCapabilitiesOperation extends RemoteOperation { private static final String PROPERTY_DAYS = "days"; private static final String PROPERTY_SEND_MAIL = "send_mail"; private static final String PROPERTY_UPLOAD = "upload"; + private static final String PROPERTY_MULTIPLE = "multiple"; private static final String PROPERTY_RESHARING = "resharing"; private static final String PROPERTY_OUTGOING = "outgoing"; private static final String PROPERTY_INCOMING = "incoming"; @@ -205,6 +206,10 @@ public class GetRemoteCapabilitiesOperation extends RemoteOperation { capability.setFilesSharingPublicUpload(CapabilityBooleanType.fromBooleanValue( respPublic.getBoolean(PROPERTY_UPLOAD))); } + if (respPublic.has(PROPERTY_MULTIPLE)) { + capability.setFilesSharingPublicMultiple(CapabilityBooleanType.fromBooleanValue( + respPublic.getBoolean(PROPERTY_MULTIPLE))); + } } if (respFilesSharing.has(NODE_USER)) { diff --git a/src/com/owncloud/android/lib/resources/status/OCCapability.java b/src/com/owncloud/android/lib/resources/status/OCCapability.java index 111f59ad..be7827c1 100644 --- a/src/com/owncloud/android/lib/resources/status/OCCapability.java +++ b/src/com/owncloud/android/lib/resources/status/OCCapability.java @@ -54,6 +54,7 @@ public class OCCapability { private CapabilityBooleanType mFilesSharingPublicExpireDateEnforced; private CapabilityBooleanType mFilesSharingPublicSendMail; private CapabilityBooleanType mFilesSharingPublicUpload; + private CapabilityBooleanType mFilesSharingPublicMultiple; private CapabilityBooleanType mFilesSharingUserSendMail; @@ -67,7 +68,7 @@ public class OCCapability { private CapabilityBooleanType mFilesUndelete; private CapabilityBooleanType mFilesVersioning; - public OCCapability(){ + public OCCapability() { mId = 0; mAccountName = ""; @@ -87,6 +88,7 @@ public class OCCapability { mFilesSharingPublicExpireDateEnforced = CapabilityBooleanType.UNKNOWN; mFilesSharingPublicSendMail = CapabilityBooleanType.UNKNOWN; mFilesSharingPublicUpload = CapabilityBooleanType.UNKNOWN; + mFilesSharingPublicMultiple = CapabilityBooleanType.UNKNOWN; mFilesSharingUserSendMail = CapabilityBooleanType.UNKNOWN; mFilesSharingResharing = CapabilityBooleanType.UNKNOWN; mFilesSharingFederationOutgoing = CapabilityBooleanType.UNKNOWN; @@ -229,6 +231,14 @@ public class OCCapability { this.mFilesSharingPublicUpload = filesSharingPublicUpload; } + public CapabilityBooleanType getFilesSharingPublicMultiple() { + return mFilesSharingPublicMultiple; + } + + public void setFilesSharingPublicMultiple(CapabilityBooleanType filesSharingPublicMultiple) { + this.mFilesSharingPublicMultiple = filesSharingPublicMultiple; + } + public CapabilityBooleanType getFilesSharingUserSendMail() { return mFilesSharingUserSendMail; } @@ -244,7 +254,7 @@ public class OCCapability { public void setFilesSharingResharing(CapabilityBooleanType filesSharingResharing) { this.mFilesSharingResharing = filesSharingResharing; } - + public CapabilityBooleanType getFilesSharingFederationOutgoing() { return mFilesSharingFederationOutgoing; } @@ -284,8 +294,4 @@ public class OCCapability { public void setFilesVersioning(CapabilityBooleanType filesVersioning) { this.mFilesVersioning = filesVersioning; } - - - - } diff --git a/src/com/owncloud/android/lib/resources/status/OwnCloudVersion.java b/src/com/owncloud/android/lib/resources/status/OwnCloudVersion.java index 2da2e564..0c8ea27a 100644 --- a/src/com/owncloud/android/lib/resources/status/OwnCloudVersion.java +++ b/src/com/owncloud/android/lib/resources/status/OwnCloudVersion.java @@ -48,6 +48,8 @@ public class OwnCloudVersion implements Comparable { private static final int MINIMUM_VERSION_WITH_SESSION_MONITORING_WORKING_IN_PREEMPTIVE_MODE = 0x09010301; // 9.1.3.1, final 9.1.3: https://github.com/owncloud/core/commit/f9a867b70c217463289a741d4d26079eb2a80dfd + private static final int MINIMUM_VERSION_WITH_MULTIPLE_PUBLIC_SHARING = 0xA0000000; + private static final String INVALID_ZERO_VERSION = "0.0.0"; private static final int MAX_DOTS = 3; @@ -193,4 +195,8 @@ public class OwnCloudVersion implements Comparable { (mVersion >= MINIMUM_VERSION_WITH_SESSION_MONITORING_WORKING_IN_PREEMPTIVE_MODE) ); } + + public boolean isMultiplePublicSharingSupported() { + return (mVersion >= MINIMUM_VERSION_WITH_MULTIPLE_PUBLIC_SHARING); + } }