mirror of
https://github.com/M66B/FairEmail.git
synced 2026-03-30 21:58:52 +02:00
Algorithmic darkening requires WebView 102.*
This commit is contained in:
@@ -83,7 +83,7 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC
|
||||
settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
|
||||
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
|
||||
|
||||
if (WebViewEx.isFeatureSupported(WebViewFeature.SAFE_BROWSING_ENABLE))
|
||||
if (WebViewEx.isFeatureSupported(context, WebViewFeature.SAFE_BROWSING_ENABLE))
|
||||
WebSettingsCompat.setSafeBrowsingEnabled(settings, safe_browsing);
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC
|
||||
|
||||
// https://developer.android.com/reference/android/webkit/WebSettings#setAlgorithmicDarkeningAllowed(boolean)
|
||||
// https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme
|
||||
boolean canDarken = WebViewEx.isFeatureSupported(WebViewFeature.ALGORITHMIC_DARKENING);
|
||||
boolean canDarken = WebViewEx.isFeatureSupported(context, WebViewFeature.ALGORITHMIC_DARKENING);
|
||||
if (canDarken)
|
||||
WebSettingsCompat.setAlgorithmicDarkeningAllowed(settings, dark && !force_light);
|
||||
setBackgroundColor(canDarken && dark && !force_light ? Color.TRANSPARENT : Color.WHITE);
|
||||
@@ -354,7 +354,16 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC
|
||||
return (yscale > 1.01);
|
||||
}
|
||||
|
||||
public static boolean isFeatureSupported(String feature) {
|
||||
public static boolean isFeatureSupported(Context context, String feature) {
|
||||
if (WebViewFeature.ALGORITHMIC_DARKENING.equals(feature))
|
||||
try {
|
||||
PackageInfo pkg = WebViewCompat.getCurrentWebViewPackage(context);
|
||||
if (pkg != null && pkg.versionCode / 100000 < 5005) // Version 102.*
|
||||
return false;
|
||||
} catch (Throwable ex) {
|
||||
Log.e(ex);
|
||||
}
|
||||
|
||||
try {
|
||||
return WebViewFeature.isFeatureSupported(feature);
|
||||
} catch (Throwable ex) {
|
||||
@@ -403,19 +412,6 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC
|
||||
return (large ? "Mozilla/5.0" : "Mozilla/5.0 (Mobile)");
|
||||
}
|
||||
|
||||
static int getVersionCode(Context context) {
|
||||
try {
|
||||
// version / 100000 > 5005
|
||||
PackageInfo pkg = WebViewCompat.getCurrentWebViewPackage(context);
|
||||
if (pkg == null)
|
||||
return -1;
|
||||
return pkg.versionCode;
|
||||
} catch (Throwable ex) {
|
||||
Log.e(ex);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
interface IWebView {
|
||||
void onSizeChanged(int w, int h, int ow, int oh);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user