diff options
Diffstat (limited to 'services/audiopolicy/service/AudioPolicyService.cpp')
| -rw-r--r-- | services/audiopolicy/service/AudioPolicyService.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/services/audiopolicy/service/AudioPolicyService.cpp b/services/audiopolicy/service/AudioPolicyService.cpp index 09089cd445..7854efa437 100644 --- a/services/audiopolicy/service/AudioPolicyService.cpp +++ b/services/audiopolicy/service/AudioPolicyService.cpp @@ -63,6 +63,10 @@ static const nsecs_t kAudioCommandTimeoutNs = seconds(3); // 3 seconds static const String16 sManageAudioPolicyPermission("android.permission.MANAGE_AUDIO_POLICY"); +namespace { +constexpr auto PERMISSION_GRANTED = permission::PermissionChecker::PERMISSION_GRANTED; +} + // Creates an association between Binder code to name for IAudioPolicyService. #define IAUDIOPOLICYSERVICE_BINDER_METHOD_MACRO_LIST \ BINDER_METHOD_ENTRY(onNewAudioModulesAvailable) \ @@ -1158,9 +1162,9 @@ void AudioPolicyService::setAppState_l(sp<AudioRecordClient> client, app_state_t } else { std::stringstream msg; msg << "Audio recording un-silenced on session " << client->session; - if (!startRecording(client->attributionSource, String16(msg.str().c_str()), - client->attributes.source)) { - silenced = true; + if (startRecording(client->attributionSource, String16(msg.str().c_str()), + client->attributes.source) != PERMISSION_GRANTED) { + return; } } } |
