|
|
@ -1285,38 +1285,42 @@ class Core {
|
|
|
|
Log.i(folder.name + " " + (duplicate ? "copy" : "move") +
|
|
|
|
Log.i(folder.name + " " + (duplicate ? "copy" : "move") +
|
|
|
|
" from " + folder.type + " to " + target.type);
|
|
|
|
" from " + folder.type + " to " + target.type);
|
|
|
|
|
|
|
|
|
|
|
|
List<Message> icopies = new ArrayList<>();
|
|
|
|
if (!duplicate && account.isSeznam())
|
|
|
|
for (Message imessage : map.keySet()) {
|
|
|
|
ifolder.copyMessages(map.keySet().toArray(new Message[0]), itarget);
|
|
|
|
EntityMessage message = map.get(imessage);
|
|
|
|
else {
|
|
|
|
|
|
|
|
List<Message> icopies = new ArrayList<>();
|
|
|
|
|
|
|
|
for (Message imessage : map.keySet()) {
|
|
|
|
|
|
|
|
EntityMessage message = map.get(imessage);
|
|
|
|
|
|
|
|
|
|
|
|
File file = File.createTempFile("draft", "." + message.id, context.getCacheDir());
|
|
|
|
File file = File.createTempFile("draft", "." + message.id, context.getCacheDir());
|
|
|
|
try (OutputStream os = new BufferedOutputStream(new FileOutputStream(file))) {
|
|
|
|
try (OutputStream os = new BufferedOutputStream(new FileOutputStream(file))) {
|
|
|
|
imessage.writeTo(os);
|
|
|
|
imessage.writeTo(os);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Properties props = MessageHelper.getSessionProperties();
|
|
|
|
Properties props = MessageHelper.getSessionProperties();
|
|
|
|
Session isession = Session.getInstance(props, null);
|
|
|
|
Session isession = Session.getInstance(props, null);
|
|
|
|
|
|
|
|
|
|
|
|
Message icopy;
|
|
|
|
Message icopy;
|
|
|
|
try (InputStream is = new BufferedInputStream(new FileInputStream(file))) {
|
|
|
|
try (InputStream is = new BufferedInputStream(new FileInputStream(file))) {
|
|
|
|
if (duplicate) {
|
|
|
|
if (duplicate) {
|
|
|
|
String msgid = EntityMessage.generateMessageId();
|
|
|
|
String msgid = EntityMessage.generateMessageId();
|
|
|
|
msgids.put(message, msgid);
|
|
|
|
msgids.put(message, msgid);
|
|
|
|
icopy = new MimeMessageEx(isession, is, msgid);
|
|
|
|
icopy = new MimeMessageEx(isession, is, msgid);
|
|
|
|
icopy.saveChanges();
|
|
|
|
icopy.saveChanges();
|
|
|
|
} else
|
|
|
|
} else
|
|
|
|
icopy = new MimeMessage(isession, is);
|
|
|
|
icopy = new MimeMessage(isession, is);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
file.delete();
|
|
|
|
file.delete();
|
|
|
|
|
|
|
|
|
|
|
|
for (Flags.Flag flag : imessage.getFlags().getSystemFlags())
|
|
|
|
for (Flags.Flag flag : imessage.getFlags().getSystemFlags())
|
|
|
|
icopy.setFlag(flag, true);
|
|
|
|
icopy.setFlag(flag, true);
|
|
|
|
|
|
|
|
|
|
|
|
icopies.add(icopy);
|
|
|
|
icopies.add(icopy);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
itarget.appendMessages(icopies.toArray(new Message[0]));
|
|
|
|
itarget.appendMessages(icopies.toArray(new Message[0]));
|
|
|
|
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
for (Message imessage : map.keySet()) {
|
|
|
|
for (Message imessage : map.keySet()) {
|
|
|
|
Log.i((copy ? "Copy" : "Move") + " seen=" + seen + " unflag=" + unflag + " flags=" + imessage.getFlags() + " can=" + canMove);
|
|
|
|
Log.i((copy ? "Copy" : "Move") + " seen=" + seen + " unflag=" + unflag + " flags=" + imessage.getFlags() + " can=" + canMove);
|
|
|
|