diff options
| author | 2022-04-28 07:51:50 +0000 | |
|---|---|---|
| committer | 2022-04-28 07:51:50 +0000 | |
| commit | 1517e07b5e70bf24aee066cbc901e48c865652fe (patch) | |
| tree | 5b3d12a50a50cedb421d5ccae0e5f5d1a8ff7041 | |
| parent | d883c270235f48cb11b6753c5a8c44620d7a20f0 (diff) | |
| parent | 4b945427b9cd0823728c43429209f4ba598cba89 (diff) | |
Merge "speech: Mask client identity when running the package manager call" into tm-dev
| -rw-r--r-- | services/core/java/com/android/server/speech/SpeechRecognitionManagerServiceImpl.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/speech/SpeechRecognitionManagerServiceImpl.java b/services/core/java/com/android/server/speech/SpeechRecognitionManagerServiceImpl.java index ae23b9e46d23..5db4a7b4a6f6 100644 --- a/services/core/java/com/android/server/speech/SpeechRecognitionManagerServiceImpl.java +++ b/services/core/java/com/android/server/speech/SpeechRecognitionManagerServiceImpl.java @@ -268,9 +268,17 @@ final class SpeechRecognitionManagerServiceImpl extends } private boolean componentMapsToRecognitionService(@NonNull ComponentName serviceComponent) { - List<ResolveInfo> resolveInfos = - getContext().getPackageManager().queryIntentServicesAsUser( - new Intent(RecognitionService.SERVICE_INTERFACE), 0, getUserId()); + List<ResolveInfo> resolveInfos; + + final long identityToken = Binder.clearCallingIdentity(); + try { + resolveInfos = + getContext().getPackageManager().queryIntentServicesAsUser( + new Intent(RecognitionService.SERVICE_INTERFACE), 0, getUserId()); + } finally { + Binder.restoreCallingIdentity(identityToken); + } + if (resolveInfos == null) { return false; } |