am cfd15dd3: Fix the IN_CALL mode issue.

Merge commit 'cfd15dd3c8554cbbcb5822a0fdf6ca31d6b28acf' into gingerbread-plus-aosp

* commit 'cfd15dd3c8554cbbcb5822a0fdf6ca31d6b28acf':
  Fix the IN_CALL mode issue.
This commit is contained in:
Chung-yih Wang
2010-08-16 03:26:41 -07:00
committed by Android Git Automerger
2 changed files with 11 additions and 15 deletions

View File

@@ -191,11 +191,8 @@ public interface SipAudioCall {
*/ */
void continueCall() throws SipException; void continueCall() throws SipException;
/** Puts the device to in-call mode. */
void setInCallMode();
/** Puts the device to speaker mode. */ /** Puts the device to speaker mode. */
void setSpeakerMode(); void setSpeakerMode(boolean speakerMode);
/** Toggles mute. */ /** Toggles mute. */
void toggleMute(); void toggleMute();

View File

@@ -485,16 +485,9 @@ public class SipAudioCallImpl extends SipSessionAdapter
return mMuted; return mMuted;
} }
public synchronized void setInCallMode() { public synchronized void setSpeakerMode(boolean speakerMode) {
((AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE)) ((AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE))
.setSpeakerphoneOn(false); .setSpeakerphoneOn(speakerMode);
((AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE))
.setMode(AudioManager.MODE_NORMAL);
}
public synchronized void setSpeakerMode() {
((AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE))
.setSpeakerphoneOn(true);
} }
public void sendDtmf(int code) { public void sendDtmf(int code) {
@@ -587,8 +580,15 @@ public class SipAudioCallImpl extends SipSessionAdapter
Log.d(TAG, " not sending"); Log.d(TAG, " not sending");
audioStream.setMode(RtpStream.MODE_RECEIVE_ONLY); audioStream.setMode(RtpStream.MODE_RECEIVE_ONLY);
} }
} else {
/* The recorder volume will be very low if the device is in
* IN_CALL mode. Therefore, we have to set the mode to NORMAL
* in order to have the normal microphone level.
*/
((AudioManager) mContext.getSystemService
(Context.AUDIO_SERVICE))
.setMode(AudioManager.MODE_NORMAL);
} }
setInCallMode();
AudioGroup audioGroup = new AudioGroup(); AudioGroup audioGroup = new AudioGroup();
audioStream.join(audioGroup); audioStream.join(audioGroup);
@@ -614,7 +614,6 @@ public class SipAudioCallImpl extends SipSessionAdapter
mRtpSession = null; mRtpSession = null;
} }
} }
setInCallMode();
} }
private int getLocalMediaPort() { private int getLocalMediaPort() {