speech: Mask client identity when running the package manager call
Allow speech recognizers to list all the recognition services. Bug: 210471821 Test: manual by reproducing the corresponding bug Change-Id: If2dc9b81e26ca531cadd0ca25e207db036df9cdc
This commit is contained in:
committed by
Aleksandar Kiridžić
parent
71e2f74d9a
commit
4b945427b9
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user