diff --git a/src/com/fsck/k9/Account.java b/src/com/fsck/k9/Account.java index 11c2df5ba..1bf1fba6f 100644 --- a/src/com/fsck/k9/Account.java +++ b/src/com/fsck/k9/Account.java @@ -1848,11 +1848,17 @@ public class Account implements BaseAccount { * The {@code LocalSearch} instance to modify. */ public void excludeSpecialFolders(LocalSearch search) { - search.and(Searchfield.FOLDER, getTrashFolderName(), Attribute.NOT_EQUALS); - search.and(Searchfield.FOLDER, getDraftsFolderName(), Attribute.NOT_EQUALS); - search.and(Searchfield.FOLDER, getSpamFolderName(), Attribute.NOT_EQUALS); - search.and(Searchfield.FOLDER, getOutboxFolderName(), Attribute.NOT_EQUALS); - search.and(Searchfield.FOLDER, getSentFolderName(), Attribute.NOT_EQUALS); + excludeSpecialFolder(search, getTrashFolderName()); + excludeSpecialFolder(search, getDraftsFolderName()); + excludeSpecialFolder(search, getSpamFolderName()); + excludeSpecialFolder(search, getOutboxFolderName()); + excludeSpecialFolder(search, getSentFolderName()); search.or(new SearchCondition(Searchfield.FOLDER, Attribute.EQUALS, getInboxFolderName())); } + + private void excludeSpecialFolder(LocalSearch search, String folderName) { + if (!K9.FOLDER_NONE.equals(folderName)) { + search.and(Searchfield.FOLDER, folderName, Attribute.NOT_EQUALS); + } + } }