private String mMimeType;
private boolean mNeedsUpdating;
private long mLastSyncDate;
+ private boolean mKeepInSync;
/**
* Create new {@link OCFile} with given path
public OCFile(String path) {
resetData();
mNeedsUpdating = false;
- // dvelasco: let's make mandatory that mRemotePath is a valid URL always; this will make our life easier with the URL-encoding/decoding
+ /// dvelasco: the encoding / decoding problem should be completely translated to WebdavClient & WebdavEntry, but at this moment we are in a little hurry
if (path != null && path.length() > 0) {
try {
new URL("http://silly.test.com:8888" + path);
throw new RuntimeException("Trying to create a OCFile with a non valid remote path: " + path , e);
}
} else throw new RuntimeException("Trying to create a OCFile with a non valid remote path: " + path);
- mRemotePath = path;
+ // save encoded paths have a problem: normalization; this is a quick&dirty fix to avoid duplications
+ mRemotePath = Uri.encode(Uri.decode(path), "/");
}
/**
mLocalPath = source.readString();
mMimeType = source.readString();
mNeedsUpdating = source.readInt() == 0;
+ mKeepInSync = source.readInt() == 1;
+ mLastSyncDate = source.readLong();
}
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeLong(mId);
+ dest.writeLong(mParentId);
+ dest.writeLong(mLength);
+ dest.writeLong(mCreationTimestamp);
+ dest.writeLong(mModifiedTimestamp);
+ dest.writeString(mRemotePath);
+ dest.writeString(mLocalPath);
+ dest.writeString(mMimeType);
+ dest.writeInt(mNeedsUpdating ? 1 : 0);
+ dest.writeInt(mKeepInSync ? 1 : 0);
+ dest.writeLong(mLastSyncDate);
+ }
+
/**
* Gets the ID of the file
*
mCreationTimestamp = 0;
mModifiedTimestamp = 0;
mLastSyncDate = 0;
+ mKeepInSync = false;
+ mNeedsUpdating = false;
}
/**
mLastSyncDate = lastSyncDate;
}
+ public void setKeepInSync(boolean keepInSync) {
+ mKeepInSync = keepInSync;
+ }
+
+ public boolean keepInSync() {
+ return mKeepInSync;
+ }
+
@Override
public int describeContents() {
return this.hashCode();
}
@Override
- public void writeToParcel(Parcel dest, int flags) {
- dest.writeLong(mId);
- dest.writeLong(mParentId);
- dest.writeLong(mLength);
- dest.writeLong(mCreationTimestamp);
- dest.writeLong(mModifiedTimestamp);
- dest.writeString(mRemotePath);
- dest.writeString(mLocalPath);
- dest.writeString(mMimeType);
- dest.writeInt(mNeedsUpdating ? 1 : 0);
- dest.writeLong(mLastSyncDate);
- }
-
- @Override
public int compareTo(OCFile another) {
if (isDirectory() && another.isDirectory()) {
return getRemotePath().toLowerCase().compareTo(another.getRemotePath().toLowerCase());