diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 7b3bc312a0..60a767a112 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -3575,6 +3575,12 @@ public class FragmentMessages extends FragmentBase .putExtra("reference", message.id) .putExtra("selected", selected); startActivity(reply); + + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + boolean autoclose_reply = prefs.getBoolean("autoclose_reply", false); + if (autoclose_reply && + ("reply".equals(action) || "reply_all".equals(action))) + finish(); } private void onMenuResend(TupleMessageEx message) { diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java b/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java index 9cc6f79888..a15ae816f5 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java @@ -91,6 +91,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe private TextView tvOnClose; private Spinner spOnClose; private SwitchCompat swAutoCloseUnseen; + private SwitchCompat swAutoCloseReply; private SwitchCompat swCollapseMarked; private Spinner spUndoTimeout; private SwitchCompat swCollapseMultiple; @@ -112,7 +113,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe "pull", "autoscroll", "quick_filter", "quick_scroll", "quick_actions", "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", + "autoclose", "onclose", "autoclose_unseen", "autoclose_reply", "collapse_marked", "undo_timeout", "autoread", "flag_snoozed", "autounflag", "auto_important", "reset_importance", "reset_snooze", "auto_block_sender", "swipe_reply" @@ -162,6 +163,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe tvOnClose = view.findViewById(R.id.tvOnClose); spOnClose = view.findViewById(R.id.spOnClose); swAutoCloseUnseen = view.findViewById(R.id.swAutoCloseUnseen); + swAutoCloseReply = view.findViewById(R.id.swAutoCloseReply); swCollapseMarked = view.findViewById(R.id.swCollapseMarked); spUndoTimeout = view.findViewById(R.id.spUndoTimeout); swAutoRead = view.findViewById(R.id.swAutoRead); @@ -453,6 +455,13 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe } }); + swAutoCloseReply.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + prefs.edit().putBoolean("autoclose_reply", checked).apply(); + } + }); + swCollapseMarked.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { @@ -627,6 +636,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe spOnClose.setEnabled(!swAutoClose.isChecked()); swAutoCloseUnseen.setChecked(prefs.getBoolean("autoclose_unseen", false)); + swAutoCloseReply.setChecked(prefs.getBoolean("autoclose_reply", false)); swCollapseMarked.setChecked(prefs.getBoolean("collapse_marked", true)); int undo_timeout = prefs.getInt("undo_timeout", 5000); diff --git a/app/src/main/res/layout/fragment_options_behavior.xml b/app/src/main/res/layout/fragment_options_behavior.xml index 6d3a3298a2..b339017eab 100644 --- a/app/src/main/res/layout/fragment_options_behavior.xml +++ b/app/src/main/res/layout/fragment_options_behavior.xml @@ -623,6 +623,18 @@ app:layout_constraintTop_toBottomOf="@id/spOnClose" app:switchPadding="12dp" /> + + Expand only one message at a time Collapse messages in a conversation with multiple messages on \'back\' Automatically close conversations + Automatically close conversations on reply On closing a conversation Close conversations on marking messages as unread Collapse messages which are manually marked as read or unread