diff --git a/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java b/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java
index 33af42aa2b..f36e4ff624 100644
--- a/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java
+++ b/app/src/main/java/eu/faircode/email/FragmentDialogOpenLink.java
@@ -127,6 +127,8 @@ public class FragmentDialogOpenLink extends FragmentDialogBase {
final Context context = getContext();
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ boolean check_links_dbl = prefs.getBoolean("check_links_dbl", BuildConfig.PLAY_STORE_RELEASE);
+ boolean disconnect_links = prefs.getBoolean("disconnect_links", true);
// Preload web view
Helper.customTabsWarmup(context);
@@ -403,7 +405,7 @@ public class FragmentDialogOpenLink extends FragmentDialogBase {
tvSuspicious.setVisibility(Helper.isSingleScript(host) ? View.GONE : View.VISIBLE);
}
- if (BuildConfig.DEBUG &&
+ if (check_links_dbl &&
tvSuspicious.getVisibility() != View.VISIBLE) {
Bundle args = new Bundle();
args.putString("host", host);
@@ -432,7 +434,6 @@ public class FragmentDialogOpenLink extends FragmentDialogBase {
host == null || thost == null || host.equalsIgnoreCase(thost)
? View.GONE : View.VISIBLE);
- boolean disconnect_links = prefs.getBoolean("disconnect_links", true);
List categories = null;
if (disconnect_links)
categories = DisconnectBlacklist.getCategories(uri.getHost());
diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java b/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java
index 24948623db..bfe2dddc97 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsPrivacy.java
@@ -60,6 +60,7 @@ import java.text.SimpleDateFormat;
public class FragmentOptionsPrivacy extends FragmentBase implements SharedPreferences.OnSharedPreferenceChangeListener {
private SwitchCompat swConfirmLinks;
+ private SwitchCompat swCheckLinksDbl;
private SwitchCompat swBrowseLinks;
private SwitchCompat swConfirmImages;
private SwitchCompat swConfirmHtml;
@@ -88,7 +89,7 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer
private Group grpSafeBrowsing;
private final static String[] RESET_OPTIONS = new String[]{
- "confirm_links", "browse_links", "confirm_images", "confirm_html",
+ "confirm_links", "check_links_dbl", "browse_links", "confirm_images", "confirm_html",
"disable_tracking", "hide_timezone",
"pin", "biometrics", "biometrics_timeout",
"client_id", "display_hidden", "incognito_keyboard", "secure",
@@ -107,6 +108,7 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer
// Get controls
swConfirmLinks = view.findViewById(R.id.swConfirmLinks);
+ swCheckLinksDbl = view.findViewById(R.id.swCheckLinksDbl);
swBrowseLinks = view.findViewById(R.id.swBrowseLinks);
swConfirmImages = view.findViewById(R.id.swConfirmImages);
swConfirmHtml = view.findViewById(R.id.swConfirmHtml);
@@ -144,10 +146,18 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("confirm_links", checked).apply();
+ swCheckLinksDbl.setEnabled(checked);
swBrowseLinks.setEnabled(!checked);
}
});
+ swCheckLinksDbl.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("check_links_dbl", checked).apply();
+ }
+ });
+
swBrowseLinks.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
@@ -397,6 +407,8 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
swConfirmLinks.setChecked(prefs.getBoolean("confirm_links", true));
+ swCheckLinksDbl.setChecked(prefs.getBoolean("check_links_dbl", BuildConfig.PLAY_STORE_RELEASE));
+ swCheckLinksDbl.setEnabled(swConfirmLinks.isChecked());
swBrowseLinks.setChecked(prefs.getBoolean("browse_links", false));
swBrowseLinks.setEnabled(!swConfirmLinks.isChecked());
swConfirmImages.setChecked(prefs.getBoolean("confirm_images", true));
diff --git a/app/src/main/res/layout/fragment_options_privacy.xml b/app/src/main/res/layout/fragment_options_privacy.xml
index 0bdd921984..eb60741c33 100644
--- a/app/src/main/res/layout/fragment_options_privacy.xml
+++ b/app/src/main/res/layout/fragment_options_privacy.xml
@@ -88,6 +88,18 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/swConfirmLinks" />
+
+
S/MIME
Confirm opening links
+ Check domain block lists for suspicious links
Delegate opening links to Android
Confirm showing images
Show reformatted messages by default