pull/23/head
M66B 7 years ago
parent 267e08685c
commit 9e60b4eabd

@ -86,9 +86,6 @@ public class EntityOperation {
return; return;
} }
purged = dao.deleteOperations(message.id, name); purged = dao.deleteOperations(message.id, name);
} else if (DELETE.equals(name)) {
if (message.uid == null)
return;
} }
EntityOperation operation = new EntityOperation(); EntityOperation operation = new EntityOperation();

@ -473,13 +473,6 @@ public class ServiceSynchronize extends LifecycleService {
} catch (Throwable ex) { } catch (Throwable ex) {
Log.e(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex)); Log.e(Helper.TAG, folder.name + " " + ex + "\n" + Log.getStackTraceString(ex));
reportError(account.name, folder.name, ex); reportError(account.name, folder.name, ex);
// Cascade up
try {
fstore.close();
} catch (MessagingException e1) {
Log.w(Helper.TAG, folder.name + " " + e1 + "\n" + Log.getStackTraceString(e1));
}
} finally { } finally {
if (shouldClose) if (shouldClose)
if (ifolder != null && ifolder.isOpen()) { if (ifolder != null && ifolder.isOpen()) {
@ -738,11 +731,13 @@ public class ServiceSynchronize extends LifecycleService {
} else if (EntityOperation.DELETE.equals(op.name)) { } else if (EntityOperation.DELETE.equals(op.name)) {
// Delete message // Delete message
if (op.uid != null) {
Message imessage = ifolder.getMessageByUID(op.uid); Message imessage = ifolder.getMessageByUID(op.uid);
if (imessage == null) if (imessage == null)
throw new MessageRemovedException(); throw new MessageRemovedException();
imessage.setFlag(Flags.Flag.DELETED, true); imessage.setFlag(Flags.Flag.DELETED, true);
ifolder.expunge(); ifolder.expunge();
}
message.deleteMessage(op.message); message.deleteMessage(op.message);
@ -1031,6 +1026,8 @@ public class ServiceSynchronize extends LifecycleService {
long id = MimeMessageEx.getId(imessage); long id = MimeMessageEx.getId(imessage);
message = db.message().getMessage(id); message = db.message().getMessage(id);
if (message.folder != folder.id)
message = null; // Archive
boolean update = (message != null); boolean update = (message != null);
if (message == null) if (message == null)
message = new EntityMessage(); message = new EntityMessage();

Loading…
Cancel
Save