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