From e4fc7ea25bcbfabb2e70626226aeec90bd33127c Mon Sep 17 00:00:00 2001 From: "David A. Velasco" Date: Tue, 26 Jul 2016 12:53:59 +0200 Subject: [PATCH 1/2] Add method to OwnCloudVersion to check if not-reshareable federated shares are supported --- .../android/lib/resources/shares/OCShare.java | 33 +++++++++++-------- .../lib/resources/status/OwnCloudVersion.java | 10 ++++-- 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/src/com/owncloud/android/lib/resources/shares/OCShare.java b/src/com/owncloud/android/lib/resources/shares/OCShare.java index de250368..7b628c81 100644 --- a/src/com/owncloud/android/lib/resources/shares/OCShare.java +++ b/src/com/owncloud/android/lib/resources/shares/OCShare.java @@ -40,11 +40,13 @@ import com.owncloud.android.lib.resources.files.FileUtils; * */ public class OCShare implements Parcelable, Serializable { - - /** Generated - should be refreshed every time the class changes!! */ - private static final long serialVersionUID = 4124975224281327921L; - private static final String TAG = OCShare.class.getSimpleName(); + /** + * Generated - should be refreshed every time the class changes!! + */ + private static final long serialVersionUID = 4124975224281327921L; + + private static final String TAG = OCShare.class.getSimpleName(); public static final int DEFAULT_PERMISSION = -1; public static final int READ_PERMISSION_FLAG = 1; @@ -53,18 +55,23 @@ public class OCShare implements Parcelable, Serializable { public static final int DELETE_PERMISSION_FLAG = 8; public static final int SHARE_PERMISSION_FLAG = 16; public static final int MAXIMUM_PERMISSIONS_FOR_FILE = - READ_PERMISSION_FLAG + - UPDATE_PERMISSION_FLAG + - SHARE_PERMISSION_FLAG + READ_PERMISSION_FLAG + + UPDATE_PERMISSION_FLAG + + SHARE_PERMISSION_FLAG ; public static final int MAXIMUM_PERMISSIONS_FOR_FOLDER = - MAXIMUM_PERMISSIONS_FOR_FILE + - CREATE_PERMISSION_FLAG + - DELETE_PERMISSION_FLAG + MAXIMUM_PERMISSIONS_FOR_FILE + + CREATE_PERMISSION_FLAG + + DELETE_PERMISSION_FLAG ; - public static final int FEDERATED_PERMISSIONS_FOR_FILE = - READ_PERMISSION_FLAG + - UPDATE_PERMISSION_FLAG + public static final int FEDERATED_PERMISSIONS_FOR_FILE_UP_TO_OC9 = + READ_PERMISSION_FLAG + + UPDATE_PERMISSION_FLAG + ; + public static final int FEDERATED_PERMISSIONS_FOR_FILE_AFTER_OC9 = + READ_PERMISSION_FLAG + + UPDATE_PERMISSION_FLAG + + SHARE_PERMISSION_FLAG ; public static final int FEDERATED_PERMISSIONS_FOR_FOLDER = READ_PERMISSION_FLAG + diff --git a/src/com/owncloud/android/lib/resources/status/OwnCloudVersion.java b/src/com/owncloud/android/lib/resources/status/OwnCloudVersion.java index 1b9f8546..5b59b08f 100644 --- a/src/com/owncloud/android/lib/resources/status/OwnCloudVersion.java +++ b/src/com/owncloud/android/lib/resources/status/OwnCloudVersion.java @@ -50,9 +50,11 @@ public class OwnCloudVersion implements Comparable { public static final int VERSION_8 = 0x08000000; // 8.0 public static final int MINIMUM_VERSION_CAPABILITIES_API = 0x08010000; // 8.1 - + + private static final int MINIMUM_VERSION_WITH_NOT_RESHAREABLE_FEDERATED = 0x09010000; // 9.1 + private static final int MAX_DOTS = 3; - + // format is in version // 0xAABBCCDD // for version AA.BB.CC.DD @@ -156,4 +158,8 @@ public class OwnCloudVersion implements Comparable { public boolean isVersionWithCapabilitiesAPI(){ return (mVersion>= MINIMUM_VERSION_CAPABILITIES_API); } + + public boolean isNotReshareableFederatedSupported() { + return (mVersion >= MINIMUM_VERSION_WITH_NOT_RESHAREABLE_FEDERATED); + } } From 46ec581740a72e680335afcd2f3b6fc2c20158c2 Mon Sep 17 00:00:00 2001 From: "David A. Velasco" Date: Fri, 29 Jul 2016 12:18:00 +0200 Subject: [PATCH 2/2] Fix permissions for federated folders --- .../android/lib/resources/shares/OCShare.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/com/owncloud/android/lib/resources/shares/OCShare.java b/src/com/owncloud/android/lib/resources/shares/OCShare.java index 7b628c81..b9aae451 100644 --- a/src/com/owncloud/android/lib/resources/shares/OCShare.java +++ b/src/com/owncloud/android/lib/resources/shares/OCShare.java @@ -73,11 +73,15 @@ public class OCShare implements Parcelable, Serializable { UPDATE_PERMISSION_FLAG + SHARE_PERMISSION_FLAG ; - public static final int FEDERATED_PERMISSIONS_FOR_FOLDER = - READ_PERMISSION_FLAG + - UPDATE_PERMISSION_FLAG + - CREATE_PERMISSION_FLAG + - DELETE_PERMISSION_FLAG + public static final int FEDERATED_PERMISSIONS_FOR_FOLDER_UP_TO_OC9 = + READ_PERMISSION_FLAG + + UPDATE_PERMISSION_FLAG + + CREATE_PERMISSION_FLAG + + DELETE_PERMISSION_FLAG + ; + public static final int FEDERATED_PERMISSIONS_FOR_FOLDER_AFTER_OC9 = + FEDERATED_PERMISSIONS_FOR_FOLDER_UP_TO_OC9 + + SHARE_PERMISSION_FLAG ; private long mId;