Extend to 600 ms sleep after BluetoothHci->close() to give HAL an ample
time to shutdown
Test: make, VtsHalBluetoothV1_0TargetTest
Bug: 176503623
Change-Id: If6d293167309b9dbcae94cf03199a6c95ecf9836
LC3 specification extends current supported sampling frequencies with
8kHz and 32kHz for LC3 codec for session and does not support yet higher
than 48kHz.
Along with additional supported session frequencies, valid software pcm
configuration is extended with missing frequencies for LC3 and extended
8kHz and 32kHz. Frequncies above not supported by LC3 are removed also.
Tag: #feature
Test: vts-tradefed run vts -m VtsHalBluetoothAudioV2_1TargetTest
Sponsor: jpawlowski@
Change-Id: If36c9c9aa102008adff7f77c58e272b79f7e2482
As described in source.android.com/devices/architecture/hidl/safe_union
value must be assigned through generated getter, rather than assigning it directly.
Test: vts-tradefed run vts -m VtsHalBluetoothAudioV2_1TargetTest
Sponsor: jpawlowski@
Bug: 150670922
Change-Id: Iefc7ee98163ec2b3387fc01c3d69c1dcd15e94bc
Audio configuration as safe union is guarded to not violate its discriminator
usage. Only one member can be set.
Change-Id: I98a94d81ea5bacca2407286746432b972aac4488
Data queue pointer should be checked if it's nullptr if codec
configuration is invalid. This covers more code in case of invalid pcm
configuration.
Tag: #stability
Test: vts-tradefed run vts -m VtsHalBluetoothAudioV2_1TargetTest
Sponsor: jpawlowski@
Bug: 173353147
Change-Id: Ib78f1615e7a15603dc6d73188edf1df7eab12b8b
Data queue should be set to nullptr if pcm configuration is invalid.
Otherwise previously set queue would be cosidered during check.
Tag: #stability
Test: vts-tradefed run vts -m VtsHalBluetoothAudioV2_1TargetTest
Sponsor: jpawlowski@
Fixes: 173353147
Bug: 173353147
Change-Id: I10ee061e1c75f73410a9d0a0b1eaace0e536addd
While Bluetooth stack ending a session, this CL does clean up first, and
then reports the change. All observers are able to get the correct
session state by invoking IsSessionReady() within the change callback.
Bug: 162065063
Test: manually
Change-Id: I920ea578d626d2e5844eb7c8a701636e20d7a219
HIDL libs are not necessarily part of VNDK now. Because some are
used by VNDK libs, they are still VNDK. But rest are now just
vendor-available.
.hidl_for_test files are also removed because they are used to exclude
test-purpose hidl libs from VNDK libs.
Instead, .hidl_for_system_ext files are added to tests/lazy to
distinguish them from others which are installed /system.
Bug: 143933769
Test: update-makefiles.sh && m com.android.vndk.current
Merged-In: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
Change-Id: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
(cherry picked from commit b0907a6bb8)
HIDL libs are not necessarily part of VNDK now. Because some are
used by VNDK libs, they are still VNDK. But rest are now just
vendor-available.
.hidl_for_test files are also removed because they are used to exclude
test-purpose hidl libs from VNDK libs.
Instead, .hidl_for_system_ext files are added to tests/lazy to
distinguish them from others which are installed /system.
Bug: 143933769
Test: update-makefiles.sh && m com.android.vndk.current
Merged-In: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
Change-Id: Ia81312dda340b6b5cbdd7a3c21e1d323bda39a4a
(cherry picked from commit b0907a6bb8)
The test doesn't need framework. It seems that the test can be flaky
when framework was stop/started earlier.
Bug: 154445273
Test: atest -a VtsHalBluetoothV1_0TargetTest \
VtsHalSapV1_0TargetTest \
VtsHalAudioV4_0TargetTest
Change-Id: I60f62923cfb826c5e33e9885ea08efdbe4c8f57e
Also remove the tests of the mock property functions themselves, and
rely on the libcutils/libbase testing.
Bug: http://b/151789258
Test: treehugger
Change-Id: I455ef0c2e4f19f6e69b8f65a3b6d4595717c81cd
For easy transition from SchedTune to UtilClamp, direct access to these
cgroups should be abstracted by using task profiles. Replace writepid
commands with new task_profiles command.
Bug: 155419956
Test: change .rc file and confirm task profile is applied
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Ie81da380a9343e098362f5fee5026799c4486e7e
Merged-In: Ie81da380a9343e098362f5fee5026799c4486e7e
For easy transition from SchedTune to UtilClamp, direct access to these
cgroups should be abstracted by using task profiles. Replace writepid
commands with new task_profiles command.
Bug: 155419956
Test: change .rc file and confirm task profile is applied
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Ie81da380a9343e098362f5fee5026799c4486e7e
Bug: 151896491
Test: local build
Exempt-From-Owner-Approval: This CL update suite name vts-core to vts as
the suite name is updated. This CL won't change test logic or behavior.
Change-Id: I562b4dc50765e953800a814a8fd84a01c1b9352b
Merged-In: I562b4dc50765e953800a814a8fd84a01c1b9352b
Bug: 151896491
Test: local build
Exempt-From-Owner-Approval: This CL update suite name vts-core to vts as
the suite name is updated. This CL won't change test logic or behavior.
Change-Id: I562b4dc50765e953800a814a8fd84a01c1b9352b
Merged-In: I562b4dc50765e953800a814a8fd84a01c1b9352b
C++20 will require members in a designated initializer to be in order
unlike C99.
Bug: 139945549
Test: mm
Change-Id: Ie34b4f3400439817bebd30ee0356e35a87c971e5
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Since these were combined into libhidlbase.
Bug: 135686713
Test: build only (libhwbinder/libhidltransport are empty)
Change-Id: I075670b64eebbbbd6a6ae0e84ad51bf1c6f5ba36
hidl-generated makefiles are now generated such that bpfmt(file) == file.
Bug: 67417008
Test: enable bpfmt hook
Change-Id: I1f69d292bc23a7cc293a66110cb02d597e1019ad
This is the default implementation of Bluetooth Audio Hal v2, and 3
providers are defined.
* BluetoothAudioProvider is the default provider, which is a stub when
no SessionType matched.
* A2dpSoftwareAudioProvider uses to replace the old A2DP legacy module
and uses IPC via HIDL interface between Bluetooth stack and Audio HAL.
* HearingAidAudioProvider uses to replace the Hearing Aids module which
uses UNIX socket as IPC and now there is HIDL based interface.
There is also a shared library named "libbluetooth_audio_session.so" to
provide the linkage directly between this HIDL and its HAL module,
bluetooth_audio. With this library, we can break the library dependency
and guarantee those symbols of libraries while compiling.
Bug: 111519504
Bug: 122503379
Test: boot and manual test
Change-Id: I54d86291482b7fb041a3ac3e171b68a4ed7bfa07
Initial VTS commit for the bluetooth.audio@2.0 HAL
Bug: 111519504
Test: VTS (VtsHalBluetoothAudioV2_0TargetTest) passed
Change-Id: Id607979724182de242c29747218f6b12880d6295
Add the ability to get a list of supported codecs and their capabilites
through the HIDL interface.
Bug: 111519504
Test: Compile
Change-Id: I61dff240a98d59cb99b526d8988d0d0245140ee4
Generalized Bluetooth Audio HAL interface.
It is similar to the original android.hardware.bluetooth.a2dp@1.0
interface with the following modifications:
* The session type can be one of the following:
- A2DP Software Encoding Datapath
- A2DP Hardware Encoding Datapath
- Hearing Aid Software Encoding Datapath
* For Hardware Offload Datapath (A2DP), the HAL interface is used only
for the control path
* For Software Encoding Datapath (A2DP or Hearing Aid), the HAL
interface is used for both the control and data paths
* Added Delay Report support: IBluetoothAudioHost.getPresentationPosition()
that was missing in the original android.hardware.bluetooth.a2dp@1.0
HAL interface.
* Removed "oneway" calls to avoid potential reordering of HAL calls:
b/111244402
* Updated SBC-specific codec configuration
* Added AAC-specific and LDAC-specific codec configuration
* Reorganized the original CodecConfiguration into two sections:
- PcmDataConfiguration: Audio PCM data configuration
- EncodedDataConfiguration: Encoded audio data codec configuration.
It is used only if the HAL is responsible for encoding the PCM audio
data.
* Added new HAL IBluetoothAudioProvidersFactory.
It is used to open an audio provider for an audio session as specified by
the session type and the codec configuration as negotiated with the
remote device.
Bug: 111519504
Test: manual
Change-Id: I2ee4cf50b177baee077cf0b5143dbeadda57c8fb
Merged-In: I2ee4cf50b177baee077cf0b5143dbeadda57c8fb
(cherry picked from commit fcc0732db4)
Generalized Bluetooth Audio HAL interface.
It is similar to the original android.hardware.bluetooth.a2dp@1.0
interface with the following modifications:
* The session type can be one of the following:
- A2DP Software Encoding Datapath
- A2DP Hardware Encoding Datapath
- Hearing Aid Software Encoding Datapath
* For Hardware Offload Datapath (A2DP), the HAL interface is used only
for the control path
* For Software Encoding Datapath (A2DP or Hearing Aid), the HAL
interface is used for both the control and data paths
* Added Delay Report support: IBluetoothAudioHost.getPresentationPosition()
that was missing in the original android.hardware.bluetooth.a2dp@1.0
HAL interface.
* Removed "oneway" calls to avoid potential reordering of HAL calls:
b/111244402
* Updated SBC-specific codec configuration
* Added AAC-specific and LDAC-specific codec configuration
* Reorganized the original CodecConfiguration into two sections:
- PcmDataConfiguration: Audio PCM data configuration
- EncodedDataConfiguration: Encoded audio data codec configuration.
It is used only if the HAL is responsible for encoding the PCM audio
data.
* Added new HAL IBluetoothAudioProvidersFactory.
It is used to open an audio provider for an audio session as specified by
the session type and the codec configuration as negotiated with the
remote device.
Bug: 111519504
Test: manual
Change-Id: I2ee4cf50b177baee077cf0b5143dbeadda57c8fb
* Add a 200ms sleep after BluetoothHci->close() to give HAL an ample
time to shutdown
* Add override modifier to certain serviceDied() callback
* Change from return to break in handle_no_ops
* Add more logging to TearDown()
Test: make, VtsHalBluetoothV1_0TargetTest
Bug: 119071943
Change-Id: I5c919a99fb651f8f52d1d34847e1f9b4325efcd5
* Unfortunately, glob pattern in OWNERS file cannot include
directory paths and hence **/vts/** mechanism doesn't work
* For now, we need an individual OWNERS file for each VTS directory that
we have
Test: make
Change-Id: Iacad2cb78152c06829632126c210c9585dce2a31
* Remove the action on property vts.native_server.on, the current one
will actually turn off the BT HAL service
Bug: 118637723
Test: make vts
vts-tradefed run vts -m VtsHalBluetoothV1_0Target
Change-Id: I5bcc0532d57c2f5f3b01a8df1bab8c358270ca73
- */vts/* only matches one layer of directories
e.g. a/vts/b is matched, a/b/vts/c is not matched
- **/vts/** matches everything up to a/b/c/vts/d/e/f
Test: make
Change-Id: I57ea4f2ab2fdeef5929895c7443a1d1097985dba
* Add Bluetooth related persons to OWNERS file for Bluetooth VTS tests
so that it is easier to develop VTS tests in the future
Test: make
Change-Id: I202145344582f9a5ad9dd367da897f5982db57eb
This is needed for some platforms
Bug: 74554159
Bug: 77213213
Test: walleye BT works
Change-Id: If0033c5a7fc09057415b27196fa4541e9aadfb4b
(cherry picked from commit 2d46875666)
When a device is restarted, the UART may go away before the
packetizer. Print an error and sleep in case it isn't really
a restart.
Bug: 70855323
Test: Repeated restarts, check for Bluetooth tombstones
Change-Id: I2b4e677451e826d40dcc9d063d80dc0e17fc9aca
Add mutex in function Send() and OnTimeout() to do mutual
exclusive access on lpm_wake_deasserted.
If lpm_wake_deasserted is out of sync with the actual
wake state, then platforms which use the lpm hint
will break.
Bug: 64299848
Test: run affected platform for a long period of time
and find that hci commands do not time out
Change-Id: I9f630d6f40f84b9c047c6488632cd44d6602bb14
hardware/interfaces/bluetooth/1.0/default/test/bluetooth_address_test.cc:59:39:
error: 'open' called with O_CREAT or O_TMPFILE, but missing mode
Bug: 31559095
Test: out/host/linux-x86/nativetest{,64}/bluetooth-address-unit-tests/bluetooth-address-unit-tests
Change-Id: I913c78e25eccaecf8830f1caf8e92f834ab8bb76
Removing whenever I see these in code reviews.
Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
Removing whenever I see these in code reviews.
Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d
Removing whenever I see these in code reviews.
Test: none
Merged-In: I4322f533a837d55618ec2ed2125e8966ace9d61d
Change-Id: I4322f533a837d55618ec2ed2125e8966ace9d61d