For whitelist connections we always use all possible PHYs, for direct
connection use PHY specified by client.
Test: manual
Bug: 30622771
Change-Id: I13242608385230371e8a9170fc21e3f1b0a74c78
This patch wires up fist methods of AdvertisingSet, making it possible
to start advertising and stop advertising. It also replaces legacy
implemementation with calls to new implementation.
Bug: 30622771
Test: sl4a ConcurrentBleAdvertisingTest
Change-Id: I4a2739528fe114547f747d9719a4d47de7ce5589
Wire the new feature check API to actual values received from the
controller.
Test: manual
Bug: 30622771
Change-Id: I76d373b94fd3d4d637ddae637a8424d463286837
There's a problem with enabling the transient trigger in the HAL, that is
the trigger function exports tree properties - activate, state, and
duration which require to be chown'd to system:system during the init
process. Hence, the trigger will be now enabled in the init process and
the HAL will use the "activate" property to determine if the device has
vibrator support via ledtrig-transient.
Test: device vibrates with the driver supports ledtrig-transient
Change-Id: Ieb195ddc199c6372f5dcf3ca1b2be4fd59724717
Signed-off-by: David Lin <dtwlin@google.com>
The remaining four native callbacks need more internal refactoring
before they can be turned into a callbacks.
Bug: 30622771
Test: sl4a FilteringTest
Change-Id: I5aea0485c88605d34ccf8e0a27202469bb5c0ff4
Previously, the relative codec priorities were hard-codec internally.
The new mechanism uses the following configurable resources in
packages/apps/Bluetooth/res/values/config.xml to re-assign the
default codec priorities per device, or to explicitly disable a codec.
- a2dp_source_codec_priority_sbc
- a2dp_source_codec_priority_aac
- a2dp_source_codec_priority_aptx
- a2dp_source_codec_priority_aptx_hd
- a2dp_source_codec_priority_ldac
Those values are assigned on startup.
Also, they can be changed per device by using an overlay:
device/<VENDOR>/<DEVICE>/overlay/packages/apps/Bluetooth/res/values/config.xml
Test: Manually streaming to a headset
Change-Id: I432174975d7afbecb8f27cb0e55f5aa816c6e64e
Previously, the JNI upcall would contain only the current codec config.
In the new API, the upcall contains:
1. The current codec config
2. The list of codecs containing the local codecs capabilities
3. The list of codecs containing the selectable codecs capabilities.
This list is the intersection of the local codecs capabilities
and the capabilities of the paired device.
Also, changed the btav_a2dp_codec_priority_t type to enum.
Test: A2DP streaming with headsets and switching the codecs
Change-Id: Icb1c7e0ac6a81e4283fb5353ec2c36712587e0e1
The codec can be used if the encoding shared library is installed
on the device:
libldacBT_enc.so
Test: A2DP streaming to LDAC headsets
Bug: 30958229
Change-Id: I53917bb3cc18630a34d39c80425cdf80a1221793
Each of the codecs can be used if the corresponding encoding
shared library is installed on the device:
- aptX: libaptX.so
- aptX-HD: libaptXHD.so
Test: A2DP streaming to aptX and aptX-HD headsets
Bug: 30958229
Change-Id: If827933e4ea5d9d55eadff369db0eeeeb27a03ce
* Introduced new generic API for representing A2DP codec configuration
or capability: codec type, priority, sample rate, bits per sample,
channel mode, and codec-specific fields.
The new structure is btav_a2dp_codec_config_t
* Split the A2DP callback structure into two: one for A2DP Source callbacks,
and one for A2DP Sink callbacks:
OLD: btav_callbacks_t
NEW: btav_source_callbacks_t and btav_sink_callbacks_t
* Split the A2DP BT-AV interface into two: one for A2DP Source, and one for
A2DP Sink:
OLD: btav_interface_t
NEW: btav_source_interface_t and btav_sink_interface_t
Test: A2DP streaming to headsets, TestPlans/71390
Bug: 30958229
Change-Id: If6a10bb95eb0fa4106123283b934d372aebad2bc
This patch adds support for HID Device Role in HAL so that jni
layer can communicate wtih Bluedroid Stack when calling HID Device
API's and callbacks.
Bug: 33011576
Change-Id: I591f477ee58924a9003d6e733dcbbc4e8a7d3202
This patch converts btgatt_scanner_interface_t struct into
BleScannerInterface class. It also refactors three most important
methods from this interface: RegisterAdvertiser, Scan, and Unregister.
Rest of this interface will be updated in following patches.
Bug: 30622771
Test: sl4a BleScanApiTest
Change-Id: I0b7dddc1e9906d825096e23a83a39ecc681d232c
This change is needed so we can remove the last instances
of "using std::vector" statements in hardware/libhardware.
Test: code compilation
Change-Id: Id728867f6b2e154a01ef56bda93d48def71b0e47