diff options
author | Eric Laurent <elaurent@google.com> | 2011-03-14 11:23:56 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-03-14 11:23:56 -0700 |
commit | 733cb79a27fa434a1f5548201c953131285b4e81 (patch) | |
tree | 1436fbbe8db43a3be16d440ad2369743a130b0ea /media | |
parent | ad707d8f9aaff9cd1a121cb769772c921d870117 (diff) | |
parent | 3cbfd10bbb869f763880060ebe01dd66da62bbc3 (diff) | |
download | frameworks_base-733cb79a27fa434a1f5548201c953131285b4e81.zip frameworks_base-733cb79a27fa434a1f5548201c953131285b4e81.tar.gz frameworks_base-733cb79a27fa434a1f5548201c953131285b4e81.tar.bz2 |
am 3cbfd10b: Merge "Partial fix for issue 3515250: video chat and SCO" into honeycomb-mr1
* commit '3cbfd10bbb869f763880060ebe01dd66da62bbc3':
Partial fix for issue 3515250: video chat and SCO
Diffstat (limited to 'media')
-rw-r--r-- | media/java/android/media/AudioService.java | 48 |
1 files changed, 22 insertions, 26 deletions
diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java index fd12e19..9d0cba3 100644 --- a/media/java/android/media/AudioService.java +++ b/media/java/android/media/AudioService.java @@ -110,6 +110,8 @@ public class AudioService extends IAudioService.Stub { private static final int MSG_PLAY_SOUND_EFFECT = 7; private static final int MSG_BTA2DP_DOCK_TIMEOUT = 8; private static final int MSG_LOAD_SOUND_EFFECTS = 9; + private static final int MSG_SET_FORCE_USE = 10; + private static final int BTA2DP_DOCK_TIMEOUT_MILLIS = 8000; @@ -1170,22 +1172,15 @@ public class AudioService extends IAudioService.Stub { if (!checkAudioSettingsPermission("setSpeakerphoneOn()")) { return; } - if (on) { - AudioSystem.setForceUse(AudioSystem.FOR_COMMUNICATION, AudioSystem.FORCE_SPEAKER); - mForcedUseForComm = AudioSystem.FORCE_SPEAKER; - } else { - AudioSystem.setForceUse(AudioSystem.FOR_COMMUNICATION, AudioSystem.FORCE_NONE); - mForcedUseForComm = AudioSystem.FORCE_NONE; - } + mForcedUseForComm = on ? AudioSystem.FORCE_SPEAKER : AudioSystem.FORCE_NONE; + + sendMsg(mAudioHandler, MSG_SET_FORCE_USE, SHARED_MSG, SENDMSG_QUEUE, + AudioSystem.FOR_COMMUNICATION, mForcedUseForComm, null, 0); } /** @see AudioManager#isSpeakerphoneOn() */ public boolean isSpeakerphoneOn() { - if (mForcedUseForComm == AudioSystem.FORCE_SPEAKER) { - return true; - } else { - return false; - } + return (mForcedUseForComm == AudioSystem.FORCE_SPEAKER); } /** @see AudioManager#setBluetoothScoOn() */ @@ -1193,24 +1188,17 @@ public class AudioService extends IAudioService.Stub { if (!checkAudioSettingsPermission("setBluetoothScoOn()")) { return; } - if (on) { - AudioSystem.setForceUse(AudioSystem.FOR_COMMUNICATION, AudioSystem.FORCE_BT_SCO); - AudioSystem.setForceUse(AudioSystem.FOR_RECORD, AudioSystem.FORCE_BT_SCO); - mForcedUseForComm = AudioSystem.FORCE_BT_SCO; - } else { - AudioSystem.setForceUse(AudioSystem.FOR_COMMUNICATION, AudioSystem.FORCE_NONE); - AudioSystem.setForceUse(AudioSystem.FOR_RECORD, AudioSystem.FORCE_NONE); - mForcedUseForComm = AudioSystem.FORCE_NONE; - } + mForcedUseForComm = on ? AudioSystem.FORCE_BT_SCO : AudioSystem.FORCE_NONE; + + sendMsg(mAudioHandler, MSG_SET_FORCE_USE, SHARED_MSG, SENDMSG_QUEUE, + AudioSystem.FOR_COMMUNICATION, mForcedUseForComm, null, 0); + sendMsg(mAudioHandler, MSG_SET_FORCE_USE, SHARED_MSG, SENDMSG_QUEUE, + AudioSystem.FOR_RECORD, mForcedUseForComm, null, 0); } /** @see AudioManager#isBluetoothScoOn() */ public boolean isBluetoothScoOn() { - if (mForcedUseForComm == AudioSystem.FORCE_BT_SCO) { - return true; - } else { - return false; - } + return (mForcedUseForComm == AudioSystem.FORCE_BT_SCO); } /** @see AudioManager#startBluetoothSco() */ @@ -1935,6 +1923,10 @@ public class AudioService extends IAudioService.Stub { } } + private void setForceUse(int usage, int config) { + AudioSystem.setForceUse(usage, config); + } + @Override public void handleMessage(Message msg) { int baseMsgWhat = getMsgBase(msg.what); @@ -2026,6 +2018,10 @@ public class AudioService extends IAudioService.Stub { // msg.obj == address of BTA2DP device makeA2dpDeviceUnavailableNow( (String) msg.obj ); break; + + case MSG_SET_FORCE_USE: + setForceUse(msg.arg1, msg.arg2); + break; } } } |