diff --git a/FAQ.md b/FAQ.md index b444d0151d..982acc18d0 100644 --- a/FAQ.md +++ b/FAQ.md @@ -1986,6 +1986,7 @@ When navigation to a conversation one message will be expanded if: * There is just one message in the conversation * There is exactly one unread message in the conversation +* There is exactly one starred (favorite) message in the conversation (from version 1.1508) There is one exception: the message was not downloaded yet and the message is too large to download automatically on a metered (mobile) connection. diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index be584368b3..7b5fa01be0 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -4776,8 +4776,10 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. int count = 0; int unseen = 0; + int flagged = 0; TupleMessageEx single = null; TupleMessageEx see = null; + TupleMessageEx flag = null; for (TupleMessageEx message : messages) { if (message == null) continue; @@ -4786,11 +4788,17 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. !EntityFolder.DRAFTS.equals(message.folderType) && !EntityFolder.TRASH.equals(message.folderType)) { count++; + single = message; if (!message.ui_seen) { unseen++; see = message; } + + if (message.ui_flagged) { + flagged++; + flag = message; + } } if (message.folder == folder && @@ -4808,6 +4816,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. expand = single; else if (unseen == 1) expand = see; + else if (unseen == 0 && flagged == 1) + expand = flag; else if (messages.size() == 1) expand = messages.get(0); else if (messages.size() > 0) {