From f95e64f7664260b819048226a9a1f770c27838c6 Mon Sep 17 00:00:00 2001 From: cketti Date: Sun, 31 Mar 2013 01:02:31 +0100 Subject: [PATCH] Don't create folder -NONE- when excluding special folders from a search --- src/com/fsck/k9/Account.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) 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); + } + } }