From 0851ede886d480d6e4f8f8385bbeb57bb7f4a46c Mon Sep 17 00:00:00 2001 From: Gustav Sennton Date: Mon, 15 Feb 2016 14:23:22 +0000 Subject: [PATCH] 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 --- .../android/settings/DevelopmentSettings.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index af38ad09671..2a9207a4f08 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -754,22 +754,24 @@ public class DevelopmentSettings extends SettingsPreferenceFragment Log.e(TAG, "No WebView providers available"); return; } - String[] options = new String[providers.length]; - String[] values = new String[providers.length]; + ArrayList options = new ArrayList(); + ArrayList values = new ArrayList(); 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; }