* changes:
audio: Run VTS tests for streams of non-primary modules for HAL V6
audio: Run VTS tests for non-primary modules for HAL V6
audio: Parametrize core VTS tests
audio: Parametrize effect VTS tests for V6.0
Implement parsing of AudioPolicyManager config for finding
out supported format configurations of streams. This only applies
when running tests for HAL V6. Previously format configurations
mandated by CDD were used for testing, this does not work well
for non-primary modules.
Fix the following issues found while running the tests
for "r_submix" and "msd" modules:
- IStream::getSupportedFormats must return a status
to indicate that this capability is not supported by HAL;
- it is allowed for IStream::setDevices to return
NOT_SUPPORTED status.
Other changes:
- Factor out helper functions for generating format
configurations;
- Fix generation of the channel mask component in the names
of tests that use AudioConfig, add sampling rate to test
names.
Squashed with the following commit to avoid breaking compilation:
audio vts: Remove explicit dependency on the new types
Avoid using the new ChannelMaskSet and SampleRateSet types
directly to simplify upstreaming.
Bug: 141989952
Bug: 141847510
Test: atest VtsHalAudioV5_0TargetTest
atest VtsHalAudioV6_0TargetTest
also, run modified V5_0 test using generators for V6_0
Change-Id: If0d330881901908e546baab89f63d3333003e355
Merged-In: If0d330881901908e546baab89f63d3333003e355
Since it is being replaced by an AIDL HAL interface.
Bug: 141828236
Test: N/A
Change-Id: Ie46843cd17540665f0575798ea97355e174a359c
Merged-In: Ie46843cd17540665f0575798ea97355e174a359c
Because this HAL was converted to AIDL.
Can't be completely removed until frameworks/base is refactored not to
use it, but doing this so no more dependencies are accidentally taken
downstream.
Bug: 141828236
Test: N/A
Change-Id: Ic920f59a1a0ad933e5c80c468700ef4514b4a9c9
To ensure we still have a HIDL vibrator service around for testing.
This is from running command:
git checkout 714220ef75707d826371c6c020c45663d6965f0c^ -- \
vibrator/1.3/example
Bug: 141828236
Test: N/A
Change-Id: Iffd5c8d4b95466f1b7b277c9f69d9a6001f12db8
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
Merged-In: I51cec21670120d8dce75609954a18b886cc0c18d
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
Merged-In: I92c44e0c3f900164dded7e9c4bfc642ca2c335db
A few issues were causing effects tests to fail:
- invalid effects were not actually invalid
- test for invalid effects improved to consider invalid effects and
strengths separately
- test sleeps for appropriate amount of time after requesting effect to
be performed
- logging used to diagnose issues left in place for convenience
Bug: 141828236
Test: atest VtsHalVibratorTargetTest (on device which suffers from these
issues that cf did not hit)
Change-Id: Id220d36c27d85f068dce6b8961f705eef8dc6a4f
* changes:
Allow device to have use Audio HAL V6
Introduce Audio V6
Change some formatting for better script parsing
Script to generate new audio HAL version
Convert audio HAL service mk to bp and rename the service
Audio service: Refactor register interface
Version dependant target should included version in name
If driver doesn't support the hotspot ACS feature.
It will cause ACS relate vts testcase failure.
Temp disable the vts test case and file b/140172237 to fix in R.
Bug: 135975451
Test: build - make vts
Test: atest VtsHalWifiHostapdV1_1Target / atest VtsHalWifiHostapdV1_0Target
Test: vts-tradefed run commandAndExit vts-hal --skip-all-system-status-check \
--primary-abi-only --skip-preconditions --module \
VtsHalWifiHostapdV1_0Target -l INFO
vts-tradefed run commandAndExit vts-hal --skip-all-system-status-check \
--primary-abi-only --skip-preconditions --module \
VtsHalWifiHostapdV1_1Target -l INFO
Change-Id: I489d5f5c54f37f3603128e127a6c8b1ee62390d3
This HAL is optional for now as breaking changed are planned.
It might get required for new device before R release.
Test: push V6 to device and check audio works fine
Bug: 134940862
Change-Id: Ib4a906da1c1d3d489003a6642bfc55b142424155
Merged-In: Ib4a906da1c1d3d489003a6642bfc55b142424155
Signed-off-by: Kevin Rocard <krocard@google.com>
Generate with ./newHal.sh 5.0
+ some typo fix in the .hal
+ some clang-tidy run
This new HAL is an exact copy of the V5.
It will be modified in following patches while R is developed.
Test: push V6 to device and check audio works fine
Bug: 134940862
Change-Id: Ic25d30175032e76e0d3208fb876451de9ae6b7b4
Merged-In: Ic25d30175032e76e0d3208fb876451de9ae6b7b4
Signed-off-by: Kevin Rocard <krocard@google.com>
Mostly automated script to generate a new Audio HAL major version.
Test: push V6 to device and check audio works fine
Bug: 134940862
Change-Id: I0da621e747eb48e75901a2a10cfc224f33864c3b
Merged-In: I0da621e747eb48e75901a2a10cfc224f33864c3b
Signed-off-by: Kevin Rocard <krocard@google.com>
The service supports multiple versions and its name should not be
version dependant.
For backward compatibility, keep the target name
android.hardware.audio@2.0-service (32bit only), existing
PRODUCT_PACKAGES do not have to be updated.
New products should depend on android.hardware.audio.service:32.
Additionally migrate to Android.bp, dropping support for
AUDIOSERVER_MULTILIB. Previously the HAL service architecture (32 vs 64)
would be the same as the audio server. This in not wanted as all android
audio HAL are 32 bits.
Bug: 121208203
Test: # Compare following commands before and after patch:
find $ANDROID_PRODUCT_OUT/vendor -name 'android.hardware.audio*'|xargs file
adb shell reboot # check device boots to UI and
# check the HAL restarts after the audioserver is killed
adb shell ps |grep audio; adb shell killall audioserver; adb shell ps
Change-Id: I25f41735175a6687a051ca1e5a7fee670eb8115e
Merged-In: I25f41735175a6687a051ca1e5a7fee670eb8115e
Signed-off-by: Kevin Rocard <krocard@google.com>
Remove all per interface version boilerplate.
Adding a new version now requires only including the file
and adding the version name to the list.
Bug: 134940862
Test: adb shell lshal
Change-Id: Ib6b99d7a2c2079d914970fbe804aaf3c78c143ce
Merged-In: Ib6b99d7a2c2079d914970fbe804aaf3c78c143ce
Signed-off-by: Kevin Rocard <krocard@google.com>
As a V6.0 version needs to be created.
Note that this target is not used anywhere explicitly.
There seem to be some magic to "xsd_config", probably has to do with the
package_name.
Bug: 134940862
Test: build
Change-Id: Id6935c5458294981cb778f3647ec01ee34a34e2f
Merged-In: Id6935c5458294981cb778f3647ec01ee34a34e2f
Signed-off-by: Kevin Rocard <krocard@google.com>
For HIDL, vibrator may change the value of supportsAmplitudeControl
based on context. Since the interface is being redone in AIDL, we're
avoiding this changing value and providing capabilities for amplitudes
we expect to be available in different states.
Bug: 141828236
Test: VtsHalVibratorTargetTest
Change-Id: Idf0b28ffe5b1175469d32e790b10b4232482dc2b
It's a real gap in this interface, since we need to call perform to
understand if an effect is supported.
Bug: 141828236
Test: atest VtsHalVibratorTargetTest
Change-Id: Iffbd9c0acf5e4c368767c7718025a4aef8f44ce3
Convert VtsHalTetheroffloadConfigV1_0TargetTest to be parameterized test
and add it to vts-core
Bug: 142397658
Test: $atest VtsHalTetheroffloadConfigV1_0TargetTest
Change-Id: I0023e27fef163364e302b0efc5b139b5a6105123
Using the new signature ensures that the device actually provides an
IBootControl 1.1 implementation.
Bug: N/A
Test: manual test
Change-Id: I0ddc1ed71535a31c887d94196295baa46ed37d3c
C++20 will require members in a designated initializer to be in order
unlike C99.
Bug: 139945549
Test: mm
Merged-In: I78d64ea2b7df3f2bd3b8503aa553a0523b20d711
Change-Id: I8a7ff4b025ac693398b79ad5f16687afe3a4c5a9
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
C++20 will require members in a designated initializer to be in order
unlike C99.
This snuck in because I haven't upgraded the platform toolchain yet.
Bug: 139945549
Test: mm
Change-Id: Id121ecd46b7e53f5dd7b4a32daae0594d851d0e5
Merged-in: Ica2844a213467e41d9b6a8955f1750692da8b444
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
IEEE 754 single precision cannot precisely represent the value of large
32b integrals. Accept the imprecision from implicit casts by making the
casts explicit.
One case is comparing the value before and after converting a float to
an int32_t and back, the other is used when printing a value.
Bug: 139945549
Test: mm
Change-Id: I23375d73cd16be0741defc6395046bd3b22d1335
Merged-in: Id30edce2cd29c0f9c24cd52ba5fb33f7c56a3100
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
staidl is a term I made up w/o precedence. aidl is clearer and more
consistent w/ practices elsewhere.
Bug: 141828236
Test: N/A
Change-Id: I3f044ddf470b63956f2aa496ae9fe9e5893f479a