Merge "Always re-enable the fallback WebView if needed." into qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
4c510c08da
@@ -82,6 +82,22 @@ public class WebViewUpdateServiceImpl {
|
|||||||
void prepareWebViewInSystemServer() {
|
void prepareWebViewInSystemServer() {
|
||||||
migrateFallbackStateOnBoot();
|
migrateFallbackStateOnBoot();
|
||||||
mWebViewUpdater.prepareWebViewInSystemServer();
|
mWebViewUpdater.prepareWebViewInSystemServer();
|
||||||
|
if (getCurrentWebViewPackage() == null) {
|
||||||
|
// We didn't find a valid WebView implementation. Try explicitly re-enabling the
|
||||||
|
// fallback package for all users in case it was disabled, even if we already did the
|
||||||
|
// one-time migration before. If this actually changes the state, WebViewUpdater will
|
||||||
|
// see the PackageManager broadcast shortly and try again.
|
||||||
|
WebViewProviderInfo[] webviewProviders = mSystemInterface.getWebViewPackages();
|
||||||
|
WebViewProviderInfo fallbackProvider = getFallbackProvider(webviewProviders);
|
||||||
|
if (fallbackProvider != null) {
|
||||||
|
Slog.w(TAG, "No valid provider, trying to enable " + fallbackProvider.packageName);
|
||||||
|
mSystemInterface.enablePackageForAllUsers(mContext, fallbackProvider.packageName,
|
||||||
|
true);
|
||||||
|
} else {
|
||||||
|
Slog.e(TAG, "No valid provider and no fallback available.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
boolean multiProcessEnabled = isMultiProcessEnabled();
|
boolean multiProcessEnabled = isMultiProcessEnabled();
|
||||||
mSystemInterface.notifyZygote(multiProcessEnabled);
|
mSystemInterface.notifyZygote(multiProcessEnabled);
|
||||||
if (multiProcessEnabled) {
|
if (multiProcessEnabled) {
|
||||||
|
|||||||
Reference in New Issue
Block a user