Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9516314d authored by Victoria Lestari's avatar Victoria Lestari
Browse files

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

This reverts commit 765edb60.

Reason for revert: b/182170686

Change-Id: I4e1551bed44b22b12541e92a4d940ec131a1ff34
parent 765edb60
Loading
Loading
Loading
Loading
+10 −21
Original line number Diff line number Diff line
@@ -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));
            }
                    resolveInfo.serviceInfo, settingsActivity));
        }
        Collections.sort(mAvailableRecognizerInfos);
    }