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

Commit 1537ad42 authored by Ahaan Ugale's avatar Ahaan Ugale
Browse files

VIMS: Don't set recognizer when assistant changes.

Decoupling recognizer from assistant allows it to be provided by a
different package.
The recognizer is now set only on initializing the user or when
packages are modified.

There should be no change to how the assistant or interactor is set.

Bug: 167597525
Test: manual - set/unset assistant, reboot.
Test: atest CtsVoiceInteractionTestCases
Change-Id: I42bd1ab768070d444a1f6e3e78571cae8288a8ba
parent 6ab42367
Loading
Loading
Loading
Loading
+0 −23
Original line number Diff line number Diff line
@@ -1599,20 +1599,6 @@ public class VoiceInteractionManagerService extends SystemService {
                }
            }

            private @NonNull String getDefaultRecognizer(@NonNull UserHandle user) {
                ResolveInfo resolveInfo = mPm.resolveServiceAsUser(
                        new Intent(RecognitionService.SERVICE_INTERFACE),
                        PackageManager.GET_META_DATA, user.getIdentifier());

                if (resolveInfo == null || resolveInfo.serviceInfo == null) {
                    Log.w(TAG, "Unable to resolve default voice recognition service.");
                    return "";
                }

                return new ComponentName(resolveInfo.serviceInfo.packageName,
                        resolveInfo.serviceInfo.name).flattenToShortString();
            }

            /**
             * Convert the assistant-role holder into settings. The rest of the system uses the
             * settings.
@@ -1634,9 +1620,6 @@ public class VoiceInteractionManagerService extends SystemService {
                            Settings.Secure.ASSISTANT, "", userId);
                    Settings.Secure.putStringForUser(getContext().getContentResolver(),
                            Settings.Secure.VOICE_INTERACTION_SERVICE, "", userId);
                    Settings.Secure.putStringForUser(getContext().getContentResolver(),
                            Settings.Secure.VOICE_RECOGNITION_SERVICE, getDefaultRecognizer(user),
                            userId);
                } else {
                    // Assistant is singleton role
                    String pkg = roleHolders.get(0);
@@ -1663,9 +1646,6 @@ public class VoiceInteractionManagerService extends SystemService {
                        Settings.Secure.putStringForUser(getContext().getContentResolver(),
                                Settings.Secure.VOICE_INTERACTION_SERVICE, serviceComponentName,
                                userId);
                        Settings.Secure.putStringForUser(getContext().getContentResolver(),
                                Settings.Secure.VOICE_RECOGNITION_SERVICE, serviceRecognizerName,
                                userId);

                        return;
                    }
@@ -1685,9 +1665,6 @@ public class VoiceInteractionManagerService extends SystemService {
                                activityInfo.getComponentName().flattenToShortString(), userId);
                        Settings.Secure.putStringForUser(getContext().getContentResolver(),
                                Settings.Secure.VOICE_INTERACTION_SERVICE, "", userId);
                        Settings.Secure.putStringForUser(getContext().getContentResolver(),
                                Settings.Secure.VOICE_RECOGNITION_SERVICE,
                                getDefaultRecognizer(user), userId);
                        return;
                    }
                }