From f4e4cb9a9e8ab96dcbaa944aa29666a6269f4344 Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 9 Nov 2023 07:38:31 +0100 Subject: [PATCH] Fixed auto expanding duplicate messages --- .../main/java/eu/faircode/email/FragmentMessages.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 38f2ea5828..f43bdd9d94 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -7191,6 +7191,7 @@ public class FragmentMessages extends FragmentBase TupleMessageEx singleMessage = null; TupleMessageEx unseenMessage = null; TupleMessageEx flaggedMessage = null; + TupleMessageEx lastMessage = null; TupleMessageEx pinnedMessage = null; TupleMessageEx foundMessage = null; for (TupleMessageEx message : messages) { @@ -7214,6 +7215,8 @@ public class FragmentMessages extends FragmentBase flagged++; flaggedMessage = message; } + + lastMessage = message; } if (pinned && @@ -7248,13 +7251,11 @@ public class FragmentMessages extends FragmentBase expand = unseenMessage; else if (unseen == 0 && flagged == 1) expand = flaggedMessage; - else if (messages.size() == 1) - expand = messages.get(0); - else if (messages.size() > 0) { - TupleMessageEx firstMessage = messages.get(adapter.getAscending() ? messages.size() - 1 : 0); + else if (count > 0) { + TupleMessageEx firstMessage = (adapter.getAscending() ? lastMessage : singleMessage); if (firstMessage != null && (EntityFolder.OUTBOX.equals(firstMessage.folderType) || - (expand_first && unseen == 0 && !EntityFolder.DRAFTS.equals(firstMessage.folderType)))) + (expand_first && unseen == 0))) expand = firstMessage; }