summaryrefslogtreecommitdiffstats
path: root/media/java
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2009-06-16 08:23:13 -0400
committerMike Lockwood <lockwood@android.com>2009-06-16 08:23:13 -0400
commitd1f362fe144e6cbcb759fa9086a80adbfe9c7589 (patch)
treee37ac183cc601e4cfce5ee4518437128ce20bdc9 /media/java
parent8cae2daf9853cdb70826ae16cda31b9b45631c33 (diff)
downloadframeworks_base-d1f362fe144e6cbcb759fa9086a80adbfe9c7589.zip
frameworks_base-d1f362fe144e6cbcb759fa9086a80adbfe9c7589.tar.gz
frameworks_base-d1f362fe144e6cbcb759fa9086a80adbfe9c7589.tar.bz2
AudioService: Fix routing problem recently introduced in setRouting().
Do not disable a route unless routes is zero, to avoid accidentally disabling if the same route is enabled twice in a row. Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'media/java')
-rw-r--r--media/java/android/media/AudioService.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java
index da15adf..937baad 100644
--- a/media/java/android/media/AudioService.java
+++ b/media/java/android/media/AudioService.java
@@ -668,7 +668,7 @@ public class AudioService extends IAudioService.Stub {
mSpeakerIsOn = true;
mRoutes[AudioSystem.MODE_IN_CALL] = AudioSystem.ROUTE_SPEAKER;
incallMask = AudioSystem.ROUTE_ALL;
- } else if (mSpeakerIsOn) {
+ } else if (routes == 0 && mSpeakerIsOn) {
mSpeakerIsOn = false;
if (mBluetoothScoIsConnected) {
mRoutes[AudioSystem.MODE_IN_CALL] = AudioSystem.ROUTE_BLUETOOTH_SCO;
@@ -695,7 +695,7 @@ public class AudioService extends IAudioService.Stub {
// should not affect A2DP routing
ringtoneMask = AudioSystem.ROUTE_ALL & ~AudioSystem.ROUTE_BLUETOOTH_A2DP;
normalMask = AudioSystem.ROUTE_ALL & ~AudioSystem.ROUTE_BLUETOOTH_A2DP;
- } else if (mBluetoothScoIsConnected) {
+ } else if (routes == 0 && mBluetoothScoIsConnected) {
mBluetoothScoIsConnected = false;
if (mHeadsetIsConnected) {
mRoutes[AudioSystem.MODE_IN_CALL] = AudioSystem.ROUTE_HEADSET;
@@ -739,7 +739,7 @@ public class AudioService extends IAudioService.Stub {
ringtoneMask = AudioSystem.ROUTE_ALL & ~AudioSystem.ROUTE_BLUETOOTH_A2DP;
normalMask = AudioSystem.ROUTE_ALL & ~AudioSystem.ROUTE_BLUETOOTH_A2DP;
}
- } else if (mHeadsetIsConnected) {
+ } else if (routes == 0 && mHeadsetIsConnected) {
mHeadsetIsConnected = false;
// do not act upon headset disconnection if bluetooth SCO is connected to match phone app behavior
if (!mBluetoothScoIsConnected) {
@@ -772,7 +772,7 @@ public class AudioService extends IAudioService.Stub {
// so there is no need to disable other routes.
ringtoneMask = AudioSystem.ROUTE_BLUETOOTH_A2DP;
normalMask = AudioSystem.ROUTE_BLUETOOTH_A2DP;
- } else if (mBluetoothA2dpIsConnected) {
+ } else if (routes == 0 && mBluetoothA2dpIsConnected) {
mBluetoothA2dpIsConnected = false;
mRoutes[AudioSystem.MODE_RINGTONE] &= ~AudioSystem.ROUTE_BLUETOOTH_A2DP;
mRoutes[AudioSystem.MODE_NORMAL] &= ~AudioSystem.ROUTE_BLUETOOTH_A2DP;