Merge "Don't sync messages moved from the sent folder"

This commit is contained in:
Todd Kennedy 2011-03-21 16:41:00 -07:00 committed by Android (Google) Code Review
commit a3bc8a2a9f
1 changed files with 6 additions and 8 deletions

View File

@ -1247,11 +1247,6 @@ public class MessagingController implements Runnable {
}
// upsync the message
long id = upsyncs2.getLong(EmailContent.Message.ID_PROJECTION_COLUMN);
EmailContent.Message newMessage =
EmailContent.Message.restoreMessageWithId(mContext, id);
if (newMessage != null && newMessage.mMailboxKey != mailboxId) {
continue; // The message moved to a different mailbox; skip it
}
lastMessageId = id;
processUploadMessage(resolver, remoteStore, account, mailbox, id);
}
@ -1380,10 +1375,10 @@ public class MessagingController implements Runnable {
private void processUploadMessage(ContentResolver resolver, Store remoteStore,
EmailContent.Account account, Mailbox mailbox, long messageId)
throws MessagingException {
EmailContent.Message message =
EmailContent.Message newMessage =
EmailContent.Message.restoreMessageWithId(mContext, messageId);
boolean deleteUpdate = false;
if (message == null) {
if (newMessage == null) {
deleteUpdate = true;
Log.d(Logging.LOG_TAG, "Upsync failed for null message, id=" + messageId);
} else if (mailbox.mType == Mailbox.TYPE_DRAFTS) {
@ -1395,9 +1390,12 @@ public class MessagingController implements Runnable {
} else if (mailbox.mType == Mailbox.TYPE_TRASH) {
deleteUpdate = false;
Log.d(Logging.LOG_TAG, "Upsync skipped for mailbox=trash, id=" + messageId);
} else if (newMessage != null && newMessage.mMailboxKey != mailbox.mId) {
deleteUpdate = false;
Log.d(Logging.LOG_TAG, "Upsync skipped; mailbox changed, id=" + messageId);
} else {
Log.d(Logging.LOG_TAG, "Upsyc triggered for message id=" + messageId);
deleteUpdate = processPendingAppend(remoteStore, account, mailbox, message);
deleteUpdate = processPendingAppend(remoteStore, account, mailbox, newMessage);
}
if (deleteUpdate) {
// Finally, delete the update (if any)