Revert "VoiceInputHelper should not show recognition service if it's not selectable as default"

This reverts commit 765edb60a3f5e37224d9976eb4d775445e0ad204.

Reason for revert: b/182170686

Change-Id: I4e1551bed44b22b12541e92a4d940ec131a1ff34
diff --git a/src/com/android/settings/applications/assist/VoiceInputHelper.java b/src/com/android/settings/applications/assist/VoiceInputHelper.java
index fb60090..58c0d49 100644
--- a/src/com/android/settings/applications/assist/VoiceInputHelper.java
+++ b/src/com/android/settings/applications/assist/VoiceInputHelper.java
@@ -85,14 +85,8 @@
     }
 
     static public class RecognizerInfo extends BaseInfo {
-        public final boolean mSelectableAsDefault;
-
-        public RecognizerInfo(PackageManager pm,
-                ServiceInfo serviceInfo,
-                String settings,
-                boolean selectableAsDefault) {
-            super(pm, serviceInfo, settings);
-            this.mSelectableAsDefault = selectableAsDefault;
+        public RecognizerInfo(PackageManager pm, ServiceInfo _service, String _settings) {
+            super(pm, _service, _settings);
         }
     }
 
@@ -164,11 +158,11 @@
                 //continue;
             }
             ServiceInfo si = resolveInfo.serviceInfo;
+            XmlResourceParser parser = null;
             String settingsActivity = null;
-            // Always show in voice input settings unless specifically set to False.
-            boolean selectableAsDefault = true;
-            try (XmlResourceParser parser = si.loadXmlMetaData(mContext.getPackageManager(),
-                    RecognitionService.SERVICE_META_DATA)) {
+            try {
+                parser = si.loadXmlMetaData(mContext.getPackageManager(),
+                        RecognitionService.SERVICE_META_DATA);
                 if (parser == null) {
                     throw new XmlPullParserException("No " + RecognitionService.SERVICE_META_DATA +
                             " meta-data for " + si.packageName);
@@ -194,9 +188,6 @@
                         com.android.internal.R.styleable.RecognitionService);
                 settingsActivity = array.getString(
                         com.android.internal.R.styleable.RecognitionService_settingsActivity);
-                selectableAsDefault = array.getBoolean(
-                        com.android.internal.R.styleable.RecognitionService_selectableAsDefault,
-                        true);
                 array.recycle();
             } catch (XmlPullParserException e) {
                 Log.e(TAG, "error parsing recognition service meta-data", e);
@@ -204,13 +195,11 @@
                 Log.e(TAG, "error parsing recognition service meta-data", e);
             } catch (PackageManager.NameNotFoundException e) {
                 Log.e(TAG, "error parsing recognition service meta-data", e);
+            } finally {
+                if (parser != null) parser.close();
             }
-            // The current recognizer must always be shown in the settings, whatever its
-            // selectableAsDefault value is.
-            if (selectableAsDefault || comp.equals(mCurrentRecognizer)) {
-                mAvailableRecognizerInfos.add(new RecognizerInfo(mContext.getPackageManager(),
-                        resolveInfo.serviceInfo, settingsActivity, selectableAsDefault));
-            }
+            mAvailableRecognizerInfos.add(new RecognizerInfo(mContext.getPackageManager(),
+                    resolveInfo.serviceInfo, settingsActivity));
         }
         Collections.sort(mAvailableRecognizerInfos);
     }