Temp move unseen, fixed cross account autoread

This commit is contained in:
M66B
2019-01-24 18:45:38 +00:00
parent 4b0e23413e
commit 4140bb021c
3 changed files with 18 additions and 15 deletions

View File

@@ -1544,9 +1544,11 @@ public class ServiceSynchronize extends LifecycleService {
db.message().deleteMessage(message.id);
// Delete temporary copy in target folder
if (EntityOperation.MOVE.equals(op.name) && jargs.length() > 2)
if (EntityOperation.MOVE.equals(op.name) &&
jargs.length() > 2)
db.message().deleteMessage(jargs.getInt(2));
if (EntityOperation.ADD.equals(op.name) && jargs.length() > 0)
if (EntityOperation.ADD.equals(op.name) &&
jargs.length() > 0 && !jargs.isNull(0))
db.message().deleteMessage(jargs.getInt(0));
} else
db.message().setMessageUiHide(message.id, false);
@@ -1710,11 +1712,16 @@ public class ServiceSynchronize extends LifecycleService {
if (autoread && !imessage.isSet(Flags.Flag.SEEN))
imessage.setFlag(Flags.Flag.SEEN, true);
if (target.id.equals(folder.id)) {
Log.w(folder.name + " MOVE onto self");
return;
}
if (istore.hasCapability("MOVE") && !EntityFolder.DRAFTS.equals(folder.type)) {
Folder itarget = istore.getFolder(target.name);
ifolder.moveMessages(new Message[]{imessage}, itarget);
} else {
Log.w("MOVE by DELETE/APPEND");
Log.w(folder.name + " MOVE by DELETE/APPEND");
// Delete source
imessage.setFlag(Flags.Flag.DELETED, true);