AI 148334: Provide a new entry in MessageUpdateCallbacks by which the store can

indicate that the message of interest no longer exists.  This is used
  in remoteFolder.copyMessages, for example because the message was
  already deleted by another client.
  BUG=1807499

Automated import of CL 148334
This commit is contained in:
Andy Stadler 2009-05-05 16:36:31 -07:00 committed by The Android Open Source Project
parent 5293030ba0
commit 235609d04e
2 changed files with 23 additions and 2 deletions

View File

@ -1113,6 +1113,20 @@ public class MessagingController implements Runnable {
localTrashFolder.updateMessage(localMessage);
}
}
/**
* This will be called if the deleted message doesn't exist and can't be
* deleted (e.g. it was already deleted from the server.) In this case,
* attempt to delete the local copy as well.
*/
public void onMessageNotFound(Message message) throws MessagingException {
LocalMessage localMessage =
(LocalMessage) localTrashFolder.getMessage(message.getUid());
if (localMessage != null) {
localMessage.setFlag(Flag.DELETED, true);
}
}
}
);
}

View File

@ -210,8 +210,15 @@ public abstract class Folder {
* @param message The message for which the UID changed
* @param newUid The new UID for the message
*/
public void onMessageUidChange(Message message, String newUid)
throws MessagingException;
public void onMessageUidChange(Message message, String newUid) throws MessagingException;
/**
* The operation could not be completed because the message doesn't exist
* (for example, it was already deleted from the server side.)
* @param message The message that does not exist
* @throws MessagingException
*/
public void onMessageNotFound(Message message) throws MessagingException;
}
@Override