From acc98898f38a14a6efab96e0438a5ef8cdab8b05 Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 23 Feb 2023 22:27:28 +0100 Subject: [PATCH] Case insensitive keyword sort --- app/src/main/java/eu/faircode/email/TupleKeyword.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/TupleKeyword.java b/app/src/main/java/eu/faircode/email/TupleKeyword.java index 8916e934e3..4fe95355e8 100644 --- a/app/src/main/java/eu/faircode/email/TupleKeyword.java +++ b/app/src/main/java/eu/faircode/email/TupleKeyword.java @@ -26,11 +26,13 @@ import android.graphics.Color; import androidx.annotation.Nullable; import androidx.preference.PreferenceManager; +import java.text.Collator; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; +import java.util.Locale; import java.util.Objects; public class TupleKeyword { @@ -75,12 +77,15 @@ public class TupleKeyword { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + final Collator collator = Collator.getInstance(Locale.getDefault()); + collator.setStrength(Collator.SECONDARY); // Case insensitive, process accents etc + Collections.sort(all, new Comparator() { @Override public int compare(String k1, String k2) { k1 = prefs.getString("kwtitle." + k1, getDefaultKeywordAlias(context, k1)); k2 = prefs.getString("kwtitle." + k2, getDefaultKeywordAlias(context, k2)); - return k1.compareTo(k2); + return collator.compare(k1, k2); } });