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