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:
parent
9b22b8ecf3
commit
21dd0f7bda
1 changed files with 14 additions and 6 deletions
|
@ -730,26 +730,29 @@ 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();
|
||||
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue