Merge "Delete attachment if there's no corresponding message" into honeycomb

This commit is contained in:
Marc Blank 2011-01-21 11:10:09 -08:00 committed by Android (Google) Code Review
commit 0a7d214b27
2 changed files with 8 additions and 1 deletions

View File

@ -1630,6 +1630,10 @@ public class Controller {
LegacyListener legacyListener = sInstance.mLegacyListener;
legacyController.loadAttachment(msg.mAccountKey, msg.mId, msg.mMailboxKey,
attachmentId, legacyListener);
} else {
// Send back the specific error status for this case
sInstance.mCallbackProxy.loadAttachmentStatus(att.mMessageKey, attachmentId,
EmailServiceStatus.MESSAGE_NOT_FOUND, 0);
}
}
}

View File

@ -528,7 +528,10 @@ public class AttachmentDownloadService extends Service implements Runnable {
MailService.actionSendPendingMail(mContext, req.accountId);
}
}
if (!deleted) {
if (statusCode == EmailServiceStatus.MESSAGE_NOT_FOUND) {
// If there's no associated message, delete the attachment
EmailContent.delete(mContext, Attachment.CONTENT_URI, attachment.mId);
} else if (!deleted) {
// Clear the download flags, since we're done for now. Note that this happens
// only for non-recoverable errors. When these occur for forwarded mail, we can
// ignore it and continue; otherwise, it was either 1) a user request, in which