summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Volk <mail@volkarts.com>2014-03-06 15:19:36 +0100
committerDaniel Volk <mail@volkarts.com>2015-01-10 14:40:47 +0100
commit16d4624f856679ab1893dedcd259c5238ab9c25c (patch)
tree6d244ac9e615e665c6f467d3a192564605824322
parentf11382a244e13c488b3a4daaad994a9be9db2a81 (diff)
downloadandroid_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.java6
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) {