From 3c721de1b93393518de34dbbc511611da972d2e8 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 13 Mar 2021 14:09:23 +0100 Subject: [PATCH] Clear thread properties --- .../eu/faircode/email/AdapterMessage.java | 2 + .../eu/faircode/email/FragmentMessages.java | 47 +++++++++++++++---- 2 files changed, 40 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index d9ebe8f8c8..6c34adf3a9 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -6151,6 +6151,8 @@ public class AdapterMessage extends RecyclerView.Adapter list = adapter.getCurrentList(); + if (list != null) + for (TupleMessageEx message : list) + if (message != null) + iProperties.clear(message.id); + } super.onDestroyView(); } @@ -1844,6 +1842,37 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. public void finish() { FragmentMessages.this.finish(); } + + @Override + public void clear(long id) { + for (String name : values.keySet()) + if (!"selected".equals(name)) + values.get(name).remove(id); + + for (int i = 0; i < sizes.size(); i++) + if (sizes.keyAt(i) == id) { + sizes.removeAt(i); + break; + } + + for (int i = 0; i < heights.size(); i++) + if (heights.keyAt(i) == id) { + heights.removeAt(i); + break; + } + + for (int i = 0; i < positions.size(); i++) + if (positions.keyAt(i) == id) { + positions.removeAt(i); + break; + } + + for (int i = 0; i < attachments.size(); i++) + if (attachments.keyAt(i) == id) { + attachments.removeAt(i); + break; + } + } }; private ItemTouchHelper.Callback touchHelper = new ItemTouchHelper.Callback() {