am 492fc648: Merge "Grant record audio to system reco service by default" into mnc-dev

* commit '492fc6483184a0e82d5d1a77634a38c10c7577ac':
  Grant record audio to system reco service by default
This commit is contained in:
Svetoslav Ganov
2015-07-23 19:20:01 +00:00
committed by Android Git Automerger

View File

@ -495,6 +495,16 @@ final class DefaultPermissionGrantPolicy {
}
}
// Voice recognition
Intent voiceRecoIntent = new Intent("android.speech.RecognitionService");
voiceRecoIntent.addCategory(Intent.CATEGORY_DEFAULT);
PackageParser.Package voiceRecoPackage = getDefaultSystemHandlerServicePackageLPr(
voiceRecoIntent, userId);
if (voiceRecoPackage != null
&& doesPackageSupportRuntimePermissions(voiceRecoPackage)) {
grantRuntimePermissionsLPw(voiceRecoPackage, MICROPHONE_PERMISSIONS, userId);
}
// Location
if (locationPackageNames != null) {
for (String packageName : locationPackageNames) {
@ -627,6 +637,26 @@ final class DefaultPermissionGrantPolicy {
return null;
}
private PackageParser.Package getDefaultSystemHandlerServicePackageLPr(
Intent intent, int userId) {
List<ResolveInfo> handlers = mService.queryIntentServices(intent,
intent.resolveType(mService.mContext.getContentResolver()),
PackageManager.GET_DISABLED_COMPONENTS, userId);
if (handlers == null) {
return null;
}
final int handlerCount = handlers.size();
for (int i = 0; i < handlerCount; i++) {
ResolveInfo handler = handlers.get(i);
PackageParser.Package handlerPackage = getSystemPackageLPr(
handler.serviceInfo.packageName);
if (handlerPackage != null) {
return handlerPackage;
}
}
return null;
}
private List<PackageParser.Package> getHeadlessSyncAdapterPackagesLPr(
String[] syncAdapterPackageNames, int userId) {
List<PackageParser.Package> syncAdapterPackages = new ArrayList<>();