|
|
|
@ -355,6 +355,26 @@ public class EntityOperation {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
} else if (COPY.equals(name)) {
|
|
|
|
|
// Parameters in:
|
|
|
|
|
// 0: target folder
|
|
|
|
|
// 1: mark seen
|
|
|
|
|
|
|
|
|
|
EntityFolder source = db.folder().getFolder(message.folder);
|
|
|
|
|
EntityFolder target = db.folder().getFolder(jargs.getLong(0));
|
|
|
|
|
if (source == null || target == null)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
// Cross account copy
|
|
|
|
|
if (!source.account.equals(target.account)) {
|
|
|
|
|
jargs.put(2, true); // copy
|
|
|
|
|
if (message.raw != null && message.raw)
|
|
|
|
|
queue(context, target.account, target.id, message.id, ADD, jargs);
|
|
|
|
|
else
|
|
|
|
|
queue(context, source.account, source.id, message.id, RAW, jargs);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else if (DELETE.equals(name)) {
|
|
|
|
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
|
|
|
|
boolean perform_expunge = prefs.getBoolean("perform_expunge", true);
|
|
|
|
|