From 5ae209fc8d647d583c8f1c830a17607e70a7001a Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 3 Feb 2019 18:22:42 +0000 Subject: [PATCH] Added option to disabled swipe navigation --- .../eu/faircode/email/FragmentMessages.java | 8 ++++ .../eu/faircode/email/FragmentOptions.java | 33 +++++++++------ app/src/main/res/layout/fragment_options.xml | 42 ++++++++++++------- app/src/main/res/values/strings.xml | 1 + 4 files changed, 57 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 33de0ce44c..0df776afa3 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -402,6 +402,10 @@ public class FragmentMessages extends FragmentBase { activity.setSwipeListener(new SwipeListener.ISwipeListener() { @Override public boolean onSwipeRight() { + boolean swipenav = prefs.getBoolean("swipenav", true); + if (!swipenav) + return false; + if (previous != null) navigate(previous, true); return (previous != null); @@ -409,6 +413,10 @@ public class FragmentMessages extends FragmentBase { @Override public boolean onSwipeLeft() { + boolean swipenav = prefs.getBoolean("swipenav", true); + if (!swipenav) + return false; + if (next != null) navigate(next, false); return (next != null); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptions.java b/app/src/main/java/eu/faircode/email/FragmentOptions.java index 8da7e053d7..61fac831e7 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptions.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptions.java @@ -74,11 +74,12 @@ public class FragmentOptions extends FragmentBase implements SharedPreferences.O private SwitchCompat swActionbar; private SwitchCompat swPull; + private SwitchCompat swSwipeNav; private SwitchCompat swAutoExpand; private SwitchCompat swAutoClose; private SwitchCompat swAutoNext; - private SwitchCompat swAutoRead; private SwitchCompat swCollapse; + private SwitchCompat swAutoRead; private SwitchCompat swAutoMove; private SwitchCompat swSender; private SwitchCompat swAutoResize; @@ -101,7 +102,7 @@ public class FragmentOptions extends FragmentBase implements SharedPreferences.O "enabled", "updates", "metered", "download", "unified", "date", "threading", "avatars", "identicons", "preview", "addresses", "autoimages", "actionbar", - "pull", "autoexpand", "autoclose", "autonext", "autoread", "collapse", "automove", "sender", "autoresize", "autosend", + "pull", "swipenav", "autoexpand", "autoclose", "autonext", "collapse", "autoread", "automove", "sender", "autoresize", "autosend", "light", "sound", "debug", "first", "why", "last_update_check", "app_support", "message_swipe", "message_select", "folder_actions", "folder_sync", @@ -136,11 +137,12 @@ public class FragmentOptions extends FragmentBase implements SharedPreferences.O swActionbar = view.findViewById(R.id.swActionbar); swPull = view.findViewById(R.id.swPull); + swSwipeNav = view.findViewById(R.id.swSwipeNav); swAutoExpand = view.findViewById(R.id.swAutoExpand); swAutoClose = view.findViewById(R.id.swAutoClose); swAutoNext = view.findViewById(R.id.swAutoNext); - swAutoRead = view.findViewById(R.id.swAutoRead); swCollapse = view.findViewById(R.id.swCollapse); + swAutoRead = view.findViewById(R.id.swAutoRead); swAutoMove = view.findViewById(R.id.swAutoMove); swSender = view.findViewById(R.id.swSender); swAutoResize = view.findViewById(R.id.swAutoResize); @@ -292,7 +294,6 @@ public class FragmentOptions extends FragmentBase implements SharedPreferences.O } }); - swPull.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { @@ -300,6 +301,13 @@ public class FragmentOptions extends FragmentBase implements SharedPreferences.O } }); + swSwipeNav.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + prefs.edit().putBoolean("swipenav", checked).apply(); + } + }); + swAutoExpand.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { @@ -322,13 +330,6 @@ public class FragmentOptions extends FragmentBase implements SharedPreferences.O } }); - swAutoRead.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { - prefs.edit().putBoolean("autoread", checked).apply(); - } - }); - swCollapse.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { @@ -336,6 +337,13 @@ public class FragmentOptions extends FragmentBase implements SharedPreferences.O } }); + swAutoRead.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + prefs.edit().putBoolean("autoread", checked).apply(); + } + }); + swAutoMove.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { @@ -480,12 +488,13 @@ public class FragmentOptions extends FragmentBase implements SharedPreferences.O swActionbar.setChecked(prefs.getBoolean("actionbar", true)); swPull.setChecked(prefs.getBoolean("pull", true)); + swSwipeNav.setChecked(prefs.getBoolean("swipenav", true)); swAutoExpand.setChecked(prefs.getBoolean("autoexpand", true)); swAutoClose.setChecked(prefs.getBoolean("autoclose", true)); swAutoNext.setChecked(prefs.getBoolean("autonext", false)); swAutoNext.setEnabled(!swAutoClose.isChecked()); - swAutoRead.setChecked(prefs.getBoolean("autoread", false)); swCollapse.setChecked(prefs.getBoolean("collapse", false)); + swAutoRead.setChecked(prefs.getBoolean("autoread", false)); swAutoMove.setChecked(!prefs.getBoolean("automove", false)); swSender.setChecked(prefs.getBoolean("sender", false)); swAutoResize.setChecked(prefs.getBoolean("autoresize", true)); diff --git a/app/src/main/res/layout/fragment_options.xml b/app/src/main/res/layout/fragment_options.xml index e871b51e9d..66b32b7c52 100644 --- a/app/src/main/res/layout/fragment_options.xml +++ b/app/src/main/res/layout/fragment_options.xml @@ -399,6 +399,18 @@ app:layout_constraintTop_toBottomOf="@id/vSeparatorBehavior" app:switchPadding="12dp" /> + + - - + + Pull down to refresh Automatically expand messages Automatically close conversations + Swipe left/right to go to next/previous conversation Automatically go to next conversation on close conversation Automatically mark messages read on moving messages Collapse messages in conversations on \'back\'