Files
hardware_interfaces/audio
Mikhail Naganov 0479020425 audio: Run VTS tests for non-primary modules for HAL V6
Implement parsing of AudioPolicyManager config for finding
out declared modules (IDevice instances) with permanently
attached devices and run tests for them. This only applies
when running tests for HAL V6.

Change class hierarchy to use IDevice interface as much as
possible, only use IPrimaryDevice for its specific methods.

Fix the following issues found while running the tests
for "r_submix" and "msd" modules:

- IDevice::getMicrophones can return NOT_SUPPORTED status;

- IDevice::get/setParameters can return NOT_SUPPORTED.

Other changes:

- Factor out common code for getting devices via DeviceManager;

- Factor out AudioPolicyConfigTest.HasPrimaryModule test from
  SetUp code;

- Add device parameter generator for primary device only.

Bug: 141989952
Bug: 141847510
Test: atest VtsHalAudioV5_0TargetTest
      atest VtsHalAudioV6_0TargetTest
      also, run modified V5_0 test using generators for V6_0

Change-Id: I51cec21670120d8dce75609954a18b886cc0c18d
2019-11-01 11:29:40 -07:00
..
2019-04-17 09:38:50 -07:00
2019-10-11 23:32:30 +00:00
2019-10-24 16:56:33 -07:00

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