diff options
| author | 2020-05-02 00:07:06 +0000 | |
|---|---|---|
| committer | 2020-05-02 00:07:06 +0000 | |
| commit | b0c9d6181a16453a48231fb7094008122997c8ed (patch) | |
| tree | 1baf9d9e3ac01a2ecca25c6bf1cb60d77eedb0cd | |
| parent | 38d2bcd4323bfa0629eeac25c2db1fbd128bce4a (diff) | |
| parent | b0f777028f7d6c5aef62fcd09810f3de990ba60e (diff) | |
Merge "Check permission for soundtrigger detection service" into rvc-dev am: 7714a18236 am: 3aaf8a9e0e am: a0d7766796 am: b0f777028f
Change-Id: I42dfefb838291c7db491048612dbf4f72de702ea
| -rw-r--r-- | services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java index 170bee841e74..42e2bbf08834 100644 --- a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java +++ b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java @@ -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 |