From aa5b5439cc4468800aefae785ed4d8f16d55454c Mon Sep 17 00:00:00 2001 From: Gregor Santner Date: Thu, 9 Sep 2021 01:51:46 +0200 Subject: [PATCH] filebrowser:sort: use compareToIgnoreCase for name comparision --- .../gsantner/markor/ui/FilesystemViewerCreator.java | 13 ------------- .../gsantner/opoc/ui/FilesystemViewerAdapter.java | 4 ++-- .../gsantner/opoc/ui/FilesystemViewerFragment.java | 6 +----- 3 files changed, 3 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/net/gsantner/markor/ui/FilesystemViewerCreator.java b/app/src/main/java/net/gsantner/markor/ui/FilesystemViewerCreator.java index cbe5ec6ba28..c964e804f22 100644 --- a/app/src/main/java/net/gsantner/markor/ui/FilesystemViewerCreator.java +++ b/app/src/main/java/net/gsantner/markor/ui/FilesystemViewerCreator.java @@ -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; diff --git a/app/src/main/java/net/gsantner/opoc/ui/FilesystemViewerAdapter.java b/app/src/main/java/net/gsantner/opoc/ui/FilesystemViewerAdapter.java index 7f3cb3ce142..d6f81ff8b3b 100644 --- a/app/src/main/java/net/gsantner/opoc/ui/FilesystemViewerAdapter.java +++ b/app/src/main/java/net/gsantner/opoc/ui/FilesystemViewerAdapter.java @@ -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) @@ -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() { diff --git a/app/src/main/java/net/gsantner/opoc/ui/FilesystemViewerFragment.java b/app/src/main/java/net/gsantner/opoc/ui/FilesystemViewerFragment.java index 7fef31683ef..6968796ecf5 100644 --- a/app/src/main/java/net/gsantner/opoc/ui/FilesystemViewerFragment.java +++ b/app/src/main/java/net/gsantner/opoc/ui/FilesystemViewerFragment.java @@ -544,14 +544,10 @@ public static Comparator sortFolder(List 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);