Merge "Check permission for soundtrigger detection service" into rvc-dev am: 7714a18236

Change-Id: Ibb89e4820ca99151f0494c3149ee8079976db331
This commit is contained in:
Evan Severson
2020-05-01 23:27:37 +00:00
committed by Automerger Merge Worker

View File

@@ -443,6 +443,8 @@ public class SoundTriggerService extends SystemService {
enforceCallingPermission(Manifest.permission.MANAGE_SOUND_TRIGGER);
enforceDetectionPermissions(detectionService);
if (!isInitialized()) return STATUS_ERROR;
if (DEBUG) {
Slog.i(TAG, "startRecognition(): id = " + soundModelId);
@@ -1532,6 +1534,16 @@ public class SoundTriggerService extends SystemService {
}
}
private void enforceDetectionPermissions(ComponentName detectionService) {
PackageManager packageManager = mContext.getPackageManager();
String packageName = detectionService.getPackageName();
if (packageManager.checkPermission(Manifest.permission.CAPTURE_AUDIO_HOTWORD, packageName)
!= PackageManager.PERMISSION_GRANTED) {
throw new SecurityException(detectionService.getPackageName() + " does not have"
+ " permission " + Manifest.permission.CAPTURE_AUDIO_HOTWORD);
}
}
//=================================================================
// For logging