mirror of https://github.com/M66B/FairEmail.git
Small cross account move fix
This commit is contained in:
parent
1a345af89d
commit
a7f495790b
|
@ -488,18 +488,21 @@ class Core {
|
||||||
throw new IllegalArgumentException("uid not found");
|
throw new IllegalArgumentException("uid not found");
|
||||||
|
|
||||||
Log.i(folder.name + " appended id=" + message.id + " uid=" + uid);
|
Log.i(folder.name + " appended id=" + message.id + " uid=" + uid);
|
||||||
db.message().setMessageUid(message.id, uid);
|
|
||||||
|
|
||||||
if (!folder.id.equals(message.folder))
|
if (folder.id.equals(message.folder))
|
||||||
|
db.message().setMessageUid(message.id, uid);
|
||||||
|
else {
|
||||||
|
// Cross account move
|
||||||
try {
|
try {
|
||||||
db.beginTransaction();
|
db.beginTransaction();
|
||||||
|
|
||||||
// Cross account move
|
// Mark source read
|
||||||
if (autoread) {
|
if (autoread) {
|
||||||
Log.i(folder.name + " queuing SEEN id=" + message.id);
|
Log.i(folder.name + " queuing SEEN id=" + message.id);
|
||||||
EntityOperation.queue(context, db, message, EntityOperation.SEEN, true);
|
EntityOperation.queue(context, db, message, EntityOperation.SEEN, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Delete source
|
||||||
Log.i(folder.name + " queuing DELETE id=" + message.id);
|
Log.i(folder.name + " queuing DELETE id=" + message.id);
|
||||||
EntityOperation.queue(context, db, message, EntityOperation.DELETE);
|
EntityOperation.queue(context, db, message, EntityOperation.DELETE);
|
||||||
|
|
||||||
|
@ -507,8 +510,10 @@ class Core {
|
||||||
} finally {
|
} finally {
|
||||||
db.endTransaction();
|
db.endTransaction();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} catch (Throwable ex) {
|
} catch (Throwable ex) {
|
||||||
db.message().setMessageUid(message.id, null);
|
if (folder.id.equals(message.folder))
|
||||||
|
db.message().setMessageUid(message.id, null);
|
||||||
throw ex;
|
throw ex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -606,6 +611,7 @@ class Core {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (jargs.length() > 0) {
|
if (jargs.length() > 0) {
|
||||||
|
// Cross account move
|
||||||
long target = jargs.getLong(2);
|
long target = jargs.getLong(2);
|
||||||
jargs.remove(2);
|
jargs.remove(2);
|
||||||
Log.i(folder.name + " queuing ADD id=" + message.id + ":" + target);
|
Log.i(folder.name + " queuing ADD id=" + message.id + ":" + target);
|
||||||
|
|
Loading…
Reference in New Issue