summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2011-03-14 11:23:56 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-03-14 11:23:56 -0700
commit733cb79a27fa434a1f5548201c953131285b4e81 (patch)
tree1436fbbe8db43a3be16d440ad2369743a130b0ea /media
parentad707d8f9aaff9cd1a121cb769772c921d870117 (diff)
parent3cbfd10bbb869f763880060ebe01dd66da62bbc3 (diff)
downloadframeworks_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.java48
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;
}
}
}