Always purge on add

This commit is contained in:
M66B 2020-12-05 10:45:14 +01:00
parent 8ab4325a33
commit 11de957c9b
1 changed files with 9 additions and 18 deletions

View File

@ -928,28 +928,19 @@ class Core {
} else
ifolder.appendMessages(new Message[]{imessage});
// Delete previous (external) version
if (message.uid != null) {
if (folder.id.equals(message.folder)) {
// Prevent deleting message
db.message().setMessageUid(message.id, null);
Message iexisting = ifolder.getMessageByUID(message.uid);
if (iexisting == null)
Log.w(folder.name + " existing not found uid=" + message.uid);
else {
try {
Log.i(folder.name + " deleting uid=" + message.uid);
iexisting.setFlag(Flags.Flag.DELETED, true);
ifolder.expunge();
} catch (MessageRemovedException ignored) {
Log.w(folder.name + " existing gone uid=" + message.uid);
}
}
}
if (folder.id.equals(message.folder)) {
// Some providers do not list the new message yet
Long found = findUid(ifolder, message.msgid, true);
if (newuid == null)
newuid = findUid(ifolder, message.msgid, true);
newuid = found;
else if (!newuid.equals(found)) {
Log.e(folder.name + " Added=" + newuid + " found=" + found);
newuid = found;
}
if (newuid != null && (message.uid == null || newuid > message.uid))
try {
Log.i(folder.name + " Fetching uid=" + newuid);