diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java
index 906a1088e2..7611d3c6b2 100644
--- a/app/src/main/java/eu/faircode/email/ActivityView.java
+++ b/app/src/main/java/eu/faircode/email/ActivityView.java
@@ -1829,6 +1829,17 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED))
getSupportFragmentManager().popBackStack("messages", FragmentManager.POP_BACK_STACK_INCLUSIVE);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ boolean foldernav = prefs.getBoolean("foldernav", false);
+ if (foldernav) {
+ long account = intent.getLongExtra("account", -1);
+ if (account > 0) {
+ if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED))
+ getSupportFragmentManager().popBackStack("unified", 0);
+ onMenuFolders(account);
+ }
+ }
+
Bundle args = new Bundle();
args.putString("type", intent.getStringExtra("type"));
args.putLong("account", intent.getLongExtra("account", -1));
diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java b/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java
index 8229ffde45..4220a0b125 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java
@@ -69,6 +69,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
private SwitchCompat swQuickScroll;
private Button btnSwipes;
private SeekBar sbSwipeSensitivity;
+ private SwitchCompat swFolderNav;
private SwitchCompat swDoubleTap;
private SwitchCompat swSwipeNav;
private SwitchCompat swVolumeNav;
@@ -100,7 +101,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
private final static String[] RESET_OPTIONS = new String[]{
"sync_on_launch", "double_back", "conversation_actions", "conversation_actions_replies", "language_detection",
"default_snooze",
- "pull", "autoscroll", "quick_filter", "quick_scroll", "swipe_sensitivity",
+ "pull", "autoscroll", "quick_filter", "quick_scroll", "swipe_sensitivity", "foldernav",
"doubletap", "swipenav", "volumenav", "reversed", "swipe_close", "swipe_move",
"autoexpand", "expand_first", "expand_all", "expand_one", "collapse_multiple",
"autoclose", "onclose", "autoclose_unseen", "collapse_marked",
@@ -131,6 +132,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
swQuickScroll = view.findViewById(R.id.swQuickScroll);
btnSwipes = view.findViewById(R.id.btnSwipes);
sbSwipeSensitivity = view.findViewById(R.id.sbSwipeSensitivity);
+ swFolderNav = view.findViewById(R.id.swFolderNav);
swDoubleTap = view.findViewById(R.id.swDoubleTap);
swSwipeNav = view.findViewById(R.id.swSwipeNav);
swVolumeNav = view.findViewById(R.id.swVolumeNav);
@@ -279,6 +281,13 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
}
});
+ swFolderNav.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("foldernav", checked).apply();
+ }
+ });
+
swDoubleTap.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
@@ -522,6 +531,8 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
int swipe_sensitivity = prefs.getInt("swipe_sensitivity", DEFAULT_SWIPE_SENSITIVITY);
sbSwipeSensitivity.setProgress(swipe_sensitivity);
+ swFolderNav.setChecked(prefs.getBoolean("foldernav", false));
+
swDoubleTap.setChecked(prefs.getBoolean("doubletap", true));
swSwipeNav.setChecked(prefs.getBoolean("swipenav", true));
swVolumeNav.setChecked(prefs.getBoolean("volumenav", false));
diff --git a/app/src/main/res/layout/fragment_options_behavior.xml b/app/src/main/res/layout/fragment_options_behavior.xml
index 130ec30878..85061c2c2a 100644
--- a/app/src/main/res/layout/fragment_options_behavior.xml
+++ b/app/src/main/res/layout/fragment_options_behavior.xml
@@ -294,6 +294,17 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvSwipeSensitivity" />
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 8c6d67dff0..e1f5a6ade6 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -559,6 +559,7 @@
Undo timeout
Show non-obtrusive quick filter icons
Show non-obtrusive quick scroll up/down icons
+ Always go back to the folder list from a message list
Automatically mark messages read on moving messages
Automatically add star on snoozing messages
Automatically remove stars from messages on moving messages