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

Commit a36e8bfd authored by Victoria Lestari's avatar Victoria Lestari Committed by Automerger Merge Worker
Browse files

Merge "Revert "VoiceInputHelper should not show recognition service if it's...

Merge "Revert "VoiceInputHelper should not show recognition service if it's not selectable as default"" into sc-dev am: fc037c26

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13785873

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iaca93afb807422e8803880008d5462da9623ee5d
parents 991c88b2 fc037c26
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);
    }