Fixed folder unread accumulation

pull/194/head
M66B 4 years ago
parent 2949552b90
commit 297c59d8a4

@ -276,16 +276,17 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
ivNotify.setVisibility(folder.notify ? View.VISIBLE : View.GONE); ivNotify.setVisibility(folder.notify ? View.VISIBLE : View.GONE);
} }
int unseen = folder.unseen + (folder.collapsed ? folder.childs_unseen : 0); int cunseen = (folder.collapsed ? folder.childs_unseen : 0);
int unseen = folder.unseen + cunseen;
if (unseen > 0) if (unseen > 0)
tvName.setText(context.getString(R.string.title_name_count, tvName.setText(context.getString(R.string.title_name_count,
folder.getDisplayName(context, folder.parent_ref == null ? null : folder.parent_ref), folder.getDisplayName(context, folder.parent_ref == null ? null : folder.parent_ref),
NF.format(unseen))); (cunseen > 0 ? "▾" : "") + NF.format(unseen)));
else else
tvName.setText(folder.getDisplayName(context, folder.parent_ref)); tvName.setText(folder.getDisplayName(context, folder.parent_ref));
tvName.setTypeface(folder.unseen > 0 ? Typeface.DEFAULT_BOLD : Typeface.DEFAULT); tvName.setTypeface(unseen > 0 ? Typeface.DEFAULT_BOLD : Typeface.DEFAULT);
tvName.setTextColor(folder.unseen > 0 ? colorUnread : textColorSecondary); tvName.setTextColor(unseen > 0 ? colorUnread : textColorSecondary);
if (listener == null && folder.selectable) { if (listener == null && folder.selectable) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
@ -1228,8 +1229,11 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
List<TupleFolderEx> childs = null; List<TupleFolderEx> childs = null;
if (parent.child_refs != null) { if (parent.child_refs != null) {
childs = getHierarchical(parent.child_refs, indentation + 1); childs = getHierarchical(parent.child_refs, indentation + 1);
for (TupleFolderEx child : childs) for (TupleFolderEx child : childs) {
parent.childs_unseen += child.unseen + child.childs_unseen; parent.childs_unseen += child.unseen;
if (child.collapsed)
parent.childs_unseen += child.childs_unseen;
}
} }
if (!subscribed_only || if (!subscribed_only ||

Loading…
Cancel
Save