From 3a1cef2e92772f89d101dfa0dcefe51d78f7c2e3 Mon Sep 17 00:00:00 2001 From: Ahaan Ugale Date: Mon, 8 Feb 2021 22:41:37 -0800 Subject: [PATCH] VIMS: Use the new recognizer config resource for init. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When initializing or resetting the recognizer setting, the configured package is preferred over other available recognizers. Bug: 175480455 Test: manual - unset recognizer, reboot, and check the setting Test: atest CtsAssistTestCases CtsVoiceInteractionTestCases \ CtsVoiceSettingsTestCases Change-Id: I2fc225eba56bc787b267262d9917e718035c6047 --- .../VoiceInteractionManagerService.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java index 8628f89a49c1c..dce63ebb08892 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java @@ -76,6 +76,7 @@ import android.util.ArraySet; import android.util.Log; import android.util.Slog; +import com.android.internal.R; import com.android.internal.annotations.GuardedBy; import com.android.internal.app.IHotwordRecognitionStatusCallback; import com.android.internal.app.IVoiceActionCheckCallback; @@ -643,6 +644,10 @@ public class VoiceInteractionManagerService extends SystemService { } ComponentName findAvailRecognizer(String prefPackage, int userHandle) { + if (prefPackage == null) { + prefPackage = getDefaultRecognizer(); + } + List available = mContext.getPackageManager().queryIntentServicesAsUser( new Intent(RecognitionService.SERVICE_INTERFACE), @@ -670,6 +675,12 @@ public class VoiceInteractionManagerService extends SystemService { } } + @Nullable + public String getDefaultRecognizer() { + String recognizer = mContext.getString(R.string.config_systemSpeechRecognizer); + return TextUtils.isEmpty(recognizer) ? null : recognizer; + } + ComponentName getCurRecognizer(int userHandle) { String curRecognizer = Settings.Secure.getStringForUser( mContext.getContentResolver(),