From ddc282b6759602f35f9a1b4ed3793a029e4fc30d Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 17 Sep 2019 11:31:28 +0200 Subject: [PATCH] Reverse navigation direction --- .../main/java/eu/faircode/email/ApplicationEx.java | 6 ++++++ .../java/eu/faircode/email/FragmentMessages.java | 14 ++++++++------ .../eu/faircode/email/FragmentOptionsBehavior.java | 14 ++++++-------- .../main/res/layout/fragment_options_behavior.xml | 6 +++--- app/src/main/res/values/strings.xml | 2 +- 5 files changed, 24 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ApplicationEx.java b/app/src/main/java/eu/faircode/email/ApplicationEx.java index e476cd28ef..723fb7ee03 100644 --- a/app/src/main/java/eu/faircode/email/ApplicationEx.java +++ b/app/src/main/java/eu/faircode/email/ApplicationEx.java @@ -156,6 +156,12 @@ public class ApplicationEx extends Application { editor.putBoolean("compose_media", false); editor.remove("style_toolbar"); } + + } else if (version < 709) { + if (prefs.getBoolean("swipe_reversed", false)) { + editor.putBoolean("reversed", true); + editor.remove("swipe_reversed"); + } } diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 56bda5c4b6..c42a40e5fe 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -644,6 +644,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. bottom_navigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { + boolean reversed = prefs.getBoolean("reversed", false); + switch (menuItem.getItemId()) { case R.id.action_delete: onActionMove(EntityFolder.TRASH); @@ -658,11 +660,11 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. return true; case R.id.action_prev: - navigate(previous, true); + navigate(reversed ? next : previous, true); return true; case R.id.action_next: - navigate(next, false); + navigate(reversed ? previous : next, false); return true; default: @@ -947,8 +949,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. final SwipeListener swipeListener = new SwipeListener(getContext(), new SwipeListener.ISwipeListener() { @Override public boolean onSwipeRight() { - boolean rtl = prefs.getBoolean("swipe_reversed", false); - Long go = (rtl ? next : previous); + boolean reversed = prefs.getBoolean("reversed", false); + Long go = (reversed ? next : previous); if (go == null) { Animation bounce = AnimationUtils.loadAnimation(getContext(), R.anim.bounce_right); @@ -961,8 +963,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. @Override public boolean onSwipeLeft() { - boolean rtl = prefs.getBoolean("swipe_reversed", false); - Long go = (rtl ? previous : next); + boolean reversed = prefs.getBoolean("reversed", false); + Long go = (reversed ? previous : next); if (go == null) { Animation bounce = AnimationUtils.loadAnimation(getContext(), R.anim.bounce_left); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java b/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java index 11d494becc..a1ca6340a3 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java @@ -43,7 +43,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe private SwitchCompat swPull; private SwitchCompat swAutoScroll; private SwitchCompat swSwipeNav; - private SwitchCompat swSwipeReversed; + private SwitchCompat swReversed; private SwitchCompat swDoubleTap; private SwitchCompat swExpandRead; private SwitchCompat swAutoExpand; @@ -57,7 +57,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe private SwitchCompat swDisableTracking; private final static String[] RESET_OPTIONS = new String[]{ - "pull", "autoscroll", "swipenav", "swipe_reversed", "doubletap", "expand_read", "autoexpand", "expand_one", "autoclose", "onclose", + "pull", "autoscroll", "swipenav", "reversed", "doubletap", "expand_read", "autoexpand", "expand_one", "autoclose", "onclose", "collapse", "autoread", "automove", "discard_delete", "disable_tracking" }; @@ -74,7 +74,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe swPull = view.findViewById(R.id.swPull); swAutoScroll = view.findViewById(R.id.swAutoScroll); swSwipeNav = view.findViewById(R.id.swSwipeNav); - swSwipeReversed = view.findViewById(R.id.swSwipeReversed); + swReversed = view.findViewById(R.id.swReversed); swDoubleTap = view.findViewById(R.id.swDoubleTap); swExpandRead = view.findViewById(R.id.swExpandRead); swAutoExpand = view.findViewById(R.id.swAutoExpand); @@ -111,14 +111,13 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("swipenav", checked).apply(); - swSwipeReversed.setEnabled(checked); } }); - swSwipeReversed.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + swReversed.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { - prefs.edit().putBoolean("swipe_reversed", checked).apply(); + prefs.edit().putBoolean("reversed", checked).apply(); } }); @@ -259,8 +258,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe swPull.setChecked(prefs.getBoolean("pull", true)); swAutoScroll.setChecked(prefs.getBoolean("autoscroll", false)); swSwipeNav.setChecked(prefs.getBoolean("swipenav", true)); - swSwipeReversed.setChecked(prefs.getBoolean("swipe_reversed", false)); - swSwipeReversed.setEnabled(swSwipeNav.isChecked()); + swReversed.setChecked(prefs.getBoolean("reversed", false)); swDoubleTap.setChecked(prefs.getBoolean("doubletap", false)); swExpandRead.setChecked(prefs.getBoolean("expand_read", true)); swAutoExpand.setChecked(prefs.getBoolean("autoexpand", true)); diff --git a/app/src/main/res/layout/fragment_options_behavior.xml b/app/src/main/res/layout/fragment_options_behavior.xml index 838d345cc8..06ba7f5450 100644 --- a/app/src/main/res/layout/fragment_options_behavior.xml +++ b/app/src/main/res/layout/fragment_options_behavior.xml @@ -47,12 +47,12 @@ app:switchPadding="12dp" /> Pull down to refresh Scroll to top on receiving new messages Swipe left/right to go to next/previous conversation - Reverse swipe direction + Reverse navigation direction Double tap to mark message read/unread Mark messages read on expanding Automatically expand messages