diff options
author | Daniel Volk <mail@volkarts.com> | 2014-03-06 15:19:36 +0100 |
---|---|---|
committer | Daniel Volk <mail@volkarts.com> | 2015-01-10 14:40:47 +0100 |
commit | 16d4624f856679ab1893dedcd259c5238ab9c25c (patch) | |
tree | 6d244ac9e615e665c6f467d3a192564605824322 | |
parent | f11382a244e13c488b3a4daaad994a9be9db2a81 (diff) | |
download | android_packages_apps_Email-16d4624f856679ab1893dedcd259c5238ab9c25c.tar.gz android_packages_apps_Email-16d4624f856679ab1893dedcd259c5238ab9c25c.tar.bz2 android_packages_apps_Email-16d4624f856679ab1893dedcd259c5238ab9c25c.zip |
Don't fetch deleted messages from IMAP folder
Fetching messages from an IMAP folder within a specific date range returns
messages marked as deleted, also. Unlike every other getMessages() method,
which filter out deleted messages.
This leaves server deleted messages untouched in the mail conversation
view, even when the folder is synced manually.
This patch adds "NOT DELETED" to the IMAP search command, when searching
for mails in a given date range.
Change-Id: I49e4adfcab9a1de1d1baa4700462a82df651f3cb
-rw-r--r-- | src/com/android/email/mail/store/ImapFolder.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/com/android/email/mail/store/ImapFolder.java b/src/com/android/email/mail/store/ImapFolder.java index 363b49b0c..370fcfe0d 100644 --- a/src/com/android/email/mail/store/ImapFolder.java +++ b/src/com/android/email/mail/store/ImapFolder.java @@ -557,7 +557,8 @@ class ImapFolder extends Folder { public Message[] getMessages(long startDate, long endDate, MessageRetrievalListener listener) throws MessagingException { String [] uids = null; - String command = generateDateRangeCommand(startDate, endDate, false); + String command = generateDateRangeCommand(startDate, endDate, false) + + " NOT DELETED"; LogUtils.d(Logging.LOG_TAG, "getMessages dateRange " + command.toString()); try { @@ -570,7 +571,8 @@ class ImapFolder extends Folder { // See b/11183568 LogUtils.d(Logging.LOG_TAG, e, "query failed %s, trying alternate", command.toString()); - command = generateDateRangeCommand(startDate, endDate, true); + command = generateDateRangeCommand(startDate, endDate, true) + + " NOT DELETED"; try { uids = searchForUids(command, true); } catch (ImapException e2) { |