From e6f35603054f8d72ba4099ec66e15c40567cbf4c Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 26 Mar 2023 21:23:56 +0200 Subject: [PATCH] Favorite folder from email: skip disabled folders --- .../java/eu/faircode/email/FragmentDialogFolder.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentDialogFolder.java b/app/src/main/java/eu/faircode/email/FragmentDialogFolder.java index 903a072323..a61a7fa88e 100644 --- a/app/src/main/java/eu/faircode/email/FragmentDialogFolder.java +++ b/app/src/main/java/eu/faircode/email/FragmentDialogFolder.java @@ -60,6 +60,7 @@ import org.json.JSONException; import java.text.Collator; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.Date; @@ -338,6 +339,9 @@ public class FragmentDialogFolder extends FragmentDialogBase { long[] disabled = args.getLongArray("disabled"); long[] messages = args.getLongArray("messages"); + if (disabled == null) + disabled = new long[0]; + List favorites = new ArrayList<>(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); @@ -348,6 +352,7 @@ public class FragmentDialogFolder extends FragmentDialogBase { Map frequency = new HashMap<>(); if (suggest_received && messages != null && messages.length < 100) { + List list = Helper.fromLongArray(disabled); for (Long id : messages) { EntityMessage message = db.message().getMessage(id); if (message != null && message.from != null && message.from[0] != null) { @@ -355,7 +360,9 @@ public class FragmentDialogFolder extends FragmentDialogBase { if (!TextUtils.isEmpty(email)) { EntityContact contact = db.contact().getContact(message.account, EntityContact.TYPE_FROM, email); - if (contact != null && contact.folder != null) { + if (contact != null && + contact.folder != null && + !list.contains(contact.folder)) { Integer freq = frequency.get(contact.folder); freq = (freq == null ? 1 : freq + 1); frequency.put(contact.folder, freq);