<item>@string/sort_by_name_desc</item>
<item>@string/sort_by_date_asc</item>
<item>@string/sort_by_date_desc</item>
+ <item>@string/sort_by_size_asc</item>
+ <item>@string/sort_by_size_desc</item>
</string-array>
<!-- The strings of the menu for navigation layout mode enumeration -->
<string name="sort_by_date_asc">By date \u25B2</string>
<!-- Navigation View - Sort - Sort by date (descending) -->
<string name="sort_by_date_desc">By date \u25BC</string>
+ <!-- Navigation View - Sort - Sort by size (ascending) -->
+ <string name="sort_by_size_asc">By size \u25B2</string>
+ <!-- Navigation View - Sort - Sort by size (descending) -->
+ <string name="sort_by_size_desc">By size \u25BC</string>
<!-- Navigation View - Layout - Icons -->
<string name="layout_icons">Icons</string>
/**
* 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;
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);
}