Skip to content

Commit

Permalink
filebrowser:sort: use compareToIgnoreCase for name comparision
Browse files Browse the repository at this point in the history
  • Loading branch information
gsantner committed Sep 8, 2021
1 parent 7e680df commit aa5b543
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 20 deletions.
Expand Up @@ -54,19 +54,6 @@ public static FilesystemViewerData.Options prepareFsViewerOpts(Context context,
opts.contentDescriptionSelected = R.string.selected;
opts.contentDescriptionFile = R.string.file;

opts.fileComparable = (o1, o2) -> {
String m1 = ContextUtils.get().getMimeType(o1);
String m2 = ContextUtils.get().getMimeType(o2);
if (m1.startsWith("text/") || m2.startsWith("text")) {
if (m1.startsWith("text/") && !m2.startsWith("text/")) {
return -1;
} else if (m2.startsWith("text/") && !m1.startsWith("text/")) {
return 1;
}
}
return 0;
};

opts.accentColor = R.color.accent;
opts.primaryColor = R.color.primary;
opts.primaryTextColor = darkTheme ? R.color.dark__primary_text : R.color.light__primary_text;
Expand Down
Expand Up @@ -595,7 +595,7 @@ public int compare(File o1, File o2) {
return 0;
}
if (o1.isDirectory() && _dopt.folderFirst)
return o2.isDirectory() ? o1.getName().toLowerCase(Locale.getDefault()).compareTo(o2.getName().toLowerCase(Locale.getDefault())) : -1;
return o2.isDirectory() ? o1.getName().compareToIgnoreCase(o2.getName()) : -1;
else if (!canWrite(o2))
return -1;
else if (o2.isDirectory() && _dopt.folderFirst)
Expand All @@ -606,7 +606,7 @@ else if (_dopt.fileComparable != null) {
return v;
}
}
return o1.getName().toLowerCase(Locale.getDefault()).compareTo(o2.getName().toLowerCase(Locale.getDefault()));
return o1.getName().compareToIgnoreCase(o2.getName());
}

public boolean isCurrentFolderHome() {
Expand Down
Expand Up @@ -544,14 +544,10 @@ public static Comparator<File> sortFolder(List<File> filesToSort) {

switch (sortMethod) {
case SORT_BY_NAME:
return new File(current.getAbsolutePath().toLowerCase()).compareTo(
new File(other.getAbsolutePath().toLowerCase()));
return current.getName().compareToIgnoreCase(other.getName());
case SORT_BY_DATE:
return Long.compare(other.lastModified(), current.lastModified());
case SORT_BY_FILESIZE:
if (current.isDirectory() && other.isDirectory()) {
return other.list().length - current.list().length;
}
return Long.compare(other.length(), current.length());
}
return current.compareTo(other);
Expand Down

0 comments on commit aa5b543

Please sign in to comment.