diff options
author | Jack He <siyuanh@google.com> | 2018-05-02 19:10:56 -0700 |
---|---|---|
committer | Jack He <siyuanh@google.com> | 2018-05-04 19:49:49 -0700 |
commit | 09ca4a4c07d360218ab9ca40e6c2ae7fbf485aec (patch) | |
tree | a3d9f012fdbf5a48b7b4a4b43491315419594e7b /framework/java/android/bluetooth/BluetoothManager.java | |
parent | 7cffaa9a37e485c6d204060cc647470a70f055d7 (diff) |
Bluetooth: Fix HFP SCO logic and documentation
AudioService:
* Call setBtScoActiveDevice and setBluetoothScoOn both in AudioService's
broadcast receiver so that these two methods must be triggerred in
the same sequence as ACTIVE_DEVICE_CHANGED and AUDIO_STATE_CHANGED
intents are sent and we no longer need to handle race condition by
synchronously checking active device in setBluetoothScoOn
* Default sco audio mode when no headset is active should be virtual
voice call, as many HFP devices do not accept SCO audio without an
ongoing call
* Synchronize checkScoAudioState() method with mScoClients
* Add helper functions connectBluetoothScoHelper and
disconnectBluetoothScoHelper to call various SCO setup and tear down
methods based on sco audio mode
* Try raw, virtual call, and voice recognition mode when disconnecting
externally started SCO
* Add new sco state SCO_STATE_DEACTIVATING to allow back to back calling
of startBluetoothSco and stopBluetoothSco
Audio Manager:
* Modified AudioManager logic so that removed devices callback is called
before newly added devices
BluetoothHeadset:
* Modified BluetoothHeadset so that start and stop SCO using virtual
voice call no longer need a parameter and will use active device by
default
* Modified documentation around various sco mangement APIs to match
their expected behaviors
Bug: 76114959
Test: VoIP calls sanity test cases
Change-Id: Id50db88f4ff36069b0f392c81dd9d90c24cd2206
Diffstat (limited to 'framework/java/android/bluetooth/BluetoothManager.java')
0 files changed, 0 insertions, 0 deletions