aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRaj Yengisetty <raj@cyngn.com>2015-01-12 16:12:21 +0800
committerRaj Yengisetty <raj@cyngn.com>2015-01-12 16:17:30 +0800
commit010d820abf12f6ec89741a6e4d7692e79ab569e7 (patch)
treee25250a3557531179a684d7771d065a5cf8124c3 /src
parentf7974424118e18e1afbcecd3e46e0b5ad76e276c (diff)
downloadandroid_packages_apps_CMFileManager-010d820abf12f6ec89741a6e4d7692e79ab569e7.tar.gz
android_packages_apps_CMFileManager-010d820abf12f6ec89741a6e4d7692e79ab569e7.tar.bz2
android_packages_apps_CMFileManager-010d820abf12f6ec89741a6e4d7692e79ab569e7.zip
CMFileManager: Add sort by size
Change-Id: Iae8c47beb8f229bb5e1936c0dbd153f356b099d7
Diffstat (limited to 'src')
-rw-r--r--src/com/cyanogenmod/filemanager/preferences/NavigationSortMode.java10
-rw-r--r--src/com/cyanogenmod/filemanager/util/FileHelper.java9
2 files changed, 18 insertions, 1 deletions
diff --git a/src/com/cyanogenmod/filemanager/preferences/NavigationSortMode.java b/src/com/cyanogenmod/filemanager/preferences/NavigationSortMode.java
index 41e97791..317ae59f 100644
--- a/src/com/cyanogenmod/filemanager/preferences/NavigationSortMode.java
+++ b/src/com/cyanogenmod/filemanager/preferences/NavigationSortMode.java
@@ -36,7 +36,15 @@ public enum NavigationSortMode implements ObjectIdentifier {
/**
* That mode sorts objects by date (descending).
*/
- DATE_DESC(3);
+ DATE_DESC(3),
+ /**
+ * That mode sorts objects by size (ascending).
+ */
+ SIZE_ASC(4),
+ /**
+ * That mode sorts objects by size (descending).
+ */
+ SIZE_DESC(5);
private int mId;
diff --git a/src/com/cyanogenmod/filemanager/util/FileHelper.java b/src/com/cyanogenmod/filemanager/util/FileHelper.java
index d49d31f1..339fa8e9 100644
--- a/src/com/cyanogenmod/filemanager/util/FileHelper.java
+++ b/src/com/cyanogenmod/filemanager/util/FileHelper.java
@@ -776,6 +776,15 @@ public final class FileHelper {
return fso1.getLastModifiedTime().compareTo(fso2.getLastModifiedTime()) * -1;
}
+ //Size (ascending)
+ if (mode.getId() == NavigationSortMode.SIZE_ASC.getId()) {
+ return Long.compare(fso1.getSize(), fso2.getSize());
+ }
+ //Size (descending)
+ if (mode.getId() == NavigationSortMode.SIZE_DESC.getId()) {
+ return Long.compare(fso1.getSize(), fso2.getSize()) * -1;
+ }
+
//Comparison between files directly
return fso1.compareTo(fso2);
}