From 7b58d770c183f728bafd62cbdbafe16c2f686f33 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 27 Feb 2021 19:21:28 +0100 Subject: [PATCH] Contribute child folder unread to collapsed parent --- app/src/main/java/eu/faircode/email/AdapterFolder.java | 10 +++++++--- app/src/main/java/eu/faircode/email/TupleFolderEx.java | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterFolder.java b/app/src/main/java/eu/faircode/email/AdapterFolder.java index d6d1ab0da9..a882c1fef1 100644 --- a/app/src/main/java/eu/faircode/email/AdapterFolder.java +++ b/app/src/main/java/eu/faircode/email/AdapterFolder.java @@ -276,10 +276,11 @@ public class AdapterFolder extends RecyclerView.Adapter 0) + int unseen = folder.unseen + (folder.collapsed ? folder.childs_unseen : 0); + if (unseen > 0) tvName.setText(context.getString(R.string.title_name_count, folder.getDisplayName(context, folder.parent_ref == null ? null : folder.parent_ref), - NF.format(folder.unseen))); + NF.format(unseen))); else tvName.setText(folder.getDisplayName(context, folder.parent_ref)); @@ -1225,8 +1226,11 @@ public class AdapterFolder extends RecyclerView.Adapter childs = null; - if (parent.child_refs != null) + if (parent.child_refs != null) { childs = getHierarchical(parent.child_refs, indentation + 1); + for (TupleFolderEx child : childs) + parent.childs_unseen += child.unseen + child.childs_unseen; + } if (!subscribed_only || parent.accountProtocol != EntityAccount.TYPE_IMAP || diff --git a/app/src/main/java/eu/faircode/email/TupleFolderEx.java b/app/src/main/java/eu/faircode/email/TupleFolderEx.java index d2613951f6..77bf82ee10 100644 --- a/app/src/main/java/eu/faircode/email/TupleFolderEx.java +++ b/app/src/main/java/eu/faircode/email/TupleFolderEx.java @@ -57,6 +57,8 @@ public class TupleFolderEx extends EntityFolder implements Serializable { public TupleFolderEx parent_ref; @Ignore public List child_refs; + @Ignore + public int childs_unseen = 0; @Override public boolean equals(Object obj) {