+ /**
+ * Sorts list by Date
+ * @param filesArray
+ */
+ public static File[] sortLocalFilesByDate(File[] filesArray){
+ final Integer val;
+ if (mSortAscending){
+ val = 1;
+ } else {
+ val = -1;
+ }
+
+ List<File> files = new ArrayList<File>(Arrays.asList(filesArray));
+
+ Collections.sort(files, new Comparator<File>() {
+ public int compare(File o1, File o2) {
+ if (o1.isDirectory() && o2.isDirectory()) {
+ Long obj1 = o1.lastModified();
+ return val * obj1.compareTo(o2.lastModified());
+ }
+ else if (o1.isDirectory()) {
+ return -1;
+ } else if (o2.isDirectory()) {
+ return 1;
+ } else if (o1.lastModified() == 0 || o2.lastModified() == 0){
+ return 0;
+ } else {
+ Long obj1 = o1.lastModified();
+ return val * obj1.compareTo(o2.lastModified());
+ }
+ }
+ });
+
+ File[] returnArray = new File[1];
+ return files.toArray(returnArray);
+ }
+