Move from archive

pull/146/head
M66B 7 years ago
parent 7a3324d241
commit 3d543187bf

@ -1552,31 +1552,24 @@ public class ServiceSynchronize extends LifecycleService {
if (imessage == null) if (imessage == null)
throw new MessageRemovedException(); throw new MessageRemovedException();
if (EntityFolder.ARCHIVE.equals(folder.type) &&
!(EntityFolder.JUNK.equals(target.type) || EntityFolder.TRASH.equals(target.type))) {
MimeMessageEx icopy = MessageHelper.from(this, message, isession);
Folder itarget = istore.getFolder(target.name);
itarget.appendMessages(new Message[]{icopy});
db.message().setMessageUiHide(message.id, false);
} else {
if (istore.hasCapability("MOVE")) { if (istore.hasCapability("MOVE")) {
Folder itarget = istore.getFolder(target.name); Folder itarget = istore.getFolder(target.name);
ifolder.moveMessages(new Message[]{imessage}, itarget); ifolder.moveMessages(new Message[]{imessage}, itarget);
} else { } else {
Log.w(Helper.TAG, "MOVE by DELETE/APPEND"); Log.w(Helper.TAG, "MOVE by DELETE/APPEND");
if (!EntityFolder.ARCHIVE.equals(folder.type)) { // Delete source
imessage.setFlag(Flags.Flag.DELETED, true); imessage.setFlag(Flags.Flag.DELETED, true);
ifolder.expunge(); ifolder.expunge();
}
// Append target
MimeMessageEx icopy = MessageHelper.from(this, message, isession); MimeMessageEx icopy = MessageHelper.from(this, message, isession);
Folder itarget = istore.getFolder(target.name); Folder itarget = istore.getFolder(target.name);
itarget.appendMessages(new Message[]{icopy}); itarget.appendMessages(new Message[]{icopy});
} }
}
if (EntityFolder.ARCHIVE.equals(folder.type))
db.message().setMessageUiHide(message.id, false);
} }
private void doDelete(EntityFolder folder, IMAPFolder ifolder, EntityMessage message, JSONArray jargs, DB db) throws MessagingException, JSONException { private void doDelete(EntityFolder folder, IMAPFolder ifolder, EntityMessage message, JSONArray jargs, DB db) throws MessagingException, JSONException {

Loading…
Cancel
Save