mirror of
https://github.com/M66B/FairEmail.git
synced 2025-01-02 21:24:34 +00:00
Added option to disable auto blocking junk senders
This commit is contained in:
parent
b93b192762
commit
ffcfb16227
4 changed files with 37 additions and 11 deletions
|
@ -211,6 +211,7 @@ public class EntityOperation {
|
|||
boolean autounflag = prefs.getBoolean("autounflag", false);
|
||||
boolean reset_importance = prefs.getBoolean("reset_importance", false);
|
||||
boolean reset_snooze = prefs.getBoolean("reset_snooze", true);
|
||||
boolean auto_block_sender = prefs.getBoolean("auto_block_sender", true);
|
||||
|
||||
if (jargs.opt(1) != null) {
|
||||
// rules, classify
|
||||
|
@ -230,16 +231,19 @@ public class EntityOperation {
|
|||
return;
|
||||
|
||||
if (EntityFolder.JUNK.equals(target.type) &&
|
||||
Objects.equals(source.account, target.account) &&
|
||||
(jargs.opt(3) == null || !jargs.optBoolean(3))) {
|
||||
Objects.equals(source.account, target.account)) {
|
||||
Boolean noblock = (Boolean) jargs.opt(3);
|
||||
jargs.remove(3);
|
||||
// Prevent blocking self
|
||||
List<TupleIdentityEx> identities = db.identity().getComposableIdentities(null);
|
||||
if (!message.fromSelf(identities)) {
|
||||
EntityLog.log(context, "Auto block sender=" + MessageHelper.formatAddresses(message.from));
|
||||
EntityContact.update(context,
|
||||
message.account, message.identity, message.from,
|
||||
EntityContact.TYPE_JUNK, message.received);
|
||||
boolean block = (noblock == null ? auto_block_sender : !noblock);
|
||||
if (block) {
|
||||
// Prevent blocking self
|
||||
List<TupleIdentityEx> identities = db.identity().getComposableIdentities(null);
|
||||
if (!message.fromSelf(identities)) {
|
||||
EntityLog.log(context, "Auto block sender=" + MessageHelper.formatAddresses(message.from));
|
||||
EntityContact.update(context,
|
||||
message.account, message.identity, message.from,
|
||||
EntityContact.TYPE_JUNK, message.received);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -100,6 +100,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
|||
private SwitchCompat swAutoImportant;
|
||||
private SwitchCompat swResetImportance;
|
||||
private SwitchCompat swResetSnooze;
|
||||
private SwitchCompat swAutoBlockSender;
|
||||
private SwitchCompat swSwipeReply;
|
||||
|
||||
final static int MAX_SWIPE_SENSITIVITY = 10;
|
||||
|
@ -113,7 +114,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
|||
"autoexpand", "expand_first", "expand_all", "expand_one", "collapse_multiple",
|
||||
"autoclose", "onclose", "autoclose_unseen", "collapse_marked",
|
||||
"undo_timeout",
|
||||
"autoread", "flag_snoozed", "autounflag", "auto_important", "reset_importance", "reset_snooze",
|
||||
"autoread", "flag_snoozed", "autounflag", "auto_important", "reset_importance", "reset_snooze", "auto_block_sender",
|
||||
"swipe_reply"
|
||||
};
|
||||
|
||||
|
@ -169,6 +170,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
|||
swAutoImportant = view.findViewById(R.id.swAutoImportant);
|
||||
swResetImportance = view.findViewById(R.id.swResetImportance);
|
||||
swResetSnooze = view.findViewById(R.id.swResetSnooze);
|
||||
swAutoBlockSender = view.findViewById(R.id.swAutoBlockSender);
|
||||
swSwipeReply = view.findViewById(R.id.swSwipeReply);
|
||||
|
||||
setOptions();
|
||||
|
@ -514,6 +516,12 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
|||
}
|
||||
});
|
||||
|
||||
swAutoBlockSender.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||
prefs.edit().putBoolean("auto_block_sender", checked).apply();
|
||||
}
|
||||
});
|
||||
|
||||
swSwipeReply.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
|
@ -635,6 +643,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
|||
swAutoImportant.setChecked(prefs.getBoolean("auto_important", false));
|
||||
swResetImportance.setChecked(prefs.getBoolean("reset_importance", false));
|
||||
swResetSnooze.setChecked(prefs.getBoolean("reset_snooze", true));
|
||||
swAutoBlockSender.setChecked(prefs.getBoolean("auto_block_sender", true));
|
||||
swSwipeReply.setChecked(prefs.getBoolean("swipe_reply", false));
|
||||
}
|
||||
|
||||
|
|
|
@ -723,6 +723,18 @@
|
|||
app:layout_constraintTop_toBottomOf="@id/swResetImportance"
|
||||
app:switchPadding="12dp" />
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/swAutoBlockSender"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:checked="true"
|
||||
android:text="@string/title_advanced_auto_block_sender"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/swResetSnooze"
|
||||
app:switchPadding="12dp" />
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/swSwipeReply"
|
||||
android:layout_width="0dp"
|
||||
|
@ -731,7 +743,7 @@
|
|||
android:text="@string/title_advanced_swipe_reply"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/swResetSnooze"
|
||||
app:layout_constraintTop_toBottomOf="@id/swAutoBlockSender"
|
||||
app:switchPadding="12dp" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
|
|
@ -650,6 +650,7 @@
|
|||
<string name="title_advanced_auto_important">Automatically make starred messages important</string>
|
||||
<string name="title_advanced_reset_importance">Reset importance on moving messages</string>
|
||||
<string name="title_advanced_cancel_snooze">Cancel snooze on moving messages</string>
|
||||
<string name="title_advanced_auto_block_sender">Automatically block the sender when reporting spam</string>
|
||||
<string name="title_advanced_swipe_reply">Swipe expanded messages to the right to reply</string>
|
||||
<string name="title_advanced_default_snooze">Default snooze/delay time</string>
|
||||
|
||||
|
|
Loading…
Reference in a new issue