|
|
@ -1544,8 +1544,8 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
db.message().deleteMessage(message.id);
|
|
|
|
db.message().deleteMessage(message.id);
|
|
|
|
|
|
|
|
|
|
|
|
// Delete temporary copy in target folder
|
|
|
|
// Delete temporary copy in target folder
|
|
|
|
if (EntityOperation.MOVE.equals(op.name) && jargs.length() > 1)
|
|
|
|
if (EntityOperation.MOVE.equals(op.name) && jargs.length() > 2)
|
|
|
|
db.message().deleteMessage(jargs.getInt(1));
|
|
|
|
db.message().deleteMessage(jargs.getInt(2));
|
|
|
|
if (EntityOperation.ADD.equals(op.name) && jargs.length() > 0)
|
|
|
|
if (EntityOperation.ADD.equals(op.name) && jargs.length() > 0)
|
|
|
|
db.message().deleteMessage(jargs.getInt(0));
|
|
|
|
db.message().deleteMessage(jargs.getInt(0));
|
|
|
|
} else
|
|
|
|
} else
|
|
|
@ -1676,6 +1676,12 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
// Append message
|
|
|
|
// Append message
|
|
|
|
MimeMessage imessage = MessageHelper.from(this, message, isession);
|
|
|
|
MimeMessage imessage = MessageHelper.from(this, message, isession);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (jargs.length() > 1) {
|
|
|
|
|
|
|
|
boolean autoread = jargs.getBoolean(1);
|
|
|
|
|
|
|
|
if (autoread && !imessage.isSet(Flags.Flag.SEEN))
|
|
|
|
|
|
|
|
imessage.setFlag(Flags.Flag.SEEN, true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (EntityFolder.DRAFTS.equals(folder.type)) {
|
|
|
|
if (EntityFolder.DRAFTS.equals(folder.type)) {
|
|
|
|
if (ifolder.getPermanentFlags().contains(Flags.Flag.DRAFT))
|
|
|
|
if (ifolder.getPermanentFlags().contains(Flags.Flag.DRAFT))
|
|
|
|
imessage.setFlag(Flags.Flag.DRAFT, true);
|
|
|
|
imessage.setFlag(Flags.Flag.DRAFT, true);
|
|
|
@ -1700,11 +1706,9 @@ public class ServiceSynchronize extends LifecycleService {
|
|
|
|
if (imessage == null)
|
|
|
|
if (imessage == null)
|
|
|
|
throw new MessageRemovedException();
|
|
|
|
throw new MessageRemovedException();
|
|
|
|
|
|
|
|
|
|
|
|
if (jargs.length() == 1 || jargs.getBoolean(1)) {
|
|
|
|
boolean autoread = jargs.getBoolean(1);
|
|
|
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
|
|
|
if (autoread && !imessage.isSet(Flags.Flag.SEEN))
|
|
|
|
if (prefs.getBoolean("autoread", false) && !imessage.isSet(Flags.Flag.SEEN))
|
|
|
|
|
|
|
|
imessage.setFlag(Flags.Flag.SEEN, true);
|
|
|
|
imessage.setFlag(Flags.Flag.SEEN, true);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (istore.hasCapability("MOVE") && !EntityFolder.DRAFTS.equals(folder.type)) {
|
|
|
|
if (istore.hasCapability("MOVE") && !EntityFolder.DRAFTS.equals(folder.type)) {
|
|
|
|
Folder itarget = istore.getFolder(target.name);
|
|
|
|
Folder itarget = istore.getFolder(target.name);
|
|
|
|