diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java
index e21972024c..b9ae77b7c2 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java
@@ -71,6 +71,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
private TextView tvScheduleEnd;
private CheckBox[] cbDay;
private ImageButton ibSchedules;
+
private SwitchCompat swNodate;
private SwitchCompat swUnseen;
private SwitchCompat swFlagged;
@@ -80,13 +81,15 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
private SwitchCompat swSyncFolders;
private SwitchCompat swSyncSharedFolders;
private SwitchCompat swSubscriptions;
+ private SwitchCompat swTuneKeepAlive;
+
private SwitchCompat swCheckAuthentication;
private SwitchCompat swCheckReply;
private SwitchCompat swCheckMx;
private SwitchCompat swCheckBlocklist;
private SwitchCompat swUseBlocklist;
private RecyclerView rvBlocklist;
- private SwitchCompat swTuneKeepAlive;
+
private Group grpExempted;
private AdapterAccountExempted adapter;
@@ -139,13 +142,15 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
swSyncFolders = view.findViewById(R.id.swSyncFolders);
swSyncSharedFolders = view.findViewById(R.id.swSyncSharedFolders);
swSubscriptions = view.findViewById(R.id.swSubscriptions);
+ swTuneKeepAlive = view.findViewById(R.id.swTuneKeepAlive);
+
swCheckAuthentication = view.findViewById(R.id.swCheckAuthentication);
swCheckReply = view.findViewById(R.id.swCheckReply);
swCheckMx = view.findViewById(R.id.swCheckMx);
swCheckBlocklist = view.findViewById(R.id.swCheckBlocklist);
swUseBlocklist = view.findViewById(R.id.swUseBlocklist);
rvBlocklist = view.findViewById(R.id.rvBlocklist);
- swTuneKeepAlive = view.findViewById(R.id.swTuneKeepAlive);
+
grpExempted = view.findViewById(R.id.grpExempted);
setOptions();
@@ -319,6 +324,13 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
}
});
+ swTuneKeepAlive.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("tune_keep_alive", checked).apply();
+ }
+ });
+
swCheckAuthentication.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean checked) {
@@ -360,13 +372,6 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
AdapterBlocklist badapter = new AdapterBlocklist(getContext(), DnsBlockList.getListsAvailable());
rvBlocklist.setAdapter(badapter);
- swTuneKeepAlive.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
- prefs.edit().putBoolean("tune_keep_alive", checked).apply();
- }
- });
-
// Initialize
FragmentDialogTheme.setBackground(getContext(), view, false);
@@ -453,13 +458,13 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
swSyncSharedFolders.setChecked(prefs.getBoolean("sync_shared_folders", false));
swSyncSharedFolders.setEnabled(swSyncFolders.isChecked());
swSubscriptions.setChecked(prefs.getBoolean("subscriptions", false));
+ swTuneKeepAlive.setChecked(prefs.getBoolean("tune_keep_alive", true));
swCheckAuthentication.setChecked(prefs.getBoolean("check_authentication", true));
swCheckReply.setChecked(prefs.getBoolean("check_reply_domain", true));
swCheckMx.setChecked(prefs.getBoolean("check_mx", false));
swCheckBlocklist.setChecked(prefs.getBoolean("check_blocklist", false));
swUseBlocklist.setChecked(prefs.getBoolean("use_blocklist", false));
swUseBlocklist.setEnabled(swCheckBlocklist.isChecked());
- swTuneKeepAlive.setChecked(prefs.getBoolean("tune_keep_alive", true));
}
private String formatHour(Context context, int minutes) {
diff --git a/app/src/main/res/layout/fragment_options_display.xml b/app/src/main/res/layout/fragment_options_display.xml
index dd52c2973c..846baaf69b 100644
--- a/app/src/main/res/layout/fragment_options_display.xml
+++ b/app/src/main/res/layout/fragment_options_display.xml
@@ -1429,6 +1429,18 @@
app:layout_constraintTop_toBottomOf="@id/tvParseClassesHint"
app:switchPadding="12dp" />
+
+
diff --git a/app/src/main/res/layout/fragment_options_synchronize.xml b/app/src/main/res/layout/fragment_options_synchronize.xml
index 3facf94ea1..696b263f71 100644
--- a/app/src/main/res/layout/fragment_options_synchronize.xml
+++ b/app/src/main/res/layout/fragment_options_synchronize.xml
@@ -559,6 +559,50 @@
app:layout_constraintTop_toBottomOf="@id/swSyncSharedFolders"
app:switchPadding="12dp" />
+
+
+
+
+
+
+
+
+
+
-
-
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index adb68e3bcb..d711695050 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -322,6 +322,7 @@
Check reply address on synchronizing messages
Check sender email addresses on synchronizing messages
Check if the sender\'s domain name is on a spam block list
+ Move messages from domains on a block list to the spam folder
Automatically tune the keep-alive interval
Show keyboard by default
@@ -372,6 +373,7 @@
Manage connectivity
General
+ Checks
List
Conversation
Message
@@ -448,7 +450,8 @@
Use account color as background color for conversation action bar
Colorize the Android navigation bar
Parse style sheets
- Show a warning when the receiving server could not authenticate the message
+ Show authentication warnings
+ The underlying checks can be configured in the receive settings
Show authentication status indicator
Synchronize on start