From ae0d96fbd8b6e1f44cbd0ae4c133c97b50db00fc Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 16 Sep 2021 15:26:53 +0200 Subject: [PATCH] Clear classifier data when folder deleted --- .../java/eu/faircode/email/MessageClassifier.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/MessageClassifier.java b/app/src/main/java/eu/faircode/email/MessageClassifier.java index fd8d7ec0c6..c8ffc7ecae 100644 --- a/app/src/main/java/eu/faircode/email/MessageClassifier.java +++ b/app/src/main/java/eu/faircode/email/MessageClassifier.java @@ -177,19 +177,20 @@ public class MessageClassifier { private static String classify(EntityMessage message, @NonNull String currentClass, @NonNull List texts, boolean added, @NonNull Context context) { State state = new State(); + DB db = DB.getInstance(context); // Check classes - DB db = DB.getInstance(context); + boolean clear = false; for (String clazz : new ArrayList<>(classMessages.get(message.account).keySet())) { EntityFolder folder = db.folder().getFolderByName(message.account, clazz); if (folder == null) { EntityLog.log(context, EntityLog.Type.Classification, message, - "Classifier deleting folder class=" + message.account + ":" + clazz); - classMessages.get(message.account).remove(clazz); - for (String word : wordClassFrequency.get(message.account).keySet()) - wordClassFrequency.get(message.account).get(word).remove(clazz); + "Classifier deleted folder=" + message.account + ":" + clazz); + clear = true; } } + if (clear) + clear(context); Log.i("Classifier texts=" + texts.size()); for (String text : texts) {