From ddd89a86e2917f770c2bb5c33c9a06960f3072f0 Mon Sep 17 00:00:00 2001 From: Nate Myren Date: Tue, 10 May 2022 16:25:06 -0700 Subject: [PATCH] Skip preflight RECORD_AUDIO in RecognitionService if FD provided If a file descriptor is provided to a recognitionService using the EXTRA_AUDIO_SOURCE option, then do not make a preflight RECORD_AUDIO check Test: manual Bug: 226969470 Change-Id: Ibc9fa378f5375a38922f1791c13600a3a5ab55f1 --- core/java/android/speech/RecognitionService.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/java/android/speech/RecognitionService.java b/core/java/android/speech/RecognitionService.java index 6a65efb891ca7..6b59f5480e041 100644 --- a/core/java/android/speech/RecognitionService.java +++ b/core/java/android/speech/RecognitionService.java @@ -129,8 +129,9 @@ public abstract class RecognitionService extends Service { @NonNull AttributionSource attributionSource) { try { if (mCurrentCallback == null) { - boolean preflightPermissionCheckPassed = checkPermissionForPreflightNotHardDenied( - attributionSource); + boolean preflightPermissionCheckPassed = + intent.hasExtra(RecognizerIntent.EXTRA_AUDIO_SOURCE) + || checkPermissionForPreflightNotHardDenied(attributionSource); if (preflightPermissionCheckPassed) { if (DBG) { Log.d(TAG, "created new mCurrentCallback, listener = "