This is implementation of Hearing Aid Profile that will in future
be connected to Bluetooth Manager - see TODOs in BluetoothHearingAid.java
Bug: 69623109
Test: compilation. Manual test with HA.
Change-Id: I79643ea1e14e9df7f5771169359c964a60c56618
As part of new SL4A tests for LE CoC to measure data throughput, this
commit adds a function to set the LE Tx Data Length parameter to its
maximum.
Test: Ran the new ACTS Tests for LE CoC (BleCocTest and BleCoc2ConnTest)
Bug: 70683224
Change-Id: Iea93f6cb9f4f7cc484f121afa158d7dae18d1ef1
As part of new SL4A tests for LE CoC to measure data throughput
performance, this commit will add a function to enable the CoC Facade
to modify the LE Connection Parameters especially the Connection
Intervals.
Test: Ran the new ACTS Tests for LE CoC
Bug: 70683224
Change-Id: Ie071b09a44d68fe063198a39eb788c434b092442
* Update usage of A2dpService API calls that take BluetoothDevice
as an additional argument
* Update the description for BluetoothA2dp.connect()
Exempt-From-Owner-Approval: De-facto owner of the relevant changes is
the Bluetooth team.
Bug: 69269748
Test: Manual
Change-Id: I190ed48ef65bbc8b88b45f84ebd6ab3d21cf0b4e
Merged-In: I190ed48ef65bbc8b88b45f84ebd6ab3d21cf0b4e
(cherry picked from commit 502af2192c)
The API can be used to obtain the maximum number of connected
devices for A2DP or HFP.
Test: Manual
Bug: 64767509
Change-Id: I80b8a1c85e33ae0b23fdc4812f8991a4202d9abc
Experimental and hidden APIs are defined for the Connection-oriented Channel
(CoC) features. The APIs using PSM are implemented.
Test: Can compile
Bug: 70683224
Change-Id: Icdb5fa190b0e21881a60437fa48cd575371ee1e4
Add a flag to the BluetoothHeadsetClientCall indicating the current
status of in band ring on the connected phone.
Bug: 65673832
Test: runtest bluetooth -c
com.android.bluetooth.hfpclient.HeadsetClientStateMachineTest
Change-Id: I7e839f2790b1a27d336528e93bc8a4c8d8ff3036
(cherry picked from commit f780364a9a1f6171860cbdf4e1b41a01ee7d88c6)
These constants are used by GMSCore car module via reflection. Make
them system API.
Bug: 67052734
Test: Manual - and using make update-api
Change-Id: I0709c0e0eb9fcb9fb29d575e9b74927a70b2a924
* Use BluetoothHeadset.isInbandRingingEnabled() API to check whether
in-band ringing is currently enabled in the system when deciding on
audio routes for ringtone
* Add this as a hidden internal API for system components
Bug: 71646213
Test: make, toggle in-band ringing from Development Settings and observe
whether Telecom service tries to open SCO when there is an
incoming call
Change-Id: I1ef0dd2b54ace7649ddd1f043f0ef5847743a5c4
1. Call BluetoothHeadset.setActiveDevice(BluetoothDevice device) to set
a connected HFP/HSP device as active.
2. Listen for BluetoothHeadset.ACTION_ACTIVE_DEVICE_CHANGED intent
that will contain the latest active device (in EXTRA_DEVICE field).
If the active device could not be changed, the EXTRA_DEVICE
field could be null.
3. If setActiveDevice() is NOT in-progress, BluetoothA2dp.getActiveDevice()
can be used. If setActiveDevice() is in-progress, the result is undefined.
4. BluetoothHeadset.setActiveDevice() could be called by some other parts of
the system, so interested parties should always listen for
BluetoothHeadset.ACTION_ACTIVE_DEVICE_CHANGED intents and prepared
for active device updates.
Bug: 68951996
Test: manual
Change-Id: I22ca639a04fed7bf17df59c405ddeda90dafb8ff
There are some number of places where bluetooth APIs are used via
reflection from GMSCore. Add proper annotations.
Bug: 67052734
Test: Manual - and using make update-api
Change-Id: Ib6e3aa1ff5b6f9cdc78367f9be13ed00542d6f65
(cherry picked from commit 64bd35ef2c)
1. Call BluetoothA2dp.setActiveDevice(BluetoothDevice device) to set
a connected A2DP device as active.
The value of "device" could be null to clear the active device
and stop streaming audio to a Bluetooth device.
2. Listen for BluetoothA2dp.ACTION_ACTIVE_DEVICE_CHANGED intent
that will contain the latest active device (in EXTRA_DEVICE field).
If the active device could not be changed, the EXTRA_DEVICE
field could be null.
3. If setActiveDevice() is NOT in-progress, BluetoothA2dp.getActiveDevice()
can be used. If setActiveDevice() is in-progress, the result is undefined.
4. BluetoothA2dp.setActiveDevice() could be called by some other parts of
the system, so interested parties should always listen for
BluetoothA2dp.ACTION_ACTIVE_DEVICE_CHANGED intents and prepared
for active device updates.
Bug: 71555243
Test: Manual
Change-Id: I661b6882e8e6b437db50210aec1dd12a10199969
Enable the BluetoothHidDevice API in framework.
Bug: 63384609
Test: SL4A HID test; test with apps using BluetoothHidDevice
Merged-In: I52ca4674f11179f865bdff22e0289dfe893c40f5
Change-Id: I52ca4674f11179f865bdff22e0289dfe893c40f5
(cherry picked from commit 7bb587d72b)
* BluetoothPbap will implement BluetoothProfile to be consistent with
other profiles
* Changed the method names to match the BluetoothProfile method
signatures
* Removed doesClassMatchSink() as it is never used
* Disable default DEBUG logs
Test: test with carkits
Bug: 69417672
Change-Id: I0766188f77468808d7505780c781f5fd8608af60
* Add method to convert the following state values to string
- BluetoothHeadset.STATE_DISCONNECTED
- BluetoothHeadset.STATE_CONNECTING
- BluetoothHeadset.STATE_CONNECTED
- BluetoothHeadset.STATE_DISCONNECTING
Test: make
Change-Id: Iaa5b6e35d3214ded8edbe29d626e0869651417d1
The following hidden API methods are not implemented by the stack and
should be removed:
- getBatteryUsageHint()
- acceptIncomingConnect()
- rejectIncomingConnect()
The following hidden API methods are no longer needed due to lack of
usage and should be removed:
- enableWBS()
- disableWBS()
- bindResponse()
Bug: 70336991
Test: make
Change-Id: I75bd6735573e4cbc61b5bef8722b8badac2e9170
* Reformat code with google-java-format
* Add the note that When an application is registered, the HID Host service
will be disabled until it is unregistered
* Fix the links in docstring
* Add @hide to unplug(); this is not a public API
Bug: 63384609
Test: make
Change-Id: I5dfcaab58b02c19e5745461c16602064a0ad8b83
* Add a builder for BluetoothHidDeviceAppQosSettings
* Add documentation for BluetoothHidDeviceAppSdpSettings
and BluetoothHidDeviceAppQosSettings
* Fix the behavior of and BluetoothHidDeviceAppSdpSettings.equals()
and BluetoothHidDeviceAppQosSettings.equals()
Bug: 63384609
Test: test with HID device apps
Change-Id: I933f4ec3034e1f704ddd614e48b76d27fda8b6ff
Add Profile Proxy for HID Device Profile.
* Add a helper method doUnbind() to deal with unbinding to Bluetooth HID
Service.
* Fix docstrings.
Bug: 63384609
Test: SL4A Bluetooth HID test
Change-Id: I168c21c3b010baac9889c556635b914c0ba3f267
Adds API to fetch Bluetooth CoD value of the stack. The API is hidden to
only be used by System code.
Bug: 36015415
Test: Verified fetching of COD from test app on flashed device, after modification
and after after reboot.
Change-Id: Ie35ecf141704c2aac46678da7cabdc7203a088f2
Make the Bluetooth HID profile name consistent with the Bluetooth HID service
name.
BluetoothInputHost → BluetoothHidDevice
BluetoothInputDevice → BluetoothHidHost
IBluetoothInputHost → IBluetoothHidDevice
IBluetoothInputDevice → IBluetoothHidHost
BluetoothProfile.INPUT_HOST → BluetoothProfile.HID_DEVICE
BluetoothProfile.INPUT_DEVICE → BluetoothProfile.HID_HOST
(Cherry-picked from commit c26c76c63d)
Merged-In: Iadb890a54dd3d6868b87514472bbac6bb0c6179f
Bug: 68055651
Test: make
Change-Id: Iadb890a54dd3d6868b87514472bbac6bb0c6179f
Create new Settings key for storage and update the API doc.
Bug: 36015415
Test: Verified by storing a value through a test app and restarting the
machine to ensure it's picked up.
Change-Id: I94aa054e525c4656bb3a824a29cae9c88f8904e0
* Use ACTION_CONNECTION_STATE_CHANGED to broadcast connection state
change to comply with BluetoothProfile interface requirement
* Use BluetoothProfile.STATE_* variables to represent connection
states for PBAP profile
Bug: 63873163
Test: Connect to car kits
Change-Id: I7dfcfc1b3a3e4868ea5e313f62ad5e504d58b9c2