mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Parametrize tests to accept IDevicesFactory instance name
and IDevice instance name. For audio HAL versions 2..5
the factory instance name is taken from the VTS environment,
and the device is always "primary". For the next versions
the factories are discovered by the test, and the devices
are taken from the audio policy configuration
(to be implemented, see added FIXME comments).
Split the Environment class into two versions: for HAL 2..5
and for next versions. They use different base class.
Move device factories and device caching into dedicated
classes DevicesFactoryManager and DeviceManager. They deal
with instance caching and proper release of server resources.
Bug: 141847510
Bug: 141989952
Test: atest VtsHalAudioV5_0TargetTest
atest VtsHalAudioV6_0TargetTest
Change-Id: I92c44e0c3f900164dded7e9c4bfc642ca2c335db
Directory structure of the audio HIDL related code.
audio
|-- 2.0 <== core 2.0 HIDL API. .hal can not be moved into the core directory
| because that would change its namespace and include path
|-- 4.0 <== Version 4.0 of the core API
|
|-- ...
|
|-- common <== code common to audio core and effect API
| |-- 2.0 <== HIDL API of V2
| |-- 4.0
| |-- ...
| `-- all_versions <== code common to all version of both core and effect API
| |-- default <== implementation shared code between core and effect impl
| |-- test <== utilities used by tests
| `-- util <== utilities used by both implementation and tests
|
|-- core <== VTS and default implementation of the core API (not HIDL, see /audio/2.0))
| `-- all_versions <== Code is version independent through #if and separate files
| |-- default <== code that wraps the legacy API
| `-- vts <== vts of core API
| |-- 2.0 <== 2.0 specific tests and helpers
| |-- 4.0
| |-- ...
|
`-- effect <== idem for the effect API
|-- 2.0
|-- 4.0
|-- ...
`-- all_versions
|-- default
`-- vts