|
|
|
@ -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);
|
|
|
|
|