/**
* ownCloud Android client application
*
+ * @author Bartek Przybylski
+ * @author David A. Velasco
* Copyright (C) 2012 Bartek Przybylski
* Copyright (C) 2015 ownCloud Inc.
*
package com.owncloud.android.datamodel;
+import android.content.ContentResolver;
+import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
import android.webkit.MimeTypeMap;
private String mEtagInConflict; // Save file etag in the server, when there is a conflict. No conflict = null
- private boolean mShareWithUser;
+ private boolean mShareWithSharee;
+
+ /**
+ * URI to the local path of the file contents, if stored in the device; cached after first call
+ * to {@link #getStorageUri()}
+ */
+ private Uri mLocalUri;
/**
mNeedsUpdateThumbnail = source.readInt() == 1;
mIsDownloading = source.readInt() == 1;
mEtagInConflict = source.readString();
- mShareWithUser = source.readInt() == 1;
+ mShareWithSharee = source.readInt() == 1;
}
dest.writeInt(mNeedsUpdateThumbnail ? 1 : 0);
dest.writeInt(mIsDownloading ? 1 : 0);
dest.writeString(mEtagInConflict);
- dest.writeInt(mShareWithUser ? 1 : 0);
+ dest.writeInt(mShareWithSharee ? 1 : 0);
}
/**
}
/**
+ * The URI to the file contents, if stored locally
+ *
+ * @return A URI to the local copy of the file, or NULL if not stored in the device
+ */
+ public Uri getStorageUri() {
+ if (mLocalPath == null || mLocalPath.length() == 0) {
+ return null;
+ }
+ if (mLocalUri == null) {
+ Uri.Builder builder = new Uri.Builder();
+ builder.scheme(ContentResolver.SCHEME_FILE);
+ builder.path(mLocalPath);
+ mLocalUri = builder.build();
+ }
+ return mLocalUri;
+ }
+
+ /**
* Can be used to set the path where the file is stored
*
* @param storage_path to set
*/
public void setStoragePath(String storage_path) {
mLocalPath = storage_path;
+ mLocalUri = null;
}
/**
mNeedsUpdateThumbnail = false;
mIsDownloading = false;
mEtagInConflict = null;
- mShareWithUser = false;
+ mShareWithSharee = false;
}
/**
mEtagInConflict = etagInConflict;
}
- public boolean isSharedViaUsers() {
- return mShareWithUser;
+ public boolean isSharedWithSharee() {
+ return mShareWithSharee;
}
- public void setShareViaUsers(boolean shareWithUser) {
- this.mShareWithUser = shareWithUser;
+ public void setShareWithSharee(boolean shareWithSharee) {
+ this.mShareWithSharee = shareWithSharee;
}
public boolean isSharedWithMe() {