From c7db48b0ca7915a8473ea33cfa7a2eea726d64a6 Mon Sep 17 00:00:00 2001 From: Gustav Sennton Date: Thu, 25 Feb 2016 13:42:45 +0000 Subject: [PATCH] Don't run WebView-preparation during an encryption boot phase. When a device is booting up in an encrypted state WebView won't find the packages needed for loading WebView and might thus try to use incorrect webview packages. This in itself might cause us to incorrectly change the webview provider setting but also causes us to crash the system server if we try to enabled/disable a package that cannot be seen by the package manager. Bug: 27353062 Change-Id: I9349778506e8bec1c56b9b786fe4ed15c7c3260d --- services/java/com/android/server/SystemServer.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index d08f68a0654e7..0ece6aafc7421 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -1279,10 +1279,12 @@ public final class SystemServer { } Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER); - Slog.i(TAG, "WebViewFactory preparation"); - Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "WebViewFactoryPreparation"); - mWebViewUpdateService.prepareWebViewInSystemServer(); - Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER); + if (!mOnlyCore) { + Slog.i(TAG, "WebViewFactory preparation"); + Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "WebViewFactoryPreparation"); + mWebViewUpdateService.prepareWebViewInSystemServer(); + Trace.traceEnd(Trace.TRACE_TAG_SYSTEM_SERVER); + } Trace.traceBegin(Trace.TRACE_TAG_SYSTEM_SERVER, "StartSystemUI"); try {