Loading core/api/current.txt +7 −5 Original line number Diff line number Diff line Loading @@ -55228,6 +55228,7 @@ package android.webkit { public abstract class WebSettings { ctor public WebSettings(); method @Deprecated public abstract boolean enableSmoothTransition(); method public boolean getAllowAlgorithmicDarkening(); method public abstract boolean getAllowContentAccess(); method public abstract boolean getAllowFileAccess(); method public abstract boolean getAllowFileAccessFromFileURLs(); Loading @@ -55249,7 +55250,7 @@ package android.webkit { method public abstract boolean getDomStorageEnabled(); method public abstract String getFantasyFontFamily(); method public abstract String getFixedFontFamily(); method public int getForceDark(); method @Deprecated public int getForceDark(); method public abstract boolean getJavaScriptCanOpenWindowsAutomatically(); method public abstract boolean getJavaScriptEnabled(); method public abstract android.webkit.WebSettings.LayoutAlgorithm getLayoutAlgorithm(); Loading @@ -55272,6 +55273,7 @@ package android.webkit { method public abstract int getTextZoom(); method public abstract boolean getUseWideViewPort(); method public abstract String getUserAgentString(); method public void setAllowAlgorithmicDarkening(boolean); method public abstract void setAllowContentAccess(boolean); method public abstract void setAllowFileAccess(boolean); method @Deprecated public abstract void setAllowFileAccessFromFileURLs(boolean); Loading @@ -55293,7 +55295,7 @@ package android.webkit { method @Deprecated public abstract void setEnableSmoothTransition(boolean); method public abstract void setFantasyFontFamily(String); method public abstract void setFixedFontFamily(String); method public void setForceDark(int); method @Deprecated public void setForceDark(int); method @Deprecated public abstract void setGeolocationDatabasePath(String); method public abstract void setGeolocationEnabled(boolean); method public abstract void setJavaScriptCanOpenWindowsAutomatically(boolean); Loading Loading @@ -55324,9 +55326,9 @@ package android.webkit { method public abstract void setUserAgentString(@Nullable String); method public abstract boolean supportMultipleWindows(); method public abstract boolean supportZoom(); field public static final int FORCE_DARK_AUTO = 1; // 0x1 field public static final int FORCE_DARK_OFF = 0; // 0x0 field public static final int FORCE_DARK_ON = 2; // 0x2 field @Deprecated public static final int FORCE_DARK_AUTO = 1; // 0x1 field @Deprecated public static final int FORCE_DARK_OFF = 0; // 0x0 field @Deprecated public static final int FORCE_DARK_ON = 2; // 0x2 field public static final int LOAD_CACHE_ELSE_NETWORK = 1; // 0x1 field public static final int LOAD_CACHE_ONLY = 3; // 0x3 field public static final int LOAD_DEFAULT = -1; // 0xffffffff core/api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -15749,6 +15749,7 @@ package android.webkit { method @Deprecated public abstract void setUseWebViewBackgroundForOverscrollBackground(boolean); method @Deprecated public abstract void setUserAgent(int); method public abstract void setVideoOverlayForEmbeddedEncryptedVideoEnabled(boolean); field public static final long ENABLE_SIMPLIFIED_DARK_MODE = 214741472L; // 0xcccb1e0L } public class WebStorage { core/java/android/webkit/WebSettings.java +70 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ package android.webkit; import android.annotation.IntDef; import android.annotation.Nullable; import android.annotation.SystemApi; import android.compat.annotation.ChangeId; import android.compat.annotation.EnabledSince; import android.compat.annotation.UnsupportedAppUsage; import android.content.Context; Loading Loading @@ -134,6 +136,20 @@ public abstract class WebSettings { @Retention(RetentionPolicy.SOURCE) public @interface CacheMode {} /** * Enable web content to apply light or dark style according to the app's theme * and WebView to attempt to darken web content by algorithmic darkening when * appropriate. * * Refer to {@link #setAllowAlgorithmicDarkening} for detail. * * @hide */ @ChangeId @EnabledSince(targetSdkVersion = android.os.Build.VERSION_CODES.TIRAMISU) @SystemApi public static final long ENABLE_SIMPLIFIED_DARK_MODE = 214741472L; /** * Default cache usage mode. If the navigation type doesn't impose any * specific behavior, use cached resources when they are available Loading Loading @@ -239,6 +255,7 @@ public abstract class WebSettings { * automatically darkened. * * @see #setForceDark * @deprecated refer to {@link #setForceDark} */ public static final int FORCE_DARK_OFF = 0; Loading @@ -250,6 +267,7 @@ public abstract class WebSettings { * be inverted. * * @see #setForceDark * @deprecated refer to {@link #setForceDark} */ public static final int FORCE_DARK_AUTO = 1; Loading @@ -258,6 +276,7 @@ public abstract class WebSettings { * as to emulate a dark theme. * * @see #setForceDark * @deprecated refer to {@link #setForceDark} */ public static final int FORCE_DARK_ON = 2; Loading Loading @@ -1533,6 +1552,13 @@ public abstract class WebSettings { * * @param forceDark the force dark mode to set. * @see #getForceDark * @deprecated The "force dark" model previously implemented by WebView was complex * and didn't interoperate well with current Web standards for * prefers-color-scheme and color-scheme. In apps with * {@code targetSdkVersion} ≥ {@link android.os.Build.VERSION_CODES#TIRAMISU} * this API is a no-op and WebView will always use the dark style defined by web content * authors if the app's theme is dark. To customize the behavior, refer to * {@link #setAllowAlgorithmicDarkening}. */ public void setForceDark(@ForceDark int forceDark) { // Stub implementation to satisfy Roboelectrc shadows that don't override this yet. Loading @@ -1544,12 +1570,56 @@ public abstract class WebSettings { * * @return the currently set force dark mode. * @see #setForceDark * @deprecated refer to {@link #setForceDark}. */ public @ForceDark int getForceDark() { // Stub implementation to satisfy Roboelectrc shadows that don't override this yet. return FORCE_DARK_AUTO; } /** * Control whether algorithmic darkening is allowed. * * <p class="note"> * <b>Note:</b> This API and the behaviour described only apply to apps with * {@code targetSdkVersion} ≥ {@link android.os.Build.VERSION_CODES#TIRAMISU}. * * <p> * WebView always sets the media query {@code prefers-color-scheme} according to the app's * theme attribute {@link android.R.styleable#Theme_isLightTheme isLightTheme}, i.e. * {@code prefers-color-scheme} is {@code light} if isLightTheme is true or not specified, * otherwise it is {@code dark}. This means that the web content's light or dark style will * be applied automatically to match the app's theme if the content supports it. * * <p> * Algorithmic darkening is disallowed by default. * <p> * If the app's theme is dark and it allows algorithmic darkening, WebView will attempt to * darken web content using an algorithm, if the content doesn't define its own dark styles * and doesn't explicitly disable darkening. * * <p> * If Android is applying Force Dark to WebView then WebView will ignore the value of * this setting and behave as if it were set to true. * * @param allow allow algorithmic darkening or not. */ public void setAllowAlgorithmicDarkening(boolean allow) { // Stub implementation to satisfy Roboelectrc shadows that don't override this yet. } /** * Get if algorithmic darkening is allowed or not for this WebView. * The default is false. * * @return if the algorithmic darkening is allowed or not. * @see #setAllowAlgorithmicDarkening */ public boolean getAllowAlgorithmicDarkening() { // Stub implementation to satisfy Roboelectrc shadows that don't override this yet. return false; } /** * @hide */ Loading Loading
core/api/current.txt +7 −5 Original line number Diff line number Diff line Loading @@ -55228,6 +55228,7 @@ package android.webkit { public abstract class WebSettings { ctor public WebSettings(); method @Deprecated public abstract boolean enableSmoothTransition(); method public boolean getAllowAlgorithmicDarkening(); method public abstract boolean getAllowContentAccess(); method public abstract boolean getAllowFileAccess(); method public abstract boolean getAllowFileAccessFromFileURLs(); Loading @@ -55249,7 +55250,7 @@ package android.webkit { method public abstract boolean getDomStorageEnabled(); method public abstract String getFantasyFontFamily(); method public abstract String getFixedFontFamily(); method public int getForceDark(); method @Deprecated public int getForceDark(); method public abstract boolean getJavaScriptCanOpenWindowsAutomatically(); method public abstract boolean getJavaScriptEnabled(); method public abstract android.webkit.WebSettings.LayoutAlgorithm getLayoutAlgorithm(); Loading @@ -55272,6 +55273,7 @@ package android.webkit { method public abstract int getTextZoom(); method public abstract boolean getUseWideViewPort(); method public abstract String getUserAgentString(); method public void setAllowAlgorithmicDarkening(boolean); method public abstract void setAllowContentAccess(boolean); method public abstract void setAllowFileAccess(boolean); method @Deprecated public abstract void setAllowFileAccessFromFileURLs(boolean); Loading @@ -55293,7 +55295,7 @@ package android.webkit { method @Deprecated public abstract void setEnableSmoothTransition(boolean); method public abstract void setFantasyFontFamily(String); method public abstract void setFixedFontFamily(String); method public void setForceDark(int); method @Deprecated public void setForceDark(int); method @Deprecated public abstract void setGeolocationDatabasePath(String); method public abstract void setGeolocationEnabled(boolean); method public abstract void setJavaScriptCanOpenWindowsAutomatically(boolean); Loading Loading @@ -55324,9 +55326,9 @@ package android.webkit { method public abstract void setUserAgentString(@Nullable String); method public abstract boolean supportMultipleWindows(); method public abstract boolean supportZoom(); field public static final int FORCE_DARK_AUTO = 1; // 0x1 field public static final int FORCE_DARK_OFF = 0; // 0x0 field public static final int FORCE_DARK_ON = 2; // 0x2 field @Deprecated public static final int FORCE_DARK_AUTO = 1; // 0x1 field @Deprecated public static final int FORCE_DARK_OFF = 0; // 0x0 field @Deprecated public static final int FORCE_DARK_ON = 2; // 0x2 field public static final int LOAD_CACHE_ELSE_NETWORK = 1; // 0x1 field public static final int LOAD_CACHE_ONLY = 3; // 0x3 field public static final int LOAD_DEFAULT = -1; // 0xffffffff
core/api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -15749,6 +15749,7 @@ package android.webkit { method @Deprecated public abstract void setUseWebViewBackgroundForOverscrollBackground(boolean); method @Deprecated public abstract void setUserAgent(int); method public abstract void setVideoOverlayForEmbeddedEncryptedVideoEnabled(boolean); field public static final long ENABLE_SIMPLIFIED_DARK_MODE = 214741472L; // 0xcccb1e0L } public class WebStorage {
core/java/android/webkit/WebSettings.java +70 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ package android.webkit; import android.annotation.IntDef; import android.annotation.Nullable; import android.annotation.SystemApi; import android.compat.annotation.ChangeId; import android.compat.annotation.EnabledSince; import android.compat.annotation.UnsupportedAppUsage; import android.content.Context; Loading Loading @@ -134,6 +136,20 @@ public abstract class WebSettings { @Retention(RetentionPolicy.SOURCE) public @interface CacheMode {} /** * Enable web content to apply light or dark style according to the app's theme * and WebView to attempt to darken web content by algorithmic darkening when * appropriate. * * Refer to {@link #setAllowAlgorithmicDarkening} for detail. * * @hide */ @ChangeId @EnabledSince(targetSdkVersion = android.os.Build.VERSION_CODES.TIRAMISU) @SystemApi public static final long ENABLE_SIMPLIFIED_DARK_MODE = 214741472L; /** * Default cache usage mode. If the navigation type doesn't impose any * specific behavior, use cached resources when they are available Loading Loading @@ -239,6 +255,7 @@ public abstract class WebSettings { * automatically darkened. * * @see #setForceDark * @deprecated refer to {@link #setForceDark} */ public static final int FORCE_DARK_OFF = 0; Loading @@ -250,6 +267,7 @@ public abstract class WebSettings { * be inverted. * * @see #setForceDark * @deprecated refer to {@link #setForceDark} */ public static final int FORCE_DARK_AUTO = 1; Loading @@ -258,6 +276,7 @@ public abstract class WebSettings { * as to emulate a dark theme. * * @see #setForceDark * @deprecated refer to {@link #setForceDark} */ public static final int FORCE_DARK_ON = 2; Loading Loading @@ -1533,6 +1552,13 @@ public abstract class WebSettings { * * @param forceDark the force dark mode to set. * @see #getForceDark * @deprecated The "force dark" model previously implemented by WebView was complex * and didn't interoperate well with current Web standards for * prefers-color-scheme and color-scheme. In apps with * {@code targetSdkVersion} ≥ {@link android.os.Build.VERSION_CODES#TIRAMISU} * this API is a no-op and WebView will always use the dark style defined by web content * authors if the app's theme is dark. To customize the behavior, refer to * {@link #setAllowAlgorithmicDarkening}. */ public void setForceDark(@ForceDark int forceDark) { // Stub implementation to satisfy Roboelectrc shadows that don't override this yet. Loading @@ -1544,12 +1570,56 @@ public abstract class WebSettings { * * @return the currently set force dark mode. * @see #setForceDark * @deprecated refer to {@link #setForceDark}. */ public @ForceDark int getForceDark() { // Stub implementation to satisfy Roboelectrc shadows that don't override this yet. return FORCE_DARK_AUTO; } /** * Control whether algorithmic darkening is allowed. * * <p class="note"> * <b>Note:</b> This API and the behaviour described only apply to apps with * {@code targetSdkVersion} ≥ {@link android.os.Build.VERSION_CODES#TIRAMISU}. * * <p> * WebView always sets the media query {@code prefers-color-scheme} according to the app's * theme attribute {@link android.R.styleable#Theme_isLightTheme isLightTheme}, i.e. * {@code prefers-color-scheme} is {@code light} if isLightTheme is true or not specified, * otherwise it is {@code dark}. This means that the web content's light or dark style will * be applied automatically to match the app's theme if the content supports it. * * <p> * Algorithmic darkening is disallowed by default. * <p> * If the app's theme is dark and it allows algorithmic darkening, WebView will attempt to * darken web content using an algorithm, if the content doesn't define its own dark styles * and doesn't explicitly disable darkening. * * <p> * If Android is applying Force Dark to WebView then WebView will ignore the value of * this setting and behave as if it were set to true. * * @param allow allow algorithmic darkening or not. */ public void setAllowAlgorithmicDarkening(boolean allow) { // Stub implementation to satisfy Roboelectrc shadows that don't override this yet. } /** * Get if algorithmic darkening is allowed or not for this WebView. * The default is false. * * @return if the algorithmic darkening is allowed or not. * @see #setAllowAlgorithmicDarkening */ public boolean getAllowAlgorithmicDarkening() { // Stub implementation to satisfy Roboelectrc shadows that don't override this yet. return false; } /** * @hide */ Loading