diff --git a/app/src/main/java/eu/faircode/email/EntityOperation.java b/app/src/main/java/eu/faircode/email/EntityOperation.java
index 090d2b0337..49271843af 100644
--- a/app/src/main/java/eu/faircode/email/EntityOperation.java
+++ b/app/src/main/java/eu/faircode/email/EntityOperation.java
@@ -142,6 +142,12 @@ public class EntityOperation {
db.message().setMessageUiFlagged(similar.id, flagged, flagged ? color : null);
queue(context, similar.account, similar.folder, similar.id, name, jargs);
}
+
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ boolean auto_important = prefs.getBoolean("auto_important", false);
+ if (auto_important && flagged)
+ db.message().setMessageImportance(message.id, 2);
+
return;
} else if (ANSWERED.equals(name)) {
diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java b/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java
index 7ce6174071..fd0ea65857 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java
@@ -59,6 +59,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
private SwitchCompat swAutoRead;
private SwitchCompat swFlagSnoozed;
private SwitchCompat swAutoUnflag;
+ private SwitchCompat swAutoImportant;
private SwitchCompat swResetImportance;
private SwitchCompat swDiscardDelete;
private NumberPicker npDefaultSnooze;
@@ -67,7 +68,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
"double_back", "pull", "autoscroll", "doubletap", "swipenav", "volumenav", "reversed",
"autoexpand", "expand_all", "expand_one", "collapse_multiple",
"autoclose", "onclose", "quick_filter", "quick_scroll",
- "autoread", "flag_snoozed", "autounflag", "reset_importance", "discard_delete",
+ "autoread", "flag_snoozed", "autounflag", "auto_important", "reset_importance", "discard_delete",
"default_snooze"
};
@@ -99,6 +100,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
swAutoRead = view.findViewById(R.id.swAutoRead);
swFlagSnoozed = view.findViewById(R.id.swFlagSnoozed);
swAutoUnflag = view.findViewById(R.id.swAutoUnflag);
+ swAutoImportant = view.findViewById(R.id.swAutoImportant);
swResetImportance = view.findViewById(R.id.swResetImportance);
swDiscardDelete = view.findViewById(R.id.swDiscardDelete);
npDefaultSnooze = view.findViewById(R.id.npDefaultSnooze);
@@ -252,6 +254,13 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
}
});
+ swAutoImportant.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("auto_important", checked).apply();
+ }
+ });
+
swResetImportance.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
@@ -352,6 +361,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
swAutoRead.setChecked(prefs.getBoolean("autoread", false));
swFlagSnoozed.setChecked(prefs.getBoolean("flag_snoozed", false));
swAutoUnflag.setChecked(prefs.getBoolean("autounflag", false));
+ swAutoImportant.setChecked(prefs.getBoolean("auto_important", false));
swResetImportance.setChecked(prefs.getBoolean("reset_importance", false));
swDiscardDelete.setChecked(prefs.getBoolean("discard_delete", false));
diff --git a/app/src/main/res/layout/fragment_options_behavior.xml b/app/src/main/res/layout/fragment_options_behavior.xml
index 2e2cb14bfa..9ebdaf4ec9 100644
--- a/app/src/main/res/layout/fragment_options_behavior.xml
+++ b/app/src/main/res/layout/fragment_options_behavior.xml
@@ -265,6 +265,17 @@
app:layout_constraintTop_toBottomOf="@id/swFlagSnoozed"
app:switchPadding="12dp" />
+
+
Automatically mark messages read on moving messages
Automatically add star on snoozing messages
Automatically remove stars from messages on moving messages
+ Automatically make starred messages important
Reset importance on moving messages
On discard draft permanently delete draft
Default snooze time