From e10329c6ca8dc2d5f4c4a1ba8ecff878e9ef6174 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 27 Apr 2019 21:40:32 +0200 Subject: [PATCH] Simplify rule ordering --- .../java/eu/faircode/email/AdapterRule.java | 17 ----------------- .../main/java/eu/faircode/email/DaoRule.java | 6 +++--- 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterRule.java b/app/src/main/java/eu/faircode/email/AdapterRule.java index 2b428bbe64..a77bacbdff 100644 --- a/app/src/main/java/eu/faircode/email/AdapterRule.java +++ b/app/src/main/java/eu/faircode/email/AdapterRule.java @@ -34,12 +34,8 @@ import androidx.recyclerview.widget.DiffUtil; import androidx.recyclerview.widget.ListUpdateCallback; import androidx.recyclerview.widget.RecyclerView; -import java.text.Collator; import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; import java.util.List; -import java.util.Locale; public class AdapterRule extends RecyclerView.Adapter { private Context context; @@ -105,19 +101,6 @@ public class AdapterRule extends RecyclerView.Adapter { public void set(@NonNull List rules) { Log.i("Set rules=" + rules.size()); - final Collator collator = Collator.getInstance(Locale.getDefault()); - collator.setStrength(Collator.SECONDARY); // Case insensitive, process accents etc - - Collections.sort(rules, new Comparator() { - @Override - public int compare(TupleRuleEx r1, TupleRuleEx r2) { - int o = ((Integer) r1.order).compareTo(r2.order); - if (o != 0) - return 0; - return collator.compare(r1.name, r2.name); - } - }); - DiffUtil.DiffResult diff = DiffUtil.calculateDiff(new DiffCallback(items, rules), false); items = rules; diff --git a/app/src/main/java/eu/faircode/email/DaoRule.java b/app/src/main/java/eu/faircode/email/DaoRule.java index bdbcaa8817..9d3feaa413 100644 --- a/app/src/main/java/eu/faircode/email/DaoRule.java +++ b/app/src/main/java/eu/faircode/email/DaoRule.java @@ -31,13 +31,13 @@ import java.util.List; public interface DaoRule { @Query("SELECT * FROM rule" + " WHERE folder = :folder" + - " ORDER BY `order`, name") + " ORDER BY `order`, name COLLATE NOCASE") List getRules(long folder); @Query("SELECT * FROM rule" + " WHERE folder = :folder" + " AND enabled" + - " ORDER BY `order`, name") + " ORDER BY `order`, name COLLATE NOCASE") List getEnabledRules(long folder); @Query("SELECT rule.*, folder.account, folder.name AS folderName, account.name AS accountName FROM rule" + @@ -50,7 +50,7 @@ public interface DaoRule { " JOIN folder ON folder.id = rule.folder" + " JOIN account ON account.id = folder.account" + " WHERE rule.folder = :folder" + - " ORDER BY `order`, name") + " ORDER BY `order`, name COLLATE NOCASE") LiveData> liveRules(long folder); @Insert