diff options
| author | Andre Eisenbach <eisenbach@google.com> | 2014-10-28 17:03:18 -0700 |
|---|---|---|
| committer | Andre Eisenbach <eisenbach@google.com> | 2014-10-29 09:56:41 -0700 |
| commit | 570cc5302a2e076f2b6ce810f9ac6f3c53bcd125 (patch) | |
| tree | 1d9dc08052856189e2a5f262ea28df0e10fb5636 | |
| parent | f5c00c1c1136c9752b9c0157f9eca6385d7b9448 (diff) | |
| download | frameworks_base-570cc5302a2e076f2b6ce810f9ac6f3c53bcd125.zip frameworks_base-570cc5302a2e076f2b6ce810f9ac6f3c53bcd125.tar.gz frameworks_base-570cc5302a2e076f2b6ce810f9ac6f3c53bcd125.tar.bz2 | |
Fix exception in AudioService when no BT Headset is connected.
If AudioManager.startBluetoothSco() is invoked with no Bluetooth Headset
connected, a NullPointerException will ensue.
Added check to make sure mBluetoothHeadsetDevice is set before accessing
it.
Bug: 17601845
Change-Id: Ia00bfffbea5484230b11a74787fe3309c18f824d
| -rw-r--r-- | media/java/android/media/AudioService.java | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java index a84fe44..6a69517 100644 --- a/media/java/android/media/AudioService.java +++ b/media/java/android/media/AudioService.java @@ -2574,13 +2574,17 @@ public class AudioService extends IAudioService.Stub { if (mScoAudioState == SCO_STATE_INACTIVE) { mScoAudioMode = scoAudioMode; if (scoAudioMode == SCO_MODE_UNDEFINED) { - mScoAudioMode = new Integer(Settings.Global.getInt( - mContentResolver, - "bluetooth_sco_channel_"+ - mBluetoothHeadsetDevice.getAddress(), - SCO_MODE_VIRTUAL_CALL)); - if (mScoAudioMode > SCO_MODE_MAX || mScoAudioMode < 0) { - mScoAudioMode = SCO_MODE_VIRTUAL_CALL; + if (mBluetoothHeadsetDevice != null) { + mScoAudioMode = new Integer(Settings.Global.getInt( + mContentResolver, + "bluetooth_sco_channel_"+ + mBluetoothHeadsetDevice.getAddress(), + SCO_MODE_VIRTUAL_CALL)); + if (mScoAudioMode > SCO_MODE_MAX || mScoAudioMode < 0) { + mScoAudioMode = SCO_MODE_VIRTUAL_CALL; + } + } else { + mScoAudioMode = SCO_MODE_RAW; } } if (mBluetoothHeadset != null && mBluetoothHeadsetDevice != null) { |
