Delete attachment if there's no corresponding message

Bug: 3372440
Change-Id: I5c3653c5f27e0aa7bab52ca0d979e14bb6bafc34
This commit is contained in:
Marc Blank 2011-01-20 09:47:57 -08:00
parent 6bbc689efc
commit 2ac1833943
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