-import java.util.Vector;
-
-import eu.alefzero.owncloud.db.ProviderMeta.ProviderTableMeta;
-import android.accounts.Account;
-import android.content.ContentProviderClient;
-import android.content.ContentResolver;
-import android.content.ContentValues;
-import android.database.Cursor;
-import android.net.Uri;
-import android.os.RemoteException;
-import android.util.Log;
-
-public class OCFile {
- private static String TAG = "OCFile";
-
- private long id_;
- private long parent_id_;
- private long length_;
- private long creation_timestamp_;
- private long modified_timestamp_;
- private String path_;
- private String storage_path_;
- private String mimetype_;
-
- private ContentResolver cr_;
- private ContentProviderClient cp_;
- private Account account_;
-
- public static OCFile createNewFile(ContentProviderClient cr, Account account,
- String path, long length, long creation_timestamp,
- long modified_timestamp, String mimetype, long parent_id) {
- OCFile new_file = new OCFile(cr, account);
-
- try {
- Cursor c = new_file.cp_.query(ProviderTableMeta.CONTENT_URI_FILE, null,
- ProviderTableMeta.FILE_ACCOUNT_OWNER + "=? AND "
- + ProviderTableMeta.FILE_PATH + "=?", new String[]{new_file.account_.name,
- path}, null);
- if (c.moveToFirst())
- new_file.setFileData(c);
- } catch (RemoteException e) {
- Log.e(TAG, e.getMessage());
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class OCFile implements Parcelable, Comparable<OCFile> {
+
+ public static final Parcelable.Creator<OCFile> CREATOR = new Parcelable.Creator<OCFile>() {
+ @Override
+ public OCFile createFromParcel(Parcel source) {
+ return new OCFile(source);
+ }
+
+ @Override
+ public OCFile[] newArray(int size) {
+ return new OCFile[size];
+ }
+ };
+
+ private long mId;
+ private long mParentId;
+ private long mLength;
+ private long mCreationTimestamp;
+ private long mModifiedTimestamp;
+ private String mRemotePath;
+ private String mLocalPath;
+ private String mMimeType;
+ private boolean mNeedsUpdating;
+ private long mLastSyncDate;
+
+ /**
+ * Create new {@link OCFile} with given path
+ *
+ * @param path The remote path of the file
+ */
+ public OCFile(String path) {
+ resetData();
+ mNeedsUpdating = false;
+ mRemotePath = path;