alsa_device_proxy keeps a pointer to alsa_device_proxy,
but does not own it. Thus, the lifetime of the proxy must
be no less than of the proxy. In the legacy USB HAL impl
they were stored together (struct alsa_device_info).
Implement an equivalent class (DeviceProxy) in ALSA utils.
Bug: 264712385
Bug: 298712227
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I4e36701752afb3f35664b6f2ad1acda5719be1ea
When a effect is closed and reopened from framework,
mExit and mStop states are not reset,that causes
threadloop to exit and eventually blocks framework
as FMQs are never filled from effects HAL.
Reset the state of mExit and mStop on every time when
thread is created, so open->close->open kind of
scenarios can be handled.
Bug: 301214647
Test: run vts-hal-audio
Change-Id: If54c8fa62827e5f28e620dd841d638028149b1b8
Negative test cases should not expect UNKNOWN_ERROR from Keymint since
the exact cause of failure is known.
In general, we should avoid UNKNOWN_ERROR because it makes error
attribution difficult.
To avoid adding retroactive requirements KM implementation, relax the
check to expect any error.
Bug: 298194325
Test: VtsAidlKeyMintTargetTest
Change-Id: I136fb6d36ae92c9e3722ffefe9a067d3515dcbf9
std::unique consolidates the unique nonces at the start of the `nonces`
vector, but it doesn't modify nonces.size(), so these tests weren't
actually verifying that the nonces were unique. Add a vector::erase
call to shrink the vector.
After upgrading libc++, std::unique is [[nodiscard]] and this bug is
a compiler error.
Bug: 175635923
Test: treehugger
Test: m VtsAidlSharedSecretTargetTest VtsHalKeymasterV4_0TargetTest
Change-Id: I7fd8c40a3920bf3a8988c8065503c78ba36dc742
The transmit without openning a channel passes on some platforms,
because a basic channel can be opened by external applications
and the state is maintained in the HAL.
Bug: 300502872
Test: run vts -m VtsHalSecureElementTargetTest
Change-Id: If727c613e8575802b99604f7242e16cf85fc97a0
_LIBCPP_VERSION in external/libcxx is 8000. When _LIBCPP_VERSION is
newer, assume it's the new libc++ toolchain prebuilt, which has a
finalized std::filesystem, and use std::filesystem instead. To make
Soong happy, keep the android.hardware.automotive@libc++fs library for
now but stub out the C++ source files and make the
android::hardware::automotive::filesystem namespace an alias for
std::filesystem.
Bug: 152067309
Bug: 175635923
Test: treehugger
Test: m android.hardware.automotive.can@1.0-service
Test: m android.hardware.automotive@libc++fs
Change-Id: I7aede74cda0122434d972a075d7c7a9933845450
Check the VSR of the device to select the DICE validation rules that
will be appropriate to use for VTS.
Test: TH
Change-Id: Iff19debd1e442a0b318da1a4d8a08d470efba0ae
Check audioModeIndication/audioSourceIndication/volume flags and only
test if they are supported
Bug: 300735428
Test: atest VtsHalAudioEffectTargetTest
Change-Id: I539b408fcdb73c25984ec8f39b401475a3ccab69
The HAL implementation is used by cuttlefish and goldfish now. To not
break the usage in goldfish, the HAL binary is kept unchanged.
Bug: 297467444
Test: VtsHalDumpstateTargetTest
Change-Id: I1474128e653c5df1068f33dfae8d3f2762e9cb47
It's typical to make the HAL binary to link its dependencies statically
to make the resulting APEX smaller. Will do it as a follow-up.
Bug: 297467264
Test: VtsAidlHalContextHubTargetTest
Change-Id: Icbc558d81a473b5ea01d2d0b5f7090fcb5365085
To make the binary(and the apex) smaller, refactored dependency types.
The binary in the apex is now statically linked to its dependencies
if possible.
Bug: 297467553
Test: VtsHalBootAidlTargetTest
Change-Id: I4052c802cf0b6cd9ace4cd87bce6d5531a259237