X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/5ae7704ef1a9e40ca0193c303b9185de28f04b2d..a06e99c5064bd2807ffebda8f453375f0f79fb82:/src/eu/alefzero/owncloud/datamodel/OCFile.java?ds=sidebyside diff --git a/src/eu/alefzero/owncloud/datamodel/OCFile.java b/src/eu/alefzero/owncloud/datamodel/OCFile.java index 9566a193..68619337 100644 --- a/src/eu/alefzero/owncloud/datamodel/OCFile.java +++ b/src/eu/alefzero/owncloud/datamodel/OCFile.java @@ -23,7 +23,7 @@ import java.io.File; import android.os.Parcel; import android.os.Parcelable; -public class OCFile implements Parcelable { +public class OCFile implements Parcelable, Comparable { public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { @Override @@ -322,9 +322,26 @@ public class OCFile implements Parcelable { } @Override + public int compareTo(OCFile another) { + if (isDirectory() && another.isDirectory()) { + return getFileName().toLowerCase().compareTo(another.getFileName().toLowerCase()); + } else if (isDirectory()) { + return -1; + } else if (another.isDirectory()) { + return 1; + } + return getFileName().toLowerCase().compareTo(another.getFileName().toLowerCase()); + } + public boolean equals(Object o) { - OCFile that = (OCFile) o; - return this.mId == that.mId; + if(o instanceof OCFile){ + OCFile that = (OCFile) o; + if(that != null){ + return this.mId == that.mId; + } + } + + return false; } @Override @@ -333,7 +350,5 @@ public class OCFile implements Parcelable { asString = String.format(asString, new Long(mId), getFileName(), mMimeType, isDownloaded(), mLocalPath, mRemotePath); return asString; } - - }