Loading core/api/module-lib-current.txt +32 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,7 @@ package android.content { method @NonNull public android.os.UserHandle getUser(); field public static final String PAC_PROXY_SERVICE = "pac_proxy"; field public static final String TEST_NETWORK_SERVICE = "test_network"; field @FlaggedApi("android.webkit.update_service_ipc_wrapper") public static final String WEBVIEW_UPDATE_SERVICE = "webviewupdate"; } public class Intent implements java.lang.Cloneable android.os.Parcelable { Loading Loading @@ -650,3 +651,34 @@ package android.view.accessibility { } package android.webkit { @FlaggedApi("android.webkit.update_service_ipc_wrapper") public class WebViewBootstrapFrameworkInitializer { method public static void registerServiceWrappers(); } @FlaggedApi("android.webkit.update_service_ipc_wrapper") public final class WebViewProviderResponse implements android.os.Parcelable { ctor public WebViewProviderResponse(@Nullable android.content.pm.PackageInfo, int); method public int describeContents(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderResponse> CREATOR; field public static final int STATUS_FAILED_LISTING_WEBVIEW_PACKAGES = 4; // 0x4 field public static final int STATUS_FAILED_WAITING_FOR_RELRO = 3; // 0x3 field public static final int STATUS_SUCCESS = 0; // 0x0 field @Nullable public final android.content.pm.PackageInfo packageInfo; field public final int status; } @FlaggedApi("android.webkit.update_service_ipc_wrapper") public final class WebViewUpdateManager { method @Nullable @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public String changeProviderAndSetting(@NonNull String); method @NonNull public android.webkit.WebViewProviderInfo[] getAllWebViewPackages(); method @Nullable public android.content.pm.PackageInfo getCurrentWebViewPackage(); method @Nullable public String getCurrentWebViewPackageName(); method @FlaggedApi("android.webkit.update_service_v2") @NonNull public android.webkit.WebViewProviderInfo getDefaultWebViewPackage(); method @Nullable public static android.webkit.WebViewUpdateManager getInstance(); method @NonNull public android.webkit.WebViewProviderInfo[] getValidWebViewPackages(); method @NonNull public android.webkit.WebViewProviderResponse waitForAndGetProvider(); } } core/java/android/app/SystemServiceRegistry.java +6 −0 Original line number Diff line number Diff line Loading @@ -251,6 +251,7 @@ import android.view.textservice.TextServicesManager; import android.view.translation.ITranslationManager; import android.view.translation.TranslationManager; import android.view.translation.UiTranslationManager; import android.webkit.WebViewBootstrapFrameworkInitializer; import com.android.internal.R; import com.android.internal.app.IAppOpsService; Loading Loading @@ -1660,12 +1661,17 @@ public final class SystemServiceRegistry { OnDevicePersonalizationFrameworkInitializer.registerServiceWrappers(); DeviceLockFrameworkInitializer.registerServiceWrappers(); VirtualizationFrameworkInitializer.registerServiceWrappers(); // This code is executed on zygote during preload, where only read-only // flags can be used. Do not use mutable flags. if (android.permission.flags.Flags.enhancedConfirmationModeApisEnabled()) { EnhancedConfirmationFrameworkInitializer.registerServiceWrappers(); } if (android.server.Flags.telemetryApisService()) { ProfilingFrameworkInitializer.registerServiceWrappers(); } if (android.webkit.Flags.updateServiceIpcWrapper()) { WebViewBootstrapFrameworkInitializer.registerServiceWrappers(); } } finally { // If any of the above code throws, we're in a pretty bad shape and the process // will likely crash, but we'll reset it just in case there's an exception handler... Loading core/java/android/content/Context.java +13 −0 Original line number Diff line number Diff line Loading @@ -6561,6 +6561,19 @@ public abstract class Context { @FlaggedApi(android.os.Flags.FLAG_TELEMETRY_APIS_FRAMEWORK_INITIALIZATION) public static final String PROFILING_SERVICE = "profiling"; /** * Use with {@link #getSystemService(String)} to retrieve a {@link * android.webkit.WebViewUpdateManager} for accessing the WebView update service. * * @see #getSystemService(String) * @see android.webkit.WebViewUpdateManager * @hide */ @FlaggedApi(android.webkit.Flags.FLAG_UPDATE_SERVICE_IPC_WRAPPER) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) @SuppressLint("ServiceName") public static final String WEBVIEW_UPDATE_SERVICE = "webviewupdate"; /** * Determine whether the given permission is allowed for a particular * process and user ID running in the system. Loading core/java/android/webkit/IWebViewUpdateService.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ interface IWebViewUpdateService { * it would then try to update the provider to such a package while in reality the update * service would switch to another one. */ @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)") String changeProviderAndSetting(String newProvider); /** Loading core/java/android/webkit/WebView.java +16 −8 Original line number Diff line number Diff line Loading @@ -3087,6 +3087,13 @@ public class WebView extends AbsoluteLayout return webviewPackage; } if (Flags.updateServiceIpcWrapper()) { WebViewUpdateManager manager = WebViewUpdateManager.getInstance(); if (manager == null) { return null; } return manager.getCurrentWebViewPackage(); } else { IWebViewUpdateService service = WebViewFactory.getUpdateService(); if (service == null) { return null; Loading @@ -3097,6 +3104,7 @@ public class WebView extends AbsoluteLayout throw e.rethrowFromSystemServer(); } } } /** * Receive the result from a previous call to {@link #startActivityForResult(Intent, int)}. Loading Loading
core/api/module-lib-current.txt +32 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,7 @@ package android.content { method @NonNull public android.os.UserHandle getUser(); field public static final String PAC_PROXY_SERVICE = "pac_proxy"; field public static final String TEST_NETWORK_SERVICE = "test_network"; field @FlaggedApi("android.webkit.update_service_ipc_wrapper") public static final String WEBVIEW_UPDATE_SERVICE = "webviewupdate"; } public class Intent implements java.lang.Cloneable android.os.Parcelable { Loading Loading @@ -650,3 +651,34 @@ package android.view.accessibility { } package android.webkit { @FlaggedApi("android.webkit.update_service_ipc_wrapper") public class WebViewBootstrapFrameworkInitializer { method public static void registerServiceWrappers(); } @FlaggedApi("android.webkit.update_service_ipc_wrapper") public final class WebViewProviderResponse implements android.os.Parcelable { ctor public WebViewProviderResponse(@Nullable android.content.pm.PackageInfo, int); method public int describeContents(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderResponse> CREATOR; field public static final int STATUS_FAILED_LISTING_WEBVIEW_PACKAGES = 4; // 0x4 field public static final int STATUS_FAILED_WAITING_FOR_RELRO = 3; // 0x3 field public static final int STATUS_SUCCESS = 0; // 0x0 field @Nullable public final android.content.pm.PackageInfo packageInfo; field public final int status; } @FlaggedApi("android.webkit.update_service_ipc_wrapper") public final class WebViewUpdateManager { method @Nullable @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public String changeProviderAndSetting(@NonNull String); method @NonNull public android.webkit.WebViewProviderInfo[] getAllWebViewPackages(); method @Nullable public android.content.pm.PackageInfo getCurrentWebViewPackage(); method @Nullable public String getCurrentWebViewPackageName(); method @FlaggedApi("android.webkit.update_service_v2") @NonNull public android.webkit.WebViewProviderInfo getDefaultWebViewPackage(); method @Nullable public static android.webkit.WebViewUpdateManager getInstance(); method @NonNull public android.webkit.WebViewProviderInfo[] getValidWebViewPackages(); method @NonNull public android.webkit.WebViewProviderResponse waitForAndGetProvider(); } }
core/java/android/app/SystemServiceRegistry.java +6 −0 Original line number Diff line number Diff line Loading @@ -251,6 +251,7 @@ import android.view.textservice.TextServicesManager; import android.view.translation.ITranslationManager; import android.view.translation.TranslationManager; import android.view.translation.UiTranslationManager; import android.webkit.WebViewBootstrapFrameworkInitializer; import com.android.internal.R; import com.android.internal.app.IAppOpsService; Loading Loading @@ -1660,12 +1661,17 @@ public final class SystemServiceRegistry { OnDevicePersonalizationFrameworkInitializer.registerServiceWrappers(); DeviceLockFrameworkInitializer.registerServiceWrappers(); VirtualizationFrameworkInitializer.registerServiceWrappers(); // This code is executed on zygote during preload, where only read-only // flags can be used. Do not use mutable flags. if (android.permission.flags.Flags.enhancedConfirmationModeApisEnabled()) { EnhancedConfirmationFrameworkInitializer.registerServiceWrappers(); } if (android.server.Flags.telemetryApisService()) { ProfilingFrameworkInitializer.registerServiceWrappers(); } if (android.webkit.Flags.updateServiceIpcWrapper()) { WebViewBootstrapFrameworkInitializer.registerServiceWrappers(); } } finally { // If any of the above code throws, we're in a pretty bad shape and the process // will likely crash, but we'll reset it just in case there's an exception handler... Loading
core/java/android/content/Context.java +13 −0 Original line number Diff line number Diff line Loading @@ -6561,6 +6561,19 @@ public abstract class Context { @FlaggedApi(android.os.Flags.FLAG_TELEMETRY_APIS_FRAMEWORK_INITIALIZATION) public static final String PROFILING_SERVICE = "profiling"; /** * Use with {@link #getSystemService(String)} to retrieve a {@link * android.webkit.WebViewUpdateManager} for accessing the WebView update service. * * @see #getSystemService(String) * @see android.webkit.WebViewUpdateManager * @hide */ @FlaggedApi(android.webkit.Flags.FLAG_UPDATE_SERVICE_IPC_WRAPPER) @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) @SuppressLint("ServiceName") public static final String WEBVIEW_UPDATE_SERVICE = "webviewupdate"; /** * Determine whether the given permission is allowed for a particular * process and user ID running in the system. Loading
core/java/android/webkit/IWebViewUpdateService.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ interface IWebViewUpdateService { * it would then try to update the provider to such a package while in reality the update * service would switch to another one. */ @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)") String changeProviderAndSetting(String newProvider); /** Loading
core/java/android/webkit/WebView.java +16 −8 Original line number Diff line number Diff line Loading @@ -3087,6 +3087,13 @@ public class WebView extends AbsoluteLayout return webviewPackage; } if (Flags.updateServiceIpcWrapper()) { WebViewUpdateManager manager = WebViewUpdateManager.getInstance(); if (manager == null) { return null; } return manager.getCurrentWebViewPackage(); } else { IWebViewUpdateService service = WebViewFactory.getUpdateService(); if (service == null) { return null; Loading @@ -3097,6 +3104,7 @@ public class WebView extends AbsoluteLayout throw e.rethrowFromSystemServer(); } } } /** * Receive the result from a previous call to {@link #startActivityForResult(Intent, int)}. Loading