From 9516314de4991df9eda0d28c6310199acbc6319a Mon Sep 17 00:00:00 2001 From: Victoria Lestari Date: Mon, 8 Mar 2021 17:36:18 +0000 Subject: [PATCH] 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 --- .../applications/assist/VoiceInputHelper.java | 31 ++++++------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/src/com/android/settings/applications/assist/VoiceInputHelper.java b/src/com/android/settings/applications/assist/VoiceInputHelper.java index fb60090d499..58c0d49a0a0 100644 --- a/src/com/android/settings/applications/assist/VoiceInputHelper.java +++ b/src/com/android/settings/applications/assist/VoiceInputHelper.java @@ -85,14 +85,8 @@ public final class VoiceInputHelper { } 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 @@ public final class VoiceInputHelper { //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 @@ public final class VoiceInputHelper { 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 @@ public final class VoiceInputHelper { 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); }