diff --git a/services/core/java/com/android/server/webkit/SystemImpl.java b/services/core/java/com/android/server/webkit/SystemImpl.java index a5d68dabbdeb8..876bb20d25736 100644 --- a/services/core/java/com/android/server/webkit/SystemImpl.java +++ b/services/core/java/com/android/server/webkit/SystemImpl.java @@ -68,6 +68,7 @@ public class SystemImpl implements SystemInterface { public WebViewProviderInfo[] getWebViewPackages() { int numFallbackPackages = 0; int numAvailableByDefaultPackages = 0; + int numAvByDefaultAndNotFallback = 0; XmlResourceParser parser = null; List webViewProviders = new ArrayList(); try { @@ -111,6 +112,9 @@ public class SystemImpl implements SystemInterface { } if (currentProvider.availableByDefault) { numAvailableByDefaultPackages++; + if (!currentProvider.isFallback) { + numAvByDefaultAndNotFallback++; + } } webViewProviders.add(currentProvider); } @@ -127,6 +131,10 @@ public class SystemImpl implements SystemInterface { throw new AndroidRuntimeException("There must be at least one WebView package " + "that is available by default"); } + if (numAvByDefaultAndNotFallback == 0) { + throw new AndroidRuntimeException("There must be at least one WebView package " + + "that is available by default and not a fallback"); + } return webViewProviders.toArray(new WebViewProviderInfo[webViewProviders.size()]); }