Don't show disabled packages in the WebView implementation Dev setting.

You can't choose to use a disabled WebView package as WebView
implementation (this ensures that without interference from the user the
system will always try choose a package which will eventually become
updated, rather than a package that does not receive updates) and there
are cases where a package cannot/should not be enabled (to save e.g.
bandwidth).
Therefore, with this change we no longer show disabled WebView packages
as potential WebView implementations in the WebView implementation
Developer setting.

Bug: 27188851

Change-Id: I19a9b16118703d8a54d8215c186fc99ffefc4b6d
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index af38ad0..2a9207a 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -754,22 +754,24 @@
                 Log.e(TAG, "No WebView providers available");
                 return;
             }
-            String[] options = new String[providers.length];
-            String[] values = new String[providers.length];
+            ArrayList<String> options = new ArrayList<String>();
+            ArrayList<String> values = new ArrayList<String>();
             for(int n = 0; n < providers.length; n++) {
-                options[n] = providers[n].description;
-                values[n] = providers[n].packageName;
+                if (isPackageEnabled(providers[n].packageName)) {
+                    options.add(providers[n].description);
+                    values.add(providers[n].packageName);
+                }
             }
-            mWebViewProvider.setEntries(options);
-            mWebViewProvider.setEntryValues(values);
+            mWebViewProvider.setEntries(options.toArray(new String[options.size()]));
+            mWebViewProvider.setEntryValues(values.toArray(new String[values.size()]));
 
             String value = webViewUpdateService.getCurrentWebViewPackageName();
             if (value == null) {
                 value = "";
             }
 
-            for (int i = 0; i < values.length; i++) {
-                if (value.contentEquals(values[i])) {
+            for (int i = 0; i < values.size(); i++) {
+                if (value.contentEquals(values.get(i))) {
                     mWebViewProvider.setValueIndex(i);
                     return;
                 }