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);
}