From 21d60f706bb214aa32fd308f61f81e3166e394c0 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 18 Jul 2021 18:27:48 +0200 Subject: [PATCH] Added sync/checks card --- .../email/FragmentOptionsSynchronize.java | 25 ++++---- .../res/layout/fragment_options_display.xml | 14 ++++- .../layout/fragment_options_synchronize.xml | 60 ++++++++++++++----- app/src/main/res/values/strings.xml | 5 +- 4 files changed, 78 insertions(+), 26 deletions(-) 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