Commit Graph

26907 Commits

Author SHA1 Message Date
Mikhail Naganov
0dbf3982af Audio: Add VTS tests for invalid enum-strings, Part 2
Add checks for rejection of invalid device addresses
and base configs.

Bug: 142480271
Test: atest VtsHalAudioV6_0TargetTest
Test: atest VtsHalAudioV7_0TargetTest
      with side-loaded V7 default wrapper
Change-Id: I39690f2a171c1be6246ab155dec8e2b1a405a2a8
2021-01-08 17:51:24 -08:00
Shawn Willden
e21ce63ba6 Update KM4.1 owners
Change-Id: Ib7e0d3aead2a220c8161d7b4af471116f9ffa93f
2021-01-08 15:57:56 +00:00
Mikhail Naganov
9139399bad Audio: Add VTS tests for invalid enum-strings, Part 1b
Add missing checks for invalid channel mask and tags
in playback and record metadata. Fix the behavior of
the default wrapper.

Bug: 142480271
Test: atest VtsHalAudioV6_0TargetTest
Test: atest VtsHalAudioV7_0TargetTest
      with side-loaded V7 default wrapper
Change-Id: Ie0f82b2becc457b735349eb351ea29989a64f22c
2021-01-07 18:35:11 -08:00
Mikhail Naganov
254903f8fd Merge "Audio: Add VTS tests for invalid enum-strings, Part 1" 2021-01-08 00:14:42 +00:00
David Zeuthen
8f4cc703f9 Merge "Identity Credential: Switch default implementation to use libeic." 2021-01-07 22:58:50 +00:00
Treehugger Robot
88a2210fc4 Merge "audio HAL V7: Update track metadata" 2021-01-07 21:52:06 +00:00
Mikhail Naganov
3f1457b953 Audio: Add VTS tests for invalid enum-strings, Part 1
Add tests that try passing invalid enum-string values to HAL
methods taking enum-strings. Fix issues found in the default
wrapper.

Interface updates:

- Update AudioConfig structure to indicate whether
  AudioOffloadInfo is specified.

- Add return value to IStreamIn.updateSinkMetadata
  and IStreamOut.updateSourceMetadata to provide indication
  of invalid arguments.

- Specify the behavior of IDevice.open{Input|Output}Stream
  in the case of invalid arguments vs. rejected config.

Bug: 142480271
Test: atest VtsHalAudioV6_0TargetTest
Test: atest VtsHalAudioV7_0TargetTest
      with side-loaded V7 default wrapper
Change-Id: I6bd7be3869cc7a8d5d00506565bbf0b3a050b630
2021-01-07 10:32:06 -08:00
Yifan Hong
add7761be6 Update AIDL IVibrator manifest version to 2.
Test: vts_treble_vintf_test
Bug: 150034914
Change-Id: I418cd4fc5323bb785e42b9e47ec6c0d2bb449975
2021-01-06 16:31:39 -08:00
Yifan Hong
355f0ceabd matrix: IVibrator AIDL has version 2.
Test: builds
Bug: 150034914
Change-Id: I08b4b189dbf811ee866a9fbc3f0f207e19e8f764
2021-01-06 16:31:39 -08:00
Yifan Hong
af89f5efca Update AIDL identity manifest version to 2.
Test: vts_treble_vintf_test
Bug: 150034914
Change-Id: I1f31aa015af61845855f7985188267fc35d29c1e
2021-01-06 16:31:39 -08:00
Yifan Hong
d86a89c53b matrix: identity AIDL has version 2.
Test: builds
Bug: 150034914
Change-Id: I041cc5c1dfb7b812d38a7a516276630d2f804875
2021-01-06 16:31:39 -08:00
Sam Saccone
55ac62f92d Merge "Android S: deprecate android.hardware.vr." 2021-01-06 19:39:20 +00:00
Steven Moreland
7250fba9b4 Android S: deprecate android.hardware.vr.
This HAL is no longer needed/used.

Fixes: 176826409
Test: build (checks manifests)
Change-Id: I1437a40ecce688bf67b3cbca7d3a8b549bf20f69
2021-01-06 02:10:46 +00:00
David Zeuthen
630de2a93e Identity Credential: Switch default implementation to use libeic.
Introduce platform-neutral C library ("libeic") which can be used to
implement an Identity Credential Trusted Application/Applet in Secure
Hardware.

The libeic library is intentionally low-level, has no dependencies
(not even libc), uses very little run-time memory (less than 500 bytes
during a provisioning or presentation session), and doesn't
dynamically allocate any memory. Crypto routines are provided by the
library user through a simple crypto interface defined in EicOps.

Also provide an Android-side HAL implementation designed to
communicate with libeic running in Secure Hardware outside
Android. Abstract out communications between HAL and TA in a couple of
SecureHardwareProxy* classes which mimic libeic 1:1.

The default implementation of the HAL is a combination of the
aforementioned HAL using libeic in-process backed by BoringSSL for the
crypto bits.

Test: atest VtsHalIdentityTargetTest
Test: atest android.security.identity.cts
Bug: 170146643
Change-Id: I3bf43fa7fd9362f94023052591801f2094a04607
2021-01-05 18:30:59 -05:00
Eric Laurent
daedb0dc2e audio HAL V7: Update track metadata
Add channel mask and audio attributes tags to playback
and record track metadata sent to audio HAL.

The legacy HAL wrapper supports older legacy HAL versions
by sending partial metadata when the legay HAL version is
less than 3.2.

Bug: 168751366
Test: make
Change-Id: Iba3ee3b669e4300201374d4a0d5cf45a04872274
Merged-In: Iba3ee3b669e4300201374d4a0d5cf45a04872274
2021-01-05 12:50:40 -08:00
David Zeuthen
1908606054 Merge "Add support and VTS test for RSA OAEP MGF1." 2021-01-05 16:31:02 +00:00
Michael Butler
8f583928c7 Merge changes from topic "nnapi-timings"
* changes:
  Remove 'blocking' param from NN ResilientPreparedModel and *Buffer
  Cleanup NN callback error handling
  Add HIDL lifetime and protecting callback info to NN README
  Change NN canonical timings to nanoseconds -- hal
2020-12-29 21:38:13 +00:00
Treehugger Robot
85959e1682 Merge "Audio: Fix automatic version replacement in IStreamOutEventCallback.hal" 2020-12-28 20:08:24 +00:00
Marin Shalamanov
6f36dd6e31 VTS: Test that configs in a group differ only by vsync period
All display configs in a config group must have the same resolution
and DPI (if DPI attributes are supported by HWC).

Fixes: 172902326
Test: atest VtsHalGraphicsComposerV2_4TargetTest
Change-Id: Id86fe7983a12e33d2d9c3b88ee68d6e18485e87d
2020-12-28 19:35:49 +00:00
Treehugger Robot
c3c893a522 Merge "Change KM attestation generation to managed cert type." 2020-12-23 18:55:39 +00:00
Treehugger Robot
0347422479 Merge "Fix atest VtsAidlKeyMintTargetTest" 2020-12-23 18:25:47 +00:00
Shawn Willden
e0b0de5224 Fix atest VtsAidlKeyMintTargetTest
Renaming the test without updating the test configuration broke it.
This fixes it.

Test: atest VtsAidlKeyMintTargetTest
Change-Id: I3f4c07a04f2b0ce604f0bbac43ffdbdbb5b34d53
2020-12-23 09:30:59 -07:00
Mikhail Naganov
d7d258014e Audio: Fix automatic version replacement in IStreamOutEventCallback.hal
The version update script created a typo in the doc string
of IStreamOutEventCallback.

Test: N/A
Change-Id: I331a2781ecb212275d0f8acee33ff49d01714b53
2020-12-22 23:20:57 +00:00
Chirag Pathak
8b7455abb4 Add support and VTS test for RSA OAEP MGF1.
Test: atest VtsAidlKeyMintV1_0TargetTest
Bug: 160968519
Change-Id: I7093b26217b69ea36b4be8837b42cb9446887685
2020-12-22 15:58:52 -05:00
Kalesh Singh
a851f3d711 Reland: Memtrack HAL: Add stable AIDL implementation
Bug: 175021432
Test: adb shell dumpsys -l | grep android.hardware.memtrack.IMemtrack
Test: VtsHalMemtrackTargetTest
Change-Id: I686c0ecc31648dc6e58a6ab5e6ae914454111200
2020-12-22 20:49:35 +00:00
Shawn Willden
659f996a5d Change KM attestation generation to managed cert type.
Bug: 171846199
Test: atest VtsHalIdentityTargetTest
Change-Id: I03c55f74a21d24b3db8460b85816a4da5939c4ed
2020-12-22 15:11:01 +00:00
Michael Butler
bf59946c61 Remove 'blocking' param from NN ResilientPreparedModel and *Buffer
This change removes the 'blocking' parameter for the
ResilientPreparedModel::Factory and ResilientBuffer::Factory. The
'blocking' parameter is only useful for ResilientDevice::Factory, which
behind the scenes chooses between the HIDL calls IDevice::getService and
IDevice::tryGetService. The equivalent calls for IPreparedModel and
IBuffer are not used, as both are created from the IDevice object.

This change also modifies the ResilientDevice's device recovery
behavior. Prior to this change, ResilientDevice's recovery mechanism had
the following behavior:
* attempt to call a function
* if the function did not return a DEAD_OBJECT error, return
* if the function returned a DEAD_OBJECT error, attempt to recover the
  device
* whether or not the recovery succeeded, call the function again

This CL changes the behavior so that if device recovery fails,
ResilientDevice will not call the function the second time.

Bug: N/A
Test: mma
Change-Id: Icf37d05c884c740178324fcd046ea56914ef7d44
Merged-In: Icf37d05c884c740178324fcd046ea56914ef7d44
(cherry picked from commit 11761e37a8)
2020-12-21 21:09:56 -08:00
Michael Butler
7fd03c265e Cleanup NN callback error handling
This CL introduces a new templated class CallbackValue to handle HIDL
"return value" callbacks in a terser and more readable way.

This CL also introduces a new macro HANDLE_HAL_STATUS to return from the
current function when an error is present with the ability to append a
more descriptive error message.

Finally, this CL changes the behavior of synchronous executions. Prior
to this CL, IPreparedModel fell back to an asynchronous execution if the
synchronous execution was allowed and failed. This change instead
returns a failure if synchronous execution is allowed and fails.

Bug: 173084343
Test: mma
Change-Id: I62714a932e71dfc77401bbcb9eaaaf3d94fb9707
Merged-In: I62714a932e71dfc77401bbcb9eaaaf3d94fb9707
(cherry picked from commit 98ed9baf5d)
2020-12-21 21:09:37 -08:00
Michael Butler
aad934baa7 Add HIDL lifetime and protecting callback info to NN README
This CL copies information from
packages/modules/NeuralNetworks/runtime/VersionedInterfaces.cpp and
modifies the description to be more appropriate for the NN HAL utility
code.

Specific sections added to the README:
* "HIDL Interface Lifetimes across Processes"
* "Protecting Asynchronous Calls across HIDL"

Bug: 170289677
Test: mma
Change-Id: Id381895535d708b627f4746687b4d12e16560639
Merged-In: Id381895535d708b627f4746687b4d12e16560639
(cherry picked from commit 7a655bb3d4)
2020-12-21 21:09:14 -08:00
Michael Butler
4024d8f4d8 Change NN canonical timings to nanoseconds -- hal
A sibling CL to this CL changes the definition of nn::TimePoint to the
same type as std::chrono::steady_clock::time_point but has changed the
underlying duration representation to use uint64_t. That sibling CL also
renames nn::OptionalTimeoutDuration to nn::OptionalDuration, and changes
the definition to the same type as std::nanoseconds except the
underlying duration representation now uses uint64_t.

This CL makes changes to the NN HAL utility code in response to the
changes in the sibling CL.

Bug: 174297663
Test: mma
Test: NeuralNetworksTest_static
Change-Id: If44d9aefadb2c78b632ff289b5ff5a49f766525c
Merged-In: If44d9aefadb2c78b632ff289b5ff5a49f766525c
(cherry picked from commit ca11420785)
2020-12-21 21:08:43 -08:00
Treehugger Robot
2528ddcab2 Merge "Revise keymint_tags.h" 2020-12-21 18:11:08 +00:00
Treehugger Robot
d389d1659a Merge "Change KeyParameters to use a union." 2020-12-21 18:10:58 +00:00
Mikhail Naganov
65dc8832cf Merge "Audio VTS: Improve stability, update config validation test" 2020-12-21 17:28:31 +00:00
Treehugger Robot
dfe843477b Merge "Keymint: Use ndk_platform." 2020-12-19 12:22:37 +00:00
Janis Danisevskis
5ba093377c Revise keymint_tags.h
* replace NullOr with std::optional.
* Add mising tag.
* Undefine helper macros so that keymint_tags.h can be used together
  with keymaster_tags.h
* Check if KeyParameterValue variant matches KeyParameterTag in
  accessors.

Test: VtsAidlKeyMintTargetTest
Change-Id: I6c951071f30fd27c8c21a2e8cc86f421a3bc37d9
2020-12-18 08:34:20 -08:00
Shawn Willden
83fa6413ac Change KeyParameters to use a union.
AIDL now supports union types.  This CL changes KeyParameter to use
one.

Test: VtsAidlKeyMintTargetTest
Change-Id: I5112611b161e3de1ea86105ea3c7ed0912036a7b
2020-12-18 08:38:28 -07:00
Treehugger Robot
69c290564a Merge "Add android-5.10 support for S" 2020-12-17 20:12:00 +00:00
Janis Danisevskis
24c0470408 Keymint: Use ndk_platform.
Test: N/A
Change-Id: I7e97d9d475a639cfe92c9e6b01689c9ff80d2abc
2020-12-17 11:34:59 -07:00
Mikhail Naganov
79903fea44 Audio VTS: Improve stability, update config validation test
Major challenge: the configuration of HAL tests
depends on the APM XML configuration file which may be
invalid. The code that reads the configuration
has been updated to avoid crashes when the config
is invalid.

In CheckConfig_audioPolicyConfigurationValidation the
dependency on the config parser was removed. Previously,
a failure to parse the config by the config parser would
lead to the test being skipped, which isn't correct
as it must fail in this case.

Minor fixes to V7 tests to pass on a real life legacy HAL.

Bug: 36733185
Test: run VtsHalAudioV7_0TargetTest on a device with V6
Test: run VtsHalAudioV7_0TargetTest on a device with
      a side-loaded V7 and invalid APM config file
Test: run VtsHalAudioV7_0TargetTest on a device with
      a side-loaded V7
Change-Id: I746339ff69ab455dc64eef9a17827d047b357329
2020-12-16 15:30:28 -08:00
Steven Moreland
a9cfd015bf Merge "Update OWNERS for 2020" 2020-12-16 22:19:25 +00:00
Treehugger Robot
dbb1258329 Merge changes from topic "aosp-default-wrapper"
* changes:
  HidlUtils: remove temporary conversion functions
  audio: Update default effect HAL wrapper to support V7
  audio: Update default wrapper to support V7
  audio: Extend HidlUtils for the default wrapper needs
2020-12-16 20:05:07 +00:00
Steven Moreland
7479f38654 Update OWNERS for 2020
- remove ex-Android (yim@)
- add devinmoore@ (new native API counciler)
- cleanup format

Bug: N/A
Test: N/A
Change-Id: I23400850e2fbbeae95c7eeb9241f69b0c05c8fd4
2020-12-16 18:09:12 +00:00
Treehugger Robot
276369a3df Merge "Extend test timeout value from 180s to 600s" 2020-12-16 03:18:58 +00:00
Mikhail Naganov
bae2336665 HidlUtils: remove temporary conversion functions
Remove temporary conversion functions and update
the code that was using them.

Bug: 142480271
Test: m
Change-Id: Idf36dbac398efbc03bd6da68c79f6fb1ddc24e9c
Merged-In: Idf36dbac398efbc03bd6da68c79f6fb1ddc24e9c
2020-12-16 01:14:03 +00:00
Mikhail Naganov
f363ed4f96 audio: Update default effect HAL wrapper to support V7
During this conversion, the functionality of the V7 wrapper
hasn't been tested yet. This will be done in a separate CL
that will also include required updates to the VTS tests.

Since the changes were made to the code shared with pre-V7
versions, verified that V6 HAL didn't regress.

Bug: 142480271
Test: atest VtsHalAudioEffectV6_0TargetTest
Test: m VtsHalAudioEffectV7_0TargetTest
Test: m android.hardware.audio@7.0-service.example
Change-Id: I72389c8d564596bef22b47dfdcb2e77d636ef0a3
Merged-In: I72389c8d564596bef22b47dfdcb2e77d636ef0a3
2020-12-16 01:14:02 +00:00
Mikhail Naganov
e1a9c8f8b8 audio: Update default wrapper to support V7
During this conversion, the functionality of the V7 wrapper
hasn't been tested yet. This will be done in a separate CL
that will also include required updates to the VTS tests.

Since the changes were made to the code shared with pre-V7
versions, verified that V6 HAL didn't regress.

Bug: 142480271
Test: atest VtsHalAudioV6_0TargetTest
Test: m VtsHalAudioV7_0TargetTest
Change-Id: I0e42fe1279912ffa78ce40c69f6aa2054e84d385
Merged-In: I0e42fe1279912ffa78ce40c69f6aa2054e84d385
2020-12-16 01:14:02 +00:00
Mikhail Naganov
b52e93f516 audio: Extend HidlUtils for the default wrapper needs
Add conversions used by the default wrapper.

Promote some conversions to pre-V7 interface to reduce
version-based forking in the default wrapper code.

Bug: 142480271
Test: atest android.hardware.audio.common@7.0-util_tests
Change-Id: I93c482eeaf08442271be2656693be5395ca53762
Merged-In: I93c482eeaf08442271be2656693be5395ca53762
2020-12-16 01:14:02 +00:00
Kalesh Singh
b2a38b62b5 Merge "Revert "Memtrack HAL: Add stable AIDL implementation"" 2020-12-16 00:48:06 +00:00
Alistair Delva
b724f36b85 Add android-5.10 support for S
Bug: 175707513
Change-Id: I6799b4ba3dad9b4ae6d8fe2646a2f07d24310537
2020-12-15 16:42:56 -08:00
Kalesh Singh
28641ffb08 Revert "Memtrack HAL: Add stable AIDL implementation"
Revert "libmemtrack: Add support for AIDL memtrack HAL"

Revert "Add stable aidl memtrack HAL to product packages"

Revert "Add stable aidl memtrack hal to vndk list"

Revert "Memtrack HAL stable aidl sepolicy"

Revert "Add android.hardware.memtrack-unstable-ndk_platform"

Revert submission 1518702-memtrack-aidl

Reason for revert: Broken tests and boot time regressions
Reverted Changes:
Ic4dd70e2c:Add android.hardware.memtrack-unstable-ndk_platfor...
Iaf99d0ca4:Add stable aidl memtrack HAL to product packages
Iac54ae2ba:Add stable aidl memtrack hal to vndk list
If310210a3:libmemtrack: Add support for AIDL memtrack HAL
Ib6c634def:Memtrack HAL: Add stable AIDL implementation
I5e1d0e006:Memtrack HAL stable aidl sepolicy

Change-Id: I4a9e3522afe9e9189b7eddc9520d5ef2e2b74520
2020-12-16 00:19:38 +00:00