diff options
| author | Mike Lockwood <lockwood@android.com> | 2009-06-16 08:23:13 -0400 |
|---|---|---|
| committer | Mike Lockwood <lockwood@android.com> | 2009-06-16 08:23:13 -0400 |
| commit | d1f362fe144e6cbcb759fa9086a80adbfe9c7589 (patch) | |
| tree | e37ac183cc601e4cfce5ee4518437128ce20bdc9 /media/java | |
| parent | 8cae2daf9853cdb70826ae16cda31b9b45631c33 (diff) | |
| download | frameworks_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.java | 8 |
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; |
