Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01aaf2c4 authored by Glenn Kasten's avatar Glenn Kasten
Browse files

Simplify range check for audio_mode_t

AudioSystem::setMode previously allowed negative modes, but these were
then rejected by AudioFlinger.

Now negative modes (including AUDIO_MODE_INVALID and AUDIO_MODE_CURRENT)
are explicitly disallowed.

Change-Id: I0bac8fea737c8eb1f5b6afbb893e48739f88d745
parent 38e90751
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -158,7 +158,7 @@ status_t AudioSystem::getStreamMute(int stream, bool* mute)

status_t AudioSystem::setMode(int mode)
{
    if (mode >= AUDIO_MODE_CNT) return BAD_VALUE;
    if (uint32_t(mode) >= AUDIO_MODE_CNT) return BAD_VALUE;
    const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger();
    if (af == 0) return PERMISSION_DENIED;
    return af->setMode(mode);
+1 −1
Original line number Diff line number Diff line
@@ -574,7 +574,7 @@ status_t AudioFlinger::setMode(int mode)
    if (!settingsAllowed()) {
        return PERMISSION_DENIED;
    }
    if ((mode < 0) || (mode >= AUDIO_MODE_CNT)) {
    if (uint32_t(mode) >= AUDIO_MODE_CNT) {
        ALOGW("Illegal value: setMode(%d)", mode);
        return BAD_VALUE;
    }
+1 −1
Original line number Diff line number Diff line
@@ -193,7 +193,7 @@ status_t AudioPolicyService::setPhoneState(int state)
    if (!checkPermission()) {
        return PERMISSION_DENIED;
    }
    if (state < 0 || state >= AUDIO_MODE_CNT) {
    if (uint32_t(state) >= AUDIO_MODE_CNT) {
        return BAD_VALUE;
    }