1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-03 09:49:19 +02:00

natural order comparison

This commit is contained in:
Nikolay Pultsin 2015-10-14 16:39:50 +03:00
parent 87ddf72ee1
commit 9af3f9ddfd
4 changed files with 158 additions and 12 deletions

View file

@ -13,6 +13,8 @@ import group.pals.android.lib.ui.filechooser.services.IFileProvider;
import java.util.Comparator;
import org.fbreader.util.NaturalOrderComparator;
/**
* {@link IFile} comparator.<br>
* Rules:<br>
@ -24,6 +26,8 @@ import java.util.Comparator;
* @since v1.91
*/
public class FileComparator implements Comparator<IFile> {
private static final NaturalOrderComparator ourNaturalOrderComparator =
new NaturalOrderComparator();
private final IFileProvider.SortType mSortType;
private final IFileProvider.SortOrder mSortOrder;
@ -45,7 +49,7 @@ public class FileComparator implements Comparator<IFile> {
public int compare(IFile lhs, IFile rhs) {
if ((lhs.isDirectory() && rhs.isDirectory()) || (lhs.isFile() && rhs.isFile())) {
// default is to compare by name (case insensitive)
int res = lhs.getSecondName().compareToIgnoreCase(rhs.getSecondName());
int res = ourNaturalOrderComparator.compare(lhs.getSecondName(), rhs.getSecondName());
switch (mSortType) {
case SortByName: