1
0
Fork 0
mirror of https://github.com/M66B/FairEmail.git synced 2025-03-04 18:48:31 +00:00

Allow undoing move of selection

This commit is contained in:
M66B 2018-11-25 17:38:31 +01:00
parent 9b22b8ecf3
commit 21dd0f7bda

View file

@ -730,27 +730,30 @@ public class FragmentMessages extends FragmentEx {
selectionTracker.clearSelection();
new SimpleTask<Void>() {
new SimpleTask<MessageTarget>() {
@Override
protected Void onLoad(Context context, Bundle args) {
protected MessageTarget onLoad(Context context, Bundle args) {
long[] ids = args.getLongArray("ids");
long target = args.getLong("target");
MessageTarget result = new MessageTarget();
DB db = DB.getInstance(context);
try {
db.beginTransaction();
result.target = db.folder().getFolder(target);
for (long id : ids) {
EntityMessage message = db.message().getMessage(id);
List<EntityMessage> messages = db.message().getMessageByThread(
message.account, message.thread, message.ui_found);
for (EntityMessage threaded : messages) {
for (EntityMessage threaded : messages)
if (threaded.folder.equals(message.folder)) {
EntityOperation.queue(db, threaded, EntityOperation.MOVE, target);
result.ids.add(threaded.id);
db.message().setMessageUiHide(threaded.id, true);
}
}
}
db.setTransactionSuccessful();
} finally {
@ -759,7 +762,12 @@ public class FragmentMessages extends FragmentEx {
EntityOperation.process(context);
return null;
return result;
}
@Override
protected void onLoaded(Bundle args, MessageTarget result) {
moveUndo(result);
}
@Override