diff options
-rw-r--r-- | libaudio/AudioHardware.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/libaudio/AudioHardware.cpp b/libaudio/AudioHardware.cpp index 771fa5e..24f1202 100644 --- a/libaudio/AudioHardware.cpp +++ b/libaudio/AudioHardware.cpp @@ -371,10 +371,8 @@ status_t AudioHardware::setMode(int mode) status = AudioHardwareBase::setMode(mode); LOGV("setMode() : new %d, old %d", mMode, prevMode); if (status == NO_ERROR) { - bool modeNeedsCPActive = mMode == AudioSystem::MODE_IN_CALL || - mMode == AudioSystem::MODE_RINGTONE; // activate call clock in radio when entering in call or ringtone mode - if (modeNeedsCPActive) + if (prevMode == AudioSystem::MODE_NORMAL) { if ((!mActivatedCP) && (mSecRilLibHandle) && (connectRILDIfRequired() == OK)) { setCallClockSync(mRilClient, SOUND_CLOCK_START); @@ -399,7 +397,7 @@ status_t AudioHardware::setMode(int mode) setVoiceVolume_l(mVoiceVol); mInCallAudioMode = true; } - if (mMode != AudioSystem::MODE_IN_CALL && mInCallAudioMode) { + if (mMode == AudioSystem::MODE_NORMAL && mInCallAudioMode) { setInputSource_l(mInputSource); if (mMixer != NULL) { TRACE_DRIVER_IN(DRV_MIXER_GET) @@ -428,7 +426,7 @@ status_t AudioHardware::setMode(int mode) mInCallAudioMode = false; } - if (!modeNeedsCPActive) { + if (mMode == AudioSystem::MODE_NORMAL) { if(mActivatedCP) mActivatedCP = false; } |