From aa3e4774e02ff2826c183d1a7b7be0a207be5883 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 22 Dec 2018 15:13:52 +0000 Subject: [PATCH] Sort folders on display name --- app/src/main/java/eu/faircode/email/AdapterFolder.java | 2 +- app/src/main/java/eu/faircode/email/AdapterMessage.java | 2 +- app/src/main/java/eu/faircode/email/EntityFolder.java | 8 ++++---- app/src/main/java/eu/faircode/email/FragmentAccount.java | 2 +- app/src/main/java/eu/faircode/email/FragmentIdentity.java | 2 +- app/src/main/java/eu/faircode/email/FragmentMessages.java | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterFolder.java b/app/src/main/java/eu/faircode/email/AdapterFolder.java index 4468d1b198..123eaae3a3 100644 --- a/app/src/main/java/eu/faircode/email/AdapterFolder.java +++ b/app/src/main/java/eu/faircode/email/AdapterFolder.java @@ -395,7 +395,7 @@ public class AdapterFolder extends RecyclerView.Adapter folders = new ArrayList<>(); folders.addAll(_folders); - EntityFolder.sort(folders); + EntityFolder.sort(context, folders); all.clear(); for (EntityFolder folder : folders) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 7cd72f4e2e..454d34c31c 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -1503,7 +1503,7 @@ public class AdapterMessage extends RecyclerView.Adapter folders) { + static void sort(final Context context, List folders) { final Collator collator = Collator.getInstance(Locale.getDefault()); collator.setStrength(Collator.SECONDARY); // Case insensitive, process accents etc @@ -274,9 +274,9 @@ public class EntityFolder implements Serializable { int c = -f1.synchronize.compareTo(f2.synchronize); if (c != 0) return c; - return collator.compare( - f1.name == null ? "" : f1.name, - f2.name == null ? "" : f2.name); + String name1 = f1.getDisplayName(context); + String name2 = f2.getDisplayName(context); + return collator.compare(name1, name2); } }); } diff --git a/app/src/main/java/eu/faircode/email/FragmentAccount.java b/app/src/main/java/eu/faircode/email/FragmentAccount.java index 4ef1ddc840..4a78ec6a73 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccount.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccount.java @@ -1154,7 +1154,7 @@ public class FragmentAccount extends FragmentEx { } private void setFolders(List folders) { - EntityFolder.sort(folders); + EntityFolder.sort(getContext(), folders); EntityFolder none = new EntityFolder(); none.name = ""; diff --git a/app/src/main/java/eu/faircode/email/FragmentIdentity.java b/app/src/main/java/eu/faircode/email/FragmentIdentity.java index 6f4ec31a14..52101d589f 100644 --- a/app/src/main/java/eu/faircode/email/FragmentIdentity.java +++ b/app/src/main/java/eu/faircode/email/FragmentIdentity.java @@ -836,7 +836,7 @@ public class FragmentIdentity extends FragmentEx { result.identity = db.identity().getIdentity(iid); result.folders = db.folder().getFolders(aid); - EntityFolder.sort(result.folders); + EntityFolder.sort(context, result.folders); return result; } diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 39b50c80a7..adbef477ea 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -1079,7 +1079,7 @@ public class FragmentMessages extends FragmentEx { (fid < 0 ? !folder.unified : !folder.id.equals(fid))) targets.add(folder); - EntityFolder.sort(targets); + EntityFolder.sort(context, targets); return targets; }