+ prop = propSet.get(
+ EXTENDED_PROPERTY_NAME_PRIVATE_LINK, Namespace.getNamespace(NAMESPACE_OC)
+ );
+ if (prop != null) {
+ mPrivateLink = prop.getValue().toString();
+ }
+
} else {
Log_OC.e("WebdavEntry",
- "General fuckup, no status for webdav response");
+ "General fuckup, no status for webdav response");
}
}
public String path() {
return mPath;
}
-
+
public String decodedPath() {
return Uri.decode(mPath);
}
@@ -226,7 +233,7 @@ public class WebdavEntry {
public long modifiedTimestamp() {
return mModifiedTimestamp;
}
-
+
public String etag() {
return mEtag;
}
@@ -239,7 +246,7 @@ public class WebdavEntry {
return mRemoteId;
}
- public long size(){
+ public long size() {
return mSize;
}
@@ -251,11 +258,17 @@ public class WebdavEntry {
return mQuotaAvailableBytes;
}
+ public String privateLink() {
+ return mPrivateLink;
+ }
+
private void resetData() {
- mName = mUri = mContentType = mPermissions = null; mRemoteId = null;
+ mName = mUri = mContentType = mPermissions = null;
+ mRemoteId = null;
mContentLength = mCreateTimestamp = mModifiedTimestamp = 0;
mSize = 0;
mQuotaUsedBytes = null;
mQuotaAvailableBytes = null;
+ mPrivateLink = null;
}
}
diff --git a/src/com/owncloud/android/lib/common/network/WebdavUtils.java b/src/com/owncloud/android/lib/common/network/WebdavUtils.java
index 3e9c986d..8c307b60 100644
--- a/src/com/owncloud/android/lib/common/network/WebdavUtils.java
+++ b/src/com/owncloud/android/lib/common/network/WebdavUtils.java
@@ -107,6 +107,8 @@ public class WebdavUtils {
Namespace.getNamespace(WebdavEntry.NAMESPACE_OC));
propSet.add(WebdavEntry.EXTENDED_PROPERTY_NAME_SIZE,
Namespace.getNamespace(WebdavEntry.NAMESPACE_OC));
+ propSet.add(WebdavEntry.EXTENDED_PROPERTY_NAME_PRIVATE_LINK,
+ Namespace.getNamespace(WebdavEntry.NAMESPACE_OC));
return propSet;
}
@@ -130,6 +132,10 @@ public class WebdavUtils {
Namespace.getNamespace(WebdavEntry.NAMESPACE_OC));
propSet.add(WebdavEntry.EXTENDED_PROPERTY_NAME_SIZE,
Namespace.getNamespace(WebdavEntry.NAMESPACE_OC));
+ propSet.add(WebdavEntry.EXTENDED_PROPERTY_NAME_SIZE,
+ Namespace.getNamespace(WebdavEntry.NAMESPACE_OC));
+ propSet.add(WebdavEntry.EXTENDED_PROPERTY_NAME_PRIVATE_LINK,
+ Namespace.getNamespace(WebdavEntry.NAMESPACE_OC));
return propSet;
}
diff --git a/src/com/owncloud/android/lib/resources/files/ReadRemoteFolderOperation.java b/src/com/owncloud/android/lib/resources/files/ReadRemoteFolderOperation.java
index 2b260e2f..53b8295f 100644
--- a/src/com/owncloud/android/lib/resources/files/ReadRemoteFolderOperation.java
+++ b/src/com/owncloud/android/lib/resources/files/ReadRemoteFolderOperation.java
@@ -171,6 +171,7 @@ public class ReadRemoteFolderOperation extends RemoteOperation {
file.setSize(we.size());
file.setQuotaUsedBytes(we.quotaUsedBytes());
file.setQuotaAvailableBytes(we.quotaAvailableBytes());
+ file.setPrivateLink(we.privateLink());
return file;
}
}
diff --git a/src/com/owncloud/android/lib/resources/files/RemoteFile.java b/src/com/owncloud/android/lib/resources/files/RemoteFile.java
index 0c65affb..f2dc7330 100644
--- a/src/com/owncloud/android/lib/resources/files/RemoteFile.java
+++ b/src/com/owncloud/android/lib/resources/files/RemoteFile.java
@@ -33,146 +33,158 @@ import android.os.Parcelable;
import com.owncloud.android.lib.common.network.WebdavEntry;
/**
- * Contains the data of a Remote File from a WebDavEntry
- *
- * @author masensio
+ * Contains the data of a Remote File from a WebDavEntry
+ *
+ * @author masensio
*/
public class RemoteFile implements Parcelable, Serializable {
- /** Generated - should be refreshed every time the class changes!! */
- private static final long serialVersionUID = 3130865437811248451L;
-
- private String mRemotePath;
- private String mMimeType;
- private long mLength;
- private long mCreationTimestamp;
- private long mModifiedTimestamp;
- private String mEtag;
- private String mPermissions;
- private String mRemoteId;
+ /**
+ * Generated - should be refreshed every time the class changes!!
+ */
+ private static final long serialVersionUID = -8965995357413958539L;
+
+ private String mRemotePath;
+ private String mMimeType;
+ private long mLength;
+ private long mCreationTimestamp;
+ private long mModifiedTimestamp;
+ private String mEtag;
+ private String mPermissions;
+ private String mRemoteId;
private long mSize;
private BigDecimal mQuotaUsedBytes;
private BigDecimal mQuotaAvailableBytes;
+ private String mPrivateLink;
+
+ /**
+ * Getters and Setters
+ */
- /**
- * Getters and Setters
- */
-
public String getRemotePath() {
- return mRemotePath;
- }
+ return mRemotePath;
+ }
- public void setRemotePath(String remotePath) {
- this.mRemotePath = remotePath;
- }
+ public void setRemotePath(String remotePath) {
+ this.mRemotePath = remotePath;
+ }
- public String getMimeType() {
- return mMimeType;
- }
+ public String getMimeType() {
+ return mMimeType;
+ }
- public void setMimeType(String mimeType) {
- this.mMimeType = mimeType;
- }
+ public void setMimeType(String mimeType) {
+ this.mMimeType = mimeType;
+ }
- public long getLength() {
- return mLength;
- }
+ public long getLength() {
+ return mLength;
+ }
- public void setLength(long length) {
- this.mLength = length;
- }
+ public void setLength(long length) {
+ this.mLength = length;
+ }
- public long getCreationTimestamp() {
- return mCreationTimestamp;
- }
+ public long getCreationTimestamp() {
+ return mCreationTimestamp;
+ }
- public void setCreationTimestamp(long creationTimestamp) {
- this.mCreationTimestamp = creationTimestamp;
- }
+ public void setCreationTimestamp(long creationTimestamp) {
+ this.mCreationTimestamp = creationTimestamp;
+ }
- public long getModifiedTimestamp() {
- return mModifiedTimestamp;
- }
+ public long getModifiedTimestamp() {
+ return mModifiedTimestamp;
+ }
- public void setModifiedTimestamp(long modifiedTimestamp) {
- this.mModifiedTimestamp = modifiedTimestamp;
- }
+ public void setModifiedTimestamp(long modifiedTimestamp) {
+ this.mModifiedTimestamp = modifiedTimestamp;
+ }
- public String getEtag() {
- return mEtag;
- }
+ public String getEtag() {
+ return mEtag;
+ }
- public void setEtag(String etag) {
- this.mEtag = etag;
- }
-
- public String getPermissions() {
- return mPermissions;
- }
+ public void setEtag(String etag) {
+ this.mEtag = etag;
+ }
- public void setPermissions(String permissions) {
- this.mPermissions = permissions;
- }
+ public String getPermissions() {
+ return mPermissions;
+ }
- public String getRemoteId() {
- return mRemoteId;
- }
+ public void setPermissions(String permissions) {
+ this.mPermissions = permissions;
+ }
- public void setRemoteId(String remoteId) {
- this.mRemoteId = remoteId;
- }
+ public String getRemoteId() {
+ return mRemoteId;
+ }
+
+ public void setRemoteId(String remoteId) {
+ this.mRemoteId = remoteId;
+ }
public long getSize() {
return mSize;
}
- public void setSize (long size){
+ public void setSize(long size) {
mSize = size;
}
- public void setQuotaUsedBytes (BigDecimal quotaUsedBytes) {
+ public void setQuotaUsedBytes(BigDecimal quotaUsedBytes) {
mQuotaUsedBytes = quotaUsedBytes;
}
- public void setQuotaAvailableBytes (BigDecimal quotaAvailableBytes) {
+ public void setQuotaAvailableBytes(BigDecimal quotaAvailableBytes) {
mQuotaAvailableBytes = quotaAvailableBytes;
}
- public RemoteFile() {
- resetData();
- }
+ public String getPrivateLink() {
+ return mPrivateLink;
+ }
- /**
+ public void setPrivateLink(String privateLink) {
+ mPrivateLink = privateLink;
+ }
+
+ public RemoteFile() {
+ resetData();
+ }
+
+ /**
* Create new {@link RemoteFile} with given path.
- *
+ *
* The path received must be URL-decoded. Path separator must be OCFile.PATH_SEPARATOR, and it must be the first character in 'path'.
- *
+ *
* @param path The remote path of the file.
*/
- public RemoteFile(String path) {
- resetData();
+ public RemoteFile(String path) {
+ resetData();
if (path == null || path.length() <= 0 || !path.startsWith(FileUtils.PATH_SEPARATOR)) {
throw new IllegalArgumentException("Trying to create a OCFile with a non valid remote path: " + path);
}
mRemotePath = path;
- }
-
- public RemoteFile(WebdavEntry we) {
- this(we.decodedPath());
- this.setCreationTimestamp(we.createTimestamp());
- this.setLength(we.contentLength());
- this.setMimeType(we.contentType());
- this.setModifiedTimestamp(we.modifiedTimestamp());
- this.setEtag(we.etag());
- this.setPermissions(we.permissions());
- this.setRemoteId(we.remoteId());
- this.setSize(we.size());
- this.setQuotaUsedBytes(we.quotaUsedBytes());
- this.setQuotaAvailableBytes(we.quotaAvailableBytes());
- }
+ }
- /**
+ public RemoteFile(WebdavEntry webdavEntry) {
+ this(webdavEntry.decodedPath());
+ this.setCreationTimestamp(webdavEntry.createTimestamp());
+ this.setLength(webdavEntry.contentLength());
+ this.setMimeType(webdavEntry.contentType());
+ this.setModifiedTimestamp(webdavEntry.modifiedTimestamp());
+ this.setEtag(webdavEntry.etag());
+ this.setPermissions(webdavEntry.permissions());
+ this.setRemoteId(webdavEntry.remoteId());
+ this.setSize(webdavEntry.size());
+ this.setQuotaUsedBytes(webdavEntry.quotaUsedBytes());
+ this.setQuotaAvailableBytes(webdavEntry.quotaAvailableBytes());
+ this.setPrivateLink(webdavEntry.privateLink());
+ }
+
+ /**
* Used internally. Reset all file properties
*/
private void resetData() {
@@ -187,9 +199,10 @@ public class RemoteFile implements Parcelable, Serializable {
mSize = 0;
mQuotaUsedBytes = null;
mQuotaAvailableBytes = null;
+ mPrivateLink = null;
}
- /**
+ /**
* Parcelable Methods
*/
public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
@@ -203,49 +216,51 @@ public class RemoteFile implements Parcelable, Serializable {
return new RemoteFile[size];
}
};
-
-
+
+
/**
* Reconstruct from parcel
- *
+ *
* @param source The source parcel
*/
protected RemoteFile(Parcel source) {
- readFromParcel(source);
+ readFromParcel(source);
}
-
- public void readFromParcel (Parcel source) {
+
+ public void readFromParcel(Parcel source) {
mRemotePath = source.readString();
mMimeType = source.readString();
mLength = source.readLong();
mCreationTimestamp = source.readLong();
mModifiedTimestamp = source.readLong();
mEtag = source.readString();
- mPermissions= source.readString();
+ mPermissions = source.readString();
mRemoteId = source.readString();
mSize = source.readLong();
mQuotaUsedBytes = (BigDecimal) source.readSerializable();
mQuotaAvailableBytes = (BigDecimal) source.readSerializable();
+ mPrivateLink = source.readString();
}
-
- @Override
- public int describeContents() {
- return this.hashCode();
- }
- @Override
- public void writeToParcel(Parcel dest, int flags) {
- dest.writeString(mRemotePath);
- dest.writeString(mMimeType);
- dest.writeLong(mLength);
- dest.writeLong(mCreationTimestamp);
- dest.writeLong(mModifiedTimestamp);
- dest.writeString(mEtag);
- dest.writeString(mPermissions);
- dest.writeString(mRemoteId);
+ @Override
+ public int describeContents() {
+ return this.hashCode();
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeString(mRemotePath);
+ dest.writeString(mMimeType);
+ dest.writeLong(mLength);
+ dest.writeLong(mCreationTimestamp);
+ dest.writeLong(mModifiedTimestamp);
+ dest.writeString(mEtag);
+ dest.writeString(mPermissions);
+ dest.writeString(mRemoteId);
dest.writeLong(mSize);
dest.writeSerializable(mQuotaUsedBytes);
dest.writeSerializable(mQuotaAvailableBytes);
- }
+ dest.writeString(mPrivateLink);
+ }
}
diff --git a/test_client/AndroidManifest.xml b/test_client/AndroidManifest.xml
index d16f156a..1d7ae35e 100644
--- a/test_client/AndroidManifest.xml
+++ b/test_client/AndroidManifest.xml
@@ -39,7 +39,7 @@
+ android:targetSdkVersion="26" />