Merge "Ensure at least one default-available webview package is a non-fallback" into nyc-dev

This commit is contained in:
Gustav Sennton
2016-04-14 10:25:13 +00:00
committed by Android (Google) Code Review

View File

@@ -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<WebViewProviderInfo> webViewProviders = new ArrayList<WebViewProviderInfo>();
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()]);
}