Search in sources :

Example 1 with AlphanumComparator

use of third_parties.daveKoeller.AlphanumComparator in project android by owncloud.

the class FileStorageUtils method sortByName.

/**
     * Sorts list by Name
     * @param files     files to sort
     */
public static Vector<OCFile> sortByName(Vector<OCFile> files) {
    final Integer val;
    if (mSortAscending) {
        val = 1;
    } else {
        val = -1;
    }
    Collections.sort(files, new Comparator<OCFile>() {

        public int compare(OCFile o1, OCFile o2) {
            if (o1.isFolder() && o2.isFolder()) {
                return val * new AlphanumComparator().compare(o1, o2);
            } else if (o1.isFolder()) {
                return -1;
            } else if (o2.isFolder()) {
                return 1;
            }
            return val * new AlphanumComparator().compare(o1, o2);
        }
    });
    return files;
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile) AlphanumComparator(third_parties.daveKoeller.AlphanumComparator)

Example 2 with AlphanumComparator

use of third_parties.daveKoeller.AlphanumComparator in project android by nextcloud.

the class FileSortOrderByName method sortLocalFiles.

/**
 * Sorts list by Name.
 *
 * @param filesArray files to sort
 */
public File[] sortLocalFiles(File[] filesArray) {
    final int multiplier = mAscending ? 1 : -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()) {
                return multiplier * o1.getPath().toLowerCase().compareTo(o2.getPath().toLowerCase());
            } else if (o1.isDirectory()) {
                return -1;
            } else if (o2.isDirectory()) {
                return 1;
            }
            return multiplier * new AlphanumComparator().compare(o1.getPath().toLowerCase(), o2.getPath().toLowerCase());
        }
    });
    File[] returnArray = new File[files.size()];
    return files.toArray(returnArray);
}
Also used : AlphanumComparator(third_parties.daveKoeller.AlphanumComparator) ArrayList(java.util.ArrayList) OCFile(com.owncloud.android.datamodel.OCFile) File(java.io.File)

Example 3 with AlphanumComparator

use of third_parties.daveKoeller.AlphanumComparator in project android by nextcloud.

the class FileSortOrderByName method sortCloudFiles.

/**
 * Sorts list by Name.
 *
 * @param files files to sort
 */
@SuppressFBWarnings(value = "Bx")
public List<OCFile> sortCloudFiles(List<OCFile> files) {
    final int multiplier = mAscending ? 1 : -1;
    Collections.sort(files, new Comparator<OCFile>() {

        public int compare(OCFile o1, OCFile o2) {
            if (o1.isFolder() && o2.isFolder()) {
                return multiplier * new AlphanumComparator().compare(o1, o2);
            } else if (o1.isFolder()) {
                return -1;
            } else if (o2.isFolder()) {
                return 1;
            }
            return multiplier * new AlphanumComparator().compare(o1, o2);
        }
    });
    return super.sortCloudFiles(files);
}
Also used : OCFile(com.owncloud.android.datamodel.OCFile) AlphanumComparator(third_parties.daveKoeller.AlphanumComparator) SuppressFBWarnings(edu.umd.cs.findbugs.annotations.SuppressFBWarnings)

Aggregations

OCFile (com.owncloud.android.datamodel.OCFile)3 AlphanumComparator (third_parties.daveKoeller.AlphanumComparator)3 SuppressFBWarnings (edu.umd.cs.findbugs.annotations.SuppressFBWarnings)1 File (java.io.File)1 ArrayList (java.util.ArrayList)1