From daf40a399e7dd99233c50183e684b570bd90ff8b Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 17 Nov 2019 19:34:00 +0100 Subject: [PATCH] Fixed/improved undo move --- .../eu/faircode/email/FragmentMessages.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index b64e61bcca..aaa43392ee 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -705,7 +705,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. @Override protected void onExecuted(Bundle args, ArrayList result) { - moveAsk(result, false); + moveAsk(result, false, false); } @Override @@ -1350,7 +1350,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. @Override protected void onExecuted(Bundle args, ArrayList result) { - moveAsk(result, false); + moveAsk(result, false, false); } @Override @@ -2288,7 +2288,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. if (EntityFolder.JUNK.equals(type)) moveAskConfirmed(result); else - moveAsk(result, true); + moveAsk(result, true, true); } @Override @@ -2352,7 +2352,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. @Override protected void onExecuted(Bundle args, ArrayList result) { - moveAsk(result, true); + moveAsk(result, true, true); } @Override @@ -3566,13 +3566,18 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. }.execute(this, args, "messages:navigate"); } - private void moveAsk(final ArrayList result, boolean undo) { + private void moveAsk(final ArrayList result, boolean undo, boolean canUndo) { if (result.size() == 0) return; + if (undo) { + moveUndo(result); + return; + } + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext()); if (prefs.getBoolean("automove", false)) { - if (undo) + if (canUndo) moveUndo(result); else moveAskConfirmed(result); @@ -4579,7 +4584,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. @Override protected void onExecuted(Bundle args, ArrayList result) { - moveAsk(result, false); + moveAsk(result, false, true); } @Override