diff --git a/app/src/main/java/eu/faircode/email/ActivityAMP.java b/app/src/main/java/eu/faircode/email/ActivityAMP.java index 7dcd9b16f2..d403d4d5e8 100644 --- a/app/src/main/java/eu/faircode/email/ActivityAMP.java +++ b/app/src/main/java/eu/faircode/email/ActivityAMP.java @@ -27,6 +27,7 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; @@ -164,8 +165,11 @@ public class ActivityAMP extends ActivityBase { private void setDarkMode() { WebSettings settings = wvAmp.getSettings(); boolean dark = (Helper.isDarkTheme(this) && !force_light); - if (WebViewEx.isFeatureSupported(WebViewFeature.FORCE_DARK)) - WebSettingsCompat.setForceDark(settings, dark ? FORCE_DARK_ON : FORCE_DARK_OFF); + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { + if (WebViewEx.isFeatureSupported(WebViewFeature.FORCE_DARK)) + WebSettingsCompat.setForceDark(settings, dark ? FORCE_DARK_ON : FORCE_DARK_OFF); + } else + settings.setAlgorithmicDarkeningAllowed(dark && !force_light); } private void load() { diff --git a/app/src/main/java/eu/faircode/email/FragmentDialogOpenFull.java b/app/src/main/java/eu/faircode/email/FragmentDialogOpenFull.java index 5834312657..3b86850baf 100644 --- a/app/src/main/java/eu/faircode/email/FragmentDialogOpenFull.java +++ b/app/src/main/java/eu/faircode/email/FragmentDialogOpenFull.java @@ -25,6 +25,7 @@ import static androidx.webkit.WebSettingsCompat.FORCE_DARK_ON; import android.app.Dialog; import android.content.Context; +import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; @@ -85,8 +86,11 @@ public class FragmentDialogOpenFull extends FragmentDialogBase { WebSettingsCompat.setSafeBrowsingEnabled(settings, safe_browsing); boolean dark = (Helper.isDarkTheme(context) && !force_light); - if (WebViewEx.isFeatureSupported(WebViewFeature.FORCE_DARK)) - WebSettingsCompat.setForceDark(settings, dark ? FORCE_DARK_ON : FORCE_DARK_OFF); + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { + if (WebViewEx.isFeatureSupported(WebViewFeature.FORCE_DARK)) + WebSettingsCompat.setForceDark(settings, dark ? FORCE_DARK_ON : FORCE_DARK_OFF); + } else + settings.setAlgorithmicDarkeningAllowed(dark && !force_light); settings.setLoadsImagesAutomatically(true); settings.setBlockNetworkLoads(false); diff --git a/app/src/main/java/eu/faircode/email/WebViewEx.java b/app/src/main/java/eu/faircode/email/WebViewEx.java index 97d9f75b43..7c0c9553a2 100644 --- a/app/src/main/java/eu/faircode/email/WebViewEx.java +++ b/app/src/main/java/eu/faircode/email/WebViewEx.java @@ -117,10 +117,15 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC WebSettings settings = getSettings(); boolean dark = Helper.isDarkTheme(context); - boolean canForce = WebViewEx.isFeatureSupported(WebViewFeature.FORCE_DARK); - if (canForce) - WebSettingsCompat.setForceDark(settings, dark && !force_light ? FORCE_DARK_ON : FORCE_DARK_OFF); - setBackgroundColor(canForce && force_light ? Color.WHITE : Color.TRANSPARENT); + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { + boolean canForce = WebViewEx.isFeatureSupported(WebViewFeature.FORCE_DARK); + if (canForce) + WebSettingsCompat.setForceDark(settings, dark && !force_light ? FORCE_DARK_ON : FORCE_DARK_OFF); + setBackgroundColor(canForce && force_light ? Color.WHITE : Color.TRANSPARENT); + } else { + settings.setAlgorithmicDarkeningAllowed(dark && !force_light); + setBackgroundColor(force_light ? Color.WHITE : Color.TRANSPARENT); + } float fontSize = 16f /* Default */ * (browser_zoom ? 1f : message_zoom / 100f);