Merge "Always re-enable the fallback WebView if needed." into qt-dev

This commit is contained in:
TreeHugger Robot
2019-06-13 17:25:32 +00:00
committed by Android (Google) Code Review

View File

@@ -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) {