From 26c9f6cdccef43379e7fc7b3f94f1f8cd0247ff3 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 20 Jul 2021 08:21:40 +0200 Subject: [PATCH] Fixed auto close lpos --- .../main/java/eu/faircode/email/FragmentMessages.java | 11 ++++++----- .../main/java/eu/faircode/email/FragmentOptions.java | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 30dc693708..d09a49b696 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -337,7 +337,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. private Long prev = null; private Long next = null; private Long closeId = null; - private boolean closeForward; private int autoCloseCount = 0; private boolean autoExpanded = true; @@ -4958,7 +4957,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. if ((next ? "next" : "previous").equals(onclose)) if (!exists || id != null) { closeId = id; - closeForward = next; if (!once) { once = true; loadMessagesNext(top); @@ -5483,7 +5481,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); boolean reversed = prefs.getBoolean("reversed", false); - navigate(closeId, "previous".equals(onclose) ^ reversed, closeForward); + navigate(closeId, "previous".equals(onclose) ^ reversed, null); } } } @@ -5527,7 +5525,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. } } - private void navigate(long id, final boolean left, final boolean forward) { + private void navigate(long id, final boolean left, final Boolean forward) { if (!getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) return; if (navigating) @@ -5569,7 +5567,10 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. nargs.putString("thread", message.thread); nargs.putLong("id", message.id); if (lpos != NO_POSITION) - nargs.putInt("lpos", forward ^ reversed ? lpos - 1 : lpos + 1); + if (forward == null) + nargs.putInt("lpos", lpos); + else + nargs.putInt("lpos", forward ^ reversed ? lpos + 1 : lpos - 1); nargs.putBoolean("found", found); nargs.putBoolean("pane", pane); nargs.putLong("primary", primary); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptions.java b/app/src/main/java/eu/faircode/email/FragmentOptions.java index c4771249fa..fbfe8f631f 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptions.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptions.java @@ -122,7 +122,7 @@ public class FragmentOptions extends FragmentBase { "background_color", "text_color", "text_size", "text_font", "text_align", "text_separators", "collapse_quotes", "image_placeholders", "inline_images", "seekbar", "actionbar", "actionbar_color", "navbar_colorize", - "autoscroll", "swipenav", "swipe_close", "swipe_move", "autoexpand", "autoclose", "onclose", + "autoscroll", "swipenav", "reversed", "swipe_close", "swipe_move", "autoexpand", "autoclose", "onclose", "language_detection", "quick_filter", "quick_scroll", "experiments", "debug",