mirror of
https://github.com/M66B/FairEmail.git
synced 2025-02-23 14:41:08 +00:00
Android 13: fixed force dark / webview
This commit is contained in:
parent
b97fc1ae23
commit
d5d7be98ee
3 changed files with 21 additions and 8 deletions
|
@ -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() {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue