From de203c37c35677c631e2a8b77a7d4188ec4ea9cb Mon Sep 17 00:00:00 2001 From: Ahaan Ugale Date: Mon, 8 Feb 2021 21:21:29 -0800 Subject: [PATCH] VIMS: Decouple recognizer init from interactor in PackageMonitor. On package modification, set the recognizer independently of the interactor. This will allow keeping the default recognizer provider a different package from the interactor. There should be no change to how the interactor is set. Bug: 167597525 Test: manual Test: atest CtsVoiceInteractionTestCases Change-Id: Ib24f077365cbb0850c61196c2825737db1c1c090 --- .../voiceinteraction/VoiceInteractionManagerService.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java index 954b05c561d29..76698833a9131 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java @@ -1787,6 +1787,9 @@ public class VoiceInteractionManagerService extends SystemService { if (isPackageAppearing(pkgName) != PACKAGE_UNCHANGED) { return; } + if (getCurRecognizer(mCurUser) == null) { + initRecognizer(mCurUser); + } final String curInteractorStr = Settings.Secure.getStringForUser( mContext.getContentResolver(), Settings.Secure.VOICE_INTERACTION_SERVICE, mCurUser); @@ -1801,12 +1804,6 @@ public class VoiceInteractionManagerService extends SystemService { availInteractorInfo.getServiceInfo().packageName, availInteractorInfo.getServiceInfo().name); setCurInteractor(availInteractor, mCurUser); - if (getCurRecognizer(mCurUser) == null && - availInteractorInfo.getRecognitionService() != null) { - setCurRecognizer(new ComponentName( - availInteractorInfo.getServiceInfo().packageName, - availInteractorInfo.getRecognitionService()), mCurUser); - } } } else { if (didSomePackagesChange()) {