From a67e679e173625198aebf22fd018f947ec77fd72 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 17 Sep 2021 22:23:16 +0200 Subject: [PATCH] Auto original dark --- .../eu/faircode/email/AdapterMessage.java | 17 +--------------- .../java/eu/faircode/email/WebViewEx.java | 20 +++++++++---------- app/src/main/res/layout/dialog_show_full.xml | 12 +---------- app/src/main/res/values/strings.xml | 1 - 4 files changed, 11 insertions(+), 39 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 2a4d1c7925..e0d74656e8 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -4178,20 +4178,11 @@ public class AdapterMessage extends RecyclerView.Adapter= Build.VERSION_CODES.O) settings.setSafeBrowsingEnabled(safe_browsing); - if (html_dark && - WebViewEx.isFeatureSupported(WebViewFeature.FORCE_DARK)) + if (WebViewEx.isFeatureSupported(WebViewFeature.FORCE_DARK)) WebSettingsCompat.setForceDark(settings, Helper.isDarkTheme(getContext()) ? FORCE_DARK_ON : FORCE_DARK_OFF); diff --git a/app/src/main/java/eu/faircode/email/WebViewEx.java b/app/src/main/java/eu/faircode/email/WebViewEx.java index 3ea42e26f4..1cd0fc69fb 100644 --- a/app/src/main/java/eu/faircode/email/WebViewEx.java +++ b/app/src/main/java/eu/faircode/email/WebViewEx.java @@ -23,7 +23,10 @@ import android.content.Context; import android.content.SharedPreferences; import android.content.res.Configuration; import android.graphics.Bitmap; +import android.graphics.BlendMode; import android.graphics.Color; +import android.graphics.PorterDuff; +import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Build; import android.util.Pair; @@ -104,23 +107,18 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC int zoom = prefs.getInt("view_zoom", compact ? 0 : 1); int message_zoom = prefs.getInt("message_zoom", 100); boolean monospaced = prefs.getBoolean("monospaced", false); - boolean confirm_html = prefs.getBoolean("confirm_html", true); - boolean html_dark = prefs.getBoolean("html_dark", confirm_html); WebSettings settings = getSettings(); - boolean forced = false; boolean dark = Helper.isDarkTheme(context); - if (html_dark && - WebViewEx.isFeatureSupported(WebViewFeature.FORCE_DARK)) { + if (WebViewEx.isFeatureSupported(WebViewFeature.FORCE_DARK)) { WebSettingsCompat.setForceDark(settings, dark ? FORCE_DARK_ON : FORCE_DARK_OFF); - forced = true; + setBackgroundColor(Color.TRANSPARENT); + } else { + if (!dark) + setBackgroundColor(Color.TRANSPARENT); } - setBackgroundColor(dark && !forced - ? Color.WHITE - : ColorUtils.setAlphaComponent(Color.WHITE, 127)); - float fontSize = 16f /* Default */ * message_zoom / 100f; if (zoom == 0 /* small */) fontSize *= HtmlHelper.FONT_SMALL; @@ -178,7 +176,7 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC }); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) - setOnScrollChangeListener(new View.OnScrollChangeListener() { + setOnScrollChangeListener(new OnScrollChangeListener() { @Override public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { Log.i("Scroll (x,y)=" + scrollX + "," + scrollY); diff --git a/app/src/main/res/layout/dialog_show_full.xml b/app/src/main/res/layout/dialog_show_full.xml index 960fd4970e..09edb04822 100644 --- a/app/src/main/res/layout/dialog_show_full.xml +++ b/app/src/main/res/layout/dialog_show_full.xml @@ -32,16 +32,6 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tvMessage" /> - - + app:layout_constraintTop_toBottomOf="@id/tvDark" /> Delete rule permanently? Discard draft? Showing the original message can leak privacy sensitive information - Use dark theme Displaying the original message on a dark background is not possible as it may make dark texts and images invisible Always show images on showing original messages Showing images can leak privacy sensitive information