diff --git a/media/libaudioclient/IAudioPolicyService.cpp b/media/libaudioclient/IAudioPolicyService.cpp index 79b3e0f21d..eca6fee728 100644 --- a/media/libaudioclient/IAudioPolicyService.cpp +++ b/media/libaudioclient/IAudioPolicyService.cpp @@ -876,7 +876,8 @@ status_t BnAudioPolicyService::onTransact( case SET_DEVICE_CONNECTION_STATE: case HANDLE_DEVICE_CONFIG_CHANGE: case SET_PHONE_STATE: - case SET_FORCE_USE: +//FIXME: Allow SET_FORCE_USE calls from system apps until a better use case routing API is available +// case SET_FORCE_USE: case INIT_STREAM_VOLUME: case SET_STREAM_VOLUME: case REGISTER_POLICY_MIXES: diff --git a/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp b/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp index 008d655e7a..b75b234059 100644 --- a/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp +++ b/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp @@ -121,9 +121,11 @@ status_t AudioPolicyService::setForceUse(audio_policy_force_use_t usage, if (mAudioPolicyManager == NULL) { return NO_INIT; } - if (!settingsAllowed()) { + + if (!modifyAudioRoutingAllowed()) { return PERMISSION_DENIED; } + if (usage < 0 || usage >= AUDIO_POLICY_FORCE_USE_CNT) { return BAD_VALUE; }