From 861ee7a8b7ba73061da0d095fc26d81a8b1dda7c Mon Sep 17 00:00:00 2001 From: Nate Myren Date: Mon, 12 Jul 2021 16:17:17 -0700 Subject: [PATCH] Only check downstream permissions in preflight in RecognitionService Ensure that, in the preflight permission check, RecognitionService does not check the service's own permissions. These will be checked if the RecognitionService tries to access the mic Fixes: 193111794 Test: manual Change-Id: I172849f2e0368f9601dc298e6cf96d7a52219e5a --- core/java/android/speech/RecognitionService.java | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/core/java/android/speech/RecognitionService.java b/core/java/android/speech/RecognitionService.java index a6ec399e7d306..362ea8c87f7fd 100644 --- a/core/java/android/speech/RecognitionService.java +++ b/core/java/android/speech/RecognitionService.java @@ -115,18 +115,14 @@ public abstract class RecognitionService extends Service { @NonNull AttributionSource attributionSource) { try { if (mCurrentCallback == null) { - Context attributionContext = createContext(new ContextParams.Builder() - .setNextAttributionSource(attributionSource) - .build()); boolean preflightPermissionCheckPassed = checkPermissionForPreflight( - attributionContext.getAttributionSource()); + attributionSource); if (preflightPermissionCheckPassed) { if (DBG) { Log.d(TAG, "created new mCurrentCallback, listener = " + listener.asBinder()); } - mCurrentCallback = new Callback(listener, attributionSource, - attributionContext); + mCurrentCallback = new Callback(listener, attributionSource); RecognitionService.this.onStartListening(intent, mCurrentCallback); } @@ -293,15 +289,8 @@ public abstract class RecognitionService extends Service { private Callback(IRecognitionListener listener, @NonNull AttributionSource attributionSource) { - this(listener, attributionSource, null); - } - - private Callback(IRecognitionListener listener, - @NonNull AttributionSource attributionSource, - @Nullable Context attributionContext) { mListener = listener; mCallingAttributionSource = attributionSource; - mAttributionContext = attributionContext; } /**