diff options
276 files changed, 3834 insertions, 2058 deletions
diff --git a/METADATA b/METADATA new file mode 100644 index 0000000000..d97975ca3b --- /dev/null +++ b/METADATA @@ -0,0 +1,3 @@ +third_party { + license_type: NOTICE +} diff --git a/atrace/1.0/Android.bp b/atrace/1.0/Android.bp index c7e8d04eeb..5290a9a486 100644 --- a/atrace/1.0/Android.bp +++ b/atrace/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.atrace@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IAtraceDevice.hal", diff --git a/audio/2.0/Android.bp b/audio/2.0/Android.bp index 02f8b4087c..35f6803e30 100644 --- a/audio/2.0/Android.bp +++ b/audio/2.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.audio@2.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IDevice.hal", diff --git a/audio/4.0/Android.bp b/audio/4.0/Android.bp index bc695c852f..4957a1470f 100644 --- a/audio/4.0/Android.bp +++ b/audio/4.0/Android.bp @@ -5,9 +5,6 @@ hidl_interface { root: "android.hardware", // TODO(b/153609531): remove when no longer needed. native_bridge_supported: true, - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IDevice.hal", diff --git a/audio/5.0/Android.bp b/audio/5.0/Android.bp index 9b28497472..365a654610 100644 --- a/audio/5.0/Android.bp +++ b/audio/5.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.audio@5.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IDevice.hal", diff --git a/audio/6.0/Android.bp b/audio/6.0/Android.bp index 16abc521e2..d7880b631d 100644 --- a/audio/6.0/Android.bp +++ b/audio/6.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.audio@6.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IDevice.hal", diff --git a/audio/common/4.0/Android.bp b/audio/common/4.0/Android.bp index e4676ec1f5..dc4bca4a92 100644 --- a/audio/common/4.0/Android.bp +++ b/audio/common/4.0/Android.bp @@ -5,9 +5,6 @@ hidl_interface { root: "android.hardware", // TODO(b/153609531): remove when no longer needed. native_bridge_supported: true, - vndk: { - enabled: true, - }, srcs: [ "types.hal", ], diff --git a/audio/common/5.0/Android.bp b/audio/common/5.0/Android.bp index 761c171c96..bf265a5511 100644 --- a/audio/common/5.0/Android.bp +++ b/audio/common/5.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.audio.common@5.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", ], diff --git a/audio/common/6.0/Android.bp b/audio/common/6.0/Android.bp index 94f1cf8926..caeee6f75b 100644 --- a/audio/common/6.0/Android.bp +++ b/audio/common/6.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.audio.common@6.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", ], diff --git a/audio/common/all-versions/default/service/Android.bp b/audio/common/all-versions/default/service/Android.bp index 3e8b715706..f163a2facc 100644 --- a/audio/common/all-versions/default/service/Android.bp +++ b/audio/common/all-versions/default/service/Android.bp @@ -4,11 +4,11 @@ cc_binary { init_rc: ["android.hardware.audio.service.rc"], relative_install_path: "hw", vendor: true, - // Only support 32 bit as the binary must always be installed at the same + // Prefer 32 bit as the binary must always be installed at the same // location for init to start it and the build system does not support // having two binaries installable to the same location even if they are // not installed in the same build. - compile_multilib: "32", + compile_multilib: "prefer32", srcs: ["service.cpp"], cflags: [ diff --git a/audio/core/all-versions/default/Android.bp b/audio/core/all-versions/default/Android.bp index 0af81b2bd4..8fdb70d1a2 100644 --- a/audio/core/all-versions/default/Android.bp +++ b/audio/core/all-versions/default/Android.bp @@ -1,8 +1,5 @@ -cc_defaults { - name: "android.hardware.audio-impl_default", - relative_install_path: "hw", - proprietary: true, - vendor: true, +filegroup { + name: "android.hardware.audio-impl_srcs", srcs: [ "Conversions.cpp", "Device.cpp", @@ -13,10 +10,23 @@ cc_defaults { "StreamIn.cpp", "StreamOut.cpp", ], +} - defaults: ["hidl_defaults"], - +cc_library_headers { + name: "android.hardware.audio-impl_headers", + proprietary: true, + vendor: true, export_include_dirs: ["include"], +} + +cc_defaults { + name: "android.hardware.audio-impl_default", + relative_install_path: "hw", + proprietary: true, + vendor: true, + srcs: [":android.hardware.audio-impl_srcs"], + + defaults: ["hidl_defaults"], static_libs: [ "libaudiofoundation", @@ -35,12 +45,17 @@ cc_defaults { ], header_libs: [ + "android.hardware.audio-impl_headers", "android.hardware.audio.common.util@all-versions", "libaudioclient_headers", "libaudio_system_headers", "libhardware_headers", "libmedia_headers", ], + + export_header_lib_headers: [ + "android.hardware.audio-impl_headers", + ], } cc_library_shared { @@ -89,8 +104,8 @@ cc_library_shared { ], } -cc_library_shared { - name: "android.hardware.audio@6.0-impl", +cc_defaults { + name: "android.hardware.audio@6.0-impl_default", defaults: ["android.hardware.audio-impl_default"], shared_libs: [ "android.hardware.audio@6.0", @@ -103,3 +118,8 @@ cc_library_shared { "-include common/all-versions/VersionMacro.h", ], } + +cc_library_shared { + name: "android.hardware.audio@6.0-impl", + defaults: ["android.hardware.audio@6.0-impl_default"], +} diff --git a/audio/core/all-versions/vts/functional/Android.bp b/audio/core/all-versions/vts/functional/Android.bp index 729ee7ab4a..2d5e8a5c92 100644 --- a/audio/core/all-versions/vts/functional/Android.bp +++ b/audio/core/all-versions/vts/functional/Android.bp @@ -55,7 +55,7 @@ cc_test { data: [ ":audio_policy_configuration_V2_0", ], - // Use test_config for vts-core suite. + // Use test_config for vts suite. // TODO(b/146104851): Add auto-gen rules and remove it. test_config: "VtsHalAudioV2_0TargetTest.xml", } @@ -78,7 +78,7 @@ cc_test { data: [ ":audio_policy_configuration_V4_0", ], - // Use test_config for vts-core suite. + // Use test_config for vts suite. // TODO(b/146104851): Add auto-gen rules and remove it. test_config: "VtsHalAudioV4_0TargetTest.xml", } @@ -101,7 +101,7 @@ cc_test { data: [ ":audio_policy_configuration_V5_0", ], - // Use test_config for vts-core suite. + // Use test_config for vts suite. // TODO(b/146104851): Add auto-gen rules and remove it. test_config: "VtsHalAudioV5_0TargetTest.xml", } @@ -124,7 +124,7 @@ cc_test { data: [ ":audio_policy_configuration_V6_0", ], - // Use test_config for vts-core suite. + // Use test_config for vts suite. // TODO(b/146104851): Add auto-gen rules and remove it. test_config: "VtsHalAudioV6_0TargetTest.xml", } diff --git a/audio/core/all-versions/vts/functional/AudioPrimaryHidlHalTest.h b/audio/core/all-versions/vts/functional/AudioPrimaryHidlHalTest.h index d5af335f6a..10a114435e 100644 --- a/audio/core/all-versions/vts/functional/AudioPrimaryHidlHalTest.h +++ b/audio/core/all-versions/vts/functional/AudioPrimaryHidlHalTest.h @@ -331,6 +331,9 @@ TEST_P(AudioPolicyConfigTest, HasPrimaryModule) { INSTANTIATE_TEST_CASE_P(AudioHidl, AudioPolicyConfigTest, ::testing::ValuesIn(getDeviceParametersForFactoryTests()), &DeviceParameterToString); +// When the VTS test runs on a device lacking the corresponding HAL version the parameter +// list is empty, this isn't a problem. +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(AudioPolicyConfigTest); ////////////////////////////////////////////////////////////////////////////// ////////////////////// getService audio_devices_factory ////////////////////// @@ -366,6 +369,9 @@ TEST_P(AudioHidlTest, OpenDeviceInvalidParameter) { INSTANTIATE_TEST_CASE_P(AudioHidl, AudioHidlTest, ::testing::ValuesIn(getDeviceParametersForFactoryTests()), &DeviceParameterToString); +// When the VTS test runs on a device lacking the corresponding HAL version the parameter +// list is empty, this isn't a problem. +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(AudioHidlTest); ////////////////////////////////////////////////////////////////////////////// /////////////////////////////// openDevice /////////////////////////////////// @@ -391,6 +397,9 @@ TEST_P(AudioHidlDeviceTest, Init) { INSTANTIATE_TEST_CASE_P(AudioHidlDevice, AudioHidlDeviceTest, ::testing::ValuesIn(getDeviceParameters()), &DeviceParameterToString); +// When the VTS test runs on a device lacking the corresponding HAL version the parameter +// list is empty, this isn't a problem. +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(AudioHidlDeviceTest); ////////////////////////////////////////////////////////////////////////////// /////////////////////////////// openDevice primary /////////////////////////// @@ -418,6 +427,9 @@ TEST_P(AudioPrimaryHidlTest, OpenPrimaryDevice) { INSTANTIATE_TEST_CASE_P(AudioPrimaryHidl, AudioPrimaryHidlTest, ::testing::ValuesIn(getDeviceParametersForPrimaryDeviceTests()), &DeviceParameterToString); +// When the VTS test runs on a device lacking the corresponding HAL version the parameter +// list is empty, this isn't a problem. +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(AudioPrimaryHidlTest); ////////////////////////////////////////////////////////////////////////////// ///////////////////// {set,get}{Master,Mic}{Mute,Volume} ///////////////////// @@ -513,6 +525,10 @@ INSTANTIATE_TEST_CASE_P(BoolAccessorHidl, BoolAccessorHidlTest, INSTANTIATE_TEST_CASE_P(BoolAccessorPrimaryHidl, BoolAccessorPrimaryHidlTest, ::testing::ValuesIn(getDeviceParametersForPrimaryDeviceTests()), &DeviceParameterToString); +// When the VTS test runs on a device lacking the corresponding HAL version the parameter +// list is empty, this isn't a problem. +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(BoolAccessorHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(BoolAccessorPrimaryHidlTest); using FloatAccessorHidlTest = AccessorHidlTest<float>; TEST_P(FloatAccessorHidlTest, MasterVolumeTest) { @@ -525,6 +541,9 @@ TEST_P(FloatAccessorHidlTest, MasterVolumeTest) { INSTANTIATE_TEST_CASE_P(FloatAccessorHidl, FloatAccessorHidlTest, ::testing::ValuesIn(getDeviceParameters()), &DeviceParameterToString); +// When the VTS test runs on a device lacking the corresponding HAL version the parameter +// list is empty, this isn't a problem. +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(FloatAccessorHidlTest); ////////////////////////////////////////////////////////////////////////////// //////////////////////////////// AudioPatches //////////////////////////////// @@ -547,6 +566,9 @@ TEST_P(AudioPatchHidlTest, AudioPatches) { INSTANTIATE_TEST_CASE_P(AudioPatchHidl, AudioPatchHidlTest, ::testing::ValuesIn(getDeviceParameters()), &DeviceParameterToString); +// When the VTS test runs on a device lacking the corresponding HAL version the parameter +// list is empty, this isn't a problem. +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(AudioPatchHidlTest); // Nesting a tuple in another tuple allows to use GTest Combine function to generate // all combinations of devices and configs. @@ -717,11 +739,15 @@ INSTANTIATE_TEST_CASE_P( ::testing::ValuesIn(ConfigHelper::getRecommendedSupportCaptureAudioConfig()), ::testing::Values(AudioInputFlag::NONE)), &DeviceConfigParameterToString); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(OptionalInputBufferSizeTest); #elif MAJOR_VERSION >= 6 INSTANTIATE_TEST_CASE_P(SupportedInputBufferSize, RequiredInputBufferSizeTest, ::testing::ValuesIn(getInputDeviceConfigParameters()), &DeviceConfigParameterToString); #endif +// When the VTS test runs on a device lacking the corresponding HAL version the parameter +// list is empty, this isn't a problem. +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(RequiredInputBufferSizeTest); ////////////////////////////////////////////////////////////////////////////// /////////////////////////////// setScreenState /////////////////////////////// @@ -960,6 +986,9 @@ INSTANTIATE_TEST_CASE_P(DeclaredOutputStreamConfigSupport, OutputStreamTest, ::testing::ValuesIn(getOutputDeviceConfigParameters()), &DeviceConfigParameterToString); #endif +// When the VTS test runs on a device lacking the corresponding HAL version the parameter +// list is empty, this isn't a problem. +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(OutputStreamTest); ////////////////////////////// openInputStream ////////////////////////////// @@ -1015,6 +1044,9 @@ INSTANTIATE_TEST_CASE_P(DeclaredInputStreamConfigSupport, InputStreamTest, ::testing::ValuesIn(getInputDeviceConfigParameters()), &DeviceConfigParameterToString); #endif +// When the VTS test runs on a device lacking the corresponding HAL version the parameter +// list is empty, this isn't a problem. +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(InputStreamTest); ////////////////////////////////////////////////////////////////////////////// ////////////////////////////// IStream getters /////////////////////////////// @@ -1553,6 +1585,9 @@ TEST_P(TtyModeAccessorPrimaryHidlTest, setGetTtyMode) { INSTANTIATE_TEST_CASE_P(TtyModeAccessorPrimaryHidl, TtyModeAccessorPrimaryHidlTest, ::testing::ValuesIn(getDeviceParametersForPrimaryDeviceTests()), &DeviceParameterToString); +// When the VTS test runs on a device lacking the corresponding HAL version the parameter +// list is empty, this isn't a problem. +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(TtyModeAccessorPrimaryHidlTest); TEST_P(BoolAccessorPrimaryHidlTest, setGetHac) { doc::test("Query and set the HAC state"); diff --git a/audio/effect/2.0/Android.bp b/audio/effect/2.0/Android.bp index 7b37260a27..a5a8b3405f 100644 --- a/audio/effect/2.0/Android.bp +++ b/audio/effect/2.0/Android.bp @@ -5,9 +5,6 @@ hidl_interface { root: "android.hardware", // TODO(b/153609531): remove when no longer needed. native_bridge_supported: true, - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IAcousticEchoCancelerEffect.hal", diff --git a/audio/effect/4.0/Android.bp b/audio/effect/4.0/Android.bp index 2242d6d76e..31f94ae8b8 100644 --- a/audio/effect/4.0/Android.bp +++ b/audio/effect/4.0/Android.bp @@ -5,9 +5,6 @@ hidl_interface { root: "android.hardware", // TODO(b/153609531): remove when no longer needed. native_bridge_supported: true, - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IAcousticEchoCancelerEffect.hal", diff --git a/audio/effect/5.0/Android.bp b/audio/effect/5.0/Android.bp index b7dad8d9ca..a3081c688c 100644 --- a/audio/effect/5.0/Android.bp +++ b/audio/effect/5.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.audio.effect@5.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IAcousticEchoCancelerEffect.hal", diff --git a/audio/effect/6.0/Android.bp b/audio/effect/6.0/Android.bp index b6184f3a58..de4bde74b1 100644 --- a/audio/effect/6.0/Android.bp +++ b/audio/effect/6.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.audio.effect@6.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IAcousticEchoCancelerEffect.hal", diff --git a/audio/effect/all-versions/vts/functional/VtsHalAudioEffectTargetTest.cpp b/audio/effect/all-versions/vts/functional/VtsHalAudioEffectTargetTest.cpp index 070242fc9d..4787c091b2 100644 --- a/audio/effect/all-versions/vts/functional/VtsHalAudioEffectTargetTest.cpp +++ b/audio/effect/all-versions/vts/functional/VtsHalAudioEffectTargetTest.cpp @@ -845,3 +845,9 @@ INSTANTIATE_TEST_SUITE_P( IEffectsFactory::descriptor)), ::testing::Values(LOUDNESS_ENHANCER_EFFECT_TYPE)), EffectParameterToString); +// When the VTS test runs on a device lacking the corresponding HAL version the parameter +// list is empty, this isn't a problem. +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(AudioEffectsFactoryHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(AudioEffectHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(EqualizerAudioEffectHidlTest); +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(LoudnessEnhancerAudioEffectHidlTest); diff --git a/authsecret/1.0/Android.bp b/authsecret/1.0/Android.bp index 3b84c3b518..5c556d2926 100644 --- a/authsecret/1.0/Android.bp +++ b/authsecret/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.authsecret@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IAuthSecret.hal", ], diff --git a/automotive/audiocontrol/1.0/Android.bp b/automotive/audiocontrol/1.0/Android.bp index 7ef7909802..8835f51a29 100644 --- a/automotive/audiocontrol/1.0/Android.bp +++ b/automotive/audiocontrol/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.automotive.audiocontrol@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IAudioControl.hal", diff --git a/automotive/audiocontrol/2.0/Android.bp b/automotive/audiocontrol/2.0/Android.bp index 2a9f8499e3..e9ce638bae 100644 --- a/automotive/audiocontrol/2.0/Android.bp +++ b/automotive/audiocontrol/2.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.automotive.audiocontrol@2.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IAudioControl.hal", @@ -13,8 +10,9 @@ hidl_interface { "IFocusListener.hal", ], interfaces: [ - "android.hidl.base@1.0", "android.hardware.audio.common@6.0", + "android.hidl.base@1.0", + "android.hidl.safe_union@1.0", ], gen_java: true, } diff --git a/automotive/audiocontrol/2.0/vts/functional/Android.bp b/automotive/audiocontrol/2.0/vts/functional/Android.bp index ac20509dd5..520b042e37 100644 --- a/automotive/audiocontrol/2.0/vts/functional/Android.bp +++ b/automotive/audiocontrol/2.0/vts/functional/Android.bp @@ -24,6 +24,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts", + "vts-core", ], } diff --git a/automotive/can/1.0/Android.bp b/automotive/can/1.0/Android.bp index 2221e6623e..2ddfaf93b8 100644 --- a/automotive/can/1.0/Android.bp +++ b/automotive/can/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.automotive.can@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ICanBus.hal", diff --git a/automotive/evs/1.0/Android.bp b/automotive/evs/1.0/Android.bp index 51f8e208b1..279c09aca0 100644 --- a/automotive/evs/1.0/Android.bp +++ b/automotive/evs/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.automotive.evs@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IEvsCamera.hal", diff --git a/automotive/evs/1.1/Android.bp b/automotive/evs/1.1/Android.bp index f9bccef5fe..443422e5aa 100644 --- a/automotive/evs/1.1/Android.bp +++ b/automotive/evs/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.automotive.evs@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IEvsCamera.hal", diff --git a/automotive/evs/1.1/vts/functional/Android.bp b/automotive/evs/1.1/vts/functional/Android.bp index d61f0a8f9c..086a199ca5 100644 --- a/automotive/evs/1.1/vts/functional/Android.bp +++ b/automotive/evs/1.1/vts/functional/Android.bp @@ -38,7 +38,7 @@ cc_test { "android.hardware.graphics.common@1.2", "android.hardware.camera.device@3.2", ], - test_suites: ["vts"], + test_suites: ["vts-core"], cflags: [ "-O0", "-g", diff --git a/automotive/occupant_awareness/aidl/vts/functional/Android.bp b/automotive/occupant_awareness/aidl/vts/functional/Android.bp index 514b0afc2b..1256b69c67 100644 --- a/automotive/occupant_awareness/aidl/vts/functional/Android.bp +++ b/automotive/occupant_awareness/aidl/vts/functional/Android.bp @@ -12,6 +12,6 @@ cc_test { "android.hardware.automotive.occupant_awareness-cpp", ], test_suites: [ - "vts", + "vts-core", ], } diff --git a/automotive/sv/1.0/Android.bp b/automotive/sv/1.0/Android.bp index 769bdc62d8..3a39148aa0 100644 --- a/automotive/sv/1.0/Android.bp +++ b/automotive/sv/1.0/Android.bp @@ -3,22 +3,19 @@ hidl_interface { name: "android.hardware.automotive.sv@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", - "ISurroundViewStream.hal", - "ISurroundViewSession.hal", "ISurroundView2dSession.hal", "ISurroundView3dSession.hal", "ISurroundViewService.hal", + "ISurroundViewSession.hal", + "ISurroundViewStream.hal", ], interfaces: [ - "android.hidl.base@1.0", "android.hardware.graphics.common@1.0", "android.hardware.graphics.common@1.1", "android.hardware.graphics.common@1.2", + "android.hidl.base@1.0", ], gen_java: true, } diff --git a/automotive/sv/1.0/vts/functional/Android.bp b/automotive/sv/1.0/vts/functional/Android.bp index d5d72a6c5b..0e5d3df9a7 100644 --- a/automotive/sv/1.0/vts/functional/Android.bp +++ b/automotive/sv/1.0/vts/functional/Android.bp @@ -33,7 +33,7 @@ cc_test { "android.hidl.memory@1.0", "libhidlmemory", ], - test_suites: ["general-tests", "vts"], + test_suites: ["general-tests", "vts-core"], cflags: [ "-O0", "-g", diff --git a/automotive/vehicle/2.0/Android.bp b/automotive/vehicle/2.0/Android.bp index 0e73d856d9..4fa8773270 100644 --- a/automotive/vehicle/2.0/Android.bp +++ b/automotive/vehicle/2.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.automotive.vehicle@2.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IVehicle.hal", diff --git a/biometrics/face/1.0/Android.bp b/biometrics/face/1.0/Android.bp index ebb8668938..dd406f99c3 100644 --- a/biometrics/face/1.0/Android.bp +++ b/biometrics/face/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.biometrics.face@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IBiometricsFace.hal", diff --git a/biometrics/fingerprint/2.1/Android.bp b/biometrics/fingerprint/2.1/Android.bp index c8cc0f17bb..25bd48db70 100644 --- a/biometrics/fingerprint/2.1/Android.bp +++ b/biometrics/fingerprint/2.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.biometrics.fingerprint@2.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IBiometricsFingerprint.hal", diff --git a/biometrics/fingerprint/2.2/Android.bp b/biometrics/fingerprint/2.2/Android.bp index 6c769ac22e..a8f202c2c0 100644 --- a/biometrics/fingerprint/2.2/Android.bp +++ b/biometrics/fingerprint/2.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.biometrics.fingerprint@2.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IBiometricsFingerprint.hal", diff --git a/biometrics/fingerprint/2.2/vts/functional/Android.bp b/biometrics/fingerprint/2.2/vts/functional/Android.bp index 5e8e7c80be..496570c64c 100644 --- a/biometrics/fingerprint/2.2/vts/functional/Android.bp +++ b/biometrics/fingerprint/2.2/vts/functional/Android.bp @@ -24,6 +24,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts", + "vts-core", ], } diff --git a/bluetooth/1.0/Android.bp b/bluetooth/1.0/Android.bp index 7036d6e78a..1cac820427 100644 --- a/bluetooth/1.0/Android.bp +++ b/bluetooth/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.bluetooth@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IBluetoothHci.hal", diff --git a/bluetooth/1.0/default/Android.bp b/bluetooth/1.0/default/Android.bp index f66c25e976..6e39d541fb 100644 --- a/bluetooth/1.0/default/Android.bp +++ b/bluetooth/1.0/default/Android.bp @@ -102,13 +102,13 @@ cc_test_host { srcs: [ "bluetooth_address.cc", "test/bluetooth_address_test.cc", - "test/properties.cc", ], local_include_dirs: [ "test", ], shared_libs: [ "libbase", + "libcutils", "liblog", ], } diff --git a/bluetooth/1.0/default/test/bluetooth_address_test.cc b/bluetooth/1.0/default/test/bluetooth_address_test.cc index 2c8dbe5b5d..ee52d3364f 100644 --- a/bluetooth/1.0/default/test/bluetooth_address_test.cc +++ b/bluetooth/1.0/default/test/bluetooth_address_test.cc @@ -120,95 +120,6 @@ TEST_F(BluetoothAddressTest, bytes_to_string) { EXPECT_FALSE(memcmp(addrA, addrB, BluetoothAddress::kStringLength) == 0); } -TEST_F(BluetoothAddressTest, property_set) { - // Set the properties to empty strings. - property_set(PERSIST_BDADDR_PROPERTY, ""); - property_set(PROPERTY_BT_BDADDR_PATH, ""); - property_set(FACTORY_BDADDR_PROPERTY, ""); - - // Get returns 0. - char prop[PROP_VALUE_MAX] = ""; - EXPECT_TRUE(property_get(PERSIST_BDADDR_PROPERTY, prop, NULL) == 0); - EXPECT_TRUE(property_get(PROPERTY_BT_BDADDR_PATH, prop, NULL) == 0); - EXPECT_TRUE(property_get(FACTORY_BDADDR_PROPERTY, prop, NULL) == 0); - - // Set the properties to known strings. - property_set(PERSIST_BDADDR_PROPERTY, "1"); - property_set(PROPERTY_BT_BDADDR_PATH, "22"); - property_set(FACTORY_BDADDR_PROPERTY, "333"); - - // Get returns the correct length. - EXPECT_TRUE(property_get(PERSIST_BDADDR_PROPERTY, prop, NULL) == 1); - EXPECT_TRUE(property_get(PROPERTY_BT_BDADDR_PATH, prop, NULL) == 2); - EXPECT_TRUE(property_get(FACTORY_BDADDR_PROPERTY, prop, NULL) == 3); - - // Set the properties to empty strings again. - property_set(PERSIST_BDADDR_PROPERTY, ""); - property_set(PROPERTY_BT_BDADDR_PATH, ""); - property_set(FACTORY_BDADDR_PROPERTY, ""); - - // Get returns 0. - EXPECT_TRUE(property_get(PERSIST_BDADDR_PROPERTY, prop, NULL) == 0); - EXPECT_TRUE(property_get(PROPERTY_BT_BDADDR_PATH, prop, NULL) == 0); - EXPECT_TRUE(property_get(FACTORY_BDADDR_PROPERTY, prop, NULL) == 0); -} - -TEST_F(BluetoothAddressTest, property_get) { - // Set the properties to known strings. - property_set(PERSIST_BDADDR_PROPERTY, PERSIST_BDADDR_PROPERTY); - property_set(PROPERTY_BT_BDADDR_PATH, PROPERTY_BT_BDADDR_PATH); - property_set(FACTORY_BDADDR_PROPERTY, FACTORY_BDADDR_PROPERTY); - - // Get returns the same strings. - char prop[PROP_VALUE_MAX] = ""; - EXPECT_TRUE(property_get(PERSIST_BDADDR_PROPERTY, prop, NULL) > 0); - EXPECT_TRUE(strcmp(PERSIST_BDADDR_PROPERTY, prop) == 0); - - EXPECT_TRUE(property_get(PROPERTY_BT_BDADDR_PATH, prop, NULL) > 0); - EXPECT_TRUE(strcmp(PROPERTY_BT_BDADDR_PATH, prop) == 0); - - EXPECT_TRUE(property_get(FACTORY_BDADDR_PROPERTY, prop, NULL) > 0); - EXPECT_TRUE(strcmp(FACTORY_BDADDR_PROPERTY, prop) == 0); - - // Set a property to a different known string. - char prop2[PROP_VALUE_MAX] = "Erased"; - property_set(PERSIST_BDADDR_PROPERTY, prop2); - - // Get returns the correct strings. - EXPECT_TRUE(property_get(PERSIST_BDADDR_PROPERTY, prop, NULL) > 0); - EXPECT_TRUE(strcmp(prop2, prop) == 0); - - EXPECT_TRUE(property_get(PROPERTY_BT_BDADDR_PATH, prop, NULL) > 0); - EXPECT_TRUE(strcmp(PROPERTY_BT_BDADDR_PATH, prop) == 0); - - EXPECT_TRUE(property_get(FACTORY_BDADDR_PROPERTY, prop, NULL) > 0); - EXPECT_TRUE(strcmp(FACTORY_BDADDR_PROPERTY, prop) == 0); - - // Set another property to prop2. - property_set(PROPERTY_BT_BDADDR_PATH, prop2); - - EXPECT_TRUE(property_get(PERSIST_BDADDR_PROPERTY, prop, NULL) > 0); - EXPECT_TRUE(strcmp(prop2, prop) == 0); - - EXPECT_TRUE(property_get(PROPERTY_BT_BDADDR_PATH, prop, NULL) > 0); - EXPECT_TRUE(strcmp(prop2, prop) == 0); - - EXPECT_TRUE(property_get(FACTORY_BDADDR_PROPERTY, prop, NULL) > 0); - EXPECT_TRUE(strcmp(FACTORY_BDADDR_PROPERTY, prop) == 0); - - // Set the third property to prop2. - property_set(FACTORY_BDADDR_PROPERTY, prop2); - - EXPECT_TRUE(property_get(PERSIST_BDADDR_PROPERTY, prop, NULL) > 0); - EXPECT_TRUE(strcmp(prop2, prop) == 0); - - EXPECT_TRUE(property_get(PROPERTY_BT_BDADDR_PATH, prop, NULL) > 0); - EXPECT_TRUE(strcmp(prop2, prop) == 0); - - EXPECT_TRUE(property_get(FACTORY_BDADDR_PROPERTY, prop, NULL) > 0); - EXPECT_TRUE(strcmp(prop2, prop) == 0); -} - TEST_F(BluetoothAddressTest, get_local_address) { EXPECT_TRUE(property_set(PERSIST_BDADDR_PROPERTY, "") == 0); EXPECT_TRUE(property_set(FACTORY_BDADDR_PROPERTY, "") == 0); diff --git a/bluetooth/1.0/default/test/properties.cc b/bluetooth/1.0/default/test/properties.cc deleted file mode 100644 index 70de01e06d..0000000000 --- a/bluetooth/1.0/default/test/properties.cc +++ /dev/null @@ -1,79 +0,0 @@ -// -// Copyright 2016 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#define LOG_TAG "properties" - -#include <ctype.h> -#include <stdbool.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> - -#include <cutils/properties.h> -#include <log/log.h> - -static const int MAX_PROPERTIES = 5; - -struct property { - char key[PROP_KEY_MAX + 2]; - char value[PROP_VALUE_MAX + 2]; -}; - -int num_properties = 0; -struct property properties[MAX_PROPERTIES]; - -// Find the correct entry. -static int property_find(const char* key) { - for (int i = 0; i < num_properties; i++) { - if (strncmp(properties[i].key, key, PROP_KEY_MAX) == 0) { - return i; - } - } - return MAX_PROPERTIES; -} - -int property_set(const char* key, const char* value) { - if (strnlen(value, PROP_VALUE_MAX) > PROP_VALUE_MAX) return -1; - - // Check to see if the property exists. - int prop_index = property_find(key); - - if (prop_index == MAX_PROPERTIES) { - if (num_properties >= MAX_PROPERTIES) return -1; - prop_index = num_properties; - num_properties += 1; - } - - // This is test code. Be nice and don't push the boundary cases! - strncpy(properties[prop_index].key, key, PROP_KEY_MAX + 1); - strncpy(properties[prop_index].value, value, PROP_VALUE_MAX + 1); - return 0; -} - -int property_get(const char* key, char* value, const char* default_value) { - // This doesn't mock the behavior of default value - if (default_value != NULL) ALOGE("%s: default_value is ignored!", __func__); - - // Check to see if the property exists. - int prop_index = property_find(key); - - if (prop_index == MAX_PROPERTIES) return 0; - - int len = strlen(properties[prop_index].value); - memcpy(value, properties[prop_index].value, len); - value[len] = '\0'; - return len; -} diff --git a/bluetooth/1.0/default/test/sys/system_properties.h b/bluetooth/1.0/default/test/sys/system_properties.h deleted file mode 100644 index b477a6baba..0000000000 --- a/bluetooth/1.0/default/test/sys/system_properties.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// Copyright 2016 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -// Mock sys/system_properties.h for testing - -#define PROP_VALUE_MAX 50 -#define PROP_KEY_MAX 50 diff --git a/bluetooth/1.1/Android.bp b/bluetooth/1.1/Android.bp index 4204aed7dc..c3967f028f 100644 --- a/bluetooth/1.1/Android.bp +++ b/bluetooth/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.bluetooth@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IBluetoothHci.hal", "IBluetoothHciCallbacks.hal", diff --git a/bluetooth/a2dp/1.0/Android.bp b/bluetooth/a2dp/1.0/Android.bp index 02f224acff..d9ec982da8 100644 --- a/bluetooth/a2dp/1.0/Android.bp +++ b/bluetooth/a2dp/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.bluetooth.a2dp@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IBluetoothAudioHost.hal", diff --git a/bluetooth/a2dp/1.0/vts/functional/VtsHalBluetoothA2dpV1_0TargetTest.cpp b/bluetooth/a2dp/1.0/vts/functional/VtsHalBluetoothA2dpV1_0TargetTest.cpp index 44b138a894..f7fdf3113d 100644 --- a/bluetooth/a2dp/1.0/vts/functional/VtsHalBluetoothA2dpV1_0TargetTest.cpp +++ b/bluetooth/a2dp/1.0/vts/functional/VtsHalBluetoothA2dpV1_0TargetTest.cpp @@ -107,4 +107,6 @@ INSTANTIATE_TEST_SUITE_P( PerInstance, BluetoothA2dpHidlTest, testing::ValuesIn(android::hardware::getAllHalInstanceNames( IBluetoothAudioOffload::descriptor)), - android::hardware::PrintInstanceNameToString);
\ No newline at end of file + android::hardware::PrintInstanceNameToString); + +GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(BluetoothA2dpHidlTest); diff --git a/bluetooth/audio/2.0/Android.bp b/bluetooth/audio/2.0/Android.bp index 6bf0070851..3fbd51f631 100644 --- a/bluetooth/audio/2.0/Android.bp +++ b/bluetooth/audio/2.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.bluetooth.audio@2.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IBluetoothAudioPort.hal", diff --git a/bluetooth/audio/2.0/default/session/BluetoothAudioSession.cpp b/bluetooth/audio/2.0/default/session/BluetoothAudioSession.cpp index d60e7324f3..50119bf399 100644 --- a/bluetooth/audio/2.0/default/session/BluetoothAudioSession.cpp +++ b/bluetooth/audio/2.0/default/session/BluetoothAudioSession.cpp @@ -90,14 +90,16 @@ void BluetoothAudioSession::OnSessionStarted( // bluetooth_audio outputs void BluetoothAudioSession::OnSessionEnded() { std::lock_guard<std::recursive_mutex> guard(mutex_); - if (IsSessionReady()) { - ReportSessionStatus(); - } + bool toggled = IsSessionReady(); + LOG(INFO) << __func__ << " - SessionType=" << toString(session_type_); audio_config_ = (session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DATAPATH ? kInvalidOffloadAudioConfiguration : kInvalidSoftwareAudioConfiguration); stack_iface_ = nullptr; UpdateDataPath(nullptr); + if (toggled) { + ReportSessionStatus(); + } } // invoking the registered session_changed_cb_ diff --git a/bluetooth/audio/2.0/default/session/BluetoothAudioSupportedCodecsDB.cpp b/bluetooth/audio/2.0/default/session/BluetoothAudioSupportedCodecsDB.cpp index 6ea61e1f18..c368197467 100644 --- a/bluetooth/audio/2.0/default/session/BluetoothAudioSupportedCodecsDB.cpp +++ b/bluetooth/audio/2.0/default/session/BluetoothAudioSupportedCodecsDB.cpp @@ -74,7 +74,7 @@ static const AacParameters kDefaultOffloadAacCapability = { .objectType = AacObjectType::MPEG2_LC, .sampleRate = SampleRate::RATE_44100, .channelMode = ChannelMode::STEREO, - .variableBitRateEnabled = AacVariableBitRate::DISABLED, + .variableBitRateEnabled = AacVariableBitRate::ENABLED, .bitsPerSample = BitsPerSample::BITS_16}; // LDAC: mSampleRate:(44100|48000|88200|96000), mBitsPerSample:(16|24|32), diff --git a/boot/1.0/Android.bp b/boot/1.0/Android.bp index 55684360bf..844cf9b26b 100644 --- a/boot/1.0/Android.bp +++ b/boot/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.boot@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IBootControl.hal", diff --git a/boot/1.0/vts/functional/VtsHalBootV1_0TargetTest.cpp b/boot/1.0/vts/functional/VtsHalBootV1_0TargetTest.cpp index 613c528a0a..2f6b23ee5c 100644 --- a/boot/1.0/vts/functional/VtsHalBootV1_0TargetTest.cpp +++ b/boot/1.0/vts/functional/VtsHalBootV1_0TargetTest.cpp @@ -80,7 +80,6 @@ TEST_P(BootHidlTest, MarkBootSuccessful) { } } -// Sanity check Boot::setActiveBootSlot() on good and bad inputs. TEST_P(BootHidlTest, SetActiveBootSlot) { Slot curSlot = boot->getCurrentSlot(); Slot otherSlot = curSlot ? 0 : 1; @@ -117,7 +116,6 @@ TEST_P(BootHidlTest, SetActiveBootSlot) { } } -// Sanity check Boot::setSlotAsUnbootable() on good and bad inputs. TEST_P(BootHidlTest, SetSlotAsUnbootable) { Slot curSlot = boot->getCurrentSlot(); Slot otherSlot = curSlot ? 0 : 1; diff --git a/boot/1.1/Android.bp b/boot/1.1/Android.bp index 6a8d57aa8c..3f505e659e 100644 --- a/boot/1.1/Android.bp +++ b/boot/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.boot@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IBootControl.hal", diff --git a/broadcastradio/1.0/Android.bp b/broadcastradio/1.0/Android.bp index 8239d748fb..5fc120d3b9 100644 --- a/broadcastradio/1.0/Android.bp +++ b/broadcastradio/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.broadcastradio@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IBroadcastRadio.hal", diff --git a/broadcastradio/1.1/Android.bp b/broadcastradio/1.1/Android.bp index 1cc9b62ee6..5efa3d4599 100644 --- a/broadcastradio/1.1/Android.bp +++ b/broadcastradio/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.broadcastradio@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IBroadcastRadio.hal", diff --git a/broadcastradio/2.0/Android.bp b/broadcastradio/2.0/Android.bp index 1040ba1968..0ef635eb5e 100644 --- a/broadcastradio/2.0/Android.bp +++ b/broadcastradio/2.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.broadcastradio@2.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IAnnouncementListener.hal", diff --git a/camera/common/1.0/Android.bp b/camera/common/1.0/Android.bp index ed64060067..bd00dbbd37 100644 --- a/camera/common/1.0/Android.bp +++ b/camera/common/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.camera.common@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", ], diff --git a/camera/device/1.0/Android.bp b/camera/device/1.0/Android.bp index 668884d8c8..f2125af005 100644 --- a/camera/device/1.0/Android.bp +++ b/camera/device/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.camera.device@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ICameraDevice.hal", diff --git a/camera/device/1.0/default/CameraDevice.cpp b/camera/device/1.0/default/CameraDevice.cpp index 2dd6094a53..80733d1908 100644 --- a/camera/device/1.0/default/CameraDevice.cpp +++ b/camera/device/1.0/default/CameraDevice.cpp @@ -15,6 +15,9 @@ */ #define LOG_TAG "CamDev@1.0-impl" + +#include <fcntl.h> + #include <hardware/camera.h> #include <hardware/gralloc1.h> #include <hidlmemory/mapping.h> diff --git a/camera/device/3.2/Android.bp b/camera/device/3.2/Android.bp index 2e5349f054..93d1e75a36 100644 --- a/camera/device/3.2/Android.bp +++ b/camera/device/3.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.camera.device@3.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ICameraDevice.hal", diff --git a/camera/device/3.2/default/CameraDeviceSession.cpp b/camera/device/3.2/default/CameraDeviceSession.cpp index 99cdccbcdb..769991c5fa 100644 --- a/camera/device/3.2/default/CameraDeviceSession.cpp +++ b/camera/device/3.2/default/CameraDeviceSession.cpp @@ -790,8 +790,9 @@ void CameraDeviceSession::ResultBatcher::processCaptureResult(CaptureResult& res auto it = batch->mBatchBufs.find(buffer.streamId); if (it != batch->mBatchBufs.end()) { InflightBatch::BufferBatch& bb = it->second; + auto id = buffer.streamId; pushStreamBuffer(std::move(buffer), bb.mBuffers); - filledStreams.push_back(buffer.streamId); + filledStreams.push_back(id); } else { pushStreamBuffer(std::move(buffer), nonBatchedBuffers); } diff --git a/camera/device/3.3/Android.bp b/camera/device/3.3/Android.bp index 679fad698e..0f8502b80c 100644 --- a/camera/device/3.3/Android.bp +++ b/camera/device/3.3/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.camera.device@3.3", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ICameraDeviceSession.hal", diff --git a/camera/device/3.4/Android.bp b/camera/device/3.4/Android.bp index e6f42d6e1a..5575366155 100644 --- a/camera/device/3.4/Android.bp +++ b/camera/device/3.4/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.camera.device@3.4", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ICameraDeviceCallback.hal", diff --git a/camera/device/3.4/default/CameraDeviceSession.cpp b/camera/device/3.4/default/CameraDeviceSession.cpp index b4ebe22701..3f088a3d94 100644 --- a/camera/device/3.4/default/CameraDeviceSession.cpp +++ b/camera/device/3.4/default/CameraDeviceSession.cpp @@ -656,8 +656,9 @@ void CameraDeviceSession::ResultBatcher_3_4::processCaptureResult_3_4(CaptureRes auto it = batch->mBatchBufs.find(buffer.streamId); if (it != batch->mBatchBufs.end()) { InflightBatch::BufferBatch& bb = it->second; + auto id = buffer.streamId; pushStreamBuffer(std::move(buffer), bb.mBuffers); - filledStreams.push_back(buffer.streamId); + filledStreams.push_back(id); } else { pushStreamBuffer(std::move(buffer), nonBatchedBuffers); } diff --git a/camera/device/3.5/Android.bp b/camera/device/3.5/Android.bp index 362a5e6894..94962169d9 100644 --- a/camera/device/3.5/Android.bp +++ b/camera/device/3.5/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.camera.device@3.5", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ICameraDevice.hal", diff --git a/camera/device/3.6/Android.bp b/camera/device/3.6/Android.bp index 19adb3472d..e6f458ca5f 100644 --- a/camera/device/3.6/Android.bp +++ b/camera/device/3.6/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.camera.device@3.6", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ICameraDevice.hal", diff --git a/camera/metadata/3.2/Android.bp b/camera/metadata/3.2/Android.bp index f58fb289e6..6e55139241 100644 --- a/camera/metadata/3.2/Android.bp +++ b/camera/metadata/3.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.camera.metadata@3.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", ], diff --git a/camera/metadata/3.3/Android.bp b/camera/metadata/3.3/Android.bp index 885f4f9b16..f11fe2bd2f 100644 --- a/camera/metadata/3.3/Android.bp +++ b/camera/metadata/3.3/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.camera.metadata@3.3", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", ], diff --git a/camera/metadata/3.4/Android.bp b/camera/metadata/3.4/Android.bp index 6a924580fd..31218be61e 100644 --- a/camera/metadata/3.4/Android.bp +++ b/camera/metadata/3.4/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.camera.metadata@3.4", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", ], diff --git a/camera/metadata/3.5/Android.bp b/camera/metadata/3.5/Android.bp index 224c36976a..a28ba430a5 100644 --- a/camera/metadata/3.5/Android.bp +++ b/camera/metadata/3.5/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.camera.metadata@3.5", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", ], diff --git a/camera/provider/2.4/Android.bp b/camera/provider/2.4/Android.bp index 876814d8f7..8b67f3fc13 100644 --- a/camera/provider/2.4/Android.bp +++ b/camera/provider/2.4/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.camera.provider@2.4", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "ICameraProvider.hal", "ICameraProviderCallback.hal", diff --git a/camera/provider/2.4/vts/functional/Android.bp b/camera/provider/2.4/vts/functional/Android.bp index cd66f74571..4b9d6f125b 100644 --- a/camera/provider/2.4/vts/functional/Android.bp +++ b/camera/provider/2.4/vts/functional/Android.bp @@ -49,5 +49,5 @@ cc_test { "libhidlmemory", "libgralloctypes", ], - test_suites: ["general-tests", "vts"], + test_suites: ["general-tests", "vts-core"], } diff --git a/camera/provider/2.5/Android.bp b/camera/provider/2.5/Android.bp index 4ca1efbfc3..be71806206 100644 --- a/camera/provider/2.5/Android.bp +++ b/camera/provider/2.5/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.camera.provider@2.5", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ICameraProvider.hal", diff --git a/camera/provider/2.6/Android.bp b/camera/provider/2.6/Android.bp index e69819c863..6934c175e0 100644 --- a/camera/provider/2.6/Android.bp +++ b/camera/provider/2.6/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.camera.provider@2.6", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ICameraProvider.hal", diff --git a/cas/1.0/Android.bp b/cas/1.0/Android.bp index 4982e20b35..9f289a1dcc 100644 --- a/cas/1.0/Android.bp +++ b/cas/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.cas@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ICas.hal", diff --git a/cas/1.0/default/Android.bp b/cas/1.0/default/Android.bp index f9977ff7be..802dce125f 100644 --- a/cas/1.0/default/Android.bp +++ b/cas/1.0/default/Android.bp @@ -12,8 +12,6 @@ cc_defaults { "TypeConvert.cpp", ], - compile_multilib: "32", - shared_libs: [ "android.hardware.cas@1.0", "android.hardware.cas.native@1.0", diff --git a/cas/1.0/default/DescramblerImpl.cpp b/cas/1.0/default/DescramblerImpl.cpp index 9b09751d72..f79b32db44 100644 --- a/cas/1.0/default/DescramblerImpl.cpp +++ b/cas/1.0/default/DescramblerImpl.cpp @@ -18,6 +18,7 @@ #define LOG_TAG "android.hardware.cas@1.0-DescramblerImpl" #include <hidlmemory/mapping.h> +#include <inttypes.h> #include <media/cas/DescramblerAPI.h> #include <media/hardware/CryptoAPI.h> #include <media/stagefright/foundation/AString.h> @@ -101,7 +102,7 @@ Return<void> DescramblerImpl::descramble( // size in size_t. If size is over SIZE_MAX, mapMemory mapMemory could succeed // but the mapped memory's actual size will be smaller than the reported size. if (srcBuffer.heapBase.size() > SIZE_MAX) { - ALOGE("Invalid hidl_memory size: %llu", srcBuffer.heapBase.size()); + ALOGE("Invalid hidl_memory size: %" PRIu64 "", srcBuffer.heapBase.size()); android_errorWriteLog(0x534e4554, "79376389"); _hidl_cb(toStatus(BAD_VALUE), 0, NULL); return Void(); @@ -118,8 +119,8 @@ Return<void> DescramblerImpl::descramble( } if (!validateRangeForSize( srcBuffer.offset, srcBuffer.size, (uint64_t)srcMem->getSize())) { - ALOGE("Invalid src buffer range: offset %llu, size %llu, srcMem size %llu", - srcBuffer.offset, srcBuffer.size, (uint64_t)srcMem->getSize()); + ALOGE("Invalid src buffer range: offset %" PRIu64 ", size %" PRIu64 ", srcMem" + "size %" PRIu64 "", srcBuffer.offset, srcBuffer.size, (uint64_t)srcMem->getSize()); android_errorWriteLog(0x534e4554, "67962232"); _hidl_cb(toStatus(BAD_VALUE), 0, NULL); return Void(); @@ -135,8 +136,8 @@ Return<void> DescramblerImpl::descramble( // is consistent with the source shared buffer size. if (!validateRangeForSize(srcOffset, totalBytesInSubSamples, srcBuffer.size)) { ALOGE("Invalid srcOffset and subsample size: " - "srcOffset %llu, totalBytesInSubSamples %llu, srcBuffer size %llu", - srcOffset, totalBytesInSubSamples, srcBuffer.size); + "srcOffset %" PRIu64 ", totalBytesInSubSamples %" PRIu64 ", srcBuffer" + "size %" PRIu64 "", srcOffset, totalBytesInSubSamples, srcBuffer.size); android_errorWriteLog(0x534e4554, "67962232"); _hidl_cb(toStatus(BAD_VALUE), 0, NULL); return Void(); @@ -153,8 +154,8 @@ Return<void> DescramblerImpl::descramble( // dstOffset against the buffer size too. if (!validateRangeForSize(dstOffset, totalBytesInSubSamples, srcBuffer.size)) { ALOGE("Invalid dstOffset and subsample size: " - "dstOffset %llu, totalBytesInSubSamples %llu, srcBuffer size %llu", - dstOffset, totalBytesInSubSamples, srcBuffer.size); + "dstOffset %" PRIu64 ", totalBytesInSubSamples %" PRIu64 ", srcBuffer" + "size %" PRIu64 "", dstOffset, totalBytesInSubSamples, srcBuffer.size); android_errorWriteLog(0x534e4554, "67962232"); _hidl_cb(toStatus(BAD_VALUE), 0, NULL); return Void(); diff --git a/cas/1.0/vts/functional/Android.bp b/cas/1.0/vts/functional/Android.bp index 82dc568fa6..ab39c0e93b 100644 --- a/cas/1.0/vts/functional/Android.bp +++ b/cas/1.0/vts/functional/Android.bp @@ -29,6 +29,6 @@ cc_test { shared_libs: [ "libbinder", ], - test_suites: ["general-tests", "vts"], + test_suites: ["general-tests", "vts-core"], } diff --git a/cas/1.1/Android.bp b/cas/1.1/Android.bp index 13217b6439..e20298b374 100644 --- a/cas/1.1/Android.bp +++ b/cas/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.cas@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "ICas.hal", "ICasListener.hal", diff --git a/cas/1.1/default/Android.bp b/cas/1.1/default/Android.bp index 66a1eb8804..dc42a42473 100644 --- a/cas/1.1/default/Android.bp +++ b/cas/1.1/default/Android.bp @@ -12,8 +12,6 @@ cc_defaults { "TypeConvert.cpp", ], - compile_multilib: "32", - shared_libs: [ "android.hardware.cas@1.0", "android.hardware.cas@1.1", diff --git a/cas/1.1/default/DescramblerImpl.cpp b/cas/1.1/default/DescramblerImpl.cpp index 36dc1a51d0..309cd3c007 100644 --- a/cas/1.1/default/DescramblerImpl.cpp +++ b/cas/1.1/default/DescramblerImpl.cpp @@ -18,6 +18,7 @@ #define LOG_TAG "android.hardware.cas@1.1-DescramblerImpl" #include <hidlmemory/mapping.h> +#include <inttypes.h> #include <media/cas/DescramblerAPI.h> #include <media/hardware/CryptoAPI.h> #include <media/stagefright/foundation/AUtils.h> @@ -92,7 +93,7 @@ Return<void> DescramblerImpl::descramble(ScramblingControl scramblingControl, // size in size_t. If size is over SIZE_MAX, mapMemory mapMemory could succeed // but the mapped memory's actual size will be smaller than the reported size. if (srcBuffer.heapBase.size() > SIZE_MAX) { - ALOGE("Invalid hidl_memory size: %llu", srcBuffer.heapBase.size()); + ALOGE("Invalid hidl_memory size: %" PRIu64 "", srcBuffer.heapBase.size()); android_errorWriteLog(0x534e4554, "79376389"); _hidl_cb(toStatus(BAD_VALUE), 0, NULL); return Void(); @@ -108,8 +109,8 @@ Return<void> DescramblerImpl::descramble(ScramblingControl scramblingControl, return Void(); } if (!validateRangeForSize(srcBuffer.offset, srcBuffer.size, (uint64_t)srcMem->getSize())) { - ALOGE("Invalid src buffer range: offset %llu, size %llu, srcMem size %llu", - srcBuffer.offset, srcBuffer.size, (uint64_t)srcMem->getSize()); + ALOGE("Invalid src buffer range: offset %" PRIu64 ", size %" PRIu64 ", srcMem" + "size %" PRIu64 "", srcBuffer.offset, srcBuffer.size, (uint64_t)srcMem->getSize()); android_errorWriteLog(0x534e4554, "67962232"); _hidl_cb(toStatus(BAD_VALUE), 0, NULL); return Void(); @@ -125,8 +126,8 @@ Return<void> DescramblerImpl::descramble(ScramblingControl scramblingControl, // is consistent with the source shared buffer size. if (!validateRangeForSize(srcOffset, totalBytesInSubSamples, srcBuffer.size)) { ALOGE("Invalid srcOffset and subsample size: " - "srcOffset %llu, totalBytesInSubSamples %llu, srcBuffer size %llu", - srcOffset, totalBytesInSubSamples, srcBuffer.size); + "srcOffset %" PRIu64 ", totalBytesInSubSamples %" PRIu64 ", srcBuffer" + "size %" PRIu64 "", srcOffset, totalBytesInSubSamples, srcBuffer.size); android_errorWriteLog(0x534e4554, "67962232"); _hidl_cb(toStatus(BAD_VALUE), 0, NULL); return Void(); @@ -143,8 +144,8 @@ Return<void> DescramblerImpl::descramble(ScramblingControl scramblingControl, // dstOffset against the buffer size too. if (!validateRangeForSize(dstOffset, totalBytesInSubSamples, srcBuffer.size)) { ALOGE("Invalid dstOffset and subsample size: " - "dstOffset %llu, totalBytesInSubSamples %llu, srcBuffer size %llu", - dstOffset, totalBytesInSubSamples, srcBuffer.size); + "dstOffset %" PRIu64 ", totalBytesInSubSamples %" PRIu64 ", srcBuffer" + "size %" PRIu64 "", dstOffset, totalBytesInSubSamples, srcBuffer.size); android_errorWriteLog(0x534e4554, "67962232"); _hidl_cb(toStatus(BAD_VALUE), 0, NULL); return Void(); diff --git a/cas/1.1/vts/functional/Android.bp b/cas/1.1/vts/functional/Android.bp index de223c8ce2..9e8eb52efe 100644 --- a/cas/1.1/vts/functional/Android.bp +++ b/cas/1.1/vts/functional/Android.bp @@ -30,6 +30,6 @@ cc_test { shared_libs: [ "libbinder", ], - test_suites: ["general-tests", "vts"], + test_suites: ["general-tests", "vts-core"], } diff --git a/cas/1.2/Android.bp b/cas/1.2/Android.bp index fbb38b0bb8..f03b6b7db1 100644 --- a/cas/1.2/Android.bp +++ b/cas/1.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.cas@1.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ICas.hal", diff --git a/cas/1.2/default/Android.bp b/cas/1.2/default/Android.bp index 9e5314874f..94d5b3d8c6 100644 --- a/cas/1.2/default/Android.bp +++ b/cas/1.2/default/Android.bp @@ -12,8 +12,6 @@ cc_defaults { "TypeConvert.cpp", ], - compile_multilib: "32", - shared_libs: [ "android.hardware.cas@1.0", "android.hardware.cas@1.1", diff --git a/cas/1.2/default/DescramblerImpl.cpp b/cas/1.2/default/DescramblerImpl.cpp index 36dc1a51d0..309cd3c007 100644 --- a/cas/1.2/default/DescramblerImpl.cpp +++ b/cas/1.2/default/DescramblerImpl.cpp @@ -18,6 +18,7 @@ #define LOG_TAG "android.hardware.cas@1.1-DescramblerImpl" #include <hidlmemory/mapping.h> +#include <inttypes.h> #include <media/cas/DescramblerAPI.h> #include <media/hardware/CryptoAPI.h> #include <media/stagefright/foundation/AUtils.h> @@ -92,7 +93,7 @@ Return<void> DescramblerImpl::descramble(ScramblingControl scramblingControl, // size in size_t. If size is over SIZE_MAX, mapMemory mapMemory could succeed // but the mapped memory's actual size will be smaller than the reported size. if (srcBuffer.heapBase.size() > SIZE_MAX) { - ALOGE("Invalid hidl_memory size: %llu", srcBuffer.heapBase.size()); + ALOGE("Invalid hidl_memory size: %" PRIu64 "", srcBuffer.heapBase.size()); android_errorWriteLog(0x534e4554, "79376389"); _hidl_cb(toStatus(BAD_VALUE), 0, NULL); return Void(); @@ -108,8 +109,8 @@ Return<void> DescramblerImpl::descramble(ScramblingControl scramblingControl, return Void(); } if (!validateRangeForSize(srcBuffer.offset, srcBuffer.size, (uint64_t)srcMem->getSize())) { - ALOGE("Invalid src buffer range: offset %llu, size %llu, srcMem size %llu", - srcBuffer.offset, srcBuffer.size, (uint64_t)srcMem->getSize()); + ALOGE("Invalid src buffer range: offset %" PRIu64 ", size %" PRIu64 ", srcMem" + "size %" PRIu64 "", srcBuffer.offset, srcBuffer.size, (uint64_t)srcMem->getSize()); android_errorWriteLog(0x534e4554, "67962232"); _hidl_cb(toStatus(BAD_VALUE), 0, NULL); return Void(); @@ -125,8 +126,8 @@ Return<void> DescramblerImpl::descramble(ScramblingControl scramblingControl, // is consistent with the source shared buffer size. if (!validateRangeForSize(srcOffset, totalBytesInSubSamples, srcBuffer.size)) { ALOGE("Invalid srcOffset and subsample size: " - "srcOffset %llu, totalBytesInSubSamples %llu, srcBuffer size %llu", - srcOffset, totalBytesInSubSamples, srcBuffer.size); + "srcOffset %" PRIu64 ", totalBytesInSubSamples %" PRIu64 ", srcBuffer" + "size %" PRIu64 "", srcOffset, totalBytesInSubSamples, srcBuffer.size); android_errorWriteLog(0x534e4554, "67962232"); _hidl_cb(toStatus(BAD_VALUE), 0, NULL); return Void(); @@ -143,8 +144,8 @@ Return<void> DescramblerImpl::descramble(ScramblingControl scramblingControl, // dstOffset against the buffer size too. if (!validateRangeForSize(dstOffset, totalBytesInSubSamples, srcBuffer.size)) { ALOGE("Invalid dstOffset and subsample size: " - "dstOffset %llu, totalBytesInSubSamples %llu, srcBuffer size %llu", - dstOffset, totalBytesInSubSamples, srcBuffer.size); + "dstOffset %" PRIu64 ", totalBytesInSubSamples %" PRIu64 ", srcBuffer" + "size %" PRIu64 "", dstOffset, totalBytesInSubSamples, srcBuffer.size); android_errorWriteLog(0x534e4554, "67962232"); _hidl_cb(toStatus(BAD_VALUE), 0, NULL); return Void(); diff --git a/cas/1.2/vts/functional/Android.bp b/cas/1.2/vts/functional/Android.bp index 74ea85fbf2..2d6517f0b0 100644 --- a/cas/1.2/vts/functional/Android.bp +++ b/cas/1.2/vts/functional/Android.bp @@ -33,6 +33,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts", + "vts-core", ], } diff --git a/cas/native/1.0/Android.bp b/cas/native/1.0/Android.bp index 633ceb9306..6aa420414b 100644 --- a/cas/native/1.0/Android.bp +++ b/cas/native/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.cas.native@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IDescrambler.hal", diff --git a/compatibility_matrices/Android.bp b/compatibility_matrices/Android.bp index ba56832bdd..9d4e55cce0 100644 --- a/compatibility_matrices/Android.bp +++ b/compatibility_matrices/Android.bp @@ -90,3 +90,16 @@ vintf_compatibility_matrix { "kernel_config_r_5.4", ], } + +vintf_compatibility_matrix { + name: "framework_compatibility_matrix.current.xml", + stem: "compatibility_matrix.current.xml", + srcs: [ + "compatibility_matrix.current.xml", + ], + kernel_configs: [ + "kernel_config_current_4.14", + "kernel_config_current_4.19", + "kernel_config_current_5.4", + ], +} diff --git a/compatibility_matrices/Android.mk b/compatibility_matrices/Android.mk index e69fc8dbca..96191c8997 100644 --- a/compatibility_matrices/Android.mk +++ b/compatibility_matrices/Android.mk @@ -98,6 +98,7 @@ my_system_matrix_deps := \ framework_compatibility_matrix.3.xml \ framework_compatibility_matrix.4.xml \ framework_compatibility_matrix.5.xml \ + framework_compatibility_matrix.current.xml \ framework_compatibility_matrix.device.xml \ my_framework_matrix_deps += \ diff --git a/compatibility_matrices/compatibility_matrix.current.xml b/compatibility_matrices/compatibility_matrix.current.xml new file mode 100644 index 0000000000..46cdf990f9 --- /dev/null +++ b/compatibility_matrices/compatibility_matrix.current.xml @@ -0,0 +1,553 @@ +<compatibility-matrix version="1.0" type="framework" level="6"> + <hal format="hidl" optional="true"> + <name>android.hardware.atrace</name> + <version>1.0</version> + <interface> + <name>IAtraceDevice</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="false"> + <name>android.hardware.audio</name> + <version>6.0</version> + <interface> + <name>IDevicesFactory</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="false"> + <name>android.hardware.audio.effect</name> + <version>6.0</version> + <interface> + <name>IEffectsFactory</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.authsecret</name> + <version>1.0</version> + <interface> + <name>IAuthSecret</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.automotive.audiocontrol</name> + <version>1.0</version> + <version>2.0</version> + <interface> + <name>IAudioControl</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.automotive.can</name> + <version>1.0</version> + <interface> + <name>ICanBus</name> + <regex-instance>.*</regex-instance> + </interface> + <interface> + <name>ICanController</name> + <regex-instance>.*</regex-instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.automotive.evs</name> + <version>1.0-1</version> + <interface> + <name>IEvsEnumerator</name> + <instance>default</instance> + <regex-instance>[a-z]+/[0-9]+</regex-instance> + </interface> + </hal> + <hal format="aidl" optional="true"> + <name>android.hardware.automotive.occupant_awareness</name> + <interface> + <name>IOccupantAwareness</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.automotive.sv</name> + <version>1.0</version> + <interface> + <name>ISurroundView</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.automotive.vehicle</name> + <version>2.0</version> + <interface> + <name>IVehicle</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.biometrics.face</name> + <version>1.0-1</version> + <interface> + <name>IBiometricsFace</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.biometrics.fingerprint</name> + <version>2.1-2</version> + <interface> + <name>IBiometricsFingerprint</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.bluetooth</name> + <version>1.0-1</version> + <interface> + <name>IBluetoothHci</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.bluetooth.audio</name> + <version>2.0</version> + <interface> + <name>IBluetoothAudioProvidersFactory</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.boot</name> + <version>1.1</version> + <interface> + <name>IBootControl</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.broadcastradio</name> + <version>1.0-1</version> + <interface> + <name>IBroadcastRadioFactory</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.broadcastradio</name> + <version>2.0</version> + <interface> + <name>IBroadcastRadio</name> + <regex-instance>.*</regex-instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.camera.provider</name> + <version>2.4-6</version> + <interface> + <name>ICameraProvider</name> + <regex-instance>[^/]+/[0-9]+</regex-instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.cas</name> + <version>1.1-2</version> + <interface> + <name>IMediaCasService</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.confirmationui</name> + <version>1.0</version> + <interface> + <name>IConfirmationUI</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.contexthub</name> + <version>1.0-1</version> + <interface> + <name>IContexthub</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.drm</name> + <version>1.3</version> + <interface> + <name>ICryptoFactory</name> + <regex-instance>.*</regex-instance> + </interface> + <interface> + <name>IDrmFactory</name> + <regex-instance>.*</regex-instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.dumpstate</name> + <version>1.1</version> + <interface> + <name>IDumpstateDevice</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="false"> + <name>android.hardware.gatekeeper</name> + <version>1.0</version> + <interface> + <name>IGatekeeper</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.gnss</name> + <version>2.0-1</version> + <interface> + <name>IGnss</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="false"> + <name>android.hardware.graphics.allocator</name> + <!-- New, non-Go devices should use 4.0, tested in vts_treble_vintf_vendor_test --> + <version>2.0</version> + <version>3.0</version> + <version>4.0</version> + <interface> + <name>IAllocator</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="false"> + <name>android.hardware.graphics.composer</name> + <version>2.1-4</version> + <interface> + <name>IComposer</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="false"> + <name>android.hardware.graphics.mapper</name> + <!-- New, non-Go devices should use 4.0, tested in vts_treble_vintf_vendor_test --> + <version>2.1</version> + <version>3.0</version> + <version>4.0</version> + <interface> + <name>IMapper</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="false"> + <name>android.hardware.health</name> + <version>2.1</version> + <interface> + <name>IHealth</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.health.storage</name> + <version>1.0</version> + <interface> + <name>IStorage</name> + <instance>default</instance> + </interface> + </hal> + <hal format="aidl" optional="true"> + <name>android.hardware.identity</name> + <interface> + <name>IIdentityCredentialStore</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.ir</name> + <version>1.0</version> + <interface> + <name>IConsumerIr</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.input.classifier</name> + <version>1.0</version> + <interface> + <name>IInputClassifier</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="false"> + <name>android.hardware.keymaster</name> + <version>3.0</version> + <version>4.0-1</version> + <interface> + <name>IKeymasterDevice</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.keymaster</name> + <version>4.0-1</version> + <interface> + <name>IKeymasterDevice</name> + <instance>strongbox</instance> + </interface> + </hal> + <hal format="aidl" optional="true"> + <name>android.hardware.light</name> + <interface> + <name>ILights</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.media.c2</name> + <version>1.0-1</version> + <interface> + <name>IComponentStore</name> + <regex-instance>default[0-9]*</regex-instance> + <regex-instance>vendor[0-9]*_software</regex-instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.media.omx</name> + <version>1.0</version> + <interface> + <name>IOmx</name> + <instance>default</instance> + </interface> + <interface> + <name>IOmxStore</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.memtrack</name> + <version>1.0</version> + <interface> + <name>IMemtrack</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.neuralnetworks</name> + <version>1.0-3</version> + <interface> + <name>IDevice</name> + <regex-instance>.*</regex-instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.nfc</name> + <version>1.2</version> + <interface> + <name>INfc</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.oemlock</name> + <version>1.0</version> + <interface> + <name>IOemLock</name> + <instance>default</instance> + </interface> + </hal> + <hal format="aidl" optional="false"> + <name>android.hardware.power</name> + <interface> + <name>IPower</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.power.stats</name> + <version>1.0</version> + <interface> + <name>IPowerStats</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.radio</name> + <version>1.6</version> + <interface> + <name>IRadio</name> + <instance>slot1</instance> + <instance>slot2</instance> + <instance>slot3</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.radio</name> + <version>1.2</version> + <interface> + <name>ISap</name> + <instance>slot1</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.radio.config</name> + <!-- + See compatibility_matrix.4.xml on versioning of radio config HAL. + --> + <version>1.1</version> + <interface> + <name>IRadioConfig</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.renderscript</name> + <version>1.0</version> + <interface> + <name>IDevice</name> + <instance>default</instance> + </interface> + </hal> + <hal format="aidl" optional="true"> + <name>android.hardware.rebootescrow</name> + <interface> + <name>IRebootEscrow</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.secure_element</name> + <version>1.0-2</version> + <interface> + <name>ISecureElement</name> + <regex-instance>eSE[1-9][0-9]*</regex-instance> + <regex-instance>SIM[1-9][0-9]*</regex-instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.sensors</name> + <version>1.0</version> + <version>2.0-1</version> + <interface> + <name>ISensors</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.soundtrigger</name> + <version>2.0-3</version> + <interface> + <name>ISoundTriggerHw</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.tetheroffload.config</name> + <version>1.0</version> + <interface> + <name>IOffloadConfig</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.tetheroffload.control</name> + <version>1.0</version> + <interface> + <name>IOffloadControl</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.thermal</name> + <version>2.0</version> + <interface> + <name>IThermal</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.tv.cec</name> + <version>1.0</version> + <interface> + <name>IHdmiCec</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.tv.input</name> + <version>1.0</version> + <interface> + <name>ITvInput</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.tv.tuner</name> + <version>1.0</version> + <interface> + <name>ITuner</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.usb</name> + <version>1.0-2</version> + <interface> + <name>IUsb</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.usb.gadget</name> + <version>1.0-1</version> + <interface> + <name>IUsbGadget</name> + <instance>default</instance> + </interface> + </hal> + <hal format="aidl" optional="true"> + <name>android.hardware.vibrator</name> + <interface> + <name>IVibrator</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.vr</name> + <version>1.0</version> + <interface> + <name>IVr</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.weaver</name> + <version>1.0</version> + <interface> + <name>IWeaver</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.wifi</name> + <version>1.0-4</version> + <interface> + <name>IWifi</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.wifi.hostapd</name> + <version>1.0-2</version> + <interface> + <name>IHostapd</name> + <instance>default</instance> + </interface> + </hal> + <hal format="hidl" optional="true"> + <name>android.hardware.wifi.supplicant</name> + <version>1.0-3</version> + <interface> + <name>ISupplicant</name> + <instance>default</instance> + </interface> + </hal> +</compatibility-matrix> diff --git a/confirmationui/1.0/Android.bp b/confirmationui/1.0/Android.bp index a22067a167..15c4f18c99 100644 --- a/confirmationui/1.0/Android.bp +++ b/confirmationui/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.confirmationui@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IConfirmationResultCallback.hal", diff --git a/contexthub/1.0/Android.bp b/contexthub/1.0/Android.bp index 71dd9787a3..be30d61a11 100644 --- a/contexthub/1.0/Android.bp +++ b/contexthub/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.contexthub@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IContexthub.hal", diff --git a/contexthub/1.1/Android.bp b/contexthub/1.1/Android.bp index 649f1db4c7..9ee8e765e5 100644 --- a/contexthub/1.1/Android.bp +++ b/contexthub/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.contexthub@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IContexthub.hal", diff --git a/contexthub/1.1/vts/functional/Android.bp b/contexthub/1.1/vts/functional/Android.bp index 034c11fb0c..f1625a6b6b 100644 --- a/contexthub/1.1/vts/functional/Android.bp +++ b/contexthub/1.1/vts/functional/Android.bp @@ -25,6 +25,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts", + "vts-core", ], } diff --git a/current.txt b/current.txt index 669651625d..6f0debd047 100644 --- a/current.txt +++ b/current.txt @@ -765,3 +765,12 @@ a64467bae843569f0d465c5be7f0c7a5b987985b55a3ef4794dd5afc68538650 android.hardwar 2ce1f7fb52e49f80b13a9b153d491bce530552f02357ea729acae922a8659f93 android.hardware.wifi.supplicant@1.3::ISupplicantStaIfaceCallback 77531c8d048f8f8ae532babd0ca86332a865ec9aace1b051226ef2b21123e645 android.hardware.wifi.supplicant@1.3::ISupplicantStaNetwork 98592d193a717066facf91428426e5abe211e3bd718bc372e29fb944ddbe6e7c android.hardware.wifi.supplicant@1.3::types + +# ABI preserving changes to HALs during Android S +cd84ab19c590e0e73dd2307b591a3093ee18147ef95e6d5418644463a6620076 android.hardware.neuralnetworks@1.2::IDevice +9625e85f56515ad2cf87b6a1847906db669f746ea4ab02cd3d4ca25abc9b0109 android.hardware.neuralnetworks@1.2::types +9e758e208d14f7256e0885d6d8ad0b61121b21d8c313864f981727ae55bffd16 android.hardware.neuralnetworks@1.3::types + +# HALs released in Android S +# NOTE: waiting to freeze HALs until later in the release +# NOTE: new HALs are recommended to be in AIDL diff --git a/drm/1.0/Android.bp b/drm/1.0/Android.bp index 9049af2882..44fb83777f 100644 --- a/drm/1.0/Android.bp +++ b/drm/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.drm@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ICryptoFactory.hal", diff --git a/drm/1.0/default/Android.bp b/drm/1.0/default/Android.bp index ed6bcdeee6..93b3278a91 100644 --- a/drm/1.0/default/Android.bp +++ b/drm/1.0/default/Android.bp @@ -1,3 +1,17 @@ +// Copyright (C) 2016-2020 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + cc_library_static { name: "android.hardware.drm@1.0-helper", vendor_available: true, @@ -21,3 +35,111 @@ cc_library_static { ], export_include_dirs : ["include"] } + +soong_config_module_type { + name: "android_hardware_drm_1_0_multilib", + module_type: "cc_defaults", + config_namespace: "ANDROID", + bool_variables: ["TARGET_ENABLE_MEDIADRM_64"], + properties: ["compile_multilib"], +} + +android_hardware_drm_1_0_multilib { + name: "android.hardware.drm@1.0-multilib-lib", + compile_multilib: "32", + soong_config_variables: { + TARGET_ENABLE_MEDIADRM_64: { + compile_multilib: "both", + } + } +} + +android_hardware_drm_1_0_multilib { + name: "android.hardware.drm@1.0-multilib-exe", + compile_multilib: "32", + soong_config_variables: { + TARGET_ENABLE_MEDIADRM_64: { + compile_multilib: "first", + } + } +} + +cc_defaults { + name: "android.hardware.drm@1.0-service-defaults", + proprietary: true, + relative_install_path: "hw", + include_dirs: ["hardware/interfaces/drm"], + header_libs: ["media_plugin_headers"], + static_libs: ["android.hardware.drm@1.0-helper"], + + shared_libs: [ + "android.hardware.drm@1.0", + "android.hidl.memory@1.0", + "libhidlbase", + "libhardware", + "liblog", + "libutils", + "libbinder", + ], +} + +//############ Build legacy drm service ############ + +cc_binary { + name: "android.hardware.drm@1.0-service", + defaults: [ + "android.hardware.drm@1.0-multilib-exe", + "android.hardware.drm@1.0-service-defaults" + ], + init_rc: ["android.hardware.drm@1.0-service.rc"], + srcs: ["service.cpp"], +} + +//############ Build legacy drm lazy service ############ + +cc_binary { + name: "android.hardware.drm@1.0-service-lazy", + defaults: [ + "android.hardware.drm@1.0-multilib-exe", + "android.hardware.drm@1.0-service-defaults" + ], + overrides: ["android.hardware.drm@1.0-service"], + init_rc: ["android.hardware.drm@1.0-service-lazy.rc"], + srcs: ["serviceLazy.cpp"], +} + +//############ Build legacy drm impl library ############ + +cc_library_shared { + name: "android.hardware.drm@1.0-impl", + defaults: ["android.hardware.drm@1.0-multilib-lib"], + proprietary: true, + relative_install_path: "hw", + + include_dirs: [ + "frameworks/native/include", + "frameworks/av/include", + ], + + shared_libs: [ + "android.hardware.drm@1.0", + "android.hidl.memory@1.0", + "libcutils", + "libhidlbase", + "libhidlmemory", + "liblog", + "libstagefright_foundation", + "libutils", + ], + + static_libs: ["android.hardware.drm@1.0-helper"], + + srcs: [ + "DrmFactory.cpp", + "DrmPlugin.cpp", + "CryptoFactory.cpp", + "CryptoPlugin.cpp", + "LegacyPluginPath.cpp", + "TypeConvert.cpp", + ], +} diff --git a/drm/1.0/default/Android.mk b/drm/1.0/default/Android.mk deleted file mode 100644 index 9016dc306f..0000000000 --- a/drm/1.0/default/Android.mk +++ /dev/null @@ -1,81 +0,0 @@ -# -# Copyright (C) 2016 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -############# Build legacy drm service ############ - -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) - -include $(LOCAL_PATH)/common_default_service.mk -LOCAL_MODULE := android.hardware.drm@1.0-service -LOCAL_INIT_RC := android.hardware.drm@1.0-service.rc -LOCAL_SRC_FILES := service.cpp - -include $(BUILD_EXECUTABLE) - -############# Build legacy drm lazy service ############ - -include $(CLEAR_VARS) - -include $(LOCAL_PATH)/common_default_service.mk -LOCAL_MODULE := android.hardware.drm@1.0-service-lazy -LOCAL_OVERRIDES_MODULES := android.hardware.drm@1.0-service -LOCAL_INIT_RC := android.hardware.drm@1.0-service-lazy.rc -LOCAL_SRC_FILES := serviceLazy.cpp - -include $(BUILD_EXECUTABLE) - -############# Build legacy drm impl library ############ - -include $(CLEAR_VARS) -LOCAL_MODULE := android.hardware.drm@1.0-impl -LOCAL_PROPRIETARY_MODULE := true -LOCAL_MODULE_RELATIVE_PATH := hw -LOCAL_SRC_FILES := \ - DrmFactory.cpp \ - DrmPlugin.cpp \ - CryptoFactory.cpp \ - CryptoPlugin.cpp \ - LegacyPluginPath.cpp \ - TypeConvert.cpp \ - -LOCAL_SHARED_LIBRARIES := \ - android.hardware.drm@1.0 \ - android.hidl.memory@1.0 \ - libcutils \ - libhidlbase \ - libhidlmemory \ - liblog \ - libstagefright_foundation \ - libutils \ - -LOCAL_STATIC_LIBRARIES := \ - android.hardware.drm@1.0-helper \ - -LOCAL_C_INCLUDES := \ - frameworks/native/include \ - frameworks/av/include - -# TODO: Some legacy DRM plugins only support 32-bit. They need to be migrated to -# 64-bit. (b/18948909) Once all of a device's legacy DRM plugins support 64-bit, -# that device can turn on TARGET_ENABLE_MEDIADRM_64 to build this impl as -# 64-bit. -ifneq ($(TARGET_ENABLE_MEDIADRM_64), true) -LOCAL_32_BIT_ONLY := true -endif - -include $(BUILD_SHARED_LIBRARY) diff --git a/drm/1.0/default/common_default_service.mk b/drm/1.0/default/common_default_service.mk deleted file mode 100644 index 1b5a975a4e..0000000000 --- a/drm/1.0/default/common_default_service.mk +++ /dev/null @@ -1,44 +0,0 @@ -# -# Copyright (C) 2019 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -include $(CLEAR_VARS) -LOCAL_PROPRIETARY_MODULE := true -LOCAL_MODULE_RELATIVE_PATH := hw - -LOCAL_SHARED_LIBRARIES := \ - android.hardware.drm@1.0 \ - android.hidl.memory@1.0 \ - libhidlbase \ - libhardware \ - liblog \ - libutils \ - libbinder \ - -LOCAL_STATIC_LIBRARIES := \ - android.hardware.drm@1.0-helper \ - -LOCAL_C_INCLUDES := \ - hardware/interfaces/drm - -LOCAL_HEADER_LIBRARIES := \ - media_plugin_headers - -# TODO(b/18948909) Some legacy DRM plugins only support 32-bit. They need to be -# migrated to 64-bit. Once all of a device's legacy DRM plugins support 64-bit, -# that device can turn on TARGET_ENABLE_MEDIADRM_64 to build this service as -# 64-bit. -ifneq ($(TARGET_ENABLE_MEDIADRM_64), true) -LOCAL_32_BIT_ONLY := true -endif diff --git a/drm/1.0/vts/functional/Android.bp b/drm/1.0/vts/functional/Android.bp index 8fd258a163..0545c70606 100644 --- a/drm/1.0/vts/functional/Android.bp +++ b/drm/1.0/vts/functional/Android.bp @@ -43,12 +43,12 @@ cc_library_static { "android.hardware.drm@1.0", "android.hidl.allocator@1.0", "android.hidl.memory@1.0", + "libcrypto", "libhidlmemory", "libnativehelper", ], static_libs: [ "android.hardware.drm@1.0-helper", - "libcrypto_static", "libdrmvtshelper", ], export_shared_lib_headers: [ @@ -76,12 +76,12 @@ cc_test { "android.hardware.drm@1.0", "android.hidl.allocator@1.0", "android.hidl.memory@1.0", + "libcrypto", "libhidlmemory", "libnativehelper", ], static_libs: [ "android.hardware.drm@1.0-helper", - "libcrypto_static", "libdrmvtshelper", ], arch: { diff --git a/drm/1.1/Android.bp b/drm/1.1/Android.bp index 16010a656d..0af4cf4cdf 100644 --- a/drm/1.1/Android.bp +++ b/drm/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.drm@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ICryptoFactory.hal", diff --git a/drm/1.2/Android.bp b/drm/1.2/Android.bp index 9104aa9ce8..f1c60de482 100644 --- a/drm/1.2/Android.bp +++ b/drm/1.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.drm@1.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ICryptoFactory.hal", diff --git a/drm/1.2/vts/functional/Android.bp b/drm/1.2/vts/functional/Android.bp index 9aed4eea9f..271cc043d0 100644 --- a/drm/1.2/vts/functional/Android.bp +++ b/drm/1.2/vts/functional/Android.bp @@ -31,12 +31,12 @@ cc_library_static { "android.hardware.drm@1.2", "android.hidl.allocator@1.0", "android.hidl.memory@1.0", + "libcrypto", "libhidlmemory", "libnativehelper", ], static_libs: [ "android.hardware.drm@1.0-helper", - "libcrypto_static", "libdrmvtshelper", ], export_shared_lib_headers: [ @@ -63,11 +63,11 @@ cc_test { "android.hardware.drm@1.0", "android.hardware.drm@1.2", "android.hidl.allocator@1.0", + "libcrypto", "libhidlmemory", ], static_libs: [ "android.hardware.drm@1.0-helper", - "libcrypto_static", "libdrmvtshelper", ], arch: { diff --git a/drm/1.3/Android.bp b/drm/1.3/Android.bp index b0ffcb92a5..9a2b9e12aa 100644 --- a/drm/1.3/Android.bp +++ b/drm/1.3/Android.bp @@ -3,12 +3,9 @@ hidl_interface { name: "android.hardware.drm@1.3", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ - "IDrmFactory.hal", "ICryptoFactory.hal", + "IDrmFactory.hal", ], interfaces: [ "android.hardware.drm@1.0", diff --git a/drm/1.3/vts/functional/Android.bp b/drm/1.3/vts/functional/Android.bp index 3e40adfd4a..bd9db85251 100644 --- a/drm/1.3/vts/functional/Android.bp +++ b/drm/1.3/vts/functional/Android.bp @@ -87,6 +87,6 @@ cc_test { }, test_suites: [ "general-tests", - "vts", + "vts-core", ], } diff --git a/dumpstate/1.0/Android.bp b/dumpstate/1.0/Android.bp index 3d47550607..5d9eefcdf3 100644 --- a/dumpstate/1.0/Android.bp +++ b/dumpstate/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.dumpstate@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IDumpstateDevice.hal", ], diff --git a/dumpstate/1.1/Android.bp b/dumpstate/1.1/Android.bp index 2aa8c82dc7..75805dfb51 100644 --- a/dumpstate/1.1/Android.bp +++ b/dumpstate/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.dumpstate@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IDumpstateDevice.hal", diff --git a/dumpstate/1.1/default/main.cpp b/dumpstate/1.1/default/main.cpp index 3c17e18f43..4510f63647 100644 --- a/dumpstate/1.1/default/main.cpp +++ b/dumpstate/1.1/default/main.cpp @@ -116,7 +116,7 @@ int main(int, char**) { configureRpcThreadpool(1, true); - sp<DumpstateDevice> dumpstate(new DumpstateDevice); + auto dumpstate = sp<DumpstateDevice>::make(); auto serviceRegistrar = LazyServiceRegistrar::getInstance(); if (serviceRegistrar.registerService(dumpstate) != ::android::OK) { diff --git a/dumpstate/1.1/vts/functional/VtsHalDumpstateV1_1TargetTest.cpp b/dumpstate/1.1/vts/functional/VtsHalDumpstateV1_1TargetTest.cpp index cbdd87bc78..1bef66358a 100644 --- a/dumpstate/1.1/vts/functional/VtsHalDumpstateV1_1TargetTest.cpp +++ b/dumpstate/1.1/vts/functional/VtsHalDumpstateV1_1TargetTest.cpp @@ -20,6 +20,7 @@ #include <unistd.h> #include <functional> +#include <tuple> #include <vector> #include <android/hardware/dumpstate/1.1/IDumpstateDevice.h> @@ -27,6 +28,7 @@ #include <cutils/native_handle.h> #include <gtest/gtest.h> #include <hidl/GtestPrinter.h> +#include <hidl/HidlSupport.h> #include <hidl/ServiceManagement.h> #include <log/log.h> @@ -39,13 +41,18 @@ using ::android::hardware::dumpstate::V1_1::DumpstateStatus; using ::android::hardware::dumpstate::V1_1::IDumpstateDevice; using ::android::hardware::dumpstate::V1_1::toString; -class DumpstateHidl1_1Test : public ::testing::TestWithParam<std::string> { +// Base class common to all dumpstate HAL v1.1 tests. +template <typename T> +class DumpstateHidl1_1TestBase : public ::testing::TestWithParam<T> { protected: virtual void SetUp() override { GetService(); } + virtual std::string GetInstanceName() = 0; + void GetService() { - dumpstate = IDumpstateDevice::getService(GetParam()); - ASSERT_NE(dumpstate, nullptr) << "Could not get HIDL instance"; + const std::string instance_name = GetInstanceName(); + dumpstate = IDumpstateDevice::getService(instance_name); + ASSERT_NE(dumpstate, nullptr) << "Could not get HIDL instance " << instance_name; } void ToggleVerboseLogging(bool enable) { @@ -78,77 +85,76 @@ class DumpstateHidl1_1Test : public ::testing::TestWithParam<std::string> { sp<IDumpstateDevice> dumpstate; }; -#define TEST_FOR_DUMPSTATE_MODE(name, body, mode) \ - TEST_P(DumpstateHidl1_1Test, name##_##mode) { body(DumpstateMode::mode); } - -// We use a macro to define individual test cases instead of hidl_enum_range<> because some HAL -// implementations are lazy and may call exit() at the end of dumpstateBoard(), which would cause -// DEAD_OBJECT errors after the first iteration. Separate cases re-get the service each time as part -// of SetUp(), and also provide better separation of concerns when specific modes are problematic. -#define TEST_FOR_ALL_DUMPSTATE_MODES(name, body) \ - TEST_FOR_DUMPSTATE_MODE(name, body, FULL); \ - TEST_FOR_DUMPSTATE_MODE(name, body, INTERACTIVE); \ - TEST_FOR_DUMPSTATE_MODE(name, body, REMOTE); \ - TEST_FOR_DUMPSTATE_MODE(name, body, WEAR); \ - TEST_FOR_DUMPSTATE_MODE(name, body, CONNECTIVITY); \ - TEST_FOR_DUMPSTATE_MODE(name, body, WIFI); \ - TEST_FOR_DUMPSTATE_MODE(name, body, DEFAULT); \ - TEST_FOR_DUMPSTATE_MODE(name, body, PROTO); - -constexpr uint64_t kDefaultTimeoutMillis = 30 * 1000; // 30 seconds +// Tests that don't need to iterate every single DumpstateMode value for dumpstateBoard_1_1. +class DumpstateHidl1_1GeneralTest : public DumpstateHidl1_1TestBase<std::string> { + protected: + virtual std::string GetInstanceName() override { return GetParam(); } +}; -// Will only execute additional_assertions when status == expected. -void AssertStatusForMode(const DumpstateMode mode, const Return<DumpstateStatus>& status, - const DumpstateStatus expected, - std::function<void()> additional_assertions = nullptr) { - ASSERT_TRUE(status.isOk()) << "Status should be ok and return a more specific DumpstateStatus: " - << status.description(); - if (mode == DumpstateMode::DEFAULT) { - ASSERT_EQ(expected, status) << "Required mode (DumpstateMode::" << toString(mode) - << "): status should be DumpstateStatus::" << toString(expected) - << ", but got DumpstateStatus::" << toString(status); - } else { - // The rest of the modes are optional to support, but they MUST return either the expected - // value or UNSUPPORTED_MODE. - ASSERT_TRUE(status == expected || status == DumpstateStatus::UNSUPPORTED_MODE) - << "Optional mode (DumpstateMode::" << toString(mode) - << "): status should be DumpstateStatus::" << toString(expected) - << " or DumpstateStatus::UNSUPPORTED_MODE, but got DumpstateStatus::" - << toString(status); - } - if (status == expected && additional_assertions != nullptr) { - additional_assertions(); +// Tests that iterate every single DumpstateMode value for dumpstateBoard_1_1. +class DumpstateHidl1_1PerModeTest + : public DumpstateHidl1_1TestBase<std::tuple<std::string, DumpstateMode>> { + protected: + virtual std::string GetInstanceName() override { return std::get<0>(GetParam()); } + + DumpstateMode GetMode() { return std::get<1>(GetParam()); } + + // Will only execute additional_assertions when status == expected. + void AssertStatusForMode(const Return<DumpstateStatus>& status, const DumpstateStatus expected, + std::function<void()> additional_assertions = nullptr) { + ASSERT_TRUE(status.isOk()) + << "Status should be ok and return a more specific DumpstateStatus: " + << status.description(); + if (GetMode() == DumpstateMode::DEFAULT) { + ASSERT_EQ(expected, status) + << "Required mode (DumpstateMode::" << toString(GetMode()) + << "): status should be DumpstateStatus::" << toString(expected) + << ", but got DumpstateStatus::" << toString(status); + } else { + // The rest of the modes are optional to support, but they MUST return either the + // expected value or UNSUPPORTED_MODE. + ASSERT_TRUE(status == expected || status == DumpstateStatus::UNSUPPORTED_MODE) + << "Optional mode (DumpstateMode::" << toString(GetMode()) + << "): status should be DumpstateStatus::" << toString(expected) + << " or DumpstateStatus::UNSUPPORTED_MODE, but got DumpstateStatus::" + << toString(status); + } + if (status == expected && additional_assertions != nullptr) { + additional_assertions(); + } } -} +}; + +constexpr uint64_t kDefaultTimeoutMillis = 30 * 1000; // 30 seconds // Negative test: make sure dumpstateBoard() doesn't crash when passed a null pointer. -TEST_FOR_ALL_DUMPSTATE_MODES(TestNullHandle, [this](DumpstateMode mode) { +TEST_P(DumpstateHidl1_1PerModeTest, TestNullHandle) { EnableVerboseLogging(); Return<DumpstateStatus> status = - dumpstate->dumpstateBoard_1_1(nullptr, mode, kDefaultTimeoutMillis); + dumpstate->dumpstateBoard_1_1(nullptr, GetMode(), kDefaultTimeoutMillis); - AssertStatusForMode(mode, status, DumpstateStatus::ILLEGAL_ARGUMENT); -}); + AssertStatusForMode(status, DumpstateStatus::ILLEGAL_ARGUMENT); +} // Negative test: make sure dumpstateBoard() ignores a handle with no FD. -TEST_FOR_ALL_DUMPSTATE_MODES(TestHandleWithNoFd, [this](DumpstateMode mode) { +TEST_P(DumpstateHidl1_1PerModeTest, TestHandleWithNoFd) { EnableVerboseLogging(); native_handle_t* handle = native_handle_create(0, 0); ASSERT_NE(handle, nullptr) << "Could not create native_handle"; Return<DumpstateStatus> status = - dumpstate->dumpstateBoard_1_1(handle, mode, kDefaultTimeoutMillis); + dumpstate->dumpstateBoard_1_1(handle, GetMode(), kDefaultTimeoutMillis); - AssertStatusForMode(mode, status, DumpstateStatus::ILLEGAL_ARGUMENT); + AssertStatusForMode(status, DumpstateStatus::ILLEGAL_ARGUMENT); native_handle_close(handle); native_handle_delete(handle); -}); +} // Positive test: make sure dumpstateBoard() writes something to the FD. -TEST_FOR_ALL_DUMPSTATE_MODES(TestOk, [this](DumpstateMode mode) { +TEST_P(DumpstateHidl1_1PerModeTest, TestOk) { EnableVerboseLogging(); // Index 0 corresponds to the read end of the pipe; 1 to the write end. @@ -160,9 +166,9 @@ TEST_FOR_ALL_DUMPSTATE_MODES(TestOk, [this](DumpstateMode mode) { handle->data[0] = fds[1]; Return<DumpstateStatus> status = - dumpstate->dumpstateBoard_1_1(handle, mode, kDefaultTimeoutMillis); + dumpstate->dumpstateBoard_1_1(handle, GetMode(), kDefaultTimeoutMillis); - AssertStatusForMode(mode, status, DumpstateStatus::OK, [&fds]() { + AssertStatusForMode(status, DumpstateStatus::OK, [&fds]() { // Check that at least one byte was written. char buff; ASSERT_EQ(1, read(fds[0], &buff, 1)) << "Dumped nothing"; @@ -170,10 +176,10 @@ TEST_FOR_ALL_DUMPSTATE_MODES(TestOk, [this](DumpstateMode mode) { native_handle_close(handle); native_handle_delete(handle); -}); +} // Positive test: make sure dumpstateBoard() doesn't crash with two FDs. -TEST_FOR_ALL_DUMPSTATE_MODES(TestHandleWithTwoFds, [this](DumpstateMode mode) { +TEST_P(DumpstateHidl1_1PerModeTest, TestHandleWithTwoFds) { EnableVerboseLogging(); int fds1[2]; @@ -187,9 +193,9 @@ TEST_FOR_ALL_DUMPSTATE_MODES(TestHandleWithTwoFds, [this](DumpstateMode mode) { handle->data[1] = fds2[1]; Return<DumpstateStatus> status = - dumpstate->dumpstateBoard_1_1(handle, mode, kDefaultTimeoutMillis); + dumpstate->dumpstateBoard_1_1(handle, GetMode(), kDefaultTimeoutMillis); - AssertStatusForMode(mode, status, DumpstateStatus::OK, [&fds1, &fds2]() { + AssertStatusForMode(status, DumpstateStatus::OK, [&fds1, &fds2]() { // Check that at least one byte was written to one of the FDs. char buff; size_t read1 = read(fds1[0], &buff, 1); @@ -200,10 +206,10 @@ TEST_FOR_ALL_DUMPSTATE_MODES(TestHandleWithTwoFds, [this](DumpstateMode mode) { native_handle_close(handle); native_handle_delete(handle); -}); +} // Make sure dumpstateBoard_1_1 actually validates its arguments. -TEST_P(DumpstateHidl1_1Test, TestInvalidModeArgument_Negative) { +TEST_P(DumpstateHidl1_1GeneralTest, TestInvalidModeArgument_Negative) { EnableVerboseLogging(); int fds[2]; @@ -225,7 +231,7 @@ TEST_P(DumpstateHidl1_1Test, TestInvalidModeArgument_Negative) { native_handle_delete(handle); } -TEST_P(DumpstateHidl1_1Test, TestInvalidModeArgument_Undefined) { +TEST_P(DumpstateHidl1_1GeneralTest, TestInvalidModeArgument_Undefined) { EnableVerboseLogging(); int fds[2]; @@ -248,7 +254,7 @@ TEST_P(DumpstateHidl1_1Test, TestInvalidModeArgument_Undefined) { } // Positive test: make sure dumpstateBoard() from 1.0 doesn't fail. -TEST_P(DumpstateHidl1_1Test, Test1_0MethodOk) { +TEST_P(DumpstateHidl1_1GeneralTest, Test1_0MethodOk) { EnableVerboseLogging(); int fds[2]; @@ -272,7 +278,7 @@ TEST_P(DumpstateHidl1_1Test, Test1_0MethodOk) { // Make sure disabling verbose logging behaves correctly. Some info is still allowed to be emitted, // but it can't have privacy/storage/battery impacts. -TEST_FOR_ALL_DUMPSTATE_MODES(TestVerboseLoggingDisabled, [this](DumpstateMode mode) { +TEST_P(DumpstateHidl1_1PerModeTest, TestDeviceLoggingDisabled) { DisableVerboseLogging(); // Index 0 corresponds to the read end of the pipe; 1 to the write end. @@ -284,31 +290,31 @@ TEST_FOR_ALL_DUMPSTATE_MODES(TestVerboseLoggingDisabled, [this](DumpstateMode mo handle->data[0] = fds[1]; Return<DumpstateStatus> status = - dumpstate->dumpstateBoard_1_1(handle, mode, kDefaultTimeoutMillis); + dumpstate->dumpstateBoard_1_1(handle, GetMode(), kDefaultTimeoutMillis); // We don't include additional assertions here about the file passed in. If verbose logging is // disabled, the OEM may choose to include nothing at all, but it is allowed to include some // essential information based on the mode as long as it isn't private user information. - AssertStatusForMode(mode, status, DumpstateStatus::OK); + AssertStatusForMode(status, DumpstateStatus::OK); native_handle_close(handle); native_handle_delete(handle); -}); +} // Double-enable is perfectly valid, but the second call shouldn't do anything. -TEST_P(DumpstateHidl1_1Test, TestRepeatedEnable) { +TEST_P(DumpstateHidl1_1GeneralTest, TestRepeatedEnable) { EnableVerboseLogging(); EnableVerboseLogging(); } // Double-disable is perfectly valid, but the second call shouldn't do anything. -TEST_P(DumpstateHidl1_1Test, TestRepeatedDisable) { +TEST_P(DumpstateHidl1_1GeneralTest, TestRepeatedDisable) { DisableVerboseLogging(); DisableVerboseLogging(); } // Toggling in short order is perfectly valid. -TEST_P(DumpstateHidl1_1Test, TestRepeatedToggle) { +TEST_P(DumpstateHidl1_1GeneralTest, TestRepeatedToggle) { EnableVerboseLogging(); DisableVerboseLogging(); EnableVerboseLogging(); @@ -316,8 +322,23 @@ TEST_P(DumpstateHidl1_1Test, TestRepeatedToggle) { } INSTANTIATE_TEST_SUITE_P( - PerInstance, DumpstateHidl1_1Test, + PerInstance, DumpstateHidl1_1GeneralTest, testing::ValuesIn(android::hardware::getAllHalInstanceNames(IDumpstateDevice::descriptor)), android::hardware::PrintInstanceNameToString); +// Includes the mode's name as part of the description string. +static inline std::string PrintInstanceNameToStringWithMode( + const testing::TestParamInfo<std::tuple<std::string, DumpstateMode>>& info) { + return android::hardware::PrintInstanceNameToString( + testing::TestParamInfo(std::get<0>(info.param), info.index)) + + "_" + toString(std::get<1>(info.param)); +} + +INSTANTIATE_TEST_SUITE_P( + PerInstanceAndMode, DumpstateHidl1_1PerModeTest, + testing::Combine(testing::ValuesIn(android::hardware::getAllHalInstanceNames( + IDumpstateDevice::descriptor)), + testing::ValuesIn(android::hardware::hidl_enum_range<DumpstateMode>())), + PrintInstanceNameToStringWithMode); + } // namespace diff --git a/fastboot/1.0/Android.bp b/fastboot/1.0/Android.bp index ec447b80fc..60dfb2d9f5 100644 --- a/fastboot/1.0/Android.bp +++ b/fastboot/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.fastboot@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IFastboot.hal", diff --git a/gatekeeper/1.0/Android.bp b/gatekeeper/1.0/Android.bp index 5d63eaf0e9..28fd5b689a 100644 --- a/gatekeeper/1.0/Android.bp +++ b/gatekeeper/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.gatekeeper@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IGatekeeper.hal", diff --git a/gnss/1.0/Android.bp b/gnss/1.0/Android.bp index d97588c195..22f47e8aba 100644 --- a/gnss/1.0/Android.bp +++ b/gnss/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.gnss@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IAGnss.hal", diff --git a/gnss/1.1/Android.bp b/gnss/1.1/Android.bp index 5294a6b107..1c38e97c44 100644 --- a/gnss/1.1/Android.bp +++ b/gnss/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.gnss@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IGnss.hal", "IGnssCallback.hal", diff --git a/gnss/1.1/vts/functional/Android.bp b/gnss/1.1/vts/functional/Android.bp index 94bfb894d4..c9914fb7a3 100644 --- a/gnss/1.1/vts/functional/Android.bp +++ b/gnss/1.1/vts/functional/Android.bp @@ -34,6 +34,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts", + "vts-core", ], } diff --git a/gnss/2.0/Android.bp b/gnss/2.0/Android.bp index db5075f862..b7a98b7af2 100644 --- a/gnss/2.0/Android.bp +++ b/gnss/2.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.gnss@2.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IAGnss.hal", diff --git a/gnss/2.0/vts/functional/Android.bp b/gnss/2.0/vts/functional/Android.bp index d67677afe4..da5289d006 100644 --- a/gnss/2.0/vts/functional/Android.bp +++ b/gnss/2.0/vts/functional/Android.bp @@ -31,5 +31,5 @@ cc_test { "android.hardware.gnss@2.1", "android.hardware.gnss@common-vts-lib", ], - test_suites: ["general-tests", "vts"], + test_suites: ["general-tests", "vts-core"], } diff --git a/gnss/2.1/Android.bp b/gnss/2.1/Android.bp index 21223997b3..affbeae66d 100644 --- a/gnss/2.1/Android.bp +++ b/gnss/2.1/Android.bp @@ -3,22 +3,19 @@ hidl_interface { name: "android.hardware.gnss@2.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IGnss.hal", "IGnssAntennaInfo.hal", "IGnssAntennaInfoCallback.hal", "IGnssCallback.hal", + "IGnssConfiguration.hal", "IGnssMeasurement.hal", "IGnssMeasurementCallback.hal", - "IGnssConfiguration.hal", ], interfaces: [ - "android.hardware.gnss.measurement_corrections@1.1", "android.hardware.gnss.measurement_corrections@1.0", + "android.hardware.gnss.measurement_corrections@1.1", "android.hardware.gnss.visibility_control@1.0", "android.hardware.gnss@1.0", "android.hardware.gnss@1.1", @@ -26,4 +23,5 @@ hidl_interface { "android.hidl.base@1.0", ], gen_java: true, + gen_java_constants: true, } diff --git a/gnss/2.1/vts/functional/Android.bp b/gnss/2.1/vts/functional/Android.bp index b3051d4b48..f008a26f1f 100644 --- a/gnss/2.1/vts/functional/Android.bp +++ b/gnss/2.1/vts/functional/Android.bp @@ -34,6 +34,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts", + "vts-core", ], } diff --git a/gnss/measurement_corrections/1.0/Android.bp b/gnss/measurement_corrections/1.0/Android.bp index 837cc7abca..a140674338 100644 --- a/gnss/measurement_corrections/1.0/Android.bp +++ b/gnss/measurement_corrections/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.gnss.measurement_corrections@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IMeasurementCorrections.hal", diff --git a/gnss/measurement_corrections/1.1/Android.bp b/gnss/measurement_corrections/1.1/Android.bp index d279af6cd2..93638489b0 100644 --- a/gnss/measurement_corrections/1.1/Android.bp +++ b/gnss/measurement_corrections/1.1/Android.bp @@ -3,17 +3,14 @@ hidl_interface { name: "android.hardware.gnss.measurement_corrections@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IMeasurementCorrections.hal", ], interfaces: [ "android.hardware.gnss.measurement_corrections@1.0", - "android.hardware.gnss@2.0", "android.hardware.gnss@1.0", + "android.hardware.gnss@2.0", "android.hidl.base@1.0", ], gen_java: true, diff --git a/gnss/visibility_control/1.0/Android.bp b/gnss/visibility_control/1.0/Android.bp index e58e9327cb..975da785e9 100644 --- a/gnss/visibility_control/1.0/Android.bp +++ b/gnss/visibility_control/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.gnss.visibility_control@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IGnssVisibilityControl.hal", "IGnssVisibilityControlCallback.hal", diff --git a/graphics/composer/2.1/Android.bp b/graphics/composer/2.1/Android.bp index 4e4b81ce97..2358a8fbf3 100644 --- a/graphics/composer/2.1/Android.bp +++ b/graphics/composer/2.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.graphics.composer@2.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IComposer.hal", diff --git a/graphics/composer/2.1/vts/functional/Android.bp b/graphics/composer/2.1/vts/functional/Android.bp index e137afb27a..3678a049f5 100644 --- a/graphics/composer/2.1/vts/functional/Android.bp +++ b/graphics/composer/2.1/vts/functional/Android.bp @@ -43,5 +43,5 @@ cc_test { "android.hardware.graphics.composer@2.1-command-buffer", ], disable_framework: true, - test_suites: ["general-tests", "vts"], + test_suites: ["general-tests", "vts-core"], } diff --git a/graphics/composer/2.2/Android.bp b/graphics/composer/2.2/Android.bp index 930cadc01d..234b9ac6bf 100644 --- a/graphics/composer/2.2/Android.bp +++ b/graphics/composer/2.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.graphics.composer@2.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IComposer.hal", "IComposerClient.hal", diff --git a/graphics/composer/2.2/vts/functional/Android.bp b/graphics/composer/2.2/vts/functional/Android.bp index d80845f9dd..a8a05e4aa1 100644 --- a/graphics/composer/2.2/vts/functional/Android.bp +++ b/graphics/composer/2.2/vts/functional/Android.bp @@ -61,6 +61,6 @@ cc_test { disable_framework: true, test_suites: [ "general-tests", - "vts", + "vts-core", ], } diff --git a/graphics/composer/2.3/Android.bp b/graphics/composer/2.3/Android.bp index a777556aee..96f301c807 100644 --- a/graphics/composer/2.3/Android.bp +++ b/graphics/composer/2.3/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.graphics.composer@2.3", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IComposer.hal", "IComposerClient.hal", diff --git a/graphics/composer/2.3/vts/functional/Android.bp b/graphics/composer/2.3/vts/functional/Android.bp index 1ab6b3b88d..fdb055aa47 100644 --- a/graphics/composer/2.3/vts/functional/Android.bp +++ b/graphics/composer/2.3/vts/functional/Android.bp @@ -50,5 +50,5 @@ cc_test { "android.hardware.graphics.composer@2.3-command-buffer", ], disable_framework: true, - test_suites: ["general-tests", "vts"], + test_suites: ["general-tests", "vts-core"], } diff --git a/graphics/composer/2.4/Android.bp b/graphics/composer/2.4/Android.bp index 5f700bed9b..2bbe751402 100644 --- a/graphics/composer/2.4/Android.bp +++ b/graphics/composer/2.4/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.graphics.composer@2.4", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IComposer.hal", diff --git a/graphics/composer/2.4/vts/functional/Android.bp b/graphics/composer/2.4/vts/functional/Android.bp index d0209b7af3..88b6114607 100644 --- a/graphics/composer/2.4/vts/functional/Android.bp +++ b/graphics/composer/2.4/vts/functional/Android.bp @@ -52,5 +52,5 @@ cc_test { "android.hardware.graphics.composer@2.4-command-buffer", ], disable_framework: true, - test_suites: ["general-tests", "vts"], + test_suites: ["general-tests", "vts-core"], } diff --git a/graphics/mapper/4.0/vts/functional/Android.bp b/graphics/mapper/4.0/vts/functional/Android.bp index 03abc891c0..3542a6ee89 100644 --- a/graphics/mapper/4.0/vts/functional/Android.bp +++ b/graphics/mapper/4.0/vts/functional/Android.bp @@ -36,6 +36,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts", + "vts-core", ], } diff --git a/health/1.0/Android.bp b/health/1.0/Android.bp index ea6b0c8161..7845871d6d 100644 --- a/health/1.0/Android.bp +++ b/health/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.health@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IHealth.hal", diff --git a/health/1.0/default/Android.bp b/health/1.0/default/Android.bp index 7581335a3a..b815eae3b1 100644 --- a/health/1.0/default/Android.bp +++ b/health/1.0/default/Android.bp @@ -51,6 +51,12 @@ cc_library_shared { "android.hardware.health@1.0-convert", "libhealthd.default", ], + + shared_libs: [ + "libhidlbase", + "libutils", + "android.hardware.health@1.0", + ], } cc_binary { diff --git a/health/1.0/default/convert.cpp b/health/1.0/default/convert.cpp index 7f1e3c4c11..3680d4d000 100644 --- a/health/1.0/default/convert.cpp +++ b/health/1.0/default/convert.cpp @@ -79,7 +79,7 @@ void convertFromHealthConfig(const HealthConfig& c, struct healthd_config *hc) { hc->batteryCurrentAvgPath = android::String8(c.batteryCurrentAvgPath.c_str(), - c.batteryCurrentNowPath.size()); + c.batteryCurrentAvgPath.size()); hc->batteryChargeCounterPath = android::String8(c.batteryChargeCounterPath.c_str(), diff --git a/health/2.0/Android.bp b/health/2.0/Android.bp index b8323b62fe..420586e2e2 100644 --- a/health/2.0/Android.bp +++ b/health/2.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.health@2.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IHealth.hal", diff --git a/health/2.1/Android.bp b/health/2.1/Android.bp index 254bfc0d30..80a6501664 100644 --- a/health/2.1/Android.bp +++ b/health/2.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.health@2.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IHealth.hal", diff --git a/health/storage/1.0/Android.bp b/health/storage/1.0/Android.bp index e4620f8ee7..b9d892db43 100644 --- a/health/storage/1.0/Android.bp +++ b/health/storage/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.health.storage@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IGarbageCollectCallback.hal", diff --git a/identity/aidl/default/IdentityCredential.cpp b/identity/aidl/default/IdentityCredential.cpp index 10f9aa5886..87d9a935de 100644 --- a/identity/aidl/default/IdentityCredential.cpp +++ b/identity/aidl/default/IdentityCredential.cpp @@ -108,7 +108,7 @@ int IdentityCredential::initialize() { } ndk::ScopedAStatus IdentityCredential::deleteCredential( - vector<int8_t>* outProofOfDeletionSignature) { + vector<uint8_t>* outProofOfDeletionSignature) { cppbor::Array array = {"ProofOfDeletion", docType_, testCredential_}; vector<uint8_t> proofOfDeletion = array.encode(); @@ -121,11 +121,11 @@ ndk::ScopedAStatus IdentityCredential::deleteCredential( IIdentityCredentialStore::STATUS_FAILED, "Error signing data")); } - *outProofOfDeletionSignature = byteStringToSigned(signature.value()); + *outProofOfDeletionSignature = signature.value(); return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus IdentityCredential::createEphemeralKeyPair(vector<int8_t>* outKeyPair) { +ndk::ScopedAStatus IdentityCredential::createEphemeralKeyPair(vector<uint8_t>* outKeyPair) { optional<vector<uint8_t>> kp = support::createEcKeyPair(); if (!kp) { return ndk::ScopedAStatus(AStatus_fromServiceSpecificErrorWithMessage( @@ -141,13 +141,13 @@ ndk::ScopedAStatus IdentityCredential::createEphemeralKeyPair(vector<int8_t>* ou } ephemeralPublicKey_ = publicKey.value(); - *outKeyPair = byteStringToSigned(kp.value()); + *outKeyPair = kp.value(); return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus IdentityCredential::setReaderEphemeralPublicKey( - const vector<int8_t>& publicKey) { - readerPublicKey_ = byteStringToUnsigned(publicKey); + const vector<uint8_t>& publicKey) { + readerPublicKey_ = publicKey; return ndk::ScopedAStatus::ok(); } @@ -176,8 +176,8 @@ ndk::ScopedAStatus IdentityCredential::createAuthChallenge(int64_t* outChallenge // ahead of time. bool checkReaderAuthentication(const SecureAccessControlProfile& profile, const vector<uint8_t>& readerCertificateChain) { - optional<vector<uint8_t>> acpPubKey = support::certificateChainGetTopMostKey( - byteStringToUnsigned(profile.readerCertificate.encodedCertificate)); + optional<vector<uint8_t>> acpPubKey = + support::certificateChainGetTopMostKey(profile.readerCertificate.encodedCertificate); if (!acpPubKey) { LOG(ERROR) << "Error extracting public key from readerCertificate in profile"; return false; @@ -269,13 +269,9 @@ ndk::ScopedAStatus IdentityCredential::setVerificationToken( ndk::ScopedAStatus IdentityCredential::startRetrieval( const vector<SecureAccessControlProfile>& accessControlProfiles, - const HardwareAuthToken& authToken, const vector<int8_t>& itemsRequestS, - const vector<int8_t>& signingKeyBlobS, const vector<int8_t>& sessionTranscriptS, - const vector<int8_t>& readerSignatureS, const vector<int32_t>& requestCounts) { - auto sessionTranscript = byteStringToUnsigned(sessionTranscriptS); - auto itemsRequest = byteStringToUnsigned(itemsRequestS); - auto readerSignature = byteStringToUnsigned(readerSignatureS); - + const HardwareAuthToken& authToken, const vector<uint8_t>& itemsRequest, + const vector<uint8_t>& signingKeyBlob, const vector<uint8_t>& sessionTranscript, + const vector<uint8_t>& readerSignature, const vector<int32_t>& requestCounts) { if (sessionTranscript.size() > 0) { auto [item, _, message] = cppbor::parse(sessionTranscript); if (item == nullptr) { @@ -497,7 +493,7 @@ ndk::ScopedAStatus IdentityCredential::startRetrieval( currentNameSpace_ = ""; itemsRequest_ = itemsRequest; - signingKeyBlob_ = byteStringToUnsigned(signingKeyBlobS); + signingKeyBlob_ = signingKeyBlob; // Finally, calculate the size of DeviceNameSpaces. We need to know it ahead of time. expectedDeviceNameSpacesSize_ = calcDeviceNameSpacesSize(); @@ -712,9 +708,8 @@ ndk::ScopedAStatus IdentityCredential::startRetrieveEntryValue( return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus IdentityCredential::retrieveEntryValue(const vector<int8_t>& encryptedContentS, - vector<int8_t>* outContent) { - auto encryptedContent = byteStringToUnsigned(encryptedContentS); +ndk::ScopedAStatus IdentityCredential::retrieveEntryValue(const vector<uint8_t>& encryptedContent, + vector<uint8_t>* outContent) { optional<vector<uint8_t>> content = support::decryptAes128Gcm(storageKey_, encryptedContent, entryAdditionalData_); if (!content) { @@ -753,12 +748,12 @@ ndk::ScopedAStatus IdentityCredential::retrieveEntryValue(const vector<int8_t>& currentNameSpaceDeviceNameSpacesMap_.add(currentName_, std::move(entryValueItem)); } - *outContent = byteStringToSigned(content.value()); + *outContent = content.value(); return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus IdentityCredential::finishRetrieval(vector<int8_t>* outMac, - vector<int8_t>* outDeviceNameSpaces) { +ndk::ScopedAStatus IdentityCredential::finishRetrieval(vector<uint8_t>* outMac, + vector<uint8_t>* outDeviceNameSpaces) { if (currentNameSpaceDeviceNameSpacesMap_.size() > 0) { deviceNameSpacesMap_.add(currentNameSpace_, std::move(currentNameSpaceDeviceNameSpacesMap_)); @@ -828,13 +823,13 @@ ndk::ScopedAStatus IdentityCredential::finishRetrieval(vector<int8_t>* outMac, } } - *outMac = byteStringToSigned(mac.value_or(vector<uint8_t>({}))); - *outDeviceNameSpaces = byteStringToSigned(encodedDeviceNameSpaces); + *outMac = mac.value_or(vector<uint8_t>({})); + *outDeviceNameSpaces = encodedDeviceNameSpaces; return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus IdentityCredential::generateSigningKeyPair( - vector<int8_t>* outSigningKeyBlob, Certificate* outSigningKeyCertificate) { + vector<uint8_t>* outSigningKeyBlob, Certificate* outSigningKeyCertificate) { string serialDecimal = "0"; // TODO: set serial to something unique string issuer = "Android Open Source Project"; string subject = "Android IdentityCredential Reference Implementation"; @@ -882,9 +877,9 @@ ndk::ScopedAStatus IdentityCredential::generateSigningKeyPair( return ndk::ScopedAStatus(AStatus_fromServiceSpecificErrorWithMessage( IIdentityCredentialStore::STATUS_FAILED, "Error encrypting signingKey")); } - *outSigningKeyBlob = byteStringToSigned(encryptedSigningKey.value()); + *outSigningKeyBlob = encryptedSigningKey.value(); *outSigningKeyCertificate = Certificate(); - outSigningKeyCertificate->encodedCertificate = byteStringToSigned(certificate.value()); + outSigningKeyCertificate->encodedCertificate = certificate.value(); return ndk::ScopedAStatus::ok(); } diff --git a/identity/aidl/default/IdentityCredential.h b/identity/aidl/default/IdentityCredential.h index 40070c0074..a82531dd4b 100644 --- a/identity/aidl/default/IdentityCredential.h +++ b/identity/aidl/default/IdentityCredential.h @@ -51,26 +51,26 @@ class IdentityCredential : public BnIdentityCredential { int initialize(); // Methods from IIdentityCredential follow. - ndk::ScopedAStatus deleteCredential(vector<int8_t>* outProofOfDeletionSignature) override; - ndk::ScopedAStatus createEphemeralKeyPair(vector<int8_t>* outKeyPair) override; - ndk::ScopedAStatus setReaderEphemeralPublicKey(const vector<int8_t>& publicKey) override; + ndk::ScopedAStatus deleteCredential(vector<uint8_t>* outProofOfDeletionSignature) override; + ndk::ScopedAStatus createEphemeralKeyPair(vector<uint8_t>* outKeyPair) override; + ndk::ScopedAStatus setReaderEphemeralPublicKey(const vector<uint8_t>& publicKey) override; ndk::ScopedAStatus createAuthChallenge(int64_t* outChallenge) override; ndk::ScopedAStatus setRequestedNamespaces( const vector<RequestNamespace>& requestNamespaces) override; ndk::ScopedAStatus setVerificationToken(const VerificationToken& verificationToken) override; ndk::ScopedAStatus startRetrieval( const vector<SecureAccessControlProfile>& accessControlProfiles, - const HardwareAuthToken& authToken, const vector<int8_t>& itemsRequest, - const vector<int8_t>& signingKeyBlob, const vector<int8_t>& sessionTranscript, - const vector<int8_t>& readerSignature, const vector<int32_t>& requestCounts) override; + const HardwareAuthToken& authToken, const vector<uint8_t>& itemsRequest, + const vector<uint8_t>& signingKeyBlob, const vector<uint8_t>& sessionTranscript, + const vector<uint8_t>& readerSignature, const vector<int32_t>& requestCounts) override; ndk::ScopedAStatus startRetrieveEntryValue( const string& nameSpace, const string& name, int32_t entrySize, const vector<int32_t>& accessControlProfileIds) override; - ndk::ScopedAStatus retrieveEntryValue(const vector<int8_t>& encryptedContent, - vector<int8_t>* outContent) override; - ndk::ScopedAStatus finishRetrieval(vector<int8_t>* outMac, - vector<int8_t>* outDeviceNameSpaces) override; - ndk::ScopedAStatus generateSigningKeyPair(vector<int8_t>* outSigningKeyBlob, + ndk::ScopedAStatus retrieveEntryValue(const vector<uint8_t>& encryptedContent, + vector<uint8_t>* outContent) override; + ndk::ScopedAStatus finishRetrieval(vector<uint8_t>* outMac, + vector<uint8_t>* outDeviceNameSpaces) override; + ndk::ScopedAStatus generateSigningKeyPair(vector<uint8_t>* outSigningKeyBlob, Certificate* outSigningKeyCertificate) override; private: diff --git a/identity/aidl/default/IdentityCredentialStore.cpp b/identity/aidl/default/IdentityCredentialStore.cpp index 1efb4b4937..30dc6f330b 100644 --- a/identity/aidl/default/IdentityCredentialStore.cpp +++ b/identity/aidl/default/IdentityCredentialStore.cpp @@ -51,7 +51,7 @@ ndk::ScopedAStatus IdentityCredentialStore::createCredential( } ndk::ScopedAStatus IdentityCredentialStore::getCredential( - CipherSuite cipherSuite, const vector<int8_t>& credentialData, + CipherSuite cipherSuite, const vector<uint8_t>& credentialData, shared_ptr<IIdentityCredential>* outCredential) { // We only support CIPHERSUITE_ECDHE_HKDF_ECDSA_WITH_AES_256_GCM_SHA256 right now. if (cipherSuite != CipherSuite::CIPHERSUITE_ECDHE_HKDF_ECDSA_WITH_AES_256_GCM_SHA256) { @@ -60,8 +60,8 @@ ndk::ScopedAStatus IdentityCredentialStore::getCredential( "Unsupported cipher suite")); } - vector<uint8_t> data = vector<uint8_t>(credentialData.begin(), credentialData.end()); - shared_ptr<IdentityCredential> credential = ndk::SharedRefBase::make<IdentityCredential>(data); + shared_ptr<IdentityCredential> credential = + ndk::SharedRefBase::make<IdentityCredential>(credentialData); auto ret = credential->initialize(); if (ret != IIdentityCredentialStore::STATUS_OK) { return ndk::ScopedAStatus(AStatus_fromServiceSpecificErrorWithMessage( diff --git a/identity/aidl/default/IdentityCredentialStore.h b/identity/aidl/default/IdentityCredentialStore.h index a2051130b0..4f3a42139f 100644 --- a/identity/aidl/default/IdentityCredentialStore.h +++ b/identity/aidl/default/IdentityCredentialStore.h @@ -39,7 +39,7 @@ class IdentityCredentialStore : public BnIdentityCredentialStore { const string& docType, bool testCredential, shared_ptr<IWritableIdentityCredential>* outWritableCredential) override; - ndk::ScopedAStatus getCredential(CipherSuite cipherSuite, const vector<int8_t>& credentialData, + ndk::ScopedAStatus getCredential(CipherSuite cipherSuite, const vector<uint8_t>& credentialData, shared_ptr<IIdentityCredential>* outCredential) override; }; diff --git a/identity/aidl/default/Util.cpp b/identity/aidl/default/Util.cpp index a0f86bedcd..66b9f13d89 100644 --- a/identity/aidl/default/Util.cpp +++ b/identity/aidl/default/Util.cpp @@ -39,21 +39,12 @@ const vector<uint8_t>& getHardwareBoundKey() { return hardwareBoundKey; } -vector<uint8_t> byteStringToUnsigned(const vector<int8_t>& value) { - return vector<uint8_t>(value.begin(), value.end()); -} - -vector<int8_t> byteStringToSigned(const vector<uint8_t>& value) { - return vector<int8_t>(value.begin(), value.end()); -} - vector<uint8_t> secureAccessControlProfileEncodeCbor(const SecureAccessControlProfile& profile) { cppbor::Map map; map.add("id", profile.id); if (profile.readerCertificate.encodedCertificate.size() > 0) { - map.add("readerCertificate", - cppbor::Bstr(byteStringToUnsigned(profile.readerCertificate.encodedCertificate))); + map.add("readerCertificate", cppbor::Bstr(profile.readerCertificate.encodedCertificate)); } if (profile.userAuthenticationRequired) { @@ -94,7 +85,7 @@ bool secureAccessControlProfileCheckMac(const SecureAccessControlProfile& profil if (!mac) { return false; } - if (mac.value() != byteStringToUnsigned(profile.mac)) { + if (mac.value() != profile.mac) { return false; } return true; diff --git a/identity/aidl/default/Util.h b/identity/aidl/default/Util.h index ee41ad1aac..9fccba2c72 100644 --- a/identity/aidl/default/Util.h +++ b/identity/aidl/default/Util.h @@ -49,10 +49,6 @@ bool secureAccessControlProfileCheckMac(const SecureAccessControlProfile& profil vector<uint8_t> entryCreateAdditionalData(const string& nameSpace, const string& name, const vector<int32_t> accessControlProfileIds); -vector<uint8_t> byteStringToUnsigned(const vector<int8_t>& value); - -vector<int8_t> byteStringToSigned(const vector<uint8_t>& value); - } // namespace aidl::android::hardware::identity #endif // ANDROID_HARDWARE_IDENTITY_UTIL_H diff --git a/identity/aidl/default/WritableIdentityCredential.cpp b/identity/aidl/default/WritableIdentityCredential.cpp index c218866ace..fea289b9ef 100644 --- a/identity/aidl/default/WritableIdentityCredential.cpp +++ b/identity/aidl/default/WritableIdentityCredential.cpp @@ -57,8 +57,8 @@ bool WritableIdentityCredential::initialize() { // attestation certificate with current time and expires one year from now. The // certificate shall contain all values as specified in hal. ndk::ScopedAStatus WritableIdentityCredential::getAttestationCertificate( - const vector<int8_t>& attestationApplicationId, // - const vector<int8_t>& attestationChallenge, // + const vector<uint8_t>& attestationApplicationId, // + const vector<uint8_t>& attestationChallenge, // vector<Certificate>* outCertificateChain) { if (!credentialPrivKey_.empty() || !credentialPubKey_.empty() || !certificateChain_.empty()) { return ndk::ScopedAStatus(AStatus_fromServiceSpecificErrorWithMessage( @@ -105,7 +105,7 @@ ndk::ScopedAStatus WritableIdentityCredential::getAttestationCertificate( *outCertificateChain = vector<Certificate>(); for (const vector<uint8_t>& cert : certificateChain_) { Certificate c = Certificate(); - c.encodedCertificate = byteStringToSigned(cert); + c.encodedCertificate = cert; outCertificateChain->push_back(std::move(c)); } return ndk::ScopedAStatus::ok(); @@ -186,14 +186,13 @@ ndk::ScopedAStatus WritableIdentityCredential::addAccessControlProfile( return ndk::ScopedAStatus(AStatus_fromServiceSpecificErrorWithMessage( IIdentityCredentialStore::STATUS_FAILED, "Error calculating MAC for profile")); } - profile.mac = byteStringToSigned(mac.value()); + profile.mac = mac.value(); cppbor::Map profileMap; profileMap.add("id", profile.id); if (profile.readerCertificate.encodedCertificate.size() > 0) { - profileMap.add( - "readerCertificate", - cppbor::Bstr(byteStringToUnsigned(profile.readerCertificate.encodedCertificate))); + profileMap.add("readerCertificate", + cppbor::Bstr(profile.readerCertificate.encodedCertificate)); } if (profile.userAuthenticationRequired) { profileMap.add("userAuthenticationRequired", profile.userAuthenticationRequired); @@ -273,9 +272,8 @@ ndk::ScopedAStatus WritableIdentityCredential::beginAddEntry( return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus WritableIdentityCredential::addEntryValue(const vector<int8_t>& contentS, - vector<int8_t>* outEncryptedContentS) { - auto content = byteStringToUnsigned(contentS); +ndk::ScopedAStatus WritableIdentityCredential::addEntryValue(const vector<uint8_t>& content, + vector<uint8_t>* outEncryptedContent) { size_t contentSize = content.size(); if (contentSize > IdentityCredentialStore::kGcmChunkSize) { @@ -330,7 +328,7 @@ ndk::ScopedAStatus WritableIdentityCredential::addEntryValue(const vector<int8_t signedDataCurrentNamespace_.add(std::move(entryMap)); } - *outEncryptedContentS = byteStringToSigned(encryptedContent.value()); + *outEncryptedContent = encryptedContent.value(); return ndk::ScopedAStatus::ok(); } @@ -379,7 +377,7 @@ bool generateCredentialData(const vector<uint8_t>& hardwareBoundKey, const strin } ndk::ScopedAStatus WritableIdentityCredential::finishAddingEntries( - vector<int8_t>* outCredentialData, vector<int8_t>* outProofOfProvisioningSignature) { + vector<uint8_t>* outCredentialData, vector<uint8_t>* outProofOfProvisioningSignature) { if (numAccessControlProfileRemaining_ != 0) { return ndk::ScopedAStatus(AStatus_fromServiceSpecificErrorWithMessage( IIdentityCredentialStore::STATUS_INVALID_DATA, @@ -436,8 +434,8 @@ ndk::ScopedAStatus WritableIdentityCredential::finishAddingEntries( IIdentityCredentialStore::STATUS_FAILED, "Error generating CredentialData")); } - *outCredentialData = byteStringToSigned(credentialData); - *outProofOfProvisioningSignature = byteStringToSigned(signature.value()); + *outCredentialData = credentialData; + *outProofOfProvisioningSignature = signature.value(); return ndk::ScopedAStatus::ok(); } diff --git a/identity/aidl/default/WritableIdentityCredential.h b/identity/aidl/default/WritableIdentityCredential.h index 05104d7016..56458520c1 100644 --- a/identity/aidl/default/WritableIdentityCredential.h +++ b/identity/aidl/default/WritableIdentityCredential.h @@ -39,8 +39,8 @@ class WritableIdentityCredential : public BnWritableIdentityCredential { bool initialize(); // Methods from IWritableIdentityCredential follow. - ndk::ScopedAStatus getAttestationCertificate(const vector<int8_t>& attestationApplicationId, - const vector<int8_t>& attestationChallenge, + ndk::ScopedAStatus getAttestationCertificate(const vector<uint8_t>& attestationApplicationId, + const vector<uint8_t>& attestationChallenge, vector<Certificate>* outCertificateChain) override; ndk::ScopedAStatus setExpectedProofOfProvisioningSize( @@ -58,12 +58,12 @@ class WritableIdentityCredential : public BnWritableIdentityCredential { const string& nameSpace, const string& name, int32_t entrySize) override; - ndk::ScopedAStatus addEntryValue(const vector<int8_t>& content, - vector<int8_t>* outEncryptedContent) override; + ndk::ScopedAStatus addEntryValue(const vector<uint8_t>& content, + vector<uint8_t>* outEncryptedContent) override; ndk::ScopedAStatus finishAddingEntries( - vector<int8_t>* outCredentialData, - vector<int8_t>* outProofOfProvisioningSignature) override; + vector<uint8_t>* outCredentialData, + vector<uint8_t>* outProofOfProvisioningSignature) override; private: string docType_; diff --git a/input/classifier/1.0/Android.bp b/input/classifier/1.0/Android.bp index 11e0f52dd0..b6e54ca56a 100644 --- a/input/classifier/1.0/Android.bp +++ b/input/classifier/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.input.classifier@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IInputClassifier.hal", ], diff --git a/input/classifier/1.0/vts/functional/Android.bp b/input/classifier/1.0/vts/functional/Android.bp index 4d6c9c367e..150324b263 100644 --- a/input/classifier/1.0/vts/functional/Android.bp +++ b/input/classifier/1.0/vts/functional/Android.bp @@ -18,12 +18,13 @@ cc_test { name: "VtsHalInputClassifierV1_0TargetTest", defaults: ["VtsHalTargetTestDefaults"], srcs: ["VtsHalInputClassifierV1_0TargetTest.cpp"], + header_libs: ["jni_headers"], static_libs: [ "android.hardware.input.classifier@1.0", "android.hardware.input.common@1.0", ], test_suites: [ "general-tests", - "vts", + "vts-core", ], } diff --git a/input/common/1.0/Android.bp b/input/common/1.0/Android.bp index 2c7c517cce..07ced7ab05 100644 --- a/input/common/1.0/Android.bp +++ b/input/common/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.input.common@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", ], diff --git a/ir/1.0/Android.bp b/ir/1.0/Android.bp index 5fca96dca5..6a521f7d51 100644 --- a/ir/1.0/Android.bp +++ b/ir/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.ir@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IConsumerIr.hal", diff --git a/keymaster/3.0/Android.bp b/keymaster/3.0/Android.bp index 0fdc32c810..d0c7a7cd3e 100644 --- a/keymaster/3.0/Android.bp +++ b/keymaster/3.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.keymaster@3.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IKeymasterDevice.hal", diff --git a/keymaster/4.0/Android.bp b/keymaster/4.0/Android.bp index ea328f4c15..5774718601 100644 --- a/keymaster/4.0/Android.bp +++ b/keymaster/4.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.keymaster@4.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IKeymasterDevice.hal", diff --git a/keymaster/4.0/support/include/keymasterV4_0/keymaster_tags.h b/keymaster/4.0/support/include/keymasterV4_0/keymaster_tags.h index bc7f311097..8d6e74adf8 100644 --- a/keymaster/4.0/support/include/keymasterV4_0/keymaster_tags.h +++ b/keymaster/4.0/support/include/keymasterV4_0/keymaster_tags.h @@ -112,6 +112,11 @@ DECLARE_TYPED_TAG(APPLICATION_ID); DECLARE_TYPED_TAG(ASSOCIATED_DATA); DECLARE_TYPED_TAG(ATTESTATION_APPLICATION_ID); DECLARE_TYPED_TAG(ATTESTATION_CHALLENGE); +DECLARE_TYPED_TAG(ATTESTATION_ID_BRAND); +DECLARE_TYPED_TAG(ATTESTATION_ID_DEVICE); +DECLARE_TYPED_TAG(ATTESTATION_ID_PRODUCT); +DECLARE_TYPED_TAG(ATTESTATION_ID_MANUFACTURER); +DECLARE_TYPED_TAG(ATTESTATION_ID_MODEL); DECLARE_TYPED_TAG(AUTH_TIMEOUT); DECLARE_TYPED_TAG(BLOB_USAGE_REQUIREMENTS); DECLARE_TYPED_TAG(BLOCK_MODE); @@ -155,21 +160,22 @@ DECLARE_TYPED_TAG(VENDOR_PATCHLEVEL); template <typename... Elems> struct MetaList {}; -using all_tags_t = - MetaList<TAG_INVALID_t, TAG_KEY_SIZE_t, TAG_MAC_LENGTH_t, TAG_CALLER_NONCE_t, - TAG_MIN_MAC_LENGTH_t, TAG_RSA_PUBLIC_EXPONENT_t, TAG_INCLUDE_UNIQUE_ID_t, - TAG_ACTIVE_DATETIME_t, TAG_ORIGINATION_EXPIRE_DATETIME_t, TAG_USAGE_EXPIRE_DATETIME_t, - TAG_MIN_SECONDS_BETWEEN_OPS_t, TAG_MAX_USES_PER_BOOT_t, TAG_USER_ID_t, - TAG_USER_SECURE_ID_t, TAG_NO_AUTH_REQUIRED_t, TAG_AUTH_TIMEOUT_t, - TAG_ALLOW_WHILE_ON_BODY_t, TAG_UNLOCKED_DEVICE_REQUIRED_t, TAG_APPLICATION_ID_t, - TAG_APPLICATION_DATA_t, TAG_CREATION_DATETIME_t, TAG_ROLLBACK_RESISTANCE_t, - TAG_HARDWARE_TYPE_t, TAG_ROOT_OF_TRUST_t, TAG_ASSOCIATED_DATA_t, TAG_NONCE_t, - TAG_BOOTLOADER_ONLY_t, TAG_OS_VERSION_t, TAG_OS_PATCHLEVEL_t, TAG_UNIQUE_ID_t, - TAG_ATTESTATION_CHALLENGE_t, TAG_ATTESTATION_APPLICATION_ID_t, - TAG_RESET_SINCE_ID_ROTATION_t, TAG_PURPOSE_t, TAG_ALGORITHM_t, TAG_BLOCK_MODE_t, - TAG_DIGEST_t, TAG_PADDING_t, TAG_BLOB_USAGE_REQUIREMENTS_t, TAG_ORIGIN_t, - TAG_USER_AUTH_TYPE_t, TAG_EC_CURVE_t, TAG_BOOT_PATCHLEVEL_t, TAG_VENDOR_PATCHLEVEL_t, - TAG_TRUSTED_CONFIRMATION_REQUIRED_t, TAG_TRUSTED_USER_PRESENCE_REQUIRED_t>; +using all_tags_t = MetaList< + TAG_INVALID_t, TAG_KEY_SIZE_t, TAG_MAC_LENGTH_t, TAG_CALLER_NONCE_t, TAG_MIN_MAC_LENGTH_t, + TAG_RSA_PUBLIC_EXPONENT_t, TAG_INCLUDE_UNIQUE_ID_t, TAG_ACTIVE_DATETIME_t, + TAG_ORIGINATION_EXPIRE_DATETIME_t, TAG_USAGE_EXPIRE_DATETIME_t, + TAG_MIN_SECONDS_BETWEEN_OPS_t, TAG_MAX_USES_PER_BOOT_t, TAG_USER_ID_t, TAG_USER_SECURE_ID_t, + TAG_NO_AUTH_REQUIRED_t, TAG_AUTH_TIMEOUT_t, TAG_ALLOW_WHILE_ON_BODY_t, + TAG_UNLOCKED_DEVICE_REQUIRED_t, TAG_APPLICATION_ID_t, TAG_APPLICATION_DATA_t, + TAG_CREATION_DATETIME_t, TAG_ROLLBACK_RESISTANCE_t, TAG_HARDWARE_TYPE_t, + TAG_ROOT_OF_TRUST_t, TAG_ASSOCIATED_DATA_t, TAG_NONCE_t, TAG_BOOTLOADER_ONLY_t, + TAG_OS_VERSION_t, TAG_OS_PATCHLEVEL_t, TAG_UNIQUE_ID_t, TAG_ATTESTATION_CHALLENGE_t, + TAG_ATTESTATION_APPLICATION_ID_t, TAG_ATTESTATION_ID_BRAND_t, TAG_ATTESTATION_ID_DEVICE_t, + TAG_ATTESTATION_ID_PRODUCT_t, TAG_ATTESTATION_ID_MANUFACTURER_t, TAG_ATTESTATION_ID_MODEL_t, + TAG_RESET_SINCE_ID_ROTATION_t, TAG_PURPOSE_t, TAG_ALGORITHM_t, TAG_BLOCK_MODE_t, + TAG_DIGEST_t, TAG_PADDING_t, TAG_BLOB_USAGE_REQUIREMENTS_t, TAG_ORIGIN_t, + TAG_USER_AUTH_TYPE_t, TAG_EC_CURVE_t, TAG_BOOT_PATCHLEVEL_t, TAG_VENDOR_PATCHLEVEL_t, + TAG_TRUSTED_CONFIRMATION_REQUIRED_t, TAG_TRUSTED_USER_PRESENCE_REQUIRED_t>; template <typename TypedTagType> struct TypedTag2ValueType; diff --git a/keymaster/4.1/Android.bp b/keymaster/4.1/Android.bp index f6ac6f8426..4e7e944564 100644 --- a/keymaster/4.1/Android.bp +++ b/keymaster/4.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.keymaster@4.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IKeymasterDevice.hal", diff --git a/keymaster/4.1/vts/functional/DeviceUniqueAttestationTest.cpp b/keymaster/4.1/vts/functional/DeviceUniqueAttestationTest.cpp index 495de0f97d..728a523d65 100644 --- a/keymaster/4.1/vts/functional/DeviceUniqueAttestationTest.cpp +++ b/keymaster/4.1/vts/functional/DeviceUniqueAttestationTest.cpp @@ -212,9 +212,11 @@ TEST_P(DeviceUniqueAttestationTest, NonStrongBoxOnly) { EXPECT_EQ(ErrorCode::UNIMPLEMENTED, convert(AttestKey( AuthorizationSetBuilder() + .Authorization(TAG_DEVICE_UNIQUE_ATTESTATION) .Authorization(TAG_ATTESTATION_CHALLENGE, HidlBuf("challenge")) .Authorization(TAG_ATTESTATION_APPLICATION_ID, HidlBuf("foo")), &cert_chain))); + CheckedDeleteKey(); } TEST_P(DeviceUniqueAttestationTest, Rsa) { diff --git a/keymaster/aidl/Android.bp b/keymaster/aidl/Android.bp index 56a3ca99e7..52067214c2 100644 --- a/keymaster/aidl/Android.bp +++ b/keymaster/aidl/Android.bp @@ -20,3 +20,12 @@ aidl_interface { "2", ], } + +// This is a reminder that the next version of keymaster should be frozen at +// version "5" to avoid confusion with other versions of this interface. +cc_library { + name: "android.hardware.keymaster-V3-java", +} +cc_library { + name: "android.hardware.keymaster-V4-java", +} diff --git a/light/2.0/Android.bp b/light/2.0/Android.bp index d51f10dfb8..ae6d37c387 100644 --- a/light/2.0/Android.bp +++ b/light/2.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.light@2.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ILight.hal", diff --git a/media/bufferpool/1.0/Android.bp b/media/bufferpool/1.0/Android.bp index 079e47fceb..5dbbadd436 100644 --- a/media/bufferpool/1.0/Android.bp +++ b/media/bufferpool/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.media.bufferpool@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IAccessor.hal", diff --git a/media/c2/1.0/Android.bp b/media/c2/1.0/Android.bp index 391e6c4a1f..089ce981eb 100644 --- a/media/c2/1.0/Android.bp +++ b/media/c2/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.media.c2@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IComponent.hal", diff --git a/media/c2/1.1/Android.bp b/media/c2/1.1/Android.bp index c3e30b215f..a3d31dfaff 100644 --- a/media/c2/1.1/Android.bp +++ b/media/c2/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.media.c2@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IComponent.hal", "IComponentStore.hal", diff --git a/media/omx/1.0/vts/functional/common/Android.bp b/media/omx/1.0/vts/functional/common/Android.bp index 720ea9f1cf..3845b9f36f 100644 --- a/media/omx/1.0/vts/functional/common/Android.bp +++ b/media/omx/1.0/vts/functional/common/Android.bp @@ -68,11 +68,11 @@ cc_defaults { "android.hidl.allocator@1.0", "android.hidl.memory@1.0", "libhidlmemory", - "libnativehelper", ], // TODO(b/64437680): Assume these libs are always available on the device. shared_libs: [ + "libnativehelper", "libstagefright_foundation", "libstagefright_omx_utils", ], diff --git a/neuralnetworks/1.0/Android.bp b/neuralnetworks/1.0/Android.bp index 3e740c435d..20de9d56ec 100644 --- a/neuralnetworks/1.0/Android.bp +++ b/neuralnetworks/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.neuralnetworks@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IDevice.hal", diff --git a/neuralnetworks/1.1/Android.bp b/neuralnetworks/1.1/Android.bp index bef21c037c..52d866f853 100644 --- a/neuralnetworks/1.1/Android.bp +++ b/neuralnetworks/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.neuralnetworks@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IDevice.hal", diff --git a/neuralnetworks/1.2/Android.bp b/neuralnetworks/1.2/Android.bp index 4aa90aa54c..9e1db1e8f8 100644 --- a/neuralnetworks/1.2/Android.bp +++ b/neuralnetworks/1.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.neuralnetworks@1.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IBurstCallback.hal", diff --git a/neuralnetworks/1.2/IDevice.hal b/neuralnetworks/1.2/IDevice.hal index ff20c12867..5fb339f1d9 100644 --- a/neuralnetworks/1.2/IDevice.hal +++ b/neuralnetworks/1.2/IDevice.hal @@ -40,7 +40,7 @@ interface IDevice extends @1.1::IDevice { * NNAPI applications filter devices based on their needs: * - An application demands a certain level of performance, but a specific version of * the driver cannot meet that requirement because of a performance regression. - * The application can blacklist the driver based on the version provided. + * The application can disallow the driver based on the version provided. * - An application has a minimum precision requirement, but certain versions of * the driver cannot meet that requirement because of bugs or certain optimizations. * The application can filter out versions of these drivers. diff --git a/neuralnetworks/1.2/types.hal b/neuralnetworks/1.2/types.hal index 92cf2aa5e4..7441a54dba 100644 --- a/neuralnetworks/1.2/types.hal +++ b/neuralnetworks/1.2/types.hal @@ -4853,15 +4853,18 @@ struct Operand { /** * Quantized scale of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM or - * TENSOR_INT32. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ float scale; /** * Quantized zero-point offset of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ int32_t zeroPoint; diff --git a/neuralnetworks/1.2/types.t b/neuralnetworks/1.2/types.t index d197f6b541..21d88acf8f 100644 --- a/neuralnetworks/1.2/types.t +++ b/neuralnetworks/1.2/types.t @@ -251,15 +251,18 @@ struct Operand { /** * Quantized scale of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM or - * TENSOR_INT32. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ float scale; /** * Quantized zero-point offset of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ int32_t zeroPoint; diff --git a/neuralnetworks/1.3/Android.bp b/neuralnetworks/1.3/Android.bp index 7b02cc510f..3e02c909c7 100644 --- a/neuralnetworks/1.3/Android.bp +++ b/neuralnetworks/1.3/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.neuralnetworks@1.3", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IBuffer.hal", diff --git a/neuralnetworks/1.3/types.hal b/neuralnetworks/1.3/types.hal index 3b2b14c98c..5f5ee0360c 100644 --- a/neuralnetworks/1.3/types.hal +++ b/neuralnetworks/1.3/types.hal @@ -5103,8 +5103,8 @@ enum OperationType : int32_t { * signature of this operation. That is, if the operation has (3 + n) inputs * and m outputs, both subgraphs must have n inputs and m outputs with the same * types, ranks, dimensions, scales, - * zeroPoints, and extraParams as the corresponding operation inputs and - * outputs. + * zeroPoints, and extraParams as the corresponding operation + * inputs and outputs. * All of the operands mentioned must have fully specified dimensions. * * Inputs: @@ -5170,15 +5170,15 @@ enum OperationType : int32_t { * * 0: A {@link OperandType::SUBGRAPH} reference to the condition * subgraph. The subgraph must have (m + k + n) inputs with * the same types, ranks, dimensions, - * scales, zeroPoints, and extraParams as the corresponding inputs of - * the WHILE operation and exactly one output of - * {@link OperandType::TENSOR_BOOL8} and shape [1]. + * scales, zeroPoints, and extraParams as the + * corresponding inputs of the WHILE operation and exactly one output + * of {@link OperandType::TENSOR_BOOL8} and shape [1]. * All of the operands mentioned must have fully specified dimensions. * * 1: A {@link OperandType::SUBGRAPH} reference to the body subgraph. * The subgraph must have (m + k + n) inputs and (m + k) outputs with * the same types, ranks, dimensions, - * scales, zeroPoints, and extraParams as the corresponding inputs and - * outputs of the WHILE operation. + * scales, zeroPoints, and extraParams as the + * corresponding inputs and outputs of the WHILE operation. * All of the operands mentioned must have fully specified dimensions. * * (m inputs): Initial values for input-output operands. * * (k inputs): Initial values for state-only operands. @@ -5538,15 +5538,18 @@ struct Operand { /** * Quantized scale of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM or - * TENSOR_INT32. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ float scale; /** * Quantized zero-point offset of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ int32_t zeroPoint; @@ -5740,8 +5743,8 @@ struct Request { * Input data and information to be used in the execution of a prepared * model. * - * The index of the input corresponds to the index in Model.inputIndexes. - * E.g., input[i] corresponds to Model.inputIndexes[i]. + * The index of the input corresponds to the index in Model.main.inputIndexes. + * E.g., input[i] corresponds to Model.main.inputIndexes[i]. */ vec<RequestArgument> inputs; @@ -5749,8 +5752,8 @@ struct Request { * Output data and information to be used in the execution of a prepared * model. * - * The index of the output corresponds to the index in Model.outputIndexes. - * E.g., output[i] corresponds to Model.outputIndexes[i]. + * The index of the output corresponds to the index in Model.main.outputIndexes. + * E.g., output[i] corresponds to Model.main.outputIndexes[i]. */ vec<RequestArgument> outputs; diff --git a/neuralnetworks/1.3/types.t b/neuralnetworks/1.3/types.t index 7220e372a7..2901d18525 100644 --- a/neuralnetworks/1.3/types.t +++ b/neuralnetworks/1.3/types.t @@ -303,15 +303,18 @@ struct Operand { /** * Quantized scale of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM or - * TENSOR_INT32. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ float scale; /** * Quantized zero-point offset of the operand. * - * Only applicable if the operand is of type TENSOR_QUANT8_ASYMM. + * Must be 0 when not applicable to an operand type. + * + * See {@link OperandType}. */ int32_t zeroPoint; @@ -505,8 +508,8 @@ struct Request { * Input data and information to be used in the execution of a prepared * model. * - * The index of the input corresponds to the index in Model.inputIndexes. - * E.g., input[i] corresponds to Model.inputIndexes[i]. + * The index of the input corresponds to the index in Model.main.inputIndexes. + * E.g., input[i] corresponds to Model.main.inputIndexes[i]. */ vec<RequestArgument> inputs; @@ -514,8 +517,8 @@ struct Request { * Output data and information to be used in the execution of a prepared * model. * - * The index of the output corresponds to the index in Model.outputIndexes. - * E.g., output[i] corresponds to Model.outputIndexes[i]. + * The index of the output corresponds to the index in Model.main.outputIndexes. + * E.g., output[i] corresponds to Model.main.outputIndexes[i]. */ vec<RequestArgument> outputs; diff --git a/nfc/1.0/Android.bp b/nfc/1.0/Android.bp index bd64907364..667922a4ac 100644 --- a/nfc/1.0/Android.bp +++ b/nfc/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.nfc@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "INfc.hal", diff --git a/nfc/1.1/Android.bp b/nfc/1.1/Android.bp index 1f8789fc35..a8976b06c4 100644 --- a/nfc/1.1/Android.bp +++ b/nfc/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.nfc@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "INfc.hal", diff --git a/nfc/1.2/Android.bp b/nfc/1.2/Android.bp index aa68d2fde1..514d5313aa 100644 --- a/nfc/1.2/Android.bp +++ b/nfc/1.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.nfc@1.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "INfc.hal", diff --git a/oemlock/1.0/Android.bp b/oemlock/1.0/Android.bp index e784be098b..8ab2911b8e 100644 --- a/oemlock/1.0/Android.bp +++ b/oemlock/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.oemlock@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IOemLock.hal", diff --git a/power/1.0/Android.bp b/power/1.0/Android.bp index 6ba1d78e33..7381c709c9 100644 --- a/power/1.0/Android.bp +++ b/power/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.power@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IPower.hal", diff --git a/power/1.1/Android.bp b/power/1.1/Android.bp index 6b133cce00..e026e7021f 100644 --- a/power/1.1/Android.bp +++ b/power/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.power@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IPower.hal", diff --git a/power/1.2/Android.bp b/power/1.2/Android.bp index 296965b5c2..ccf66dc1a6 100644 --- a/power/1.2/Android.bp +++ b/power/1.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.power@1.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IPower.hal", diff --git a/power/1.3/Android.bp b/power/1.3/Android.bp index 00ca750212..15955e5db5 100644 --- a/power/1.3/Android.bp +++ b/power/1.3/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.power@1.3", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IPower.hal", diff --git a/power/stats/1.0/Android.bp b/power/stats/1.0/Android.bp index c592006089..2a71490522 100644 --- a/power/stats/1.0/Android.bp +++ b/power/stats/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.power.stats@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IPowerStats.hal", diff --git a/prebuilt_hashes/26.txt b/prebuilt_hashes/26.txt deleted file mode 100644 index f2feb4c5c0..0000000000 --- a/prebuilt_hashes/26.txt +++ /dev/null @@ -1,186 +0,0 @@ -# Do not change this file except to add new interfaces. Changing -# pre-existing interfaces will fail VTS and break framework-only OTAs - -# HALs released in Android O - -f219c3b5b8c6cb1d659d4c7328f67246abfe1a8613f469826fd3b9ad090417a2 android.hardware.audio@2.0::IDevice -4d579cae1cd87a783fd49233e10ce720ba183cfd1d5ccd80149e69de5c1c7362 android.hardware.audio@2.0::IDevicesFactory -203e23f18011390b8cd10c303e0c16c4eebc8fa187e80e40d6be4624c2b0848a android.hardware.audio@2.0::IPrimaryDevice -aaf93123deec336eb247ad8099849469a541ca0cf7c28c5f5336cebe1ee86748 android.hardware.audio@2.0::IStream -0468c5723b0d44c5b451bdfa06153000c6f352fd3336e0ad2697127b04b766df android.hardware.audio@2.0::IStreamIn -7296f7064fd3ab24082b43a1da34cc876268065310b785499fba5178d063680a android.hardware.audio@2.0::IStreamOut -19d241d71c3e1140afba8140dcb57448446025a5fc03739788c4c25e9a98b6c2 android.hardware.audio@2.0::IStreamOutCallback -c84da9f586087227daa3b96d42b4575326bccfd5bc8a2a5acf86d774f8ea2648 android.hardware.audio@2.0::types -1305786c06e22b9b24ebde136054cc827b63c86d8bf4a136d6f7f54752b8566b android.hardware.audio.common@2.0::types -fa8fbae3d1da3c264e4f3110728076abc09b4e65f12af6ae136367328de988ab android.hardware.audio.effect@2.0::IAcousticEchoCancelerEffect -ca4752545d54547ff069eae161af7550cb5f5a7e8b60316ddd132a30906a68e7 android.hardware.audio.effect@2.0::IAutomaticGainControlEffect -d2b8af988dc66f514d886bcee44b440d8034bc2a762f7161717ef3c956073067 android.hardware.audio.effect@2.0::IBassBoostEffect -611bc09c75e796f3512b1ca6be508b0a9ba996759b8a2c60507784ff58076229 android.hardware.audio.effect@2.0::IDownmixEffect -36a57369dfdc75180e8b64ae80b1970db8f6d9085dbff6ca931715038cc056e1 android.hardware.audio.effect@2.0::IEffect -d2aa2df6d189c580f5be8460fa0ff4134d9c05a383f3204659baee426a6f0edf android.hardware.audio.effect@2.0::IEffectBufferProviderCallback -217f9161983a48d3bf3faeb158f868aa8bf0ce25889e4ee3d2bab1a2e8d33e77 android.hardware.audio.effect@2.0::IEffectsFactory -c2b38bc07991e880c83ca8cb88181411eeef708b8b936aedd2f2e0acade7df69 android.hardware.audio.effect@2.0::IEnvironmentalReverbEffect -2ff9f9704be5f167745b4de790e9dafc3cc4719e2f6e2e5497085e679853cfe7 android.hardware.audio.effect@2.0::IEqualizerEffect -c31447fb02dbc8b56c359941dad22f416511860173c5c5fd278d1bf2312b13de android.hardware.audio.effect@2.0::ILoudnessEnhancerEffect -804831ca258802eb3eb65a0a7b5d5e3d37d4a15ba8c2836b4276eda98b47e1d0 android.hardware.audio.effect@2.0::INoiseSuppressionEffect -778fd5b9837f481d8e47425b3e2a3bd0c6362a0b6870291518e2d863530fdb61 android.hardware.audio.effect@2.0::IPresetReverbEffect -c93cb25a1a92d07aa80a617c01e8d22fc97bf8cefd3962b6a5be386ad4704d89 android.hardware.audio.effect@2.0::IVirtualizerEffect -918f331780c9c7b04f2151a2e563aab088198ede8e6f865302ebaa13905bd9ce android.hardware.audio.effect@2.0::IVisualizerEffect -4caad099f8fc00262b6c03ba41271808b37cea90ac98b534299bbf4ee823af02 android.hardware.audio.effect@2.0::types -# android.hardware.automotive.* are unfrozen -1fbdc1f852f8bd2e4a6c5cb30ac2b78668c98dce118a61762d4034ae859f43d8 android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint -aabb5c3c585592d71ee57b77298c14993d77914ddeaa64b2c5109a602b02ea47 android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprintClientCallback -1ec60d4efddae9a7b2469278a576967b4751e88de5b8d7e9df6eff6bc0da7bc9 android.hardware.biometrics.fingerprint@2.1::types -347ce746815607567f5f3b53e4800998ca5ab9355141f0880fc0cf0c1fc5c355 android.hardware.bluetooth@1.0::IBluetoothHci -835f41be2281bfb22f3e33c6fa870bde7bc21e37e5cfbaf9a36fff170632f754 android.hardware.bluetooth@1.0::IBluetoothHciCallbacks -a8dfd0dbe463a3cdbcf1d985b38a28b3d93ba2ae5a1d1db4aaef4c38a5781b91 android.hardware.bluetooth@1.0::types -7192d756aeba00aba32f4504981df8172ffca83e210c4838dabf295e53e93590 android.hardware.boot@1.0::IBootControl -cebaa803b8e33807a0d69f46652b650ccb549e8f9b19d6becbbf26690e828b49 android.hardware.boot@1.0::types -a98d49f23712a7cc327d1e0602d05f6f3ad32cfb5c74711d009c726611ee1c93 android.hardware.broadcastradio@1.0::IBroadcastRadio -ed82579c0c165feaa12d0e33c06b3342ab41ec0a439247f202775e8369e46ef6 android.hardware.broadcastradio@1.0::IBroadcastRadioFactory -da6ab32ee2793d2c86d3b603075d5383852b89d7eaa201861aa0473d418f3c7f android.hardware.broadcastradio@1.0::ITuner -04d3ca022e25c308d9efd2e7eb77b3a7a206907cdc1b9ea9326340b377868172 android.hardware.broadcastradio@1.0::ITunerCallback -bd42c8d7838cfed1998b49c39745dec116d2d6edc2c11a4c0399b8f3a1d1655a android.hardware.broadcastradio@1.0::types -81164323115d6588e259e8319fddf7487adfa1f49ce60f7e80ba74e0783392a4 android.hardware.camera.common@1.0::types -c1705e9d62438a1d955269965af915ae28e692bd480a3b1ce67056fef992d62f android.hardware.camera.device@1.0::ICameraDevice -78e9b44cf8660bdc1e98dca07451804153824efcd28db208a62f5ad728f44076 android.hardware.camera.device@1.0::ICameraDeviceCallback -28f0386ba86ddf41e53a8117b48a0328d7a4d2574213e89f4a1062398a244566 android.hardware.camera.device@1.0::ICameraDevicePreviewCallback -4db48439ce9dde97f1cfb3d7408f6c737f621ac0f7494aeea35ed599bc2352a3 android.hardware.camera.device@1.0::types -b32f9aeaf1c442195eb06ffc7600968c919d005b2718874f09c57287fae55918 android.hardware.camera.device@3.2::ICameraDevice -63bfc3da0f2d2301f7a0508c7c2b9ffc521d4d545ee03718da70e9d6273b3b21 android.hardware.camera.device@3.2::ICameraDeviceCallback -0fa3e1e64819283b8737fc4e5ab759f0cb4ac1a996e8a51cc4aa8025a457208e android.hardware.camera.device@3.2::ICameraDeviceSession -030be3d2b159cbde7920485807140f6b6064ef4a5de4a40a6c4bc8d2c72f7cd3 android.hardware.camera.device@3.2::types -5ba7947cee515d7a2359bfcbfb9678c1c3a768c288471919ac095b96ae6f3d40 android.hardware.camera.metadata@3.2::types -f7e299d85033ac52d1095a35784fcfeaff43603f58c751e4153c85bbade3b330 android.hardware.camera.provider@2.4::ICameraProvider -a501ca1aecd09f1b9fd70a9af84205430dbd49a808e8fa395d363b9902e6f58c android.hardware.camera.provider@2.4::ICameraProviderCallback -7f5fe8f4f8a24037153c504d8b4d3313c2ce33d81c8c69fe5194ddd2d4080e72 android.hardware.configstore@1.0::ISurfaceFlingerConfigs -87beacc481897cf02fb1628d75e68133de6d74d4cffe582cda2f5e16bdd74516 android.hardware.configstore@1.0::types -a5ae0fe8667f0b1af09b13e72d29600f4eb3853b257079c45a99b6f4a3360649 android.hardware.contexthub@1.0::IContexthub -2ab3054c2d9302d8417ee7495353a2887fe338f913276f2eb41e80f11395ec2e android.hardware.contexthub@1.0::IContexthubCallback -c3b2b37d561d31ea094411f251bf73bea334f4fe849a4390aef5e20bca6cadba android.hardware.contexthub@1.0::types -df174c1871c864b4c79ca9f64aae7936d24a272eca3191a30458ca2b706dec79 android.hardware.drm@1.0::ICryptoFactory -83639e90caeb996b0274e420de3cd556779de1ca48464b68eee799bef32b34cd android.hardware.drm@1.0::ICryptoPlugin -1440cffdfaeb12830ac10ee6ffdb0f1083e701057b806df11fb4787b4c91e718 android.hardware.drm@1.0::IDrmFactory -78ba33b108f620e6a0eec01ef654547e69a85754578ea4c9ef03ec205f16121c android.hardware.drm@1.0::IDrmPlugin -701d9e51952172364e4ea70db9c397f08c3b4577ba33051f050a6cdd532de1b4 android.hardware.drm@1.0::IDrmPluginListener -4238d62ad90df63aa338c6f1b6264c09c5a3706945d5c49d1189c0be1dc9e942 android.hardware.drm@1.0::types -f07b1ee3ba11a2fc9f200421b2e1afb7c1854ee987000e45c987fb9507795055 android.hardware.dumpstate@1.0::IDumpstateDevice -c9d318df7922bde3b265927b521ff5a965002826fc0cabfcaef52a56760f2d34 android.hardware.gatekeeper@1.0::IGatekeeper -da13bd69282fb275767abb18704c57ff8038e6c139ad17157dc702810f70d06a android.hardware.gatekeeper@1.0::types -37c7da4f823ec958dfa9c960e2d341c48f877e0bfa758f3fa9e2d9c1e1bd66d9 android.hardware.gnss@1.0::IAGnss -7ec9afdb964bfb8369866913caf018f2636592885bcb558a65de2c5436ab4f60 android.hardware.gnss@1.0::IAGnssCallback -d16e6a359be6963ea753d7138e84ecf2b93052097938938c4d36d7a47ea2e2ae android.hardware.gnss@1.0::IAGnssRil -2f907708d74d94b1e121ed27651c9c72af65952d347b58ff07dac5d5d7a7f678 android.hardware.gnss@1.0::IAGnssRilCallback -5ac7edad06d76064b882be161f3f9d9692a997ec72e9f36addb7fe8918f49992 android.hardware.gnss@1.0::IGnss -b05c983c87c3376e145223688c3b541b5e11b827f211e38d5a31af1ca3a2e222 android.hardware.gnss@1.0::IGnssBatching -4981d2d2c4e725c7544be0956099a91fc7bbc8048c563394158083fe924e651e android.hardware.gnss@1.0::IGnssBatchingCallback -3cd22d92cc1f935150c5048310e84886f14eed2556e8f00636733d204045cc4f android.hardware.gnss@1.0::IGnssCallback -175185a5eda87476193ca5461df75dd16d36664591e8130530dd8ef0eb2ddf6a android.hardware.gnss@1.0::IGnssConfiguration -4542122b96fbf27101cb8222bafb76e7c8d032d977dd1058edd8e5881ca5752f android.hardware.gnss@1.0::IGnssDebug -e6dd0c8416e523ab9cbd14d56ab6f016481a8aef3bc8a750051122d31075f6c7 android.hardware.gnss@1.0::IGnssGeofenceCallback -f90e4ddc652706299d8e3d8ba18e0745c3bae9bf4d1be6bd06d9c1f50ec8d28a android.hardware.gnss@1.0::IGnssGeofencing -9ea8987bb1089c8c5d7b67866575b866ef516045021d9efcc37c6352bce072a3 android.hardware.gnss@1.0::IGnssMeasurement -cf20492673d6a423e4c2e87fdfb5a4c4a602431721978db852e246f258e25edb android.hardware.gnss@1.0::IGnssMeasurementCallback -af85aa0f48ae99a39f4688c344e4419304f681f9af818a5c8d759286fc4418de android.hardware.gnss@1.0::IGnssNavigationMessage -76b0874ea4c06b29f66418c59820f4286b3be9629cd872923d0dfbb602cd432d android.hardware.gnss@1.0::IGnssNavigationMessageCallback -248bcf51da4273d64f367bf6877baef2feeaca365459842fd3c214a2dc6e0224 android.hardware.gnss@1.0::IGnssNi -c781b7b125f68be5db8a8c3d412d526acdbdf77dcc592a4c0ed70b8ce4fe6c49 android.hardware.gnss@1.0::IGnssNiCallback -c1142657de16fdb292a502372fe938614d65270ab8359217d6e13604fe4dbca4 android.hardware.gnss@1.0::IGnssXtra -bd366b83d8d565d0e8bfabff3adfcab0259d75b4e2a9f8e1b91e11d1593a2ffb android.hardware.gnss@1.0::IGnssXtraCallback -881bc2f94026784d194cffbff166c6e8bf911de4e02abe96fc7d89ec75b0574a android.hardware.gnss@1.0::types -17971eb8a482893dadcfc16e0583f492d42a034ef95d9b0b709417af30838396 android.hardware.graphics.allocator@2.0::IAllocator -60bf42a4898e4fb70dbd720b263aeafd7f35f5e1a5effeabb4d5d659878a5f18 android.hardware.graphics.bufferqueue@1.0::IGraphicBufferProducer -b8a75617b9ec12bea641f3a73d4025a33e8b9a2f9169dd46094af56adf9249c5 android.hardware.graphics.bufferqueue@1.0::IProducerListener -4f6dedbcdd21c309dfc650acea81a096d6b242493ffe49c8d61bd3c43aad354e android.hardware.graphics.common@1.0::types -b3aac6c3817f039964fcd62268274b3039e17bd7d0d5b40b4d1d1c7b19a1f866 android.hardware.graphics.composer@2.1::IComposer -b19d00eb8a8b3b0034a0321f22e8f32162bf4c2aebbce6da22c025f56e459ea2 android.hardware.graphics.composer@2.1::IComposerCallback -61ee43ffe6fb6dbe8b22dc17c51ff3d5ba703fc6029cba211f901f3d79c8a72d android.hardware.graphics.composer@2.1::IComposerClient -1c98c2f5154345312ec054871792a2982ec5f3e2bc2abfb61a10c0b517978e20 android.hardware.graphics.composer@2.1::types -a695898589e1ef15b2b2510f11edd6aafac9918d9cf8d74b4b6143b309dee542 android.hardware.graphics.mapper@2.0::IMapper -28507d385a3dd224bf3c32f1bfd9f96092c4701b9c1cc66caa578fc3efc97877 android.hardware.graphics.mapper@2.0::types -91e2ba3805c923f01fc1231ec9ff838942aee3346f2d7614ecc0caeadbe57ed4 android.hardware.health@1.0::IHealth -1275aa2e8732909101b26aec49ed2285489e89d97b8610a8908b7868e35a3cc5 android.hardware.health@1.0::types -3a8d3922e06e6d4f8e0befc6be78d0e9e07aed1585b3da6521bed406d25a9483 android.hardware.ir@1.0::IConsumerIr -7090bd37912fcf723a12f4bc17783e3527577c4944805a028c296fd7a95bd682 android.hardware.ir@1.0::types -cc7925a78c0ab022515f48840d3dae76f384ed3a1287abadcb461a5cd5396163 android.hardware.keymaster@3.0::IKeymasterDevice -822998d7bb76f0cd719a409291434fcb56e6d50bc4780788bb157a3374d63b8c android.hardware.keymaster@3.0::types -d4ed2f0e14f9e914d0b1275d2e0363192fe30aca9059c84edb5fad15995f9ec4 android.hardware.light@2.0::ILight -d9584bfcaedd6e62cf337881748246b23e36cbc2bc3aa84c01b6a1e622061400 android.hardware.light@2.0::types -16c0cf0f73de1e5208a95020c6c6474903e7094f76b2d782651afaca0e5fd86f android.hardware.media@1.0::types -8bc2f5fdcad68856eb61a62fe4cc043fa064bb7f1dab95a71d1918ec1eef7b55 android.hardware.media.omx@1.0::IGraphicBufferSource -0d3de9cd89d4718ea3b772f2d8b93be004feb3abb7e7dc5402e37047cc730d05 android.hardware.media.omx@1.0::IOmx -32002e1c358c64de106c977a6dc6af7da27be4803a5bb66fd6f891a5ba0a1617 android.hardware.media.omx@1.0::IOmxBufferSource -81ad8d8bb1cf6f41923cf11dd39354a8fe433db284a234cc675de7e75a82224c android.hardware.media.omx@1.0::IOmxNode -494c0c8bf6065edc82ec127228ed19dd2243dc1c2f7d601c7c6be7b7015c1713 android.hardware.media.omx@1.0::IOmxObserver -252c2fc50c78fd6de8365e5b60e5115119ace107db0b94b0b26815cbf3d2b64a android.hardware.media.omx@1.0::IOmxStore -148c1b50b0958988373145ffdf5fa0e1b6534e0a2034a570e74b15c127cf7c5e android.hardware.media.omx@1.0::types -c66902fe48d687ac6740a3e32ae55fb75532c48c36c6386461c2b4416ad2e0f1 android.hardware.memtrack@1.0::IMemtrack -860bacd8b11a269c40567542b613fe4ca448d5cb4326d0058899e608e89dfca1 android.hardware.memtrack@1.0::types -07ac2dc95270321ec7d4c33cd25e5085a057f47fe350d645af6f7a7a11e3cf57 android.hardware.nfc@1.0::INfc -f2fe54426c07d67388d4774a60641ad4c0538f22eb6e1111722f231772655de6 android.hardware.nfc@1.0::INfcClientCallback -9626fd18db113d709faf593a70caf19bd0980294d23c468c80c30186f9d298a6 android.hardware.nfc@1.0::types -deee1dc4948f33af207e1008aba0f6cc07afb7900eab53f33192c8cac137eefc android.hardware.power@1.0::IPower -efc83df3f962b93c7c0290d691d7d300dabe12683e2cde3591fb3c0beedce20f android.hardware.power@1.0::types -9b5aa499ec3b4226f15f48f5ed08896e2fc0676f978c9e199c1da21daaf002a6 android.hardware.radio@1.0::IRadio -5c8efbb9c451a59737ed2c6c20230aae4745839ca01d8088d6dcc9020e52d2c5 android.hardware.radio@1.0::IRadioIndication -69f6b4b8ec40ca02ccc7bb8227a097135c20c00bd94c822e421cd9af1267252c android.hardware.radio@1.0::IRadioResponse -de3ab9f73b1073cd677b19d886fb927e9381b30161a704712d2b30f875873f5c android.hardware.radio@1.0::ISap -d183e406ef0897df2117a9dde384e8e6ea4fa6ab1c7f6f28e65b87011218c9ea android.hardware.radio@1.0::ISapCallback -96986fbd22f0e6ca752e1fcdc0a64bda213995a81f5f36bc4faf3532d9306b97 android.hardware.radio@1.0::types -00f70085d6fae1d482fb700a3fd42ed475384c95b51c9269b9ae5037b74ad4dd android.hardware.radio.deprecated@1.0::IOemHook -06837b6d7e843cfa9cd20fed4070feca7a9b5c81a9ed643bf7d06803455a9816 android.hardware.radio.deprecated@1.0::IOemHookIndication -6fd4874f0eddd4626a27658fd94fad526c317f3563439e79718bdb1a3a2309d5 android.hardware.radio.deprecated@1.0::IOemHookResponse -6983a2cafe39d5c57dfdc1743055fb0f757a0df8c78e00423d5e1810836927e1 android.hardware.renderscript@1.0::IContext -7f9417a0ccf78ea042ec7a8ac8e3750346d4d9d7e5ae01b1b35fde303f47c24d android.hardware.renderscript@1.0::IDevice -fc6f325b266b32353f7d1534fbe58e0d368265a12b77fa396fb556e8c443f739 android.hardware.renderscript@1.0::types -89585ff541c319de4091a5a0b687dd526ac81c6382ffd7b979a4164b3d7419a6 android.hardware.sensors@1.0::ISensors -e04ab978fc28f4c515f4a75617dfda8607733a64f13666beeb0e604a07a39333 android.hardware.sensors@1.0::types -5befc019cbe94953661e2cdb95e3cf64f5e565c29403e1c2daecc2be44e0a55c android.hardware.soundtrigger@2.0::ISoundTriggerHw -d7ec5f612a5e0a59ea4f2b61317e208ff56dd50920fd4eb441e0cbc8f97e4f49 android.hardware.soundtrigger@2.0::ISoundTriggerHwCallback -5bee9e70f7e5ec7ee252883b28f98f12b59960f4c2a0b4cc9a4526e4669ebcd4 android.hardware.soundtrigger@2.0::types -97f1ec446043bc5a6645b74529a6276496bdb35e0aee41eda55cb92d51eb7802 android.hardware.thermal@1.0::IThermal -84965a6908bceb4ef51546bf8731f309f1ea9d09a0177dcc7974132e523dd6d2 android.hardware.thermal@1.0::types -938850621c3c5ef426a4b88e752ba99b3559037e782a3d938604f3aef5cc0f1b android.hardware.tv.cec@1.0::IHdmiCec -e75b6eea711d36fac678bce072b3cec6544b27fa9f4cd903999404e5c110ca10 android.hardware.tv.cec@1.0::IHdmiCecCallback -6e25f8dbfadb668e1d4ec80eb9acd95d8bc9e0a240c36d27e662adb440314b95 android.hardware.tv.cec@1.0::types -0cafa3c8388e9631916d2d800f78decbcec2904f11415b32c71a31d9a51ebf79 android.hardware.tv.input@1.0::ITvInput -dee83e5c864fbbee8f02448d0800be32f06856386b9f907bc5d952208c9434f9 android.hardware.tv.input@1.0::ITvInputCallback -07aab30410b612381234dca6d453d4ab96f2e536368715717c6e28101b9851b5 android.hardware.tv.input@1.0::types -4ef57499273f38bdbdd0c15e56ee7a4bc5f18a5644092170a531df3541d9e015 android.hardware.usb@1.0::IUsb -4be7881e411ba42784bf5b7354c14ae0cf161004d39433aaecaab0d19ea99354 android.hardware.usb@1.0::IUsbCallback -f7e6e747910a3cd0a35846141e3b990a6a612a297b2b70ccd5740b646a450a8c android.hardware.usb@1.0::types -06ea64cc3565777f3b259e400ffa7100d07f3827ad9357b0c5d3c651384e5553 android.hardware.vibrator@1.0::IVibrator -0fecd34ae64f32eff6aa615fd662349242c0b8b6e303ef05a7cb5776c732f413 android.hardware.vibrator@1.0::types -4b962968a7df4ab104d1315d66a0a7348a713fecbb5d2c1b23688494458f37ce android.hardware.vr@1.0::IVr -b9be36719a8ad534000a51ea07be91be94c405bf1e038ae825acf65087ffd378 android.hardware.wifi@1.0::IWifi -ee0224ee18813506d9d6f13d8c8e4679f053c290a443a52a7c52a5d3c852262b android.hardware.wifi@1.0::IWifiApIface -f3eecc489deb4c74892f59eb7adb769063bd5c354ac132b626a5f42b363d36bc android.hardware.wifi@1.0::IWifiChip -a1b988377645a58e5e2542ca2bad4e17c21a4a389213d05de2f0e32d57b7d339 android.hardware.wifi@1.0::IWifiChipEventCallback -5ed6760ce77e84bc6c49d1acb3f7d8117c9176b3f06514bc44ad3af84c80dcfe android.hardware.wifi@1.0::IWifiEventCallback -6b9ad43a5efbe6ca214f751e22ce43cf5cd4d5d5f2cba80f24ccd3755a72401c android.hardware.wifi@1.0::IWifiIface -ba5aa74f1ba714f0093864227923492808795bda6199c4ea0891322d27f8c931 android.hardware.wifi@1.0::IWifiNanIface -325c94f3e1a565b56bbc74faddbd0ba7cb824f263dccf9dfff2daf62b86ed774 android.hardware.wifi@1.0::IWifiNanIfaceEventCallback -c2c3f0372b41780fb6dfe83c022296806c2024d7046682fd201de5aa9b791c7a android.hardware.wifi@1.0::IWifiP2pIface -766e9765f5c9c759b2a763c2288353fb5deff3389c2cc28f81d79c939704ce8b android.hardware.wifi@1.0::IWifiRttController -72ab6f3e120cbf07aa6f8e87ca89112bdeb36b7fbb96bce5af3712323ab8b8e6 android.hardware.wifi@1.0::IWifiRttControllerEventCallback -3b8093d39ef1e10e43c5538afbf5ff6e39b8d8168ebbe1998d993e89e25f14a5 android.hardware.wifi@1.0::IWifiStaIface -7fbfc551c3e23c8b4398c3e16e452b516457e6921424a53474cbf373ca306fa9 android.hardware.wifi@1.0::IWifiStaIfaceEventCallback -e20d5132d6d23e072c15de065b5e2aa13ff965031246a2c82581732bae56bf6d android.hardware.wifi@1.0::types -f7e55c08187d8c855068a1ee3d0c8daeee7570292d96509c21a8756d4f5cfb9b android.hardware.wifi.supplicant@1.0::ISupplicant -56b5c7267cb3d3337f44eb8b0b38ff4c6260dcc70e07687fcab94b1ccea8d159 android.hardware.wifi.supplicant@1.0::ISupplicantCallback -35ba7bcdf18f24a866a7e5429548f06768bb20a257f75b10a397c4d825ef8438 android.hardware.wifi.supplicant@1.0::ISupplicantIface -cda01008c06922fa37c1213e9bb831a109b3174532805616fb7161edc403866f android.hardware.wifi.supplicant@1.0::ISupplicantNetwork -4907410338c5e8dbeec4b5edc2608ea323f5561945f8810af81810c47b019184 android.hardware.wifi.supplicant@1.0::ISupplicantP2pIface -8b63f5efa2e3be3a7cb8a428760d82285a4ab79bcbdea6ef90aa547555e582d4 android.hardware.wifi.supplicant@1.0::ISupplicantP2pIfaceCallback -56128f74560571b6777d59453f35c6b35693ee377e2a23c807708906928f09de android.hardware.wifi.supplicant@1.0::ISupplicantP2pNetwork -2067c22197bca9743dab66a6f561a8a8375c67b4f76aed05f776839499bd4c8f android.hardware.wifi.supplicant@1.0::ISupplicantP2pNetworkCallback -7752e1de93aaf5fed37011c219ac247069f6af320b0810daa98510584a10e7b4 android.hardware.wifi.supplicant@1.0::ISupplicantStaIface -d781c8d7e7b3fe5cca8cf6e1d8806e770982ae5358c7816ed51b0f0ec272e70d android.hardware.wifi.supplicant@1.0::ISupplicantStaIfaceCallback -b12ef0bdd8a4d247a8a6e960b227ed32383f2b0241f55d67fcea6eff6a6737fa android.hardware.wifi.supplicant@1.0::ISupplicantStaNetwork -d8f0877ae1d321c1d884c7631dfe36cab0ec8a4b2863d4b687f85d3549a63bcc android.hardware.wifi.supplicant@1.0::ISupplicantStaNetworkCallback -fe3c3c2f572b72f15f8594c538b0577bd5c28722c31879cfe6231330cddb6747 android.hardware.wifi.supplicant@1.0::types - -# ABI preserving changes to HALs released in Android O - -78589343d8ee2e1b155acad3fbdc7fcbb6af94491aee968b2383c21627264f8b android.hardware.radio@1.0::IRadioResponse -c2c50ec74c87a583c683b4493f8f9f2e454a8d41c57af5b3eb88823a999f0ea4 android.hardware.radio@1.0::IRadioResponse diff --git a/prebuilt_hashes/27.txt b/prebuilt_hashes/27.txt deleted file mode 100644 index 23f2004b90..0000000000 --- a/prebuilt_hashes/27.txt +++ /dev/null @@ -1,249 +0,0 @@ -# Do not change this file except to add new interfaces. Changing -# pre-existing interfaces will fail VTS and break framework-only OTAs - -# HALs released in Android O - -f219c3b5b8c6cb1d659d4c7328f67246abfe1a8613f469826fd3b9ad090417a2 android.hardware.audio@2.0::IDevice -4d579cae1cd87a783fd49233e10ce720ba183cfd1d5ccd80149e69de5c1c7362 android.hardware.audio@2.0::IDevicesFactory -203e23f18011390b8cd10c303e0c16c4eebc8fa187e80e40d6be4624c2b0848a android.hardware.audio@2.0::IPrimaryDevice -aaf93123deec336eb247ad8099849469a541ca0cf7c28c5f5336cebe1ee86748 android.hardware.audio@2.0::IStream -0468c5723b0d44c5b451bdfa06153000c6f352fd3336e0ad2697127b04b766df android.hardware.audio@2.0::IStreamIn -7296f7064fd3ab24082b43a1da34cc876268065310b785499fba5178d063680a android.hardware.audio@2.0::IStreamOut -19d241d71c3e1140afba8140dcb57448446025a5fc03739788c4c25e9a98b6c2 android.hardware.audio@2.0::IStreamOutCallback -c84da9f586087227daa3b96d42b4575326bccfd5bc8a2a5acf86d774f8ea2648 android.hardware.audio@2.0::types -1305786c06e22b9b24ebde136054cc827b63c86d8bf4a136d6f7f54752b8566b android.hardware.audio.common@2.0::types -fa8fbae3d1da3c264e4f3110728076abc09b4e65f12af6ae136367328de988ab android.hardware.audio.effect@2.0::IAcousticEchoCancelerEffect -ca4752545d54547ff069eae161af7550cb5f5a7e8b60316ddd132a30906a68e7 android.hardware.audio.effect@2.0::IAutomaticGainControlEffect -d2b8af988dc66f514d886bcee44b440d8034bc2a762f7161717ef3c956073067 android.hardware.audio.effect@2.0::IBassBoostEffect -611bc09c75e796f3512b1ca6be508b0a9ba996759b8a2c60507784ff58076229 android.hardware.audio.effect@2.0::IDownmixEffect -36a57369dfdc75180e8b64ae80b1970db8f6d9085dbff6ca931715038cc056e1 android.hardware.audio.effect@2.0::IEffect -d2aa2df6d189c580f5be8460fa0ff4134d9c05a383f3204659baee426a6f0edf android.hardware.audio.effect@2.0::IEffectBufferProviderCallback -217f9161983a48d3bf3faeb158f868aa8bf0ce25889e4ee3d2bab1a2e8d33e77 android.hardware.audio.effect@2.0::IEffectsFactory -c2b38bc07991e880c83ca8cb88181411eeef708b8b936aedd2f2e0acade7df69 android.hardware.audio.effect@2.0::IEnvironmentalReverbEffect -2ff9f9704be5f167745b4de790e9dafc3cc4719e2f6e2e5497085e679853cfe7 android.hardware.audio.effect@2.0::IEqualizerEffect -c31447fb02dbc8b56c359941dad22f416511860173c5c5fd278d1bf2312b13de android.hardware.audio.effect@2.0::ILoudnessEnhancerEffect -804831ca258802eb3eb65a0a7b5d5e3d37d4a15ba8c2836b4276eda98b47e1d0 android.hardware.audio.effect@2.0::INoiseSuppressionEffect -778fd5b9837f481d8e47425b3e2a3bd0c6362a0b6870291518e2d863530fdb61 android.hardware.audio.effect@2.0::IPresetReverbEffect -c93cb25a1a92d07aa80a617c01e8d22fc97bf8cefd3962b6a5be386ad4704d89 android.hardware.audio.effect@2.0::IVirtualizerEffect -918f331780c9c7b04f2151a2e563aab088198ede8e6f865302ebaa13905bd9ce android.hardware.audio.effect@2.0::IVisualizerEffect -4caad099f8fc00262b6c03ba41271808b37cea90ac98b534299bbf4ee823af02 android.hardware.audio.effect@2.0::types -# android.hardware.automotive.* are unfrozen -1fbdc1f852f8bd2e4a6c5cb30ac2b78668c98dce118a61762d4034ae859f43d8 android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint -aabb5c3c585592d71ee57b77298c14993d77914ddeaa64b2c5109a602b02ea47 android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprintClientCallback -1ec60d4efddae9a7b2469278a576967b4751e88de5b8d7e9df6eff6bc0da7bc9 android.hardware.biometrics.fingerprint@2.1::types -347ce746815607567f5f3b53e4800998ca5ab9355141f0880fc0cf0c1fc5c355 android.hardware.bluetooth@1.0::IBluetoothHci -835f41be2281bfb22f3e33c6fa870bde7bc21e37e5cfbaf9a36fff170632f754 android.hardware.bluetooth@1.0::IBluetoothHciCallbacks -a8dfd0dbe463a3cdbcf1d985b38a28b3d93ba2ae5a1d1db4aaef4c38a5781b91 android.hardware.bluetooth@1.0::types -7192d756aeba00aba32f4504981df8172ffca83e210c4838dabf295e53e93590 android.hardware.boot@1.0::IBootControl -cebaa803b8e33807a0d69f46652b650ccb549e8f9b19d6becbbf26690e828b49 android.hardware.boot@1.0::types -a98d49f23712a7cc327d1e0602d05f6f3ad32cfb5c74711d009c726611ee1c93 android.hardware.broadcastradio@1.0::IBroadcastRadio -ed82579c0c165feaa12d0e33c06b3342ab41ec0a439247f202775e8369e46ef6 android.hardware.broadcastradio@1.0::IBroadcastRadioFactory -da6ab32ee2793d2c86d3b603075d5383852b89d7eaa201861aa0473d418f3c7f android.hardware.broadcastradio@1.0::ITuner -04d3ca022e25c308d9efd2e7eb77b3a7a206907cdc1b9ea9326340b377868172 android.hardware.broadcastradio@1.0::ITunerCallback -bd42c8d7838cfed1998b49c39745dec116d2d6edc2c11a4c0399b8f3a1d1655a android.hardware.broadcastradio@1.0::types -81164323115d6588e259e8319fddf7487adfa1f49ce60f7e80ba74e0783392a4 android.hardware.camera.common@1.0::types -c1705e9d62438a1d955269965af915ae28e692bd480a3b1ce67056fef992d62f android.hardware.camera.device@1.0::ICameraDevice -78e9b44cf8660bdc1e98dca07451804153824efcd28db208a62f5ad728f44076 android.hardware.camera.device@1.0::ICameraDeviceCallback -28f0386ba86ddf41e53a8117b48a0328d7a4d2574213e89f4a1062398a244566 android.hardware.camera.device@1.0::ICameraDevicePreviewCallback -4db48439ce9dde97f1cfb3d7408f6c737f621ac0f7494aeea35ed599bc2352a3 android.hardware.camera.device@1.0::types -b32f9aeaf1c442195eb06ffc7600968c919d005b2718874f09c57287fae55918 android.hardware.camera.device@3.2::ICameraDevice -63bfc3da0f2d2301f7a0508c7c2b9ffc521d4d545ee03718da70e9d6273b3b21 android.hardware.camera.device@3.2::ICameraDeviceCallback -0fa3e1e64819283b8737fc4e5ab759f0cb4ac1a996e8a51cc4aa8025a457208e android.hardware.camera.device@3.2::ICameraDeviceSession -030be3d2b159cbde7920485807140f6b6064ef4a5de4a40a6c4bc8d2c72f7cd3 android.hardware.camera.device@3.2::types -5ba7947cee515d7a2359bfcbfb9678c1c3a768c288471919ac095b96ae6f3d40 android.hardware.camera.metadata@3.2::types -f7e299d85033ac52d1095a35784fcfeaff43603f58c751e4153c85bbade3b330 android.hardware.camera.provider@2.4::ICameraProvider -a501ca1aecd09f1b9fd70a9af84205430dbd49a808e8fa395d363b9902e6f58c android.hardware.camera.provider@2.4::ICameraProviderCallback -7f5fe8f4f8a24037153c504d8b4d3313c2ce33d81c8c69fe5194ddd2d4080e72 android.hardware.configstore@1.0::ISurfaceFlingerConfigs -87beacc481897cf02fb1628d75e68133de6d74d4cffe582cda2f5e16bdd74516 android.hardware.configstore@1.0::types -a5ae0fe8667f0b1af09b13e72d29600f4eb3853b257079c45a99b6f4a3360649 android.hardware.contexthub@1.0::IContexthub -2ab3054c2d9302d8417ee7495353a2887fe338f913276f2eb41e80f11395ec2e android.hardware.contexthub@1.0::IContexthubCallback -c3b2b37d561d31ea094411f251bf73bea334f4fe849a4390aef5e20bca6cadba android.hardware.contexthub@1.0::types -df174c1871c864b4c79ca9f64aae7936d24a272eca3191a30458ca2b706dec79 android.hardware.drm@1.0::ICryptoFactory -83639e90caeb996b0274e420de3cd556779de1ca48464b68eee799bef32b34cd android.hardware.drm@1.0::ICryptoPlugin -1440cffdfaeb12830ac10ee6ffdb0f1083e701057b806df11fb4787b4c91e718 android.hardware.drm@1.0::IDrmFactory -78ba33b108f620e6a0eec01ef654547e69a85754578ea4c9ef03ec205f16121c android.hardware.drm@1.0::IDrmPlugin -701d9e51952172364e4ea70db9c397f08c3b4577ba33051f050a6cdd532de1b4 android.hardware.drm@1.0::IDrmPluginListener -4238d62ad90df63aa338c6f1b6264c09c5a3706945d5c49d1189c0be1dc9e942 android.hardware.drm@1.0::types -f07b1ee3ba11a2fc9f200421b2e1afb7c1854ee987000e45c987fb9507795055 android.hardware.dumpstate@1.0::IDumpstateDevice -c9d318df7922bde3b265927b521ff5a965002826fc0cabfcaef52a56760f2d34 android.hardware.gatekeeper@1.0::IGatekeeper -da13bd69282fb275767abb18704c57ff8038e6c139ad17157dc702810f70d06a android.hardware.gatekeeper@1.0::types -37c7da4f823ec958dfa9c960e2d341c48f877e0bfa758f3fa9e2d9c1e1bd66d9 android.hardware.gnss@1.0::IAGnss -7ec9afdb964bfb8369866913caf018f2636592885bcb558a65de2c5436ab4f60 android.hardware.gnss@1.0::IAGnssCallback -d16e6a359be6963ea753d7138e84ecf2b93052097938938c4d36d7a47ea2e2ae android.hardware.gnss@1.0::IAGnssRil -2f907708d74d94b1e121ed27651c9c72af65952d347b58ff07dac5d5d7a7f678 android.hardware.gnss@1.0::IAGnssRilCallback -5ac7edad06d76064b882be161f3f9d9692a997ec72e9f36addb7fe8918f49992 android.hardware.gnss@1.0::IGnss -b05c983c87c3376e145223688c3b541b5e11b827f211e38d5a31af1ca3a2e222 android.hardware.gnss@1.0::IGnssBatching -4981d2d2c4e725c7544be0956099a91fc7bbc8048c563394158083fe924e651e android.hardware.gnss@1.0::IGnssBatchingCallback -3cd22d92cc1f935150c5048310e84886f14eed2556e8f00636733d204045cc4f android.hardware.gnss@1.0::IGnssCallback -175185a5eda87476193ca5461df75dd16d36664591e8130530dd8ef0eb2ddf6a android.hardware.gnss@1.0::IGnssConfiguration -4542122b96fbf27101cb8222bafb76e7c8d032d977dd1058edd8e5881ca5752f android.hardware.gnss@1.0::IGnssDebug -e6dd0c8416e523ab9cbd14d56ab6f016481a8aef3bc8a750051122d31075f6c7 android.hardware.gnss@1.0::IGnssGeofenceCallback -f90e4ddc652706299d8e3d8ba18e0745c3bae9bf4d1be6bd06d9c1f50ec8d28a android.hardware.gnss@1.0::IGnssGeofencing -9ea8987bb1089c8c5d7b67866575b866ef516045021d9efcc37c6352bce072a3 android.hardware.gnss@1.0::IGnssMeasurement -cf20492673d6a423e4c2e87fdfb5a4c4a602431721978db852e246f258e25edb android.hardware.gnss@1.0::IGnssMeasurementCallback -af85aa0f48ae99a39f4688c344e4419304f681f9af818a5c8d759286fc4418de android.hardware.gnss@1.0::IGnssNavigationMessage -76b0874ea4c06b29f66418c59820f4286b3be9629cd872923d0dfbb602cd432d android.hardware.gnss@1.0::IGnssNavigationMessageCallback -248bcf51da4273d64f367bf6877baef2feeaca365459842fd3c214a2dc6e0224 android.hardware.gnss@1.0::IGnssNi -c781b7b125f68be5db8a8c3d412d526acdbdf77dcc592a4c0ed70b8ce4fe6c49 android.hardware.gnss@1.0::IGnssNiCallback -c1142657de16fdb292a502372fe938614d65270ab8359217d6e13604fe4dbca4 android.hardware.gnss@1.0::IGnssXtra -bd366b83d8d565d0e8bfabff3adfcab0259d75b4e2a9f8e1b91e11d1593a2ffb android.hardware.gnss@1.0::IGnssXtraCallback -881bc2f94026784d194cffbff166c6e8bf911de4e02abe96fc7d89ec75b0574a android.hardware.gnss@1.0::types -17971eb8a482893dadcfc16e0583f492d42a034ef95d9b0b709417af30838396 android.hardware.graphics.allocator@2.0::IAllocator -60bf42a4898e4fb70dbd720b263aeafd7f35f5e1a5effeabb4d5d659878a5f18 android.hardware.graphics.bufferqueue@1.0::IGraphicBufferProducer -b8a75617b9ec12bea641f3a73d4025a33e8b9a2f9169dd46094af56adf9249c5 android.hardware.graphics.bufferqueue@1.0::IProducerListener -4f6dedbcdd21c309dfc650acea81a096d6b242493ffe49c8d61bd3c43aad354e android.hardware.graphics.common@1.0::types -b3aac6c3817f039964fcd62268274b3039e17bd7d0d5b40b4d1d1c7b19a1f866 android.hardware.graphics.composer@2.1::IComposer -b19d00eb8a8b3b0034a0321f22e8f32162bf4c2aebbce6da22c025f56e459ea2 android.hardware.graphics.composer@2.1::IComposerCallback -61ee43ffe6fb6dbe8b22dc17c51ff3d5ba703fc6029cba211f901f3d79c8a72d android.hardware.graphics.composer@2.1::IComposerClient -1c98c2f5154345312ec054871792a2982ec5f3e2bc2abfb61a10c0b517978e20 android.hardware.graphics.composer@2.1::types -a695898589e1ef15b2b2510f11edd6aafac9918d9cf8d74b4b6143b309dee542 android.hardware.graphics.mapper@2.0::IMapper -28507d385a3dd224bf3c32f1bfd9f96092c4701b9c1cc66caa578fc3efc97877 android.hardware.graphics.mapper@2.0::types -91e2ba3805c923f01fc1231ec9ff838942aee3346f2d7614ecc0caeadbe57ed4 android.hardware.health@1.0::IHealth -1275aa2e8732909101b26aec49ed2285489e89d97b8610a8908b7868e35a3cc5 android.hardware.health@1.0::types -3a8d3922e06e6d4f8e0befc6be78d0e9e07aed1585b3da6521bed406d25a9483 android.hardware.ir@1.0::IConsumerIr -7090bd37912fcf723a12f4bc17783e3527577c4944805a028c296fd7a95bd682 android.hardware.ir@1.0::types -cc7925a78c0ab022515f48840d3dae76f384ed3a1287abadcb461a5cd5396163 android.hardware.keymaster@3.0::IKeymasterDevice -822998d7bb76f0cd719a409291434fcb56e6d50bc4780788bb157a3374d63b8c android.hardware.keymaster@3.0::types -d4ed2f0e14f9e914d0b1275d2e0363192fe30aca9059c84edb5fad15995f9ec4 android.hardware.light@2.0::ILight -d9584bfcaedd6e62cf337881748246b23e36cbc2bc3aa84c01b6a1e622061400 android.hardware.light@2.0::types -16c0cf0f73de1e5208a95020c6c6474903e7094f76b2d782651afaca0e5fd86f android.hardware.media@1.0::types -8bc2f5fdcad68856eb61a62fe4cc043fa064bb7f1dab95a71d1918ec1eef7b55 android.hardware.media.omx@1.0::IGraphicBufferSource -0d3de9cd89d4718ea3b772f2d8b93be004feb3abb7e7dc5402e37047cc730d05 android.hardware.media.omx@1.0::IOmx -32002e1c358c64de106c977a6dc6af7da27be4803a5bb66fd6f891a5ba0a1617 android.hardware.media.omx@1.0::IOmxBufferSource -81ad8d8bb1cf6f41923cf11dd39354a8fe433db284a234cc675de7e75a82224c android.hardware.media.omx@1.0::IOmxNode -494c0c8bf6065edc82ec127228ed19dd2243dc1c2f7d601c7c6be7b7015c1713 android.hardware.media.omx@1.0::IOmxObserver -252c2fc50c78fd6de8365e5b60e5115119ace107db0b94b0b26815cbf3d2b64a android.hardware.media.omx@1.0::IOmxStore -148c1b50b0958988373145ffdf5fa0e1b6534e0a2034a570e74b15c127cf7c5e android.hardware.media.omx@1.0::types -c66902fe48d687ac6740a3e32ae55fb75532c48c36c6386461c2b4416ad2e0f1 android.hardware.memtrack@1.0::IMemtrack -860bacd8b11a269c40567542b613fe4ca448d5cb4326d0058899e608e89dfca1 android.hardware.memtrack@1.0::types -07ac2dc95270321ec7d4c33cd25e5085a057f47fe350d645af6f7a7a11e3cf57 android.hardware.nfc@1.0::INfc -f2fe54426c07d67388d4774a60641ad4c0538f22eb6e1111722f231772655de6 android.hardware.nfc@1.0::INfcClientCallback -9626fd18db113d709faf593a70caf19bd0980294d23c468c80c30186f9d298a6 android.hardware.nfc@1.0::types -deee1dc4948f33af207e1008aba0f6cc07afb7900eab53f33192c8cac137eefc android.hardware.power@1.0::IPower -efc83df3f962b93c7c0290d691d7d300dabe12683e2cde3591fb3c0beedce20f android.hardware.power@1.0::types -9b5aa499ec3b4226f15f48f5ed08896e2fc0676f978c9e199c1da21daaf002a6 android.hardware.radio@1.0::IRadio -5c8efbb9c451a59737ed2c6c20230aae4745839ca01d8088d6dcc9020e52d2c5 android.hardware.radio@1.0::IRadioIndication -69f6b4b8ec40ca02ccc7bb8227a097135c20c00bd94c822e421cd9af1267252c android.hardware.radio@1.0::IRadioResponse -de3ab9f73b1073cd677b19d886fb927e9381b30161a704712d2b30f875873f5c android.hardware.radio@1.0::ISap -d183e406ef0897df2117a9dde384e8e6ea4fa6ab1c7f6f28e65b87011218c9ea android.hardware.radio@1.0::ISapCallback -96986fbd22f0e6ca752e1fcdc0a64bda213995a81f5f36bc4faf3532d9306b97 android.hardware.radio@1.0::types -00f70085d6fae1d482fb700a3fd42ed475384c95b51c9269b9ae5037b74ad4dd android.hardware.radio.deprecated@1.0::IOemHook -06837b6d7e843cfa9cd20fed4070feca7a9b5c81a9ed643bf7d06803455a9816 android.hardware.radio.deprecated@1.0::IOemHookIndication -6fd4874f0eddd4626a27658fd94fad526c317f3563439e79718bdb1a3a2309d5 android.hardware.radio.deprecated@1.0::IOemHookResponse -6983a2cafe39d5c57dfdc1743055fb0f757a0df8c78e00423d5e1810836927e1 android.hardware.renderscript@1.0::IContext -7f9417a0ccf78ea042ec7a8ac8e3750346d4d9d7e5ae01b1b35fde303f47c24d android.hardware.renderscript@1.0::IDevice -fc6f325b266b32353f7d1534fbe58e0d368265a12b77fa396fb556e8c443f739 android.hardware.renderscript@1.0::types -89585ff541c319de4091a5a0b687dd526ac81c6382ffd7b979a4164b3d7419a6 android.hardware.sensors@1.0::ISensors -e04ab978fc28f4c515f4a75617dfda8607733a64f13666beeb0e604a07a39333 android.hardware.sensors@1.0::types -5befc019cbe94953661e2cdb95e3cf64f5e565c29403e1c2daecc2be44e0a55c android.hardware.soundtrigger@2.0::ISoundTriggerHw -d7ec5f612a5e0a59ea4f2b61317e208ff56dd50920fd4eb441e0cbc8f97e4f49 android.hardware.soundtrigger@2.0::ISoundTriggerHwCallback -5bee9e70f7e5ec7ee252883b28f98f12b59960f4c2a0b4cc9a4526e4669ebcd4 android.hardware.soundtrigger@2.0::types -97f1ec446043bc5a6645b74529a6276496bdb35e0aee41eda55cb92d51eb7802 android.hardware.thermal@1.0::IThermal -84965a6908bceb4ef51546bf8731f309f1ea9d09a0177dcc7974132e523dd6d2 android.hardware.thermal@1.0::types -938850621c3c5ef426a4b88e752ba99b3559037e782a3d938604f3aef5cc0f1b android.hardware.tv.cec@1.0::IHdmiCec -e75b6eea711d36fac678bce072b3cec6544b27fa9f4cd903999404e5c110ca10 android.hardware.tv.cec@1.0::IHdmiCecCallback -6e25f8dbfadb668e1d4ec80eb9acd95d8bc9e0a240c36d27e662adb440314b95 android.hardware.tv.cec@1.0::types -0cafa3c8388e9631916d2d800f78decbcec2904f11415b32c71a31d9a51ebf79 android.hardware.tv.input@1.0::ITvInput -dee83e5c864fbbee8f02448d0800be32f06856386b9f907bc5d952208c9434f9 android.hardware.tv.input@1.0::ITvInputCallback -07aab30410b612381234dca6d453d4ab96f2e536368715717c6e28101b9851b5 android.hardware.tv.input@1.0::types -4ef57499273f38bdbdd0c15e56ee7a4bc5f18a5644092170a531df3541d9e015 android.hardware.usb@1.0::IUsb -4be7881e411ba42784bf5b7354c14ae0cf161004d39433aaecaab0d19ea99354 android.hardware.usb@1.0::IUsbCallback -f7e6e747910a3cd0a35846141e3b990a6a612a297b2b70ccd5740b646a450a8c android.hardware.usb@1.0::types -06ea64cc3565777f3b259e400ffa7100d07f3827ad9357b0c5d3c651384e5553 android.hardware.vibrator@1.0::IVibrator -0fecd34ae64f32eff6aa615fd662349242c0b8b6e303ef05a7cb5776c732f413 android.hardware.vibrator@1.0::types -4b962968a7df4ab104d1315d66a0a7348a713fecbb5d2c1b23688494458f37ce android.hardware.vr@1.0::IVr -b9be36719a8ad534000a51ea07be91be94c405bf1e038ae825acf65087ffd378 android.hardware.wifi@1.0::IWifi -ee0224ee18813506d9d6f13d8c8e4679f053c290a443a52a7c52a5d3c852262b android.hardware.wifi@1.0::IWifiApIface -f3eecc489deb4c74892f59eb7adb769063bd5c354ac132b626a5f42b363d36bc android.hardware.wifi@1.0::IWifiChip -a1b988377645a58e5e2542ca2bad4e17c21a4a389213d05de2f0e32d57b7d339 android.hardware.wifi@1.0::IWifiChipEventCallback -5ed6760ce77e84bc6c49d1acb3f7d8117c9176b3f06514bc44ad3af84c80dcfe android.hardware.wifi@1.0::IWifiEventCallback -6b9ad43a5efbe6ca214f751e22ce43cf5cd4d5d5f2cba80f24ccd3755a72401c android.hardware.wifi@1.0::IWifiIface -ba5aa74f1ba714f0093864227923492808795bda6199c4ea0891322d27f8c931 android.hardware.wifi@1.0::IWifiNanIface -325c94f3e1a565b56bbc74faddbd0ba7cb824f263dccf9dfff2daf62b86ed774 android.hardware.wifi@1.0::IWifiNanIfaceEventCallback -c2c3f0372b41780fb6dfe83c022296806c2024d7046682fd201de5aa9b791c7a android.hardware.wifi@1.0::IWifiP2pIface -766e9765f5c9c759b2a763c2288353fb5deff3389c2cc28f81d79c939704ce8b android.hardware.wifi@1.0::IWifiRttController -72ab6f3e120cbf07aa6f8e87ca89112bdeb36b7fbb96bce5af3712323ab8b8e6 android.hardware.wifi@1.0::IWifiRttControllerEventCallback -3b8093d39ef1e10e43c5538afbf5ff6e39b8d8168ebbe1998d993e89e25f14a5 android.hardware.wifi@1.0::IWifiStaIface -7fbfc551c3e23c8b4398c3e16e452b516457e6921424a53474cbf373ca306fa9 android.hardware.wifi@1.0::IWifiStaIfaceEventCallback -e20d5132d6d23e072c15de065b5e2aa13ff965031246a2c82581732bae56bf6d android.hardware.wifi@1.0::types -f7e55c08187d8c855068a1ee3d0c8daeee7570292d96509c21a8756d4f5cfb9b android.hardware.wifi.supplicant@1.0::ISupplicant -56b5c7267cb3d3337f44eb8b0b38ff4c6260dcc70e07687fcab94b1ccea8d159 android.hardware.wifi.supplicant@1.0::ISupplicantCallback -35ba7bcdf18f24a866a7e5429548f06768bb20a257f75b10a397c4d825ef8438 android.hardware.wifi.supplicant@1.0::ISupplicantIface -cda01008c06922fa37c1213e9bb831a109b3174532805616fb7161edc403866f android.hardware.wifi.supplicant@1.0::ISupplicantNetwork -4907410338c5e8dbeec4b5edc2608ea323f5561945f8810af81810c47b019184 android.hardware.wifi.supplicant@1.0::ISupplicantP2pIface -8b63f5efa2e3be3a7cb8a428760d82285a4ab79bcbdea6ef90aa547555e582d4 android.hardware.wifi.supplicant@1.0::ISupplicantP2pIfaceCallback -56128f74560571b6777d59453f35c6b35693ee377e2a23c807708906928f09de android.hardware.wifi.supplicant@1.0::ISupplicantP2pNetwork -2067c22197bca9743dab66a6f561a8a8375c67b4f76aed05f776839499bd4c8f android.hardware.wifi.supplicant@1.0::ISupplicantP2pNetworkCallback -7752e1de93aaf5fed37011c219ac247069f6af320b0810daa98510584a10e7b4 android.hardware.wifi.supplicant@1.0::ISupplicantStaIface -d781c8d7e7b3fe5cca8cf6e1d8806e770982ae5358c7816ed51b0f0ec272e70d android.hardware.wifi.supplicant@1.0::ISupplicantStaIfaceCallback -b12ef0bdd8a4d247a8a6e960b227ed32383f2b0241f55d67fcea6eff6a6737fa android.hardware.wifi.supplicant@1.0::ISupplicantStaNetwork -d8f0877ae1d321c1d884c7631dfe36cab0ec8a4b2863d4b687f85d3549a63bcc android.hardware.wifi.supplicant@1.0::ISupplicantStaNetworkCallback -fe3c3c2f572b72f15f8594c538b0577bd5c28722c31879cfe6231330cddb6747 android.hardware.wifi.supplicant@1.0::types - -# ABI preserving changes to HALs during Android O MR1 (Initial Set) - -# android.hardware.automotive.* are unfrozen -150a338ce11fcec70757c9675d83cf6a5d7b40d0c812741b91671fecce59eac9 android.hardware.broadcastradio@1.0::types -dc7e6d4f537b9943e27edc4f86c5a03bb643b18f18f866f8c3c71c0ac4ea8cbc android.hardware.broadcastradio@1.0::types -760485232f6cce07f8bb05e3475509956996b702f77415ee5bff05e2ec5a5bcc android.hardware.dumpstate@1.0::IDumpstateDevice -e822cb7f4a1bdd45689c5e92ccd19a2201c20b771bd4b2ec1ae627e324591f9d android.hardware.radio@1.0::IRadioResponse -6e69adb24d7c0b0ca3a54a38c49a5625b161b3f5d5f7d6fda0befdbbfc8e9e06 android.hardware.radio@1.0::IRadioResponse -28e929b453df3d9f5060af2764e6cdb123ddb893e3e86923c877f6ff7e5f02c9 android.hardware.wifi@1.0::types -df1d7b27e644bfed0a4f606a8c44d35d45cafce82c7c648494c8a25c7cd4a949 android.hardware.wifi@1.0::types - -# HALs released in Android O MR1 (Initial Set) - -4b65763663a94a3920134011691f8fbb42ccb7b7795589efddc049a9106047d6 android.hardware.oemlock@1.0::IOemLock -e02cd3722cb5e8fa51179f5defacb4f7866f903c9c7c51dc01a3148473a71525 android.hardware.oemlock@1.0::types -224f9d22a367a0016f09b6dc676f53f1446697d9dc747163032329e5da552de5 android.hardware.power@1.1::IPower -574fd9758b7cab4922c72cc5a9f36d1cd48ffd3425fdd776426653280d3d4138 android.hardware.power@1.1::types -f79edf50a378a9c9bb737f93f205dab91b4c63ea49723afc6f856c138203ea81 android.hardware.radio@1.1::IRadio -fcc5c8c88b85a9f63fba67d9e674da466c72a98ca287f343fb5721d098713f86 android.hardware.radio@1.1::IRadioIndication -50f27e8c7ec009d5d4418b2ce8392b940bbf052ecc1d7251285f332485a5ba4e android.hardware.radio@1.1::IRadioResponse -be981148c95c0089f3ae92854f0e7ae999d308e927db3e065f12a4fabe07852f android.hardware.radio@1.1::ISap -d8d6bf7b4d36c04ce587df75953c3f723cfbe71c896c1aa8ab6478eae126723d android.hardware.radio@1.1::types -d8aae01606bfd34bf2fb9a59cadc016f46f318e56cddb8f15a945c5b3c1222bc android.hardware.tetheroffload.config@1.0::IOffloadConfig -447b00306bc95a7aafec1d660f6f3e9f76ac8bc0353193435e5579ab833da619 android.hardware.tetheroffload.control@1.0::IOffloadControl -07658829339d75962016e00ed81b005ad29fca7ac12ad3bc3ccd86b08d94c2d3 android.hardware.tetheroffload.control@1.0::ITetheringOffloadCallback -0df5b0178af15c53cdce8fcf8ca14035e8e08db4fa76fdc12009ddbe0b53626b android.hardware.tetheroffload.control@1.0::types -b30ef02ef26ff804e2f6acf1201bc141b59e134e6a0338562284491102cb13e3 android.hardware.usb@1.1::IUsb -13a580e35af01270a1e9774177c51db51d8672e6139ba00851e654e68a4d7dff android.hardware.usb@1.1::IUsbCallback -f0ed667288908c08fced570bd1f3c4a0f236aa927938e805f0d9fece525da81e android.hardware.usb@1.1::types -f95a1e85612f2d0d616eacd2eb63c52d10dfa889f165df57697c30e1f47b4785 android.hardware.vibrator@1.1::IVibrator -246fb9d9e2b4800aeb0adc3cdbaa15d0321ebab54b7bd1ab87da5b67c7b0b064 android.hardware.vibrator@1.1::types -9bc43413b80cd0c59a022e93da1448dcb82dd10c6dd31932df4659e4bdcb1368 android.hardware.weaver@1.0::IWeaver -7728b0393a2ed9796537d4165c7d95407e9d8cb447a647b545fdfe06a28689e7 android.hardware.weaver@1.0::types -bb7c96762d0aa3ddb874c8815bacdd3cbc8fb87ea2f82b928bc29e24a3593055 android.hardware.wifi.offload@1.0::IOffload -c3354ab0d381a236c12dc486ad4b6bec28c979d26748b4661f12ede36f392808 android.hardware.wifi.offload@1.0::IOffloadCallback -b18caefefcc765092412285d776234fcf213b73bdf07ae1b67a5f71b2d2464e3 android.hardware.wifi.offload@1.0::types -c26473e2e4a00af43e28a0ddf9002e5062a7d0940429e5efb6e5513a8abcb75c android.hardware.wifi@1.1::IWifi -b056e1defab4071584214584057d0bc73a613081bf1152590549649d4582c13c android.hardware.wifi@1.1::IWifiChip - -# ABI preserving changes to HALs during Android O MR1 (Final Set) -2d833aeed0cd1d59437aca210be590a953cf32bcb6683cd63d089762a643fb49 android.hardware.radio@1.0::IRadioResponse -05aa3de6130a9788fdb6f4d3cc57c3ea90f067e77a5e09d6a772ec7f6bca33d2 android.hardware.radio@1.1::IRadioResponse - -# HALs released in Android O MR1 (Final Set) -044cb039378b8a0e36f40ff1e6ce04dc0d339da02095f968d5062a051e99d108 android.hardware.broadcastradio@1.1::types -c9699483f8cefe4f9b39b4b9609b76cab2dd1659a06188056b45797d337d4256 android.hardware.broadcastradio@1.1::IBroadcastRadio -b5d62dcd663fc4fcc977b252af59b333043bdfe73de2f11fe6d6a8bf438a0f92 android.hardware.broadcastradio@1.1::IBroadcastRadioFactory -bc7e054a6e93adebedff345aeed44549be89e6b1b6ffe071ff47a61de764b232 android.hardware.broadcastradio@1.1::ITuner -e9139fc755be578693f17c8cd1e27c75f412cfc722157bab5bf03ee68896e31d android.hardware.broadcastradio@1.1::ITunerCallback -63929c99e5755d9e09d9e0fd2527391fbb1609dda0508f5933b7943b92ae0fbc android.hardware.camera.device@3.3::types -bbcfc3f748b078f6a66c4e228084a679d30bd61bfde8bb7a91efd507b91c1bfd android.hardware.camera.device@3.3::ICameraDeviceSession -4a6998cd6793a3f9f03989c29d662589b1bc9d38826c6698c6c17864f7a814f5 android.hardware.cas@1.0::types -0e656ba1bac11461a17096ef752b69d24b000d820ef5652f0150a0f9731d54c2 android.hardware.cas@1.0::ICas -b80e1456b81f80032d0de7cb45652ac15af11e7474d520d757481ecaad796dff android.hardware.cas@1.0::ICasListener -a432d6d9200248dc2126827bcd6cdea31dd65eff39b939f64585d27d915a5857 android.hardware.cas@1.0::IDescramblerBase -86ba9c03978b79a742e990420bc5ced0673d25a939f82572996bef92621e2014 android.hardware.cas@1.0::IMediaCasService -503da837d1a67cbdb7c08a033e927e5430ae1b159d98bf72c6336b4dcc5e76f5 android.hardware.cas.native@1.0::types -619600109232ed64b827c8a11beed8070b1827ae464547d7aa146cf0473b4bca android.hardware.cas.native@1.0::IDescrambler -0a159f81359cd4f71bbe00972ee8403ea79351fb7c0cd48be72ebb3e424dbaef android.hardware.radio@1.0::types -09342041e17c429fce0034b9096d17849122111436a5f0053e7e59500e1cb89c android.hardware.media.omx@1.0::IOmxStore -246a56d37d57a47224562c9d077b4a2886ce6242b9311bd98a17325944c280d7 android.hardware.neuralnetworks@1.0::types -93eb3757ceaf21590fa4cd1d4a7dfe3b3794af5396100a6d25630879352abce9 android.hardware.neuralnetworks@1.0::IDevice -f66f9a38541bf92001d3adcce678cd7e3da2262124befb460b1c9aea9492813b android.hardware.neuralnetworks@1.0::IExecutionCallback -953607822954435874f4b81686440a604e2a88cdd2d9164c6293f3d5772510d7 android.hardware.neuralnetworks@1.0::IPreparedModel -73e03573494ba96f0e711ab7f1956c5b2d54c3da690cd7ecf4d6d0f287447730 android.hardware.neuralnetworks@1.0::IPreparedModelCallback -f4945e397b5dea41bb64518dfde59be71245d8a125fd1e0acffeb57ac7b08fed android.hardware.thermal@1.1::IThermal -c8bc853546dd55584611def2a9fa1d99f657e3366c976d2f60fe6b8aa6d2cb87 android.hardware.thermal@1.1::IThermalCallback diff --git a/prebuilt_hashes/28.txt b/prebuilt_hashes/28.txt deleted file mode 100644 index 8a45ca579b..0000000000 --- a/prebuilt_hashes/28.txt +++ /dev/null @@ -1,384 +0,0 @@ -# Do not change this file except to add new interfaces. Changing -# pre-existing interfaces will fail VTS and break framework-only OTAs - -# HALs released in Android O - -f219c3b5b8c6cb1d659d4c7328f67246abfe1a8613f469826fd3b9ad090417a2 android.hardware.audio@2.0::IDevice -4d579cae1cd87a783fd49233e10ce720ba183cfd1d5ccd80149e69de5c1c7362 android.hardware.audio@2.0::IDevicesFactory -203e23f18011390b8cd10c303e0c16c4eebc8fa187e80e40d6be4624c2b0848a android.hardware.audio@2.0::IPrimaryDevice -aaf93123deec336eb247ad8099849469a541ca0cf7c28c5f5336cebe1ee86748 android.hardware.audio@2.0::IStream -0468c5723b0d44c5b451bdfa06153000c6f352fd3336e0ad2697127b04b766df android.hardware.audio@2.0::IStreamIn -7296f7064fd3ab24082b43a1da34cc876268065310b785499fba5178d063680a android.hardware.audio@2.0::IStreamOut -19d241d71c3e1140afba8140dcb57448446025a5fc03739788c4c25e9a98b6c2 android.hardware.audio@2.0::IStreamOutCallback -c84da9f586087227daa3b96d42b4575326bccfd5bc8a2a5acf86d774f8ea2648 android.hardware.audio@2.0::types -1305786c06e22b9b24ebde136054cc827b63c86d8bf4a136d6f7f54752b8566b android.hardware.audio.common@2.0::types -fa8fbae3d1da3c264e4f3110728076abc09b4e65f12af6ae136367328de988ab android.hardware.audio.effect@2.0::IAcousticEchoCancelerEffect -ca4752545d54547ff069eae161af7550cb5f5a7e8b60316ddd132a30906a68e7 android.hardware.audio.effect@2.0::IAutomaticGainControlEffect -d2b8af988dc66f514d886bcee44b440d8034bc2a762f7161717ef3c956073067 android.hardware.audio.effect@2.0::IBassBoostEffect -611bc09c75e796f3512b1ca6be508b0a9ba996759b8a2c60507784ff58076229 android.hardware.audio.effect@2.0::IDownmixEffect -36a57369dfdc75180e8b64ae80b1970db8f6d9085dbff6ca931715038cc056e1 android.hardware.audio.effect@2.0::IEffect -d2aa2df6d189c580f5be8460fa0ff4134d9c05a383f3204659baee426a6f0edf android.hardware.audio.effect@2.0::IEffectBufferProviderCallback -217f9161983a48d3bf3faeb158f868aa8bf0ce25889e4ee3d2bab1a2e8d33e77 android.hardware.audio.effect@2.0::IEffectsFactory -c2b38bc07991e880c83ca8cb88181411eeef708b8b936aedd2f2e0acade7df69 android.hardware.audio.effect@2.0::IEnvironmentalReverbEffect -2ff9f9704be5f167745b4de790e9dafc3cc4719e2f6e2e5497085e679853cfe7 android.hardware.audio.effect@2.0::IEqualizerEffect -c31447fb02dbc8b56c359941dad22f416511860173c5c5fd278d1bf2312b13de android.hardware.audio.effect@2.0::ILoudnessEnhancerEffect -804831ca258802eb3eb65a0a7b5d5e3d37d4a15ba8c2836b4276eda98b47e1d0 android.hardware.audio.effect@2.0::INoiseSuppressionEffect -778fd5b9837f481d8e47425b3e2a3bd0c6362a0b6870291518e2d863530fdb61 android.hardware.audio.effect@2.0::IPresetReverbEffect -c93cb25a1a92d07aa80a617c01e8d22fc97bf8cefd3962b6a5be386ad4704d89 android.hardware.audio.effect@2.0::IVirtualizerEffect -918f331780c9c7b04f2151a2e563aab088198ede8e6f865302ebaa13905bd9ce android.hardware.audio.effect@2.0::IVisualizerEffect -4caad099f8fc00262b6c03ba41271808b37cea90ac98b534299bbf4ee823af02 android.hardware.audio.effect@2.0::types -1fbdc1f852f8bd2e4a6c5cb30ac2b78668c98dce118a61762d4034ae859f43d8 android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint -aabb5c3c585592d71ee57b77298c14993d77914ddeaa64b2c5109a602b02ea47 android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprintClientCallback -1ec60d4efddae9a7b2469278a576967b4751e88de5b8d7e9df6eff6bc0da7bc9 android.hardware.biometrics.fingerprint@2.1::types -347ce746815607567f5f3b53e4800998ca5ab9355141f0880fc0cf0c1fc5c355 android.hardware.bluetooth@1.0::IBluetoothHci -835f41be2281bfb22f3e33c6fa870bde7bc21e37e5cfbaf9a36fff170632f754 android.hardware.bluetooth@1.0::IBluetoothHciCallbacks -a8dfd0dbe463a3cdbcf1d985b38a28b3d93ba2ae5a1d1db4aaef4c38a5781b91 android.hardware.bluetooth@1.0::types -7192d756aeba00aba32f4504981df8172ffca83e210c4838dabf295e53e93590 android.hardware.boot@1.0::IBootControl -cebaa803b8e33807a0d69f46652b650ccb549e8f9b19d6becbbf26690e828b49 android.hardware.boot@1.0::types -a98d49f23712a7cc327d1e0602d05f6f3ad32cfb5c74711d009c726611ee1c93 android.hardware.broadcastradio@1.0::IBroadcastRadio -ed82579c0c165feaa12d0e33c06b3342ab41ec0a439247f202775e8369e46ef6 android.hardware.broadcastradio@1.0::IBroadcastRadioFactory -da6ab32ee2793d2c86d3b603075d5383852b89d7eaa201861aa0473d418f3c7f android.hardware.broadcastradio@1.0::ITuner -04d3ca022e25c308d9efd2e7eb77b3a7a206907cdc1b9ea9326340b377868172 android.hardware.broadcastradio@1.0::ITunerCallback -bd42c8d7838cfed1998b49c39745dec116d2d6edc2c11a4c0399b8f3a1d1655a android.hardware.broadcastradio@1.0::types -81164323115d6588e259e8319fddf7487adfa1f49ce60f7e80ba74e0783392a4 android.hardware.camera.common@1.0::types -c1705e9d62438a1d955269965af915ae28e692bd480a3b1ce67056fef992d62f android.hardware.camera.device@1.0::ICameraDevice -78e9b44cf8660bdc1e98dca07451804153824efcd28db208a62f5ad728f44076 android.hardware.camera.device@1.0::ICameraDeviceCallback -28f0386ba86ddf41e53a8117b48a0328d7a4d2574213e89f4a1062398a244566 android.hardware.camera.device@1.0::ICameraDevicePreviewCallback -4db48439ce9dde97f1cfb3d7408f6c737f621ac0f7494aeea35ed599bc2352a3 android.hardware.camera.device@1.0::types -b32f9aeaf1c442195eb06ffc7600968c919d005b2718874f09c57287fae55918 android.hardware.camera.device@3.2::ICameraDevice -63bfc3da0f2d2301f7a0508c7c2b9ffc521d4d545ee03718da70e9d6273b3b21 android.hardware.camera.device@3.2::ICameraDeviceCallback -0fa3e1e64819283b8737fc4e5ab759f0cb4ac1a996e8a51cc4aa8025a457208e android.hardware.camera.device@3.2::ICameraDeviceSession -030be3d2b159cbde7920485807140f6b6064ef4a5de4a40a6c4bc8d2c72f7cd3 android.hardware.camera.device@3.2::types -5ba7947cee515d7a2359bfcbfb9678c1c3a768c288471919ac095b96ae6f3d40 android.hardware.camera.metadata@3.2::types -f7e299d85033ac52d1095a35784fcfeaff43603f58c751e4153c85bbade3b330 android.hardware.camera.provider@2.4::ICameraProvider -a501ca1aecd09f1b9fd70a9af84205430dbd49a808e8fa395d363b9902e6f58c android.hardware.camera.provider@2.4::ICameraProviderCallback -7f5fe8f4f8a24037153c504d8b4d3313c2ce33d81c8c69fe5194ddd2d4080e72 android.hardware.configstore@1.0::ISurfaceFlingerConfigs -87beacc481897cf02fb1628d75e68133de6d74d4cffe582cda2f5e16bdd74516 android.hardware.configstore@1.0::types -a5ae0fe8667f0b1af09b13e72d29600f4eb3853b257079c45a99b6f4a3360649 android.hardware.contexthub@1.0::IContexthub -2ab3054c2d9302d8417ee7495353a2887fe338f913276f2eb41e80f11395ec2e android.hardware.contexthub@1.0::IContexthubCallback -c3b2b37d561d31ea094411f251bf73bea334f4fe849a4390aef5e20bca6cadba android.hardware.contexthub@1.0::types -df174c1871c864b4c79ca9f64aae7936d24a272eca3191a30458ca2b706dec79 android.hardware.drm@1.0::ICryptoFactory -83639e90caeb996b0274e420de3cd556779de1ca48464b68eee799bef32b34cd android.hardware.drm@1.0::ICryptoPlugin -1440cffdfaeb12830ac10ee6ffdb0f1083e701057b806df11fb4787b4c91e718 android.hardware.drm@1.0::IDrmFactory -78ba33b108f620e6a0eec01ef654547e69a85754578ea4c9ef03ec205f16121c android.hardware.drm@1.0::IDrmPlugin -701d9e51952172364e4ea70db9c397f08c3b4577ba33051f050a6cdd532de1b4 android.hardware.drm@1.0::IDrmPluginListener -4238d62ad90df63aa338c6f1b6264c09c5a3706945d5c49d1189c0be1dc9e942 android.hardware.drm@1.0::types -f07b1ee3ba11a2fc9f200421b2e1afb7c1854ee987000e45c987fb9507795055 android.hardware.dumpstate@1.0::IDumpstateDevice -c9d318df7922bde3b265927b521ff5a965002826fc0cabfcaef52a56760f2d34 android.hardware.gatekeeper@1.0::IGatekeeper -da13bd69282fb275767abb18704c57ff8038e6c139ad17157dc702810f70d06a android.hardware.gatekeeper@1.0::types -37c7da4f823ec958dfa9c960e2d341c48f877e0bfa758f3fa9e2d9c1e1bd66d9 android.hardware.gnss@1.0::IAGnss -7ec9afdb964bfb8369866913caf018f2636592885bcb558a65de2c5436ab4f60 android.hardware.gnss@1.0::IAGnssCallback -d16e6a359be6963ea753d7138e84ecf2b93052097938938c4d36d7a47ea2e2ae android.hardware.gnss@1.0::IAGnssRil -2f907708d74d94b1e121ed27651c9c72af65952d347b58ff07dac5d5d7a7f678 android.hardware.gnss@1.0::IAGnssRilCallback -5ac7edad06d76064b882be161f3f9d9692a997ec72e9f36addb7fe8918f49992 android.hardware.gnss@1.0::IGnss -b05c983c87c3376e145223688c3b541b5e11b827f211e38d5a31af1ca3a2e222 android.hardware.gnss@1.0::IGnssBatching -4981d2d2c4e725c7544be0956099a91fc7bbc8048c563394158083fe924e651e android.hardware.gnss@1.0::IGnssBatchingCallback -3cd22d92cc1f935150c5048310e84886f14eed2556e8f00636733d204045cc4f android.hardware.gnss@1.0::IGnssCallback -175185a5eda87476193ca5461df75dd16d36664591e8130530dd8ef0eb2ddf6a android.hardware.gnss@1.0::IGnssConfiguration -4542122b96fbf27101cb8222bafb76e7c8d032d977dd1058edd8e5881ca5752f android.hardware.gnss@1.0::IGnssDebug -e6dd0c8416e523ab9cbd14d56ab6f016481a8aef3bc8a750051122d31075f6c7 android.hardware.gnss@1.0::IGnssGeofenceCallback -f90e4ddc652706299d8e3d8ba18e0745c3bae9bf4d1be6bd06d9c1f50ec8d28a android.hardware.gnss@1.0::IGnssGeofencing -9ea8987bb1089c8c5d7b67866575b866ef516045021d9efcc37c6352bce072a3 android.hardware.gnss@1.0::IGnssMeasurement -cf20492673d6a423e4c2e87fdfb5a4c4a602431721978db852e246f258e25edb android.hardware.gnss@1.0::IGnssMeasurementCallback -af85aa0f48ae99a39f4688c344e4419304f681f9af818a5c8d759286fc4418de android.hardware.gnss@1.0::IGnssNavigationMessage -76b0874ea4c06b29f66418c59820f4286b3be9629cd872923d0dfbb602cd432d android.hardware.gnss@1.0::IGnssNavigationMessageCallback -248bcf51da4273d64f367bf6877baef2feeaca365459842fd3c214a2dc6e0224 android.hardware.gnss@1.0::IGnssNi -c781b7b125f68be5db8a8c3d412d526acdbdf77dcc592a4c0ed70b8ce4fe6c49 android.hardware.gnss@1.0::IGnssNiCallback -c1142657de16fdb292a502372fe938614d65270ab8359217d6e13604fe4dbca4 android.hardware.gnss@1.0::IGnssXtra -bd366b83d8d565d0e8bfabff3adfcab0259d75b4e2a9f8e1b91e11d1593a2ffb android.hardware.gnss@1.0::IGnssXtraCallback -881bc2f94026784d194cffbff166c6e8bf911de4e02abe96fc7d89ec75b0574a android.hardware.gnss@1.0::types -17971eb8a482893dadcfc16e0583f492d42a034ef95d9b0b709417af30838396 android.hardware.graphics.allocator@2.0::IAllocator -60bf42a4898e4fb70dbd720b263aeafd7f35f5e1a5effeabb4d5d659878a5f18 android.hardware.graphics.bufferqueue@1.0::IGraphicBufferProducer -b8a75617b9ec12bea641f3a73d4025a33e8b9a2f9169dd46094af56adf9249c5 android.hardware.graphics.bufferqueue@1.0::IProducerListener -4f6dedbcdd21c309dfc650acea81a096d6b242493ffe49c8d61bd3c43aad354e android.hardware.graphics.common@1.0::types -b3aac6c3817f039964fcd62268274b3039e17bd7d0d5b40b4d1d1c7b19a1f866 android.hardware.graphics.composer@2.1::IComposer -b19d00eb8a8b3b0034a0321f22e8f32162bf4c2aebbce6da22c025f56e459ea2 android.hardware.graphics.composer@2.1::IComposerCallback -61ee43ffe6fb6dbe8b22dc17c51ff3d5ba703fc6029cba211f901f3d79c8a72d android.hardware.graphics.composer@2.1::IComposerClient -1c98c2f5154345312ec054871792a2982ec5f3e2bc2abfb61a10c0b517978e20 android.hardware.graphics.composer@2.1::types -a695898589e1ef15b2b2510f11edd6aafac9918d9cf8d74b4b6143b309dee542 android.hardware.graphics.mapper@2.0::IMapper -28507d385a3dd224bf3c32f1bfd9f96092c4701b9c1cc66caa578fc3efc97877 android.hardware.graphics.mapper@2.0::types -91e2ba3805c923f01fc1231ec9ff838942aee3346f2d7614ecc0caeadbe57ed4 android.hardware.health@1.0::IHealth -1275aa2e8732909101b26aec49ed2285489e89d97b8610a8908b7868e35a3cc5 android.hardware.health@1.0::types -3a8d3922e06e6d4f8e0befc6be78d0e9e07aed1585b3da6521bed406d25a9483 android.hardware.ir@1.0::IConsumerIr -7090bd37912fcf723a12f4bc17783e3527577c4944805a028c296fd7a95bd682 android.hardware.ir@1.0::types -cc7925a78c0ab022515f48840d3dae76f384ed3a1287abadcb461a5cd5396163 android.hardware.keymaster@3.0::IKeymasterDevice -822998d7bb76f0cd719a409291434fcb56e6d50bc4780788bb157a3374d63b8c android.hardware.keymaster@3.0::types -d4ed2f0e14f9e914d0b1275d2e0363192fe30aca9059c84edb5fad15995f9ec4 android.hardware.light@2.0::ILight -d9584bfcaedd6e62cf337881748246b23e36cbc2bc3aa84c01b6a1e622061400 android.hardware.light@2.0::types -16c0cf0f73de1e5208a95020c6c6474903e7094f76b2d782651afaca0e5fd86f android.hardware.media@1.0::types -8bc2f5fdcad68856eb61a62fe4cc043fa064bb7f1dab95a71d1918ec1eef7b55 android.hardware.media.omx@1.0::IGraphicBufferSource -0d3de9cd89d4718ea3b772f2d8b93be004feb3abb7e7dc5402e37047cc730d05 android.hardware.media.omx@1.0::IOmx -32002e1c358c64de106c977a6dc6af7da27be4803a5bb66fd6f891a5ba0a1617 android.hardware.media.omx@1.0::IOmxBufferSource -81ad8d8bb1cf6f41923cf11dd39354a8fe433db284a234cc675de7e75a82224c android.hardware.media.omx@1.0::IOmxNode -494c0c8bf6065edc82ec127228ed19dd2243dc1c2f7d601c7c6be7b7015c1713 android.hardware.media.omx@1.0::IOmxObserver -252c2fc50c78fd6de8365e5b60e5115119ace107db0b94b0b26815cbf3d2b64a android.hardware.media.omx@1.0::IOmxStore -148c1b50b0958988373145ffdf5fa0e1b6534e0a2034a570e74b15c127cf7c5e android.hardware.media.omx@1.0::types -c66902fe48d687ac6740a3e32ae55fb75532c48c36c6386461c2b4416ad2e0f1 android.hardware.memtrack@1.0::IMemtrack -860bacd8b11a269c40567542b613fe4ca448d5cb4326d0058899e608e89dfca1 android.hardware.memtrack@1.0::types -07ac2dc95270321ec7d4c33cd25e5085a057f47fe350d645af6f7a7a11e3cf57 android.hardware.nfc@1.0::INfc -f2fe54426c07d67388d4774a60641ad4c0538f22eb6e1111722f231772655de6 android.hardware.nfc@1.0::INfcClientCallback -9626fd18db113d709faf593a70caf19bd0980294d23c468c80c30186f9d298a6 android.hardware.nfc@1.0::types -deee1dc4948f33af207e1008aba0f6cc07afb7900eab53f33192c8cac137eefc android.hardware.power@1.0::IPower -efc83df3f962b93c7c0290d691d7d300dabe12683e2cde3591fb3c0beedce20f android.hardware.power@1.0::types -9b5aa499ec3b4226f15f48f5ed08896e2fc0676f978c9e199c1da21daaf002a6 android.hardware.radio@1.0::IRadio -5c8efbb9c451a59737ed2c6c20230aae4745839ca01d8088d6dcc9020e52d2c5 android.hardware.radio@1.0::IRadioIndication -69f6b4b8ec40ca02ccc7bb8227a097135c20c00bd94c822e421cd9af1267252c android.hardware.radio@1.0::IRadioResponse -de3ab9f73b1073cd677b19d886fb927e9381b30161a704712d2b30f875873f5c android.hardware.radio@1.0::ISap -d183e406ef0897df2117a9dde384e8e6ea4fa6ab1c7f6f28e65b87011218c9ea android.hardware.radio@1.0::ISapCallback -96986fbd22f0e6ca752e1fcdc0a64bda213995a81f5f36bc4faf3532d9306b97 android.hardware.radio@1.0::types -00f70085d6fae1d482fb700a3fd42ed475384c95b51c9269b9ae5037b74ad4dd android.hardware.radio.deprecated@1.0::IOemHook -06837b6d7e843cfa9cd20fed4070feca7a9b5c81a9ed643bf7d06803455a9816 android.hardware.radio.deprecated@1.0::IOemHookIndication -6fd4874f0eddd4626a27658fd94fad526c317f3563439e79718bdb1a3a2309d5 android.hardware.radio.deprecated@1.0::IOemHookResponse -6983a2cafe39d5c57dfdc1743055fb0f757a0df8c78e00423d5e1810836927e1 android.hardware.renderscript@1.0::IContext -7f9417a0ccf78ea042ec7a8ac8e3750346d4d9d7e5ae01b1b35fde303f47c24d android.hardware.renderscript@1.0::IDevice -fc6f325b266b32353f7d1534fbe58e0d368265a12b77fa396fb556e8c443f739 android.hardware.renderscript@1.0::types -89585ff541c319de4091a5a0b687dd526ac81c6382ffd7b979a4164b3d7419a6 android.hardware.sensors@1.0::ISensors -e04ab978fc28f4c515f4a75617dfda8607733a64f13666beeb0e604a07a39333 android.hardware.sensors@1.0::types -5befc019cbe94953661e2cdb95e3cf64f5e565c29403e1c2daecc2be44e0a55c android.hardware.soundtrigger@2.0::ISoundTriggerHw -d7ec5f612a5e0a59ea4f2b61317e208ff56dd50920fd4eb441e0cbc8f97e4f49 android.hardware.soundtrigger@2.0::ISoundTriggerHwCallback -5bee9e70f7e5ec7ee252883b28f98f12b59960f4c2a0b4cc9a4526e4669ebcd4 android.hardware.soundtrigger@2.0::types -97f1ec446043bc5a6645b74529a6276496bdb35e0aee41eda55cb92d51eb7802 android.hardware.thermal@1.0::IThermal -84965a6908bceb4ef51546bf8731f309f1ea9d09a0177dcc7974132e523dd6d2 android.hardware.thermal@1.0::types -938850621c3c5ef426a4b88e752ba99b3559037e782a3d938604f3aef5cc0f1b android.hardware.tv.cec@1.0::IHdmiCec -e75b6eea711d36fac678bce072b3cec6544b27fa9f4cd903999404e5c110ca10 android.hardware.tv.cec@1.0::IHdmiCecCallback -6e25f8dbfadb668e1d4ec80eb9acd95d8bc9e0a240c36d27e662adb440314b95 android.hardware.tv.cec@1.0::types -0cafa3c8388e9631916d2d800f78decbcec2904f11415b32c71a31d9a51ebf79 android.hardware.tv.input@1.0::ITvInput -dee83e5c864fbbee8f02448d0800be32f06856386b9f907bc5d952208c9434f9 android.hardware.tv.input@1.0::ITvInputCallback -07aab30410b612381234dca6d453d4ab96f2e536368715717c6e28101b9851b5 android.hardware.tv.input@1.0::types -4ef57499273f38bdbdd0c15e56ee7a4bc5f18a5644092170a531df3541d9e015 android.hardware.usb@1.0::IUsb -4be7881e411ba42784bf5b7354c14ae0cf161004d39433aaecaab0d19ea99354 android.hardware.usb@1.0::IUsbCallback -f7e6e747910a3cd0a35846141e3b990a6a612a297b2b70ccd5740b646a450a8c android.hardware.usb@1.0::types -06ea64cc3565777f3b259e400ffa7100d07f3827ad9357b0c5d3c651384e5553 android.hardware.vibrator@1.0::IVibrator -0fecd34ae64f32eff6aa615fd662349242c0b8b6e303ef05a7cb5776c732f413 android.hardware.vibrator@1.0::types -4b962968a7df4ab104d1315d66a0a7348a713fecbb5d2c1b23688494458f37ce android.hardware.vr@1.0::IVr -b9be36719a8ad534000a51ea07be91be94c405bf1e038ae825acf65087ffd378 android.hardware.wifi@1.0::IWifi -ee0224ee18813506d9d6f13d8c8e4679f053c290a443a52a7c52a5d3c852262b android.hardware.wifi@1.0::IWifiApIface -f3eecc489deb4c74892f59eb7adb769063bd5c354ac132b626a5f42b363d36bc android.hardware.wifi@1.0::IWifiChip -a1b988377645a58e5e2542ca2bad4e17c21a4a389213d05de2f0e32d57b7d339 android.hardware.wifi@1.0::IWifiChipEventCallback -5ed6760ce77e84bc6c49d1acb3f7d8117c9176b3f06514bc44ad3af84c80dcfe android.hardware.wifi@1.0::IWifiEventCallback -6b9ad43a5efbe6ca214f751e22ce43cf5cd4d5d5f2cba80f24ccd3755a72401c android.hardware.wifi@1.0::IWifiIface -ba5aa74f1ba714f0093864227923492808795bda6199c4ea0891322d27f8c931 android.hardware.wifi@1.0::IWifiNanIface -325c94f3e1a565b56bbc74faddbd0ba7cb824f263dccf9dfff2daf62b86ed774 android.hardware.wifi@1.0::IWifiNanIfaceEventCallback -c2c3f0372b41780fb6dfe83c022296806c2024d7046682fd201de5aa9b791c7a android.hardware.wifi@1.0::IWifiP2pIface -766e9765f5c9c759b2a763c2288353fb5deff3389c2cc28f81d79c939704ce8b android.hardware.wifi@1.0::IWifiRttController -72ab6f3e120cbf07aa6f8e87ca89112bdeb36b7fbb96bce5af3712323ab8b8e6 android.hardware.wifi@1.0::IWifiRttControllerEventCallback -3b8093d39ef1e10e43c5538afbf5ff6e39b8d8168ebbe1998d993e89e25f14a5 android.hardware.wifi@1.0::IWifiStaIface -7fbfc551c3e23c8b4398c3e16e452b516457e6921424a53474cbf373ca306fa9 android.hardware.wifi@1.0::IWifiStaIfaceEventCallback -e20d5132d6d23e072c15de065b5e2aa13ff965031246a2c82581732bae56bf6d android.hardware.wifi@1.0::types -f7e55c08187d8c855068a1ee3d0c8daeee7570292d96509c21a8756d4f5cfb9b android.hardware.wifi.supplicant@1.0::ISupplicant -56b5c7267cb3d3337f44eb8b0b38ff4c6260dcc70e07687fcab94b1ccea8d159 android.hardware.wifi.supplicant@1.0::ISupplicantCallback -35ba7bcdf18f24a866a7e5429548f06768bb20a257f75b10a397c4d825ef8438 android.hardware.wifi.supplicant@1.0::ISupplicantIface -cda01008c06922fa37c1213e9bb831a109b3174532805616fb7161edc403866f android.hardware.wifi.supplicant@1.0::ISupplicantNetwork -4907410338c5e8dbeec4b5edc2608ea323f5561945f8810af81810c47b019184 android.hardware.wifi.supplicant@1.0::ISupplicantP2pIface -8b63f5efa2e3be3a7cb8a428760d82285a4ab79bcbdea6ef90aa547555e582d4 android.hardware.wifi.supplicant@1.0::ISupplicantP2pIfaceCallback -56128f74560571b6777d59453f35c6b35693ee377e2a23c807708906928f09de android.hardware.wifi.supplicant@1.0::ISupplicantP2pNetwork -2067c22197bca9743dab66a6f561a8a8375c67b4f76aed05f776839499bd4c8f android.hardware.wifi.supplicant@1.0::ISupplicantP2pNetworkCallback -7752e1de93aaf5fed37011c219ac247069f6af320b0810daa98510584a10e7b4 android.hardware.wifi.supplicant@1.0::ISupplicantStaIface -d781c8d7e7b3fe5cca8cf6e1d8806e770982ae5358c7816ed51b0f0ec272e70d android.hardware.wifi.supplicant@1.0::ISupplicantStaIfaceCallback -b12ef0bdd8a4d247a8a6e960b227ed32383f2b0241f55d67fcea6eff6a6737fa android.hardware.wifi.supplicant@1.0::ISupplicantStaNetwork -d8f0877ae1d321c1d884c7631dfe36cab0ec8a4b2863d4b687f85d3549a63bcc android.hardware.wifi.supplicant@1.0::ISupplicantStaNetworkCallback -fe3c3c2f572b72f15f8594c538b0577bd5c28722c31879cfe6231330cddb6747 android.hardware.wifi.supplicant@1.0::types - -# ABI preserving changes to HALs during Android O MR1 (Initial Set) - -150a338ce11fcec70757c9675d83cf6a5d7b40d0c812741b91671fecce59eac9 android.hardware.broadcastradio@1.0::types -dc7e6d4f537b9943e27edc4f86c5a03bb643b18f18f866f8c3c71c0ac4ea8cbc android.hardware.broadcastradio@1.0::types -760485232f6cce07f8bb05e3475509956996b702f77415ee5bff05e2ec5a5bcc android.hardware.dumpstate@1.0::IDumpstateDevice -78589343d8ee2e1b155acad3fbdc7fcbb6af94491aee968b2383c21627264f8b android.hardware.radio@1.0::IRadioResponse # Available in Android O, b/68061860 -e822cb7f4a1bdd45689c5e92ccd19a2201c20b771bd4b2ec1ae627e324591f9d android.hardware.radio@1.0::IRadioResponse -6e69adb24d7c0b0ca3a54a38c49a5625b161b3f5d5f7d6fda0befdbbfc8e9e06 android.hardware.radio@1.0::IRadioResponse -c2c50ec74c87a583c683b4493f8f9f2e454a8d41c57af5b3eb88823a999f0ea4 android.hardware.radio@1.0::IRadioResponse # Added for b/65230472 for Android O -4922dd58e89a03181ed1c48a6e118e47633b73b11090bdfed5aa920d25a7592b android.hardware.radio@1.0::IRadioResponse # Added for b/65230472 for Android O DR -28e929b453df3d9f5060af2764e6cdb123ddb893e3e86923c877f6ff7e5f02c9 android.hardware.wifi@1.0::types -df1d7b27e644bfed0a4f606a8c44d35d45cafce82c7c648494c8a25c7cd4a949 android.hardware.wifi@1.0::types - -# HALs released in Android O MR1 (Initial Set) - -4b65763663a94a3920134011691f8fbb42ccb7b7795589efddc049a9106047d6 android.hardware.oemlock@1.0::IOemLock -e02cd3722cb5e8fa51179f5defacb4f7866f903c9c7c51dc01a3148473a71525 android.hardware.oemlock@1.0::types -224f9d22a367a0016f09b6dc676f53f1446697d9dc747163032329e5da552de5 android.hardware.power@1.1::IPower -574fd9758b7cab4922c72cc5a9f36d1cd48ffd3425fdd776426653280d3d4138 android.hardware.power@1.1::types -f79edf50a378a9c9bb737f93f205dab91b4c63ea49723afc6f856c138203ea81 android.hardware.radio@1.1::IRadio -fcc5c8c88b85a9f63fba67d9e674da466c72a98ca287f343fb5721d098713f86 android.hardware.radio@1.1::IRadioIndication -50f27e8c7ec009d5d4418b2ce8392b940bbf052ecc1d7251285f332485a5ba4e android.hardware.radio@1.1::IRadioResponse -be981148c95c0089f3ae92854f0e7ae999d308e927db3e065f12a4fabe07852f android.hardware.radio@1.1::ISap -d8d6bf7b4d36c04ce587df75953c3f723cfbe71c896c1aa8ab6478eae126723d android.hardware.radio@1.1::types -d8aae01606bfd34bf2fb9a59cadc016f46f318e56cddb8f15a945c5b3c1222bc android.hardware.tetheroffload.config@1.0::IOffloadConfig -447b00306bc95a7aafec1d660f6f3e9f76ac8bc0353193435e5579ab833da619 android.hardware.tetheroffload.control@1.0::IOffloadControl -07658829339d75962016e00ed81b005ad29fca7ac12ad3bc3ccd86b08d94c2d3 android.hardware.tetheroffload.control@1.0::ITetheringOffloadCallback -0df5b0178af15c53cdce8fcf8ca14035e8e08db4fa76fdc12009ddbe0b53626b android.hardware.tetheroffload.control@1.0::types -b30ef02ef26ff804e2f6acf1201bc141b59e134e6a0338562284491102cb13e3 android.hardware.usb@1.1::IUsb -13a580e35af01270a1e9774177c51db51d8672e6139ba00851e654e68a4d7dff android.hardware.usb@1.1::IUsbCallback -f0ed667288908c08fced570bd1f3c4a0f236aa927938e805f0d9fece525da81e android.hardware.usb@1.1::types -f95a1e85612f2d0d616eacd2eb63c52d10dfa889f165df57697c30e1f47b4785 android.hardware.vibrator@1.1::IVibrator -246fb9d9e2b4800aeb0adc3cdbaa15d0321ebab54b7bd1ab87da5b67c7b0b064 android.hardware.vibrator@1.1::types -9bc43413b80cd0c59a022e93da1448dcb82dd10c6dd31932df4659e4bdcb1368 android.hardware.weaver@1.0::IWeaver -7728b0393a2ed9796537d4165c7d95407e9d8cb447a647b545fdfe06a28689e7 android.hardware.weaver@1.0::types -bb7c96762d0aa3ddb874c8815bacdd3cbc8fb87ea2f82b928bc29e24a3593055 android.hardware.wifi.offload@1.0::IOffload -c3354ab0d381a236c12dc486ad4b6bec28c979d26748b4661f12ede36f392808 android.hardware.wifi.offload@1.0::IOffloadCallback -b18caefefcc765092412285d776234fcf213b73bdf07ae1b67a5f71b2d2464e3 android.hardware.wifi.offload@1.0::types -c26473e2e4a00af43e28a0ddf9002e5062a7d0940429e5efb6e5513a8abcb75c android.hardware.wifi@1.1::IWifi -b056e1defab4071584214584057d0bc73a613081bf1152590549649d4582c13c android.hardware.wifi@1.1::IWifiChip - -# ABI preserving changes to HALs during Android O MR1 (Final Set) -09342041e17c429fce0034b9096d17849122111436a5f0053e7e59500e1cb89c android.hardware.media.omx@1.0::IOmxStore -2d833aeed0cd1d59437aca210be590a953cf32bcb6683cd63d089762a643fb49 android.hardware.radio@1.0::IRadioResponse -0a159f81359cd4f71bbe00972ee8403ea79351fb7c0cd48be72ebb3e424dbaef android.hardware.radio@1.0::types -05aa3de6130a9788fdb6f4d3cc57c3ea90f067e77a5e09d6a772ec7f6bca33d2 android.hardware.radio@1.1::IRadioResponse - -# HALs released in Android O MR1 (Final Set) -044cb039378b8a0e36f40ff1e6ce04dc0d339da02095f968d5062a051e99d108 android.hardware.broadcastradio@1.1::types -c9699483f8cefe4f9b39b4b9609b76cab2dd1659a06188056b45797d337d4256 android.hardware.broadcastradio@1.1::IBroadcastRadio -b5d62dcd663fc4fcc977b252af59b333043bdfe73de2f11fe6d6a8bf438a0f92 android.hardware.broadcastradio@1.1::IBroadcastRadioFactory -bc7e054a6e93adebedff345aeed44549be89e6b1b6ffe071ff47a61de764b232 android.hardware.broadcastradio@1.1::ITuner -e9139fc755be578693f17c8cd1e27c75f412cfc722157bab5bf03ee68896e31d android.hardware.broadcastradio@1.1::ITunerCallback -63929c99e5755d9e09d9e0fd2527391fbb1609dda0508f5933b7943b92ae0fbc android.hardware.camera.device@3.3::types -bbcfc3f748b078f6a66c4e228084a679d30bd61bfde8bb7a91efd507b91c1bfd android.hardware.camera.device@3.3::ICameraDeviceSession -4a6998cd6793a3f9f03989c29d662589b1bc9d38826c6698c6c17864f7a814f5 android.hardware.cas@1.0::types -0e656ba1bac11461a17096ef752b69d24b000d820ef5652f0150a0f9731d54c2 android.hardware.cas@1.0::ICas -b80e1456b81f80032d0de7cb45652ac15af11e7474d520d757481ecaad796dff android.hardware.cas@1.0::ICasListener -a432d6d9200248dc2126827bcd6cdea31dd65eff39b939f64585d27d915a5857 android.hardware.cas@1.0::IDescramblerBase -86ba9c03978b79a742e990420bc5ced0673d25a939f82572996bef92621e2014 android.hardware.cas@1.0::IMediaCasService -503da837d1a67cbdb7c08a033e927e5430ae1b159d98bf72c6336b4dcc5e76f5 android.hardware.cas.native@1.0::types -619600109232ed64b827c8a11beed8070b1827ae464547d7aa146cf0473b4bca android.hardware.cas.native@1.0::IDescrambler -93eb3757ceaf21590fa4cd1d4a7dfe3b3794af5396100a6d25630879352abce9 android.hardware.neuralnetworks@1.0::IDevice -f66f9a38541bf92001d3adcce678cd7e3da2262124befb460b1c9aea9492813b android.hardware.neuralnetworks@1.0::IExecutionCallback -953607822954435874f4b81686440a604e2a88cdd2d9164c6293f3d5772510d7 android.hardware.neuralnetworks@1.0::IPreparedModel -73e03573494ba96f0e711ab7f1956c5b2d54c3da690cd7ecf4d6d0f287447730 android.hardware.neuralnetworks@1.0::IPreparedModelCallback -246a56d37d57a47224562c9d077b4a2886ce6242b9311bd98a17325944c280d7 android.hardware.neuralnetworks@1.0::types -f4945e397b5dea41bb64518dfde59be71245d8a125fd1e0acffeb57ac7b08fed android.hardware.thermal@1.1::IThermal -c8bc853546dd55584611def2a9fa1d99f657e3366c976d2f60fe6b8aa6d2cb87 android.hardware.thermal@1.1::IThermalCallback - -# ABI preserving changes to HALs during Android P -9e7a0b650d0e461ece2cfec0e1072abf8676f592b41a7fb48f01e88fc3c8f780 android.hardware.broadcastradio@1.0::types -cf72ff5a52bfa4d08e9e1000cf3ab5952a2d280c7f13cdad5ab7905c08050766 android.hardware.camera.metadata@3.2::types -3902efc42097cba55f0655aa389e052ea70164e99ced1a6d1ef53dafc13f7650 android.hardware.camera.provider@2.4::ICameraProvider -6fa9804a17a8bb7923a56bd10493a5483c20007e4c9026fd04287bee7c945a8c android.hardware.gnss@1.0::IGnssCallback -fb92e2b40f8e9d494e8fd3b4ac18499a3216342e7cff160714c3bbf3660b6e79 android.hardware.gnss@1.0::IGnssConfiguration -251594ea9b27447bfa005ebd806e58fb0ae4aad84a69938129c9800ec0c64eda android.hardware.gnss@1.0::IGnssMeasurementCallback -4e7169919d24fbe5573e5bcd683d0bd7abf553a4e6c34c41f9dfc1e12050db07 android.hardware.gnss@1.0::IGnssNavigationMessageCallback -190ea4898809de6cf379afe318f5fa9564686157b24d9a2d7f5698b0c977d8b2 android.hardware.graphics.bufferqueue@1.0::IGraphicBufferProducer -25892789b50eb673506b6c5a2cdab5d9aa428d41608aab10280cc898538b524a android.hardware.graphics.composer@2.1::IComposerClient -e205dd30f5ff99445b706a901de8ebc46c379e9d7c1921d6a327ed2082cfa83d android.hardware.graphics.composer@2.1::types -a46251718abfada458dc64c41ce94915757bf6c87cfa2d9e99cfb01fa8e32331 android.hardware.graphics.mapper@2.0::IMapper -bd33ac23c57b4a07632691d2191bc2c93930f57e62f4ccf459748fdaa5c0f480 android.hardware.graphics.mapper@2.0::types -ad8a28ca3a5549fb9bc24cf5f80ac8f660cc27be885210d76266780aa52ddb8d android.hardware.keymaster@3.0::types -5804ca86611d72e5481f022b3a0c1b334217f2e4988dad25730c42af2d1f4d1c android.hardware.neuralnetworks@1.0::IDevice -12e8dca4ab7d8aadd0ef8f1b438021938e2396139e85db2ed65783b08800aa52 android.hardware.neuralnetworks@1.0::IExecutionCallback -86b77e06da756a76aa3685be88765852dd982a86d8c90b8b4fc1130ed4184c8f android.hardware.neuralnetworks@1.0::types -d4840db8efabdf1e4b344fc981cd36e5fe81a39aff6e199f6d06c1c8da413efd android.hardware.radio@1.0::types -f96cbc59dfe16c8d0c2a7e06db24d8738a6328b6e90f7b8e1640ea2b4600debd android.hardware.radio@1.1::ISap -2d86929794795e5c70f4fdb5073485fd05835c9c6f496116687c3d9f32e6df3e android.hardware.radio@1.2::ISap -905a4af79c8329b39d8b11b08f015137216bb078b427b6986f32884a04bc1bec android.hardware.tv.cec@1.0::types -aebcd9ff2da05c9d4c439916f40dfd219ba7629919007cb981ebf150064b4f82 android.hardware.usb@1.1::IUsb -e29fb1941b40a990676f8e9c676a38761defd890b81a9c034608eb7ba6496023 android.hardware.wifi@1.0::IWifiP2pIface -b280c4704dfcc548a9bf127b59b7c3578f460c50cce70a06b66fe0df8b27cff0 android.hardware.wifi@1.0::types - -# HALs released in Android P -5860cf040a3d5d771967ecf648b00d06876a7120da985ee2b3e95d01f634dd20 android.hardware.audio@4.0::IDevice -cf82a0249e918fdc657e189895e92d60af0491868477e82cdc30f6cab0ca2c65 android.hardware.audio@4.0::IDevicesFactory -be3dc9baed45a0d330152eca3ca24fa419b375b20a41644c88d4fb46b72784d2 android.hardware.audio@4.0::IPrimaryDevice -3e3acb70c4e6c7d578f511f4a44ee764ab9126f887a3bf65d523c42e40012bf6 android.hardware.audio@4.0::IStream -d5de64e66b95f135dd42492250a309134b8227203ef3524440798c66b6f5a392 android.hardware.audio@4.0::IStreamIn -888ac906461327fa0bd93854d5109be8c292a33afdb467164826970a8bd5b789 android.hardware.audio@4.0::IStreamOut -15f6ae78e73344c8e7d68847ef03caec64fcd9f951bbcf59957d1712c247fcff android.hardware.audio@4.0::IStreamOutCallback -61f0eaa4d08547d039e9b1dd7c82abe2c004286d1b9b8153c2491ff46a8a63ca android.hardware.audio@4.0::types -5d47a2ad2c136b8aba067dd45bb10d0ad390dd76340764154f580658f98f4fe6 android.hardware.audio.common@4.0::types -b04b6b364938b80008e61fa2e318bc299622433e57c2e1f6cfba332a3f6e3f15 android.hardware.audio.effect@4.0::IAcousticEchoCancelerEffect -1c17d4ece5c8ba3f7a646a305ee0dd109b0d51372e1bd585812e513cd40e1852 android.hardware.audio.effect@4.0::IAutomaticGainControlEffect -34174259fe6fbb1bb14e7103e097f2f25529271a676687845b2f55d6d0d9d617 android.hardware.audio.effect@4.0::IBassBoostEffect -7a18e9bd0163f3784448f6e24be0db75f877e2f0f9bd0d7ec427f1c34b382c0b android.hardware.audio.effect@4.0::IDownmixEffect -bac81bffbe2661d5b6839087d2dd3a27eded66e60c6c76d35c68d54014cd5c06 android.hardware.audio.effect@4.0::IEffect -65f0bcf9e498b26f3266ad10cf513a6c2b5906cc49f9db4bc5c7d3ba11a72e05 android.hardware.audio.effect@4.0::IEffectBufferProviderCallback -5a746e81175489eb2371b88864c36c9bb63bc64ef799fae74cd96003b013c0d1 android.hardware.audio.effect@4.0::IEffectsFactory -839980c7c5be79da6b95fdb9354a62b04407b4b084749b7a21d2c340773d7638 android.hardware.audio.effect@4.0::IEnvironmentalReverbEffect -2805fbdac7cff050a1c095b9276bb41ac02a3b7b354336817487eb9a4b6bb462 android.hardware.audio.effect@4.0::IEqualizerEffect -a91b547f5922f39fe4231d97fac1c3825c1c1b0c8ef7a5136689ceed37e8bfe9 android.hardware.audio.effect@4.0::ILoudnessEnhancerEffect -1145f5b921ddec184fda5bdc87487b46f2a89cd9f42cc882bbb3a54f4ac80466 android.hardware.audio.effect@4.0::INoiseSuppressionEffect -3661fa0623056922fdc4235ac5a9c91a2d066ab6f1ab4297e3b240fe302ba500 android.hardware.audio.effect@4.0::IPresetReverbEffect -e88e520f8c98a62fccd8d5316c6687808f775de145d1405a7a9a66587ee6a001 android.hardware.audio.effect@4.0::IVirtualizerEffect -fe28829dab10d171783b79ac9cc45412739f8ff275e90228d7c6370ef189b859 android.hardware.audio.effect@4.0::IVisualizerEffect -21c8a702579356480236c6851b5b2c16b9bd369ce12bdd6ffdc4626a89f34f73 android.hardware.audio.effect@4.0::types -42a06dc288f61b0690580f3d37b30b663c31d74d50bb58d0772386b550d5faab android.hardware.authsecret@1.0::IAuthSecret -32cc50cc2a7658ec613c0c2dd2accbf6a05113b749852879e818b8b7b438db19 android.hardware.bluetooth.a2dp@1.0::IBluetoothAudioHost -ff4be64d7992f8bec97dff37f35450e79b3430c61f85f54322ce45bef229dc3b android.hardware.bluetooth.a2dp@1.0::IBluetoothAudioOffload -27f22d2e873e6201f9620cf4d8e2facb25bd0dd30a2b911e441b4600d560fa62 android.hardware.bluetooth.a2dp@1.0::types -3d8ed67d807e9f15d0708390a416bee00920f6a22196c104cc9e443c8d217df8 android.hardware.broadcastradio@2.0::IAnnouncementListener -44017c42e6f4d8cb30f07eb1da04540a98736a336ac28c7e0ed2e69e1589f8d1 android.hardware.broadcastradio@2.0::IBroadcastRadio -e5f4960290b4f3089163dd43251e1a032c81e9bdb796e75a87fc7c5810c262b3 android.hardware.broadcastradio@2.0::ICloseHandle -af24b87ca8b8f02fcde205e47db6a9609fc7e9d77d73e694ec8f9c508ca19575 android.hardware.broadcastradio@2.0::ITunerCallback -d70464c517a4a1b5167730843775a97f455102919e945b04f717b9da390c0f39 android.hardware.broadcastradio@2.0::ITunerSession -2afa59ebf8145e7fbc090cf49605c27280c07d4178d47cd7f9d82b3b95a47af0 android.hardware.broadcastradio@2.0::types -4fb0725c36ed4f77a42b42e3f18d8b5f7919cb62b90098b23143a555aa7dd96d android.hardware.camera.device@3.4::ICameraDeviceCallback -812fa66aa10ba0cba27cfddc2fd7f0ee27a8ab65a1f15aa79fdad97d403e6a14 android.hardware.camera.device@3.4::ICameraDeviceSession -cc288f1f78d1e643eb3d3dbc16e1401d44033d8e6856761f5156814a29986ec7 android.hardware.camera.device@3.4::types -f9278c8beb9d42d96e26d73ecabe1dff1d7e2fb301ab7f737d93e5ffae8d3312 android.hardware.camera.metadata@3.3::types -f858091b10f7d5927be60573c06df4805275d37226bbb41a732190bfb81457ec android.hardware.configstore@1.1::ISurfaceFlingerConfigs -5b0fb9842f8b0eb3730b93c30a7925290ab44763ab86bb493bfa58d0f2eeb369 android.hardware.configstore@1.1::types -1a46aeae45b7a0e47f79b7207300532986f9d9cd7060779afc7a529f54d712ab android.hardware.confirmationui@1.0::IConfirmationResultCallback -6d8347ff3cd7de471065ac3e8e68385073630cdeebe9f8fa58cb91cf44436c95 android.hardware.confirmationui@1.0::IConfirmationUI -a3ff916784dce87a56c757ab5c86433f0cdf562280999a5f978a6e8a0f3f19e7 android.hardware.confirmationui@1.0::types -1fbf2d7e383632216aaaa1d972a21a618f55659263d2e6f0b309e3cb323b4b63 android.hardware.drm@1.1::ICryptoFactory -7877ff8e4c1e48b825e6e5e66d050288e5656ed535c61cc7830a92ed4a9e1990 android.hardware.drm@1.1::IDrmFactory -fef2f0ebde7704548fb203df46673ceb342272fc4fa9d0af25a980d2584a36e7 android.hardware.drm@1.1::IDrmPlugin -5047a346ecce239404b9020959f60dd467318e9c17b290a6386bc3894df62c3c android.hardware.drm@1.1::types -a830336ac8627d6432cfafb1b884343ad9f885dee0a5323e380e6d3c519156b8 android.hardware.gnss@1.1::IGnss -8ad55bc35bb3a83e65c018bdfde7ae5ebc749ff2bf6b79412ded0bc6c89b97d8 android.hardware.gnss@1.1::IGnssCallback -3c5183d7506010be57e0f748e3640fc2ded1ba955784b6256ba427f4c399591c android.hardware.gnss@1.1::IGnssConfiguration -1a07d1383e847c3deb696ec7a2c9e33b9683772945660448a010b18063da67a4 android.hardware.gnss@1.1::IGnssMeasurement -83e7a10ff3702147bd7ffa04567b20d407a3b16bbb7705644af44d919afe9103 android.hardware.gnss@1.1::IGnssMeasurementCallback -0b96e0254e2168cfecb30c1ed5fb42681652cc00faa68c6e07568fafe64d1d50 android.hardware.graphics.common@1.1::types -7d2cef99c838fb58038de8bbfd3cdb76ff4797241987077721715297f8d45e34 android.hardware.graphics.common@1.1::types # b/78135149 -d9b40a5b09962a5a0780b10fe33a4e607e69e2e088fc83de88a584115b7cb1c0 android.hardware.graphics.composer@2.2::IComposer -a2f183f7fcc79aabedaef11095ab223aac0ed5ef984d850893872515e7f560c7 android.hardware.graphics.composer@2.2::IComposerClient -dd83be076b6b3f10ed62ab34d8c8b95f2415961fb785200eb842e7bfb2b0ee92 android.hardware.graphics.mapper@2.1::IMapper -675682dd3007805c985eaaec91612abc88f4c25b3431fb84070b7584a1a741fb android.hardware.health@2.0::IHealth -434c4c32c00b0e54bb05e40c79503208b40f786a318029a2a4f66e34f10f2a76 android.hardware.health@2.0::IHealthInfoCallback -c9e498f1ade5e26f00d290b4763a9671ec6720f915e7d592844b62e8cb1f9b5c android.hardware.health@2.0::types -201f9723353fdbd40bf3705537fb7e015e4c399879425e68688fe0f43606ea4d android.hardware.keymaster@4.0::IKeymasterDevice -1b7d2090c0a28b229d37c4b96160796b1f0d703950ac6ccc163fccd280830503 android.hardware.keymaster@4.0::types -6d5c646a83538f0f9d8438c259932509f4353410c6c76e56db0d6ca98b69c3bb android.hardware.media.bufferpool@1.0::IAccessor -b8c7ed58aa8740361e63d0ce9e7c94227572a629f356958840b34809d2393a7c android.hardware.media.bufferpool@1.0::IClientManager -4a2c0dc82780e6c90731725a103feab8ab6ecf85a64e049b9cbd2b2c61620fe1 android.hardware.media.bufferpool@1.0::IConnection -6aef1218e5949f867b0104752ac536c1b707222a403341720de90141df129e3e android.hardware.media.bufferpool@1.0::types -7698dc2382a2eeb43541840e3ee624f34108efdfb976b2bfa7c13ef15fb8c4c4 android.hardware.neuralnetworks@1.1::IDevice -72cc6126632456e8fbb8776fe50150c3c4dd5d09145653193affb70785211dfa android.hardware.neuralnetworks@1.1::types -8d3d86da0bfa4bf070970d8303c659f67f35d670c287d45a3f542e4fedadd578 android.hardware.nfc@1.1::INfc -e85f566698d2a2c28100e264fcf2c691a066756ddf8dd341d009ff50cfe10614 android.hardware.nfc@1.1::INfcClientCallback -5e278fcaa3287d397d8eebe1c22aaa28150f5caae1cf9381cd6dc32cb37899c5 android.hardware.nfc@1.1::types -163e115e833fc1d77cdd4a8cf0c833bb8b8d74fe35c880fe693101d17774926f android.hardware.power@1.2::IPower -7899b9305587b2d5cd74a3cc87e9090f58bf4ae74256ce3ee36e7ec011822840 android.hardware.power@1.2::types -5a464e6db53fad223986d655028a18185b73db8e2bfa9663f9042c9623eb0aa0 android.hardware.power@1.3::IPower -a54a28d39b892d27a3cb06829181c038edcdd9e8eef359543b01e4313ae59aa0 android.hardware.power@1.3::types -ab132c990a62f0aca35871c092c22fb9c85d478e22124ef6a4d0a2302da76a9f android.hardware.radio@1.2::IRadio -cda752aeabaabc20486a82ac57a3dd107785c006094a349bc5e224e8aa22a17c android.hardware.radio@1.2::IRadioIndication -da8c6ae991c6a4b284cc6e445332e064e28ee8a09482ed5afff9d159ec6694b7 android.hardware.radio@1.2::IRadioResponse -b65332996eb39ba63300a1011404141fa59ce5c252bc17afae637be6eeca5f55 android.hardware.radio@1.2::ISap -a9361522cc97ef66209d39ba324095b2f08344054bb4d3481e803eee0480623a android.hardware.radio@1.2::types -87385469cf4409f0f33b01508e7a477cf71f2a11e466dd7e3ab5971a1baaa72b android.hardware.radio.config@1.0::IRadioConfig -228b2ee3c8c276c9f0afad2dc313ca3d6bbd9e482ddf313c7204c60ad9b636ab android.hardware.radio.config@1.0::IRadioConfigIndication -a2e9b7aa09f79426f765838174e04b6f9a3e6c8b76b923fc1705632207bad44b android.hardware.radio.config@1.0::IRadioConfigResponse -4307696b64ded9bd8de06887f9dfc533e875c4e0d83b8008df4d705164bde0b1 android.hardware.radio.config@1.0::types -bd7699f07ba5392310fefd33ea964e01f4f4a66015146845c85055004823cc81 android.hardware.secure_element@1.0::ISecureElement -a65aa82bbe48d81a9ae9e86247bb1b89fd2d3138d4053d7a5b716c71149b7dee android.hardware.secure_element@1.0::ISecureElementHalCallback -2984c069f48ba35cd1bf49b0e17daad0d418fef52cb7a4a84dba0043114063d4 android.hardware.secure_element@1.0::types -b4f507b4dc9b5cd5f0e4445926acb7d94525ae60dc307b3951142283632207b6 android.hardware.soundtrigger@2.1::ISoundTriggerHw -92c2cc0f06ef744c5bda21f1d660258f7937203109b493eee22c3f3e2dbb0d3e android.hardware.soundtrigger@2.1::ISoundTriggerHwCallback -8ddfa7542772cc7bca19972b2d856264efa31914bfd098aeb7c2079d950194cb android.hardware.usb.gadget@1.0::IUsbGadget -ad0a620cda08f01b151c30cb7afa23b0637cc84340cf8dec00ac8e32cf54a8db android.hardware.usb.gadget@1.0::IUsbGadgetCallback -51fc20f223561ac3a32ace3217837ef3860265bd91c8b7ae3859532caef9bc39 android.hardware.usb.gadget@1.0::types -1bfc9fd9536ed09f04bcaf222a332bc919f1565d4d08bddccdebe1bfca8f01b5 android.hardware.vibrator@1.2::IVibrator -a0aefa29881235c21e4761d15c55edc35ef85c2e0d9e01d0966176d1dbf5f811 android.hardware.vibrator@1.2::types -8bc75a0dfac15c6f87ffec950b76c7d7de30d516b54e8e0b1f3c0ff9c7c6873b android.hardware.wifi@1.2::IWifi -780c16fdeda13b779d993953a67f7ca578c938a172a9424c1c715ae81bc40fd7 android.hardware.wifi@1.2::IWifiChip -167af870fdb87e1cbbaa0fa62ef35e1031caad20dd1ba695983dedb1e9993486 android.hardware.wifi@1.2::IWifiChipEventCallback -8c7ef32fc78d5ec6e6956de3784cc2c6f42614b5272d2e461f6d60534ba38ec2 android.hardware.wifi@1.2::IWifiNanIface -1e6074efad9da333803fb7c1acdb719d51c30b2e1e92087b0420341631c30b60 android.hardware.wifi@1.2::IWifiNanIfaceEventCallback -f5682dbf19f712bef9cc3faa5fe3dc670b6ffbcb62a147a1d86b9d43574cd83f android.hardware.wifi@1.2::IWifiStaIface -6db2e7d274be2dca9bf3087afd1f774a68c99d2b4dc7eeaf41690e5cebcbef7a android.hardware.wifi@1.2::types -ee08280de21cb41e3ec26d6ed636c701b7f70516e71fb22f4fe60a13e603f406 android.hardware.wifi.hostapd@1.0::IHostapd -b2479cd7a417a1cf4f3a22db4e4579e21bac38fdcaf381e2bf10176d05397e01 android.hardware.wifi.hostapd@1.0::types -e362203b941f18bd4cba29a62adfa02453ed00d6be5b72cdb6c4d7e0bf394a40 android.hardware.wifi.supplicant@1.1::ISupplicant -21757d0e5dd4b7e4bd981a4a20531bca3c32271ad9777b17b74eb5a1ea508384 android.hardware.wifi.supplicant@1.1::ISupplicantStaIface -cd4330c3196bda1d642a32abfe23a7d64ebfbda721940643af6867af3b3f0aa9 android.hardware.wifi.supplicant@1.1::ISupplicantStaIfaceCallback -10ff2fae516346b86121368ce5790d5accdfcb73983246b813f3d488b66db45a android.hardware.wifi.supplicant@1.1::ISupplicantStaNetwork diff --git a/prebuilt_hashes/Android.bp b/prebuilt_hashes/Android.bp deleted file mode 100644 index 4692b766f7..0000000000 --- a/prebuilt_hashes/Android.bp +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (C) 2018 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -python_binary_host { - name: "dump_hals_for_release", - - srcs: [ - "dump_hals_for_release.py", - ], - - version: { - py2: { - enabled: true, - }, - py3: { - enabled: false, - }, - }, -} diff --git a/prebuilt_hashes/dump_hals_for_release.py b/prebuilt_hashes/dump_hals_for_release.py deleted file mode 100755 index e9ed4c2f6f..0000000000 --- a/prebuilt_hashes/dump_hals_for_release.py +++ /dev/null @@ -1,136 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (C) 2018 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -""" -Dump new HIDL types that are introduced in each dessert release. -""" - -from __future__ import print_function - -import argparse -import collections -import json -import os -import re - -class Globals: - pass - -class Constants: - CURRENT = 'current' - HAL_PATH_PATTERN = r'/((?:[a-zA-Z_][a-zA-Z0-9_]*/)*)(\d+\.\d+)/([a-zA-Z_][a-zA-Z0-9_]*).hal' - CURRENT_TXT_PATTERN = r'(?:.*/)?([0-9]+|current).txt' - -def trim_trailing_comments(line): - idx = line.find('#') - if idx < 0: return line - return line[0:idx] - -def strip_begin(s, prefix): - if s.startswith(prefix): - return strip_begin(s[len(prefix):], prefix) - return s - -def strip_end(s, suffix): - if s.endswith(suffix): - return strip_end(s[0:-len(suffix)], suffix) - return s - -def get_interfaces(file_name): - with open(file_name) as file: - for line in file: - line_tokens = trim_trailing_comments(line).strip().split() - if not line_tokens: - continue - assert len(line_tokens) == 2, \ - "Unrecognized line in file {}:\n{}".format(file_name, line) - yield line_tokens[1] - -def api_level_to_int(api_level): - try: - if api_level == Constants.CURRENT: return float('inf') - return int(api_level) - except ValueError: - return None - -def get_interfaces_from_package_root(package, root): - root = strip_end(root, '/') - for dirpath, _, filenames in os.walk(root, topdown=False): - dirpath = strip_begin(dirpath, root) - for filename in filenames: - filepath = os.path.join(dirpath, filename) - mo = re.match(Constants.HAL_PATH_PATTERN, filepath) - if not mo: - continue - yield '{}.{}@{}::{}'.format( - package, mo.group(1).strip('/').replace('/', '.'), mo.group(2), mo.group(3)) - -def filter_out(iterable): - return iterable if not Globals.filter_out else filter( - lambda s: all(re.search(pattern, s) is None for pattern in Globals.filter_out), - iterable) - -def main(): - parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument('--pretty', help='Print pretty JSON', action='store_true') - parser.add_argument('--package-root', metavar='PACKAGE:PATH', nargs='*', - help='package root of current directory, e.g. android.hardware:hardware/interfaces') - parser.add_argument('--filter-out', metavar='REGEX', nargs='*', - help='A regular expression that filters out interfaces.') - parser.add_argument('hashes', metavar='FILE', nargs='*', - help='Locations of current.txt for each release.') - parser.parse_args(namespace=Globals) - - interfaces_for_level = dict() - - for filename in Globals.hashes or tuple(): - mo = re.match(Constants.CURRENT_TXT_PATTERN, filename) - assert mo is not None, \ - 'Input hash file names must have the format {} but is {}'.format(Constants.CURRENT_TXT_PATTERN, filename) - - api_level = mo.group(1) - assert api_level_to_int(api_level) is not None - - if api_level not in interfaces_for_level: - interfaces_for_level[api_level] = set() - interfaces_for_level[api_level].update(filter_out(get_interfaces(filename))) - - for package_root in Globals.package_root or tuple(): - tup = package_root.split(':') - assert len(tup) == 2, \ - '--package-root must have the format PACKAGE:PATH, but is {}'.format(package_root) - if Constants.CURRENT not in interfaces_for_level: - interfaces_for_level[Constants.CURRENT] = set() - interfaces_for_level[Constants.CURRENT].update(filter_out(get_interfaces_from_package_root(*tup))) - - seen_interfaces = set() - new_interfaces_for_level = collections.OrderedDict() - for level, interfaces in sorted(interfaces_for_level.items(), key=lambda tup: api_level_to_int(tup[0])): - if level != Constants.CURRENT: - removed_interfaces = seen_interfaces - interfaces - assert not removed_interfaces, \ - "The following interfaces are removed from API level {}:\n{}".format( - level, removed_interfaces) - new_interfaces_for_level[level] = sorted(interfaces - seen_interfaces) - seen_interfaces.update(interfaces) - - print(json.dumps(new_interfaces_for_level, - separators=None if Globals.pretty else (',',':'), - indent=4 if Globals.pretty else None)) - -if __name__ == '__main__': - main() diff --git a/radio/1.0/Android.bp b/radio/1.0/Android.bp index 6765b4da7d..f3cc2e0ad4 100644 --- a/radio/1.0/Android.bp +++ b/radio/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.radio@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IRadio.hal", diff --git a/radio/1.1/Android.bp b/radio/1.1/Android.bp index 28388b0ebe..b325015824 100644 --- a/radio/1.1/Android.bp +++ b/radio/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.radio@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IRadio.hal", diff --git a/radio/1.2/Android.bp b/radio/1.2/Android.bp index 28e6b266cc..0a4caf11f5 100644 --- a/radio/1.2/Android.bp +++ b/radio/1.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.radio@1.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IRadio.hal", diff --git a/radio/1.3/Android.bp b/radio/1.3/Android.bp index b6af874956..1c8e6c2242 100644 --- a/radio/1.3/Android.bp +++ b/radio/1.3/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.radio@1.3", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IRadio.hal", diff --git a/radio/1.4/Android.bp b/radio/1.4/Android.bp index ff2e0d60d6..6c3a7d2563 100644 --- a/radio/1.4/Android.bp +++ b/radio/1.4/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.radio@1.4", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IRadio.hal", diff --git a/radio/1.5/Android.bp b/radio/1.5/Android.bp index 06a2a6ecf3..0542924e2d 100644 --- a/radio/1.5/Android.bp +++ b/radio/1.5/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.radio@1.5", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IRadio.hal", diff --git a/radio/1.6/Android.bp b/radio/1.6/Android.bp new file mode 100644 index 0000000000..b363f57fad --- /dev/null +++ b/radio/1.6/Android.bp @@ -0,0 +1,22 @@ +// This file is autogenerated by hidl-gen -Landroidbp. + +hidl_interface { + name: "android.hardware.radio@1.6", + root: "android.hardware", + srcs: [ + "types.hal", + "IRadio.hal", + "IRadioIndication.hal", + "IRadioResponse.hal", + ], + interfaces: [ + "android.hardware.radio@1.0", + "android.hardware.radio@1.1", + "android.hardware.radio@1.2", + "android.hardware.radio@1.3", + "android.hardware.radio@1.4", + "android.hardware.radio@1.5", + "android.hidl.base@1.0", + ], + gen_java: true, +} diff --git a/radio/1.6/IRadio.hal b/radio/1.6/IRadio.hal new file mode 100644 index 0000000000..a084b92fb7 --- /dev/null +++ b/radio/1.6/IRadio.hal @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.radio@1.6; + +import @1.5::IRadio; + +/** + * This interface is used by telephony and telecom to talk to cellular radio. + * All the functions have minimum one parameter: + * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the + * duration of a method call. If clients provide colliding serials (including passing the same + * serial to different methods), multiple responses (one for each method call) must still be served. + * setResponseFunctions must work with @1.6:IRadioResponse and @1.6::IRadioIndication. + */ +interface IRadio extends @1.5::IRadio { +}; diff --git a/radio/1.6/IRadioIndication.hal b/radio/1.6/IRadioIndication.hal new file mode 100644 index 0000000000..9951dd94b9 --- /dev/null +++ b/radio/1.6/IRadioIndication.hal @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.radio@1.6; + +import @1.5::IRadioIndication; + +/** + * Interface declaring unsolicited radio indications. + */ +interface IRadioIndication extends @1.5::IRadioIndication { +}; diff --git a/radio/1.6/IRadioResponse.hal b/radio/1.6/IRadioResponse.hal new file mode 100644 index 0000000000..a67aa3fe53 --- /dev/null +++ b/radio/1.6/IRadioResponse.hal @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.radio@1.6; + +import @1.5::IRadioResponse; + +/** + * Interface declaring response functions to solicited radio requests. + */ +interface IRadioResponse extends @1.5::IRadioResponse { +}; diff --git a/radio/1.6/types.hal b/radio/1.6/types.hal new file mode 100644 index 0000000000..3395619c3c --- /dev/null +++ b/radio/1.6/types.hal @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.radio@1.6; diff --git a/radio/1.6/vts/OWNERS b/radio/1.6/vts/OWNERS new file mode 100644 index 0000000000..3629a6c1f4 --- /dev/null +++ b/radio/1.6/vts/OWNERS @@ -0,0 +1,10 @@ +# Telephony team +refuhoo@google.com +amitmahajan@google.com +jackyu@google.com +fionaxu@google.com +# more to add + +# VTS team +yuexima@google.com +dshi@google.com
\ No newline at end of file diff --git a/radio/1.6/vts/functional/Android.bp b/radio/1.6/vts/functional/Android.bp new file mode 100644 index 0000000000..a6cfc6f631 --- /dev/null +++ b/radio/1.6/vts/functional/Android.bp @@ -0,0 +1,41 @@ +// +// Copyright (C) 2020 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +cc_test { + name: "VtsHalRadioV1_6TargetTest", + defaults: ["VtsHalTargetTestDefaults"], + srcs: [ + "radio_hidl_hal_api.cpp", + "radio_hidl_hal_test.cpp", + "radio_response.cpp", + "radio_indication.cpp", + "VtsHalRadioV1_6TargetTest.cpp", + ], + static_libs: [ + "RadioVtsTestUtilBase", + "android.hardware.radio@1.6", + "android.hardware.radio@1.5", + "android.hardware.radio@1.4", + "android.hardware.radio@1.3", + "android.hardware.radio@1.2", + "android.hardware.radio@1.1", + "android.hardware.radio@1.0", + "android.hardware.radio.config@1.0", + "android.hardware.radio.config@1.1", + ], + header_libs: ["radio.util.header@1.0"], + test_suites: ["general-tests", "vts"] +} diff --git a/radio/1.6/vts/functional/VtsHalRadioV1_6TargetTest.cpp b/radio/1.6/vts/functional/VtsHalRadioV1_6TargetTest.cpp new file mode 100644 index 0000000000..12cefd6caf --- /dev/null +++ b/radio/1.6/vts/functional/VtsHalRadioV1_6TargetTest.cpp @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <radio_hidl_hal_utils_v1_6.h> + +INSTANTIATE_TEST_SUITE_P(PerInstance, RadioHidlTest_v1_6, + testing::ValuesIn(android::hardware::getAllHalInstanceNames( + android::hardware::radio::V1_6::IRadio::descriptor)), + android::hardware::PrintInstanceNameToString); diff --git a/radio/1.6/vts/functional/radio_hidl_hal_api.cpp b/radio/1.6/vts/functional/radio_hidl_hal_api.cpp new file mode 100644 index 0000000000..8ed56edaca --- /dev/null +++ b/radio/1.6/vts/functional/radio_hidl_hal_api.cpp @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <radio_hidl_hal_utils_v1_6.h> + +#define ASSERT_OK(ret) ASSERT_TRUE(ret.isOk()) diff --git a/radio/1.6/vts/functional/radio_hidl_hal_test.cpp b/radio/1.6/vts/functional/radio_hidl_hal_test.cpp new file mode 100644 index 0000000000..e9a4542018 --- /dev/null +++ b/radio/1.6/vts/functional/radio_hidl_hal_test.cpp @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <radio_hidl_hal_utils_v1_6.h> + +void RadioHidlTest_v1_6::SetUp() { + radio_v1_6 = android::hardware::radio::V1_6::IRadio::getService(GetParam()); + ASSERT_NE(nullptr, radio_v1_6.get()); + + radioRsp_v1_6 = new (std::nothrow) RadioResponse_v1_6(*this); + ASSERT_NE(nullptr, radioRsp_v1_6.get()); + + count_ = 0; + + radioInd_v1_6 = new (std::nothrow) RadioIndication_v1_6(*this); + ASSERT_NE(nullptr, radioInd_v1_6.get()); + + radio_v1_6->setResponseFunctions(radioRsp_v1_6, radioInd_v1_6); + + getDataCallList(); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_6->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_6->rspInfo.serial); + EXPECT_EQ(RadioError::NONE, radioRsp_v1_6->rspInfo.error); + + sp<::android::hardware::radio::config::V1_1::IRadioConfig> radioConfig = + ::android::hardware::radio::config::V1_1::IRadioConfig::getService(); + /* Enforce Vts testing with RadioConfig is existed. */ + ASSERT_NE(nullptr, radioConfig.get()); + + /* Enforce Vts Testing with Sim Status Present only. */ + EXPECT_EQ(CardState::PRESENT, cardStatus.base.base.base.cardState); +} + +/* + * Notify that the response message is received. + */ +void RadioHidlTest_v1_6::notify(int receivedSerial) { + std::unique_lock<std::mutex> lock(mtx_); + if (serial == receivedSerial) { + count_++; + cv_.notify_one(); + } +} + +/* + * Wait till the response message is notified or till TIMEOUT_PERIOD. + */ +std::cv_status RadioHidlTest_v1_6::wait() { + std::unique_lock<std::mutex> lock(mtx_); + + std::cv_status status = std::cv_status::no_timeout; + auto now = std::chrono::system_clock::now(); + while (count_ == 0) { + status = cv_.wait_until(lock, now + std::chrono::seconds(TIMEOUT_PERIOD)); + if (status == std::cv_status::timeout) { + return status; + } + } + count_--; + return status; +} diff --git a/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h b/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h new file mode 100644 index 0000000000..66846ea009 --- /dev/null +++ b/radio/1.6/vts/functional/radio_hidl_hal_utils_v1_6.h @@ -0,0 +1,856 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include <android-base/logging.h> + +#include <gtest/gtest.h> +#include <hidl/GtestPrinter.h> +#include <hidl/ServiceManagement.h> +#include <utils/Log.h> +#include <chrono> +#include <condition_variable> +#include <mutex> + +#include <android/hardware/radio/config/1.1/IRadioConfig.h> + +#include <android/hardware/radio/1.6/IRadio.h> +#include <android/hardware/radio/1.6/IRadioIndication.h> +#include <android/hardware/radio/1.6/IRadioResponse.h> +#include <android/hardware/radio/1.6/types.h> + +#include "vts_test_util.h" + +using namespace ::android::hardware::radio::V1_6; +using namespace ::android::hardware::radio::V1_5; +using namespace ::android::hardware::radio::V1_4; +using namespace ::android::hardware::radio::V1_3; +using namespace ::android::hardware::radio::V1_2; +using namespace ::android::hardware::radio::V1_1; +using namespace ::android::hardware::radio::V1_0; + +using ::android::sp; +using ::android::hardware::hidl_string; +using ::android::hardware::hidl_vec; +using ::android::hardware::Return; +using ::android::hardware::Void; + +#define TIMEOUT_PERIOD 75 +#define MODEM_EMERGENCY_CALL_ESTABLISH_TIME 3 +#define MODEM_EMERGENCY_CALL_DISCONNECT_TIME 3 + +#define RADIO_SERVICE_NAME "slot1" + +class RadioHidlTest_v1_6; +extern ::android::hardware::radio::V1_5::CardStatus cardStatus; + +/* Callback class for radio response v1_5 */ +class RadioResponse_v1_6 : public ::android::hardware::radio::V1_6::IRadioResponse { + protected: + RadioHidlTest_v1_6& parent_v1_6; + + public: + hidl_vec<RadioBandMode> radioBandModes; + + RadioResponseInfo rspInfo; + + // Call + hidl_vec<::android::hardware::radio::V1_2::Call> currentCalls; + + // Modem + bool isModemEnabled; + bool enableModemResponseToggle; + + ::android::hardware::hidl_bitfield<::android::hardware::radio::V1_4::RadioAccessFamily> + networkTypeBitmapResponse; + + // Data + ::android::hardware::radio::V1_4::DataRegStateResult dataRegResp; + + // SimLock status + ::android::hardware::radio::V1_4::CarrierRestrictionsWithPriority carrierRestrictionsResp; + ::android::hardware::radio::V1_4::SimLockMultiSimPolicy multiSimPolicyResp; + + // Whether toggling uicc applications operation is supported. + bool canToggleUiccApplicationsEnablement; + + // Whether Uicc applications are enabled or not. + bool areUiccApplicationsEnabled; + + // Barring Info Response + ::android::hardware::radio::V1_5::CellIdentity barringCellIdentity; + ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::BarringInfo> barringInfos; + + RadioResponse_v1_6(RadioHidlTest_v1_6& parent_v1_6); + virtual ~RadioResponse_v1_6() = default; + + Return<void> getIccCardStatusResponse( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_0::CardStatus& cardStatus); + + Return<void> supplyIccPinForAppResponse(const RadioResponseInfo& info, + int32_t remainingRetries); + + Return<void> supplyIccPukForAppResponse(const RadioResponseInfo& info, + int32_t remainingRetries); + + Return<void> supplyIccPin2ForAppResponse(const RadioResponseInfo& info, + int32_t remainingRetries); + + Return<void> supplyIccPuk2ForAppResponse(const RadioResponseInfo& info, + int32_t remainingRetries); + + Return<void> changeIccPinForAppResponse(const RadioResponseInfo& info, + int32_t remainingRetries); + + Return<void> changeIccPin2ForAppResponse(const RadioResponseInfo& info, + int32_t remainingRetries); + + Return<void> supplyNetworkDepersonalizationResponse(const RadioResponseInfo& info, + int32_t remainingRetries); + + Return<void> getCurrentCallsResponse( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_0::Call>& calls); + + Return<void> dialResponse(const RadioResponseInfo& info); + + Return<void> getIMSIForAppResponse(const RadioResponseInfo& info, + const ::android::hardware::hidl_string& imsi); + + Return<void> hangupConnectionResponse(const RadioResponseInfo& info); + + Return<void> hangupWaitingOrBackgroundResponse(const RadioResponseInfo& info); + + Return<void> hangupForegroundResumeBackgroundResponse(const RadioResponseInfo& info); + + Return<void> switchWaitingOrHoldingAndActiveResponse(const RadioResponseInfo& info); + + Return<void> conferenceResponse(const RadioResponseInfo& info); + + Return<void> rejectCallResponse(const RadioResponseInfo& info); + + Return<void> getLastCallFailCauseResponse(const RadioResponseInfo& info, + const LastCallFailCauseInfo& failCauseInfo); + + Return<void> getSignalStrengthResponse( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_0::SignalStrength& sigStrength); + + Return<void> getVoiceRegistrationStateResponse( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_0::VoiceRegStateResult& voiceRegResponse); + + Return<void> getDataRegistrationStateResponse( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_0::DataRegStateResult& dataRegResponse); + + Return<void> getOperatorResponse(const RadioResponseInfo& info, + const ::android::hardware::hidl_string& longName, + const ::android::hardware::hidl_string& shortName, + const ::android::hardware::hidl_string& numeric); + + Return<void> setRadioPowerResponse(const RadioResponseInfo& info); + + Return<void> sendDtmfResponse(const RadioResponseInfo& info); + + Return<void> sendSmsResponse(const RadioResponseInfo& info, const SendSmsResult& sms); + + Return<void> sendSMSExpectMoreResponse(const RadioResponseInfo& info, const SendSmsResult& sms); + + Return<void> setupDataCallResponse( + const RadioResponseInfo& info, + const android::hardware::radio::V1_0::SetupDataCallResult& dcResponse); + + Return<void> iccIOForAppResponse(const RadioResponseInfo& info, const IccIoResult& iccIo); + + Return<void> sendUssdResponse(const RadioResponseInfo& info); + + Return<void> cancelPendingUssdResponse(const RadioResponseInfo& info); + + Return<void> getClirResponse(const RadioResponseInfo& info, int32_t n, int32_t m); + + Return<void> setClirResponse(const RadioResponseInfo& info); + + Return<void> getCallForwardStatusResponse( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<CallForwardInfo>& call_forwardInfos); + + Return<void> setCallForwardResponse(const RadioResponseInfo& info); + + Return<void> getCallWaitingResponse(const RadioResponseInfo& info, bool enable, + int32_t serviceClass); + + Return<void> setCallWaitingResponse(const RadioResponseInfo& info); + + Return<void> acknowledgeLastIncomingGsmSmsResponse(const RadioResponseInfo& info); + + Return<void> acceptCallResponse(const RadioResponseInfo& info); + + Return<void> deactivateDataCallResponse(const RadioResponseInfo& info); + + Return<void> getFacilityLockForAppResponse(const RadioResponseInfo& info, int32_t response); + + Return<void> setFacilityLockForAppResponse(const RadioResponseInfo& info, int32_t retry); + + Return<void> setBarringPasswordResponse(const RadioResponseInfo& info); + + Return<void> getNetworkSelectionModeResponse(const RadioResponseInfo& info, bool manual); + + Return<void> setNetworkSelectionModeAutomaticResponse(const RadioResponseInfo& info); + + Return<void> setNetworkSelectionModeManualResponse(const RadioResponseInfo& info); + + Return<void> getAvailableNetworksResponse( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<OperatorInfo>& networkInfos); + + Return<void> startDtmfResponse(const RadioResponseInfo& info); + + Return<void> stopDtmfResponse(const RadioResponseInfo& info); + + Return<void> getBasebandVersionResponse(const RadioResponseInfo& info, + const ::android::hardware::hidl_string& version); + + Return<void> separateConnectionResponse(const RadioResponseInfo& info); + + Return<void> setMuteResponse(const RadioResponseInfo& info); + + Return<void> getMuteResponse(const RadioResponseInfo& info, bool enable); + + Return<void> getClipResponse(const RadioResponseInfo& info, ClipStatus status); + + Return<void> getDataCallListResponse( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec< + android::hardware::radio::V1_0::SetupDataCallResult>& dcResponse); + + Return<void> sendOemRilRequestRawResponse(const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<uint8_t>& data); + + Return<void> sendOemRilRequestStringsResponse( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<::android::hardware::hidl_string>& data); + + Return<void> setSuppServiceNotificationsResponse(const RadioResponseInfo& info); + + Return<void> writeSmsToSimResponse(const RadioResponseInfo& info, int32_t index); + + Return<void> deleteSmsOnSimResponse(const RadioResponseInfo& info); + + Return<void> setBandModeResponse(const RadioResponseInfo& info); + + Return<void> getAvailableBandModesResponse( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<RadioBandMode>& bandModes); + + Return<void> sendEnvelopeResponse(const RadioResponseInfo& info, + const ::android::hardware::hidl_string& commandResponse); + + Return<void> sendTerminalResponseToSimResponse(const RadioResponseInfo& info); + + Return<void> handleStkCallSetupRequestFromSimResponse(const RadioResponseInfo& info); + + Return<void> explicitCallTransferResponse(const RadioResponseInfo& info); + + Return<void> setPreferredNetworkTypeResponse(const RadioResponseInfo& info); + + Return<void> getPreferredNetworkTypeResponse(const RadioResponseInfo& info, + PreferredNetworkType nwType); + + Return<void> getNeighboringCidsResponse( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<NeighboringCell>& cells); + + Return<void> setLocationUpdatesResponse(const RadioResponseInfo& info); + + Return<void> setCdmaSubscriptionSourceResponse(const RadioResponseInfo& info); + + Return<void> setCdmaRoamingPreferenceResponse(const RadioResponseInfo& info); + + Return<void> getCdmaRoamingPreferenceResponse(const RadioResponseInfo& info, + CdmaRoamingType type); + + Return<void> setTTYModeResponse(const RadioResponseInfo& info); + + Return<void> getTTYModeResponse(const RadioResponseInfo& info, TtyMode mode); + + Return<void> setPreferredVoicePrivacyResponse(const RadioResponseInfo& info); + + Return<void> getPreferredVoicePrivacyResponse(const RadioResponseInfo& info, bool enable); + + Return<void> sendCDMAFeatureCodeResponse(const RadioResponseInfo& info); + + Return<void> sendBurstDtmfResponse(const RadioResponseInfo& info); + + Return<void> sendCdmaSmsResponse(const RadioResponseInfo& info, const SendSmsResult& sms); + + Return<void> acknowledgeLastIncomingCdmaSmsResponse(const RadioResponseInfo& info); + + Return<void> getGsmBroadcastConfigResponse( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<GsmBroadcastSmsConfigInfo>& configs); + + Return<void> setGsmBroadcastConfigResponse(const RadioResponseInfo& info); + + Return<void> setGsmBroadcastActivationResponse(const RadioResponseInfo& info); + + Return<void> getCdmaBroadcastConfigResponse( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<CdmaBroadcastSmsConfigInfo>& configs); + + Return<void> setCdmaBroadcastConfigResponse(const RadioResponseInfo& info); + + Return<void> setCdmaBroadcastActivationResponse(const RadioResponseInfo& info); + + Return<void> getCDMASubscriptionResponse(const RadioResponseInfo& info, + const ::android::hardware::hidl_string& mdn, + const ::android::hardware::hidl_string& hSid, + const ::android::hardware::hidl_string& hNid, + const ::android::hardware::hidl_string& min, + const ::android::hardware::hidl_string& prl); + + Return<void> writeSmsToRuimResponse(const RadioResponseInfo& info, uint32_t index); + + Return<void> deleteSmsOnRuimResponse(const RadioResponseInfo& info); + + Return<void> getDeviceIdentityResponse(const RadioResponseInfo& info, + const ::android::hardware::hidl_string& imei, + const ::android::hardware::hidl_string& imeisv, + const ::android::hardware::hidl_string& esn, + const ::android::hardware::hidl_string& meid); + + Return<void> exitEmergencyCallbackModeResponse(const RadioResponseInfo& info); + + Return<void> getSmscAddressResponse(const RadioResponseInfo& info, + const ::android::hardware::hidl_string& smsc); + + Return<void> setSmscAddressResponse(const RadioResponseInfo& info); + + Return<void> reportSmsMemoryStatusResponse(const RadioResponseInfo& info); + + Return<void> reportStkServiceIsRunningResponse(const RadioResponseInfo& info); + + Return<void> getCdmaSubscriptionSourceResponse(const RadioResponseInfo& info, + CdmaSubscriptionSource source); + + Return<void> requestIsimAuthenticationResponse( + const RadioResponseInfo& info, const ::android::hardware::hidl_string& response); + + Return<void> acknowledgeIncomingGsmSmsWithPduResponse(const RadioResponseInfo& info); + + Return<void> sendEnvelopeWithStatusResponse(const RadioResponseInfo& info, + const IccIoResult& iccIo); + + Return<void> getVoiceRadioTechnologyResponse( + const RadioResponseInfo& info, ::android::hardware::radio::V1_0::RadioTechnology rat); + + Return<void> getCellInfoListResponse( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_0::CellInfo>& + cellInfo); + + Return<void> setCellInfoListRateResponse(const RadioResponseInfo& info); + + Return<void> setInitialAttachApnResponse(const RadioResponseInfo& info); + + Return<void> getImsRegistrationStateResponse(const RadioResponseInfo& info, bool isRegistered, + RadioTechnologyFamily ratFamily); + + Return<void> sendImsSmsResponse(const RadioResponseInfo& info, const SendSmsResult& sms); + + Return<void> iccTransmitApduBasicChannelResponse(const RadioResponseInfo& info, + const IccIoResult& result); + + Return<void> iccOpenLogicalChannelResponse( + const RadioResponseInfo& info, int32_t channelId, + const ::android::hardware::hidl_vec<int8_t>& selectResponse); + + Return<void> iccCloseLogicalChannelResponse(const RadioResponseInfo& info); + + Return<void> iccTransmitApduLogicalChannelResponse(const RadioResponseInfo& info, + const IccIoResult& result); + + Return<void> nvReadItemResponse(const RadioResponseInfo& info, + const ::android::hardware::hidl_string& result); + + Return<void> nvWriteItemResponse(const RadioResponseInfo& info); + + Return<void> nvWriteCdmaPrlResponse(const RadioResponseInfo& info); + + Return<void> nvResetConfigResponse(const RadioResponseInfo& info); + + Return<void> setUiccSubscriptionResponse(const RadioResponseInfo& info); + + Return<void> setDataAllowedResponse(const RadioResponseInfo& info); + + Return<void> getHardwareConfigResponse( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<HardwareConfig>& config); + + Return<void> requestIccSimAuthenticationResponse(const RadioResponseInfo& info, + const IccIoResult& result); + + Return<void> setDataProfileResponse(const RadioResponseInfo& info); + + Return<void> requestShutdownResponse(const RadioResponseInfo& info); + + Return<void> getRadioCapabilityResponse( + const RadioResponseInfo& info, + const android::hardware::radio::V1_0::RadioCapability& rc); + + Return<void> setRadioCapabilityResponse( + const RadioResponseInfo& info, + const android::hardware::radio::V1_0::RadioCapability& rc); + + Return<void> startLceServiceResponse(const RadioResponseInfo& info, + const LceStatusInfo& statusInfo); + + Return<void> stopLceServiceResponse(const RadioResponseInfo& info, + const LceStatusInfo& statusInfo); + + Return<void> pullLceDataResponse(const RadioResponseInfo& info, const LceDataInfo& lceInfo); + + Return<void> getModemActivityInfoResponse(const RadioResponseInfo& info, + const ActivityStatsInfo& activityInfo); + + Return<void> setAllowedCarriersResponse(const RadioResponseInfo& info, int32_t numAllowed); + + Return<void> getAllowedCarriersResponse(const RadioResponseInfo& info, bool allAllowed, + const CarrierRestrictions& carriers); + + Return<void> sendDeviceStateResponse(const RadioResponseInfo& info); + + Return<void> setIndicationFilterResponse(const RadioResponseInfo& info); + + Return<void> setSimCardPowerResponse(const RadioResponseInfo& info); + + Return<void> acknowledgeRequest(int32_t serial); + + /* 1.1 Api */ + Return<void> setCarrierInfoForImsiEncryptionResponse(const RadioResponseInfo& info); + + Return<void> setSimCardPowerResponse_1_1(const RadioResponseInfo& info); + + Return<void> startNetworkScanResponse(const RadioResponseInfo& info); + + Return<void> stopNetworkScanResponse(const RadioResponseInfo& info); + + Return<void> startKeepaliveResponse(const RadioResponseInfo& info, + const KeepaliveStatus& status); + + Return<void> stopKeepaliveResponse(const RadioResponseInfo& info); + + /* 1.2 Api */ + Return<void> setSignalStrengthReportingCriteriaResponse(const RadioResponseInfo& info); + + Return<void> setLinkCapacityReportingCriteriaResponse(const RadioResponseInfo& info); + + Return<void> getIccCardStatusResponse_1_2( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_2::CardStatus& card_status); + + Return<void> getCurrentCallsResponse_1_2( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_2::Call>& calls); + + Return<void> getSignalStrengthResponse_1_2( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_2::SignalStrength& sig_strength); + + Return<void> getSignalStrengthResponse_1_4( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_4::SignalStrength& sig_strength); + + Return<void> getCellInfoListResponse_1_2( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_2::CellInfo>& + cellInfo); + + Return<void> getVoiceRegistrationStateResponse_1_2( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_2::VoiceRegStateResult& voiceRegResponse); + + Return<void> getDataRegistrationStateResponse_1_2( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_2::DataRegStateResult& dataRegResponse); + + /* 1.3 Api */ + Return<void> setSystemSelectionChannelsResponse(const RadioResponseInfo& info); + + Return<void> enableModemResponse(const RadioResponseInfo& info); + + Return<void> getModemStackStatusResponse(const RadioResponseInfo& info, const bool enabled); + + /* 1.4 Api */ + Return<void> emergencyDialResponse(const RadioResponseInfo& info); + + Return<void> startNetworkScanResponse_1_4(const RadioResponseInfo& info); + + Return<void> getCellInfoListResponse_1_4( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_4::CellInfo>& + cellInfo); + + Return<void> getDataRegistrationStateResponse_1_4( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_4::DataRegStateResult& dataRegResponse); + + Return<void> getIccCardStatusResponse_1_4( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_4::CardStatus& card_status); + + Return<void> getPreferredNetworkTypeBitmapResponse( + const RadioResponseInfo& info, + const ::android::hardware::hidl_bitfield< + ::android::hardware::radio::V1_4::RadioAccessFamily> + networkTypeBitmap); + + Return<void> setPreferredNetworkTypeBitmapResponse(const RadioResponseInfo& info); + + Return<void> getDataCallListResponse_1_4( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec< + ::android::hardware::radio::V1_4::SetupDataCallResult>& dcResponse); + + Return<void> setupDataCallResponse_1_4( + const RadioResponseInfo& info, + const android::hardware::radio::V1_4::SetupDataCallResult& dcResponse); + + Return<void> setAllowedCarriersResponse_1_4(const RadioResponseInfo& info); + + Return<void> getAllowedCarriersResponse_1_4(const RadioResponseInfo& info, + const CarrierRestrictionsWithPriority& carriers, + SimLockMultiSimPolicy multiSimPolicy); + + /* 1.5 Api */ + Return<void> setSignalStrengthReportingCriteriaResponse_1_5(const RadioResponseInfo& info); + + Return<void> setLinkCapacityReportingCriteriaResponse_1_5(const RadioResponseInfo& info); + + Return<void> enableUiccApplicationsResponse(const RadioResponseInfo& info); + + Return<void> areUiccApplicationsEnabledResponse(const RadioResponseInfo& info, bool enabled); + + Return<void> canToggleUiccApplicationsEnablementResponse(const RadioResponseInfo& info, + bool canToggle); + + Return<void> setSystemSelectionChannelsResponse_1_5(const RadioResponseInfo& info); + + Return<void> startNetworkScanResponse_1_5(const RadioResponseInfo& info); + + Return<void> setupDataCallResponse_1_5( + const RadioResponseInfo& info, + const android::hardware::radio::V1_5::SetupDataCallResult& dcResponse); + + Return<void> getDataCallListResponse_1_5( + const RadioResponseInfo& info, + const hidl_vec<::android::hardware::radio::V1_5::SetupDataCallResult>& dcResponse); + + Return<void> setInitialAttachApnResponse_1_5(const RadioResponseInfo& info); + + Return<void> setDataProfileResponse_1_5(const RadioResponseInfo& info); + + Return<void> setRadioPowerResponse_1_5(const RadioResponseInfo& info); + + Return<void> setIndicationFilterResponse_1_5(const RadioResponseInfo& info); + + Return<void> getBarringInfoResponse( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_5::CellIdentity& cellIdentity, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::BarringInfo>& + barringInfos); + + Return<void> getVoiceRegistrationStateResponse_1_5( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_5::RegStateResult& regResponse); + + Return<void> getDataRegistrationStateResponse_1_5( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_5::RegStateResult& regResponse); + + Return<void> getCellInfoListResponse_1_5( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::CellInfo>& + cellInfo); + + Return<void> setNetworkSelectionModeManualResponse_1_5(const RadioResponseInfo& info); + + Return<void> sendCdmaSmsExpectMoreResponse(const RadioResponseInfo& info, + const SendSmsResult& sms); + + Return<void> supplySimDepersonalizationResponse( + const RadioResponseInfo& info, + ::android::hardware::radio::V1_5::PersoSubstate persoType, int32_t remainingRetries); + + Return<void> getIccCardStatusResponse_1_5( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_5::CardStatus& card_status); + + /* 1.6 Api */ +}; + +/* Callback class for radio indication */ +class RadioIndication_v1_6 : public ::android::hardware::radio::V1_6::IRadioIndication { + protected: + RadioHidlTest_v1_6& parent_v1_6; + + public: + RadioIndication_v1_6(RadioHidlTest_v1_6& parent_v1_6); + virtual ~RadioIndication_v1_6() = default; + + /* 1.6 Api */ + + /* 1.5 Api */ + Return<void> uiccApplicationsEnablementChanged(RadioIndicationType type, bool enabled); + + Return<void> networkScanResult_1_5( + RadioIndicationType type, + const ::android::hardware::radio::V1_5::NetworkScanResult& result); + + Return<void> cellInfoList_1_5( + RadioIndicationType type, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::CellInfo>& + records); + + Return<void> dataCallListChanged_1_5( + RadioIndicationType type, + const hidl_vec<::android::hardware::radio::V1_5::SetupDataCallResult>& dcList); + + /* 1.4 Api */ + Return<void> currentEmergencyNumberList( + RadioIndicationType type, + const ::android::hardware::hidl_vec<EmergencyNumber>& emergencyNumberList); + + Return<void> cellInfoList_1_4( + RadioIndicationType type, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_4::CellInfo>& + records); + + Return<void> networkScanResult_1_4( + RadioIndicationType type, + const ::android::hardware::radio::V1_4::NetworkScanResult& result); + + Return<void> currentPhysicalChannelConfigs_1_4( + RadioIndicationType type, + const ::android::hardware::hidl_vec< + ::android::hardware::radio::V1_4::PhysicalChannelConfig>& configs); + + Return<void> dataCallListChanged_1_4( + RadioIndicationType type, + const ::android::hardware::hidl_vec< + android::hardware::radio::V1_4::SetupDataCallResult>& dcList); + + /* 1.2 Api */ + Return<void> networkScanResult_1_2( + RadioIndicationType type, + const ::android::hardware::radio::V1_2::NetworkScanResult& result); + + Return<void> cellInfoList_1_2( + RadioIndicationType type, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_2::CellInfo>& + records); + + Return<void> currentLinkCapacityEstimate( + RadioIndicationType type, + const ::android::hardware::radio::V1_2::LinkCapacityEstimate& lce); + + Return<void> currentPhysicalChannelConfigs( + RadioIndicationType type, + const ::android::hardware::hidl_vec< + ::android::hardware::radio::V1_2::PhysicalChannelConfig>& configs); + + Return<void> currentSignalStrength_1_2( + RadioIndicationType type, + const ::android::hardware::radio::V1_2::SignalStrength& signalStrength); + + Return<void> currentSignalStrength_1_4( + RadioIndicationType type, + const ::android::hardware::radio::V1_4::SignalStrength& signalStrength); + + /* 1.1 Api */ + Return<void> carrierInfoForImsiEncryption(RadioIndicationType info); + + Return<void> networkScanResult( + RadioIndicationType type, + const ::android::hardware::radio::V1_1::NetworkScanResult& result); + + Return<void> keepaliveStatus(RadioIndicationType type, const KeepaliveStatus& status); + + /* 1.0 Api */ + Return<void> radioStateChanged(RadioIndicationType type, RadioState radioState); + + Return<void> callStateChanged(RadioIndicationType type); + + Return<void> networkStateChanged(RadioIndicationType type); + + Return<void> newSms(RadioIndicationType type, + const ::android::hardware::hidl_vec<uint8_t>& pdu); + + Return<void> newSmsStatusReport(RadioIndicationType type, + const ::android::hardware::hidl_vec<uint8_t>& pdu); + + Return<void> newSmsOnSim(RadioIndicationType type, int32_t recordNumber); + + Return<void> onUssd(RadioIndicationType type, UssdModeType modeType, + const ::android::hardware::hidl_string& msg); + + Return<void> nitzTimeReceived(RadioIndicationType type, + const ::android::hardware::hidl_string& nitzTime, + uint64_t receivedTime); + + Return<void> currentSignalStrength( + RadioIndicationType type, + const ::android::hardware::radio::V1_0::SignalStrength& signalStrength); + + Return<void> dataCallListChanged( + RadioIndicationType type, + const ::android::hardware::hidl_vec< + android::hardware::radio::V1_0::SetupDataCallResult>& dcList); + + Return<void> suppSvcNotify(RadioIndicationType type, const SuppSvcNotification& suppSvc); + + Return<void> stkSessionEnd(RadioIndicationType type); + + Return<void> stkProactiveCommand(RadioIndicationType type, + const ::android::hardware::hidl_string& cmd); + + Return<void> stkEventNotify(RadioIndicationType type, + const ::android::hardware::hidl_string& cmd); + + Return<void> stkCallSetup(RadioIndicationType type, int64_t timeout); + + Return<void> simSmsStorageFull(RadioIndicationType type); + + Return<void> simRefresh(RadioIndicationType type, const SimRefreshResult& refreshResult); + + Return<void> callRing(RadioIndicationType type, bool isGsm, const CdmaSignalInfoRecord& record); + + Return<void> simStatusChanged(RadioIndicationType type); + + Return<void> cdmaNewSms(RadioIndicationType type, const CdmaSmsMessage& msg); + + Return<void> newBroadcastSms(RadioIndicationType type, + const ::android::hardware::hidl_vec<uint8_t>& data); + + Return<void> cdmaRuimSmsStorageFull(RadioIndicationType type); + + Return<void> restrictedStateChanged(RadioIndicationType type, PhoneRestrictedState state); + + Return<void> enterEmergencyCallbackMode(RadioIndicationType type); + + Return<void> cdmaCallWaiting(RadioIndicationType type, + const CdmaCallWaiting& callWaitingRecord); + + Return<void> cdmaOtaProvisionStatus(RadioIndicationType type, CdmaOtaProvisionStatus status); + + Return<void> cdmaInfoRec(RadioIndicationType type, const CdmaInformationRecords& records); + + Return<void> indicateRingbackTone(RadioIndicationType type, bool start); + + Return<void> resendIncallMute(RadioIndicationType type); + + Return<void> cdmaSubscriptionSourceChanged(RadioIndicationType type, + CdmaSubscriptionSource cdmaSource); + + Return<void> cdmaPrlChanged(RadioIndicationType type, int32_t version); + + Return<void> exitEmergencyCallbackMode(RadioIndicationType type); + + Return<void> rilConnected(RadioIndicationType type); + + Return<void> voiceRadioTechChanged(RadioIndicationType type, + ::android::hardware::radio::V1_0::RadioTechnology rat); + + Return<void> cellInfoList( + RadioIndicationType type, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_0::CellInfo>& + records); + + Return<void> imsNetworkStateChanged(RadioIndicationType type); + + Return<void> subscriptionStatusChanged(RadioIndicationType type, bool activate); + + Return<void> srvccStateNotify(RadioIndicationType type, SrvccState state); + + Return<void> hardwareConfigChanged( + RadioIndicationType type, const ::android::hardware::hidl_vec<HardwareConfig>& configs); + + Return<void> radioCapabilityIndication( + RadioIndicationType type, const android::hardware::radio::V1_0::RadioCapability& rc); + + Return<void> onSupplementaryServiceIndication(RadioIndicationType type, + const StkCcUnsolSsResult& ss); + + Return<void> stkCallControlAlphaNotify(RadioIndicationType type, + const ::android::hardware::hidl_string& alpha); + + Return<void> lceData(RadioIndicationType type, const LceDataInfo& lce); + + Return<void> pcoData(RadioIndicationType type, const PcoDataInfo& pco); + + Return<void> modemReset(RadioIndicationType type, + const ::android::hardware::hidl_string& reason); + + Return<void> registrationFailed( + RadioIndicationType type, + const ::android::hardware::radio::V1_5::CellIdentity& cellIdentity, + const ::android::hardware::hidl_string& chosenPlmn, + ::android::hardware::hidl_bitfield<::android::hardware::radio::V1_5::Domain> domain, + int32_t causeCode, int32_t additionalCauseCode); + + Return<void> barringInfoChanged( + RadioIndicationType /*type*/, + const ::android::hardware::radio::V1_5::CellIdentity& /*cellIdentity*/, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::BarringInfo>& + /*barringInfos*/); +}; + +// The main test class for Radio HIDL. +class RadioHidlTest_v1_6 : public ::testing::TestWithParam<std::string> { + protected: + std::mutex mtx_; + std::condition_variable cv_; + int count_; + + /* Serial number for radio request */ + int serial; + + /* Clear Potential Established Calls */ + void clearPotentialEstablishedCalls(); + + /* Get current data call list */ + void getDataCallList(); + + public: + virtual void SetUp() override; + + /* Used as a mechanism to inform the test about data/event callback */ + void notify(int receivedSerial); + + /* Test code calls this function to wait for response */ + std::cv_status wait(); + + /* radio service handle */ + sp<::android::hardware::radio::V1_6::IRadio> radio_v1_6; + + /* radio response handle */ + sp<RadioResponse_v1_6> radioRsp_v1_6; + + /* radio indication handle */ + sp<RadioIndication_v1_6> radioInd_v1_6; +}; diff --git a/radio/1.6/vts/functional/radio_indication.cpp b/radio/1.6/vts/functional/radio_indication.cpp new file mode 100644 index 0000000000..857ea3c6c6 --- /dev/null +++ b/radio/1.6/vts/functional/radio_indication.cpp @@ -0,0 +1,372 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <radio_hidl_hal_utils_v1_6.h> + +RadioIndication_v1_6::RadioIndication_v1_6(RadioHidlTest_v1_6& parent) : parent_v1_6(parent) {} + +/* 1.6 Apis */ + +/* 1.5 Apis */ +Return<void> RadioIndication_v1_6::uiccApplicationsEnablementChanged(RadioIndicationType /*type*/, + bool /*enabled*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::registrationFailed( + RadioIndicationType /*type*/, + const ::android::hardware::radio::V1_5::CellIdentity& /*cellIdentity*/, + const hidl_string& /*chosenPlmn*/, + ::android::hardware::hidl_bitfield<::android::hardware::radio::V1_5::Domain> /*domain*/, + int32_t /*causeCode*/, int32_t /*additionalCauseCode*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::barringInfoChanged( + RadioIndicationType /*type*/, + const ::android::hardware::radio::V1_5::CellIdentity& /*cellIdentity*/, + const hidl_vec<::android::hardware::radio::V1_5::BarringInfo>& /*barringInfos*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::networkScanResult_1_5( + RadioIndicationType /*type*/, + const ::android::hardware::radio::V1_5::NetworkScanResult& /*result*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::cellInfoList_1_5( + RadioIndicationType /*type*/, + const hidl_vec<::android::hardware::radio::V1_5::CellInfo>& /*records*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::dataCallListChanged_1_5( + RadioIndicationType /*type*/, + const hidl_vec<android::hardware::radio::V1_5::SetupDataCallResult>& /*dcList*/) { + return Void(); +} + +/* 1.4 Apis */ +Return<void> RadioIndication_v1_6::currentPhysicalChannelConfigs_1_4( + RadioIndicationType /*type*/, + const ::android::hardware::hidl_vec< + ::android::hardware::radio::V1_4::PhysicalChannelConfig>& /*configs*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::networkScanResult_1_4( + RadioIndicationType /*type*/, + const ::android::hardware::radio::V1_4::NetworkScanResult& /*result*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::cellInfoList_1_4( + RadioIndicationType /*type*/, + const ::android::hardware::hidl_vec< + ::android::hardware::radio::V1_4::CellInfo>& /*records*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::currentEmergencyNumberList( + RadioIndicationType /*type*/, + const ::android::hardware::hidl_vec<EmergencyNumber>& /*emergencyNumberList*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::dataCallListChanged_1_4( + RadioIndicationType /*type*/, + const ::android::hardware::hidl_vec<android::hardware::radio::V1_4::SetupDataCallResult>& + /*dcList*/) { + return Void(); +} + +/* 1.2 Apis */ +Return<void> RadioIndication_v1_6::networkScanResult_1_2( + RadioIndicationType /*type*/, + const ::android::hardware::radio::V1_2::NetworkScanResult& /*result*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::cellInfoList_1_2( + RadioIndicationType /*type*/, + const ::android::hardware::hidl_vec< + ::android::hardware::radio::V1_2::CellInfo>& /*records*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::currentLinkCapacityEstimate( + RadioIndicationType /*type*/, + const ::android::hardware::radio::V1_2::LinkCapacityEstimate& /*lce*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::currentPhysicalChannelConfigs( + RadioIndicationType /*type*/, + const ::android::hardware::hidl_vec< + ::android::hardware::radio::V1_2::PhysicalChannelConfig>& /*configs*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::currentSignalStrength_1_2( + RadioIndicationType /*type*/, + const ::android::hardware::radio::V1_2::SignalStrength& /*signalStrength*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::currentSignalStrength_1_4( + RadioIndicationType /*type*/, + const ::android::hardware::radio::V1_4::SignalStrength& /*signalStrength*/) { + return Void(); +} + +/* 1.1 Apis */ +Return<void> RadioIndication_v1_6::carrierInfoForImsiEncryption(RadioIndicationType /*info*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::networkScanResult( + RadioIndicationType /*type*/, + const ::android::hardware::radio::V1_1::NetworkScanResult& /*result*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::keepaliveStatus(RadioIndicationType /*type*/, + const KeepaliveStatus& /*status*/) { + return Void(); +} + +/* 1.0 Apis */ +Return<void> RadioIndication_v1_6::radioStateChanged(RadioIndicationType /*type*/, + RadioState /*radioState*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::callStateChanged(RadioIndicationType /*type*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::networkStateChanged(RadioIndicationType /*type*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::newSms(RadioIndicationType /*type*/, + const ::android::hardware::hidl_vec<uint8_t>& /*pdu*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::newSmsStatusReport( + RadioIndicationType /*type*/, const ::android::hardware::hidl_vec<uint8_t>& /*pdu*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::newSmsOnSim(RadioIndicationType /*type*/, + int32_t /*recordNumber*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::onUssd(RadioIndicationType /*type*/, UssdModeType /*modeType*/, + const ::android::hardware::hidl_string& /*msg*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::nitzTimeReceived( + RadioIndicationType /*type*/, const ::android::hardware::hidl_string& /*nitzTime*/, + uint64_t /*receivedTime*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::currentSignalStrength( + RadioIndicationType /*type*/, + const ::android::hardware::radio::V1_0::SignalStrength& /*signalStrength*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::dataCallListChanged( + RadioIndicationType /*type*/, + const ::android::hardware::hidl_vec<android::hardware::radio::V1_0::SetupDataCallResult>& + /*dcList*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::suppSvcNotify(RadioIndicationType /*type*/, + const SuppSvcNotification& /*suppSvc*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::stkSessionEnd(RadioIndicationType /*type*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::stkProactiveCommand( + RadioIndicationType /*type*/, const ::android::hardware::hidl_string& /*cmd*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::stkEventNotify(RadioIndicationType /*type*/, + const ::android::hardware::hidl_string& /*cmd*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::stkCallSetup(RadioIndicationType /*type*/, int64_t /*timeout*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::simSmsStorageFull(RadioIndicationType /*type*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::simRefresh(RadioIndicationType /*type*/, + const SimRefreshResult& /*refreshResult*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::callRing(RadioIndicationType /*type*/, bool /*isGsm*/, + const CdmaSignalInfoRecord& /*record*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::simStatusChanged(RadioIndicationType /*type*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::cdmaNewSms(RadioIndicationType /*type*/, + const CdmaSmsMessage& /*msg*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::newBroadcastSms( + RadioIndicationType /*type*/, const ::android::hardware::hidl_vec<uint8_t>& /*data*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::cdmaRuimSmsStorageFull(RadioIndicationType /*type*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::restrictedStateChanged(RadioIndicationType /*type*/, + PhoneRestrictedState /*state*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::enterEmergencyCallbackMode(RadioIndicationType /*type*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::cdmaCallWaiting(RadioIndicationType /*type*/, + const CdmaCallWaiting& /*callWaitingRecord*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::cdmaOtaProvisionStatus(RadioIndicationType /*type*/, + CdmaOtaProvisionStatus /*status*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::cdmaInfoRec(RadioIndicationType /*type*/, + const CdmaInformationRecords& /*records*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::indicateRingbackTone(RadioIndicationType /*type*/, + bool /*start*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::resendIncallMute(RadioIndicationType /*type*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::cdmaSubscriptionSourceChanged( + RadioIndicationType /*type*/, CdmaSubscriptionSource /*cdmaSource*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::cdmaPrlChanged(RadioIndicationType /*type*/, + int32_t /*version*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::exitEmergencyCallbackMode(RadioIndicationType /*type*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::rilConnected(RadioIndicationType /*type*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::voiceRadioTechChanged( + RadioIndicationType /*type*/, ::android::hardware::radio::V1_0::RadioTechnology /*rat*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::cellInfoList( + RadioIndicationType /*type*/, + const ::android::hardware::hidl_vec< + ::android::hardware::radio::V1_0::CellInfo>& /*records*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::imsNetworkStateChanged(RadioIndicationType /*type*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::subscriptionStatusChanged(RadioIndicationType /*type*/, + bool /*activate*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::srvccStateNotify(RadioIndicationType /*type*/, + SrvccState /*state*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::hardwareConfigChanged( + RadioIndicationType /*type*/, + const ::android::hardware::hidl_vec<HardwareConfig>& /*configs*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::radioCapabilityIndication( + RadioIndicationType /*type*/, + const android::hardware::radio::V1_0::RadioCapability& /*rc*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::onSupplementaryServiceIndication( + RadioIndicationType /*type*/, const StkCcUnsolSsResult& /*ss*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::stkCallControlAlphaNotify( + RadioIndicationType /*type*/, const ::android::hardware::hidl_string& /*alpha*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::lceData(RadioIndicationType /*type*/, + const LceDataInfo& /*lce*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::pcoData(RadioIndicationType /*type*/, + const PcoDataInfo& /*pco*/) { + return Void(); +} + +Return<void> RadioIndication_v1_6::modemReset(RadioIndicationType /*type*/, + const ::android::hardware::hidl_string& /*reason*/) { + return Void(); +} diff --git a/radio/1.6/vts/functional/radio_response.cpp b/radio/1.6/vts/functional/radio_response.cpp new file mode 100644 index 0000000000..44e61b9a6e --- /dev/null +++ b/radio/1.6/vts/functional/radio_response.cpp @@ -0,0 +1,1044 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <radio_hidl_hal_utils_v1_6.h> + +::android::hardware::radio::V1_5::CardStatus cardStatus; + +RadioResponse_v1_6::RadioResponse_v1_6(RadioHidlTest_v1_6& parent) : parent_v1_6(parent) {} + +/* 1.0 Apis */ +Return<void> RadioResponse_v1_6::getIccCardStatusResponse( + const RadioResponseInfo& /*info*/, + const ::android::hardware::radio::V1_0::CardStatus& /*card_status*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::supplyIccPinForAppResponse(const RadioResponseInfo& /*info*/, + int32_t /*remainingRetries*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::supplyIccPukForAppResponse(const RadioResponseInfo& /*info*/, + int32_t /*remainingRetries*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::supplyIccPin2ForAppResponse(const RadioResponseInfo& /*info*/, + int32_t /*remainingRetries*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::supplyIccPuk2ForAppResponse(const RadioResponseInfo& /*info*/, + int32_t /*remainingRetries*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::changeIccPinForAppResponse(const RadioResponseInfo& /*info*/, + int32_t /*remainingRetries*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::changeIccPin2ForAppResponse(const RadioResponseInfo& /*info*/, + int32_t /*remainingRetries*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::supplyNetworkDepersonalizationResponse( + const RadioResponseInfo& /*info*/, int32_t /*remainingRetries*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getCurrentCallsResponse( + const RadioResponseInfo& /*info*/, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_0::Call>& /*calls*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::dialResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getIMSIForAppResponse( + const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*imsi*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::hangupConnectionResponse(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::hangupWaitingOrBackgroundResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::hangupForegroundResumeBackgroundResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::switchWaitingOrHoldingAndActiveResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::conferenceResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::rejectCallResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getLastCallFailCauseResponse( + const RadioResponseInfo& /*info*/, const LastCallFailCauseInfo& /*failCauseInfo*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getSignalStrengthResponse( + const RadioResponseInfo& /*info*/, + const ::android::hardware::radio::V1_0::SignalStrength& /*sig_strength*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getVoiceRegistrationStateResponse( + const RadioResponseInfo& /*info*/, + const ::android::hardware::radio::V1_0::VoiceRegStateResult& /*voiceRegResponse*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getDataRegistrationStateResponse( + const RadioResponseInfo& /*info*/, + const ::android::hardware::radio::V1_0::DataRegStateResult& /*dataRegResponse*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getOperatorResponse( + const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*longName*/, + const ::android::hardware::hidl_string& /*shortName*/, + const ::android::hardware::hidl_string& /*numeric*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setRadioPowerResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::sendDtmfResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::sendSmsResponse(const RadioResponseInfo& /*info*/, + const SendSmsResult& /*sms*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::sendSMSExpectMoreResponse(const RadioResponseInfo& /*info*/, + const SendSmsResult& /*sms*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setupDataCallResponse( + const RadioResponseInfo& /*info*/, + const android::hardware::radio::V1_0::SetupDataCallResult& /*dcResponse*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::iccIOForAppResponse(const RadioResponseInfo& /*info*/, + const IccIoResult& /*iccIo*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::sendUssdResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::cancelPendingUssdResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getClirResponse(const RadioResponseInfo& /*info*/, int32_t /*n*/, + int32_t /*m*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setClirResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getCallForwardStatusResponse( + const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_vec<CallForwardInfo>& + /*callForwardInfos*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setCallForwardResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getCallWaitingResponse(const RadioResponseInfo& /*info*/, + bool /*enable*/, int32_t /*serviceClass*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setCallWaitingResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::acknowledgeLastIncomingGsmSmsResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::acceptCallResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::deactivateDataCallResponse(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getFacilityLockForAppResponse(const RadioResponseInfo& /*info*/, + int32_t /*response*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setFacilityLockForAppResponse(const RadioResponseInfo& /*info*/, + int32_t /*retry*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setBarringPasswordResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getNetworkSelectionModeResponse(const RadioResponseInfo& /*info*/, + bool /*manual*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setNetworkSelectionModeAutomaticResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setNetworkSelectionModeManualResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getAvailableNetworksResponse( + const RadioResponseInfo& /*info*/, + const ::android::hardware::hidl_vec<OperatorInfo>& /*networkInfos*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::startDtmfResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::stopDtmfResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getBasebandVersionResponse( + const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*version*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::separateConnectionResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setMuteResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getMuteResponse(const RadioResponseInfo& /*info*/, + bool /*enable*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getClipResponse(const RadioResponseInfo& /*info*/, + ClipStatus /*status*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getDataCallListResponse( + const RadioResponseInfo& /*info*/, + const ::android::hardware::hidl_vec<android::hardware::radio::V1_0::SetupDataCallResult>& + /*dcResponse*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::sendOemRilRequestRawResponse( + const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_vec<uint8_t>& /*data*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::sendOemRilRequestStringsResponse( + const RadioResponseInfo& /*info*/, + const ::android::hardware::hidl_vec<::android::hardware::hidl_string>& /*data*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setSuppServiceNotificationsResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::writeSmsToSimResponse(const RadioResponseInfo& /*info*/, + int32_t /*index*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::deleteSmsOnSimResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setBandModeResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getAvailableBandModesResponse( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<RadioBandMode>& bandModes) { + rspInfo = info; + radioBandModes = bandModes; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::sendEnvelopeResponse( + const RadioResponseInfo& /*info*/, + const ::android::hardware::hidl_string& /*commandResponse*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::sendTerminalResponseToSimResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::handleStkCallSetupRequestFromSimResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::explicitCallTransferResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setPreferredNetworkTypeResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getPreferredNetworkTypeResponse(const RadioResponseInfo& /*info*/, + PreferredNetworkType /*nw_type*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getNeighboringCidsResponse( + const RadioResponseInfo& /*info*/, + const ::android::hardware::hidl_vec<NeighboringCell>& /*cells*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setLocationUpdatesResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setCdmaSubscriptionSourceResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setCdmaRoamingPreferenceResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getCdmaRoamingPreferenceResponse(const RadioResponseInfo& /*info*/, + CdmaRoamingType /*type*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setTTYModeResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getTTYModeResponse(const RadioResponseInfo& /*info*/, + TtyMode /*mode*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setPreferredVoicePrivacyResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getPreferredVoicePrivacyResponse(const RadioResponseInfo& /*info*/, + bool /*enable*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::sendCDMAFeatureCodeResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::sendBurstDtmfResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::sendCdmaSmsResponse(const RadioResponseInfo& /*info*/, + const SendSmsResult& /*sms*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::acknowledgeLastIncomingCdmaSmsResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getGsmBroadcastConfigResponse( + const RadioResponseInfo& /*info*/, + const ::android::hardware::hidl_vec<GsmBroadcastSmsConfigInfo>& /*configs*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setGsmBroadcastConfigResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setGsmBroadcastActivationResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getCdmaBroadcastConfigResponse( + const RadioResponseInfo& /*info*/, + const ::android::hardware::hidl_vec<CdmaBroadcastSmsConfigInfo>& /*configs*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setCdmaBroadcastConfigResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setCdmaBroadcastActivationResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getCDMASubscriptionResponse( + const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*mdn*/, + const ::android::hardware::hidl_string& /*hSid*/, + const ::android::hardware::hidl_string& /*hNid*/, + const ::android::hardware::hidl_string& /*min*/, + const ::android::hardware::hidl_string& /*prl*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::writeSmsToRuimResponse(const RadioResponseInfo& /*info*/, + uint32_t /*index*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::deleteSmsOnRuimResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getDeviceIdentityResponse( + const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*imei*/, + const ::android::hardware::hidl_string& /*imeisv*/, + const ::android::hardware::hidl_string& /*esn*/, + const ::android::hardware::hidl_string& /*meid*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::exitEmergencyCallbackModeResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getSmscAddressResponse( + const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*smsc*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setSmscAddressResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::reportSmsMemoryStatusResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::reportStkServiceIsRunningResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getCdmaSubscriptionSourceResponse( + const RadioResponseInfo& /*info*/, CdmaSubscriptionSource /*source*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::requestIsimAuthenticationResponse( + const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*response*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::acknowledgeIncomingGsmSmsWithPduResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::sendEnvelopeWithStatusResponse(const RadioResponseInfo& /*info*/, + const IccIoResult& /*iccIo*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getVoiceRadioTechnologyResponse( + const RadioResponseInfo& /*info*/, + ::android::hardware::radio::V1_0::RadioTechnology /*rat*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getCellInfoListResponse( + const RadioResponseInfo& /*info*/, + const ::android::hardware::hidl_vec< + ::android::hardware::radio::V1_0::CellInfo>& /*cellInfo*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setCellInfoListRateResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setInitialAttachApnResponse(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getImsRegistrationStateResponse( + const RadioResponseInfo& /*info*/, bool /*isRegistered*/, + RadioTechnologyFamily /*ratFamily*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::sendImsSmsResponse(const RadioResponseInfo& /*info*/, + const SendSmsResult& /*sms*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::iccTransmitApduBasicChannelResponse( + const RadioResponseInfo& /*info*/, const IccIoResult& /*result*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::iccOpenLogicalChannelResponse( + const RadioResponseInfo& /*info*/, int32_t /*channelId*/, + const ::android::hardware::hidl_vec<int8_t>& /*selectResponse*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::iccCloseLogicalChannelResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::iccTransmitApduLogicalChannelResponse( + const RadioResponseInfo& /*info*/, const IccIoResult& /*result*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::nvReadItemResponse( + const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*result*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::nvWriteItemResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::nvWriteCdmaPrlResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::nvResetConfigResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setUiccSubscriptionResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setDataAllowedResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getHardwareConfigResponse( + const RadioResponseInfo& /*info*/, + const ::android::hardware::hidl_vec<HardwareConfig>& /*config*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::requestIccSimAuthenticationResponse( + const RadioResponseInfo& /*info*/, const IccIoResult& /*result*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setDataProfileResponse(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::requestShutdownResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getRadioCapabilityResponse( + const RadioResponseInfo& /*info*/, + const android::hardware::radio::V1_0::RadioCapability& /*rc*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setRadioCapabilityResponse( + const RadioResponseInfo& /*info*/, + const android::hardware::radio::V1_0::RadioCapability& /*rc*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::startLceServiceResponse(const RadioResponseInfo& /*info*/, + const LceStatusInfo& /*statusInfo*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::stopLceServiceResponse(const RadioResponseInfo& /*info*/, + const LceStatusInfo& /*statusInfo*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::pullLceDataResponse(const RadioResponseInfo& /*info*/, + const LceDataInfo& /*lceInfo*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getModemActivityInfoResponse( + const RadioResponseInfo& /*info*/, const ActivityStatsInfo& /*activityInfo*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setAllowedCarriersResponse(const RadioResponseInfo& /*info*/, + int32_t /*numAllowed*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getAllowedCarriersResponse( + const RadioResponseInfo& /*info*/, bool /*allAllowed*/, + const CarrierRestrictions& /*carriers*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::sendDeviceStateResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setIndicationFilterResponse(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::setSimCardPowerResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::acknowledgeRequest(int32_t /*serial*/) { + return Void(); +} + +/* 1.1 Apis */ +Return<void> RadioResponse_v1_6::setCarrierInfoForImsiEncryptionResponse( + const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setSimCardPowerResponse_1_1(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::startNetworkScanResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::stopNetworkScanResponse(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::startKeepaliveResponse(const RadioResponseInfo& /*info*/, + const KeepaliveStatus& /*status*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::stopKeepaliveResponse(const RadioResponseInfo& /*info*/) { + return Void(); +} + +/* 1.2 Apis */ +Return<void> RadioResponse_v1_6::setSignalStrengthReportingCriteriaResponse( + const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::setLinkCapacityReportingCriteriaResponse( + const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getIccCardStatusResponse_1_2( + const RadioResponseInfo& /*info*/, + const ::android::hardware::radio::V1_2::CardStatus& /*card_status*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getCurrentCallsResponse_1_2( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_2::Call>& calls) { + rspInfo = info; + currentCalls = calls; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getSignalStrengthResponse_1_2( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_2::SignalStrength& /*sig_strength*/) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getSignalStrengthResponse_1_4( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_4::SignalStrength& /*sig_strength*/) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getCellInfoListResponse_1_2( + const RadioResponseInfo& /*info*/, + const ::android::hardware::hidl_vec< + ::android::hardware::radio::V1_2::CellInfo>& /*cellInfo*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getVoiceRegistrationStateResponse_1_2( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_2::VoiceRegStateResult& /*voiceRegResponse*/) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getDataRegistrationStateResponse_1_2( + const RadioResponseInfo& /*info*/, + const ::android::hardware::radio::V1_2::DataRegStateResult& /*dataRegResponse*/) { + return Void(); +} + +/* 1.3 Apis */ +Return<void> RadioResponse_v1_6::setSystemSelectionChannelsResponse(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::enableModemResponse(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getModemStackStatusResponse(const RadioResponseInfo& info, + const bool enabled) { + rspInfo = info; + isModemEnabled = enabled; + parent_v1_6.notify(info.serial); + return Void(); +} + +/* 1.4 Apis */ +Return<void> RadioResponse_v1_6::emergencyDialResponse(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::startNetworkScanResponse_1_4(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getDataRegistrationStateResponse_1_4( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_4::DataRegStateResult& dataRegResponse) { + rspInfo = info; + dataRegResp = dataRegResponse; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getCellInfoListResponse_1_4( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec< + ::android::hardware::radio::V1_4::CellInfo>& /*cellInfo*/) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getIccCardStatusResponse_1_4( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_4::CardStatus& /*card_status*/) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getPreferredNetworkTypeBitmapResponse( + const RadioResponseInfo& info, const ::android::hardware::hidl_bitfield< + ::android::hardware::radio::V1_4::RadioAccessFamily> + networkTypeBitmap) { + rspInfo = info; + networkTypeBitmapResponse = networkTypeBitmap; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::setPreferredNetworkTypeBitmapResponse( + const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getDataCallListResponse_1_4( + const RadioResponseInfo& info, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_4::SetupDataCallResult>& + /*dcResponse*/) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::setupDataCallResponse_1_4( + const RadioResponseInfo& info, + const android::hardware::radio::V1_4::SetupDataCallResult& /*dcResponse*/) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::setAllowedCarriersResponse_1_4(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getAllowedCarriersResponse_1_4( + const RadioResponseInfo& info, const CarrierRestrictionsWithPriority& carriers, + SimLockMultiSimPolicy multiSimPolicy) { + rspInfo = info; + carrierRestrictionsResp = carriers; + multiSimPolicyResp = multiSimPolicy; + parent_v1_6.notify(info.serial); + return Void(); +} + +/* 1.5 Apis */ +Return<void> RadioResponse_v1_6::setSignalStrengthReportingCriteriaResponse_1_5( + const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::setLinkCapacityReportingCriteriaResponse_1_5( + const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::enableUiccApplicationsResponse(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::areUiccApplicationsEnabledResponse(const RadioResponseInfo& info, + bool enabled) { + rspInfo = info; + areUiccApplicationsEnabled = enabled; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::canToggleUiccApplicationsEnablementResponse( + const RadioResponseInfo& info, bool canToggle) { + rspInfo = info; + canToggleUiccApplicationsEnablement = canToggle; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::setSystemSelectionChannelsResponse_1_5( + const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::startNetworkScanResponse_1_5(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::setupDataCallResponse_1_5( + const RadioResponseInfo& info, + const android::hardware::radio::V1_5::SetupDataCallResult& /* dcResponse */) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getDataCallListResponse_1_5( + const RadioResponseInfo& info, + const hidl_vec<::android::hardware::radio::V1_5::SetupDataCallResult>& /* dcResponse */) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::setInitialAttachApnResponse_1_5(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::setDataProfileResponse_1_5(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::setRadioPowerResponse_1_5(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::setIndicationFilterResponse_1_5(const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getBarringInfoResponse( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_5::CellIdentity& cellIdentity, + const ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::BarringInfo>& + barringInfos) { + this->barringCellIdentity = cellIdentity; + this->barringInfos = barringInfos; + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getVoiceRegistrationStateResponse_1_5( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_5::RegStateResult& /*regResponse*/) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getDataRegistrationStateResponse_1_5( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_5::RegStateResult& /*regResponse*/) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::getCellInfoListResponse_1_5( + const RadioResponseInfo& /*info*/, + const ::android::hardware::hidl_vec< + ::android::hardware::radio::V1_5::CellInfo>& /*cellInfo*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::setNetworkSelectionModeManualResponse_1_5( + const RadioResponseInfo& info) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::sendCdmaSmsExpectMoreResponse(const RadioResponseInfo& info, + const SendSmsResult& /*sms*/) { + rspInfo = info; + parent_v1_6.notify(info.serial); + return Void(); +} + +Return<void> RadioResponse_v1_6::supplySimDepersonalizationResponse( + const RadioResponseInfo& /*info*/, + ::android::hardware::radio::V1_5::PersoSubstate /*persoType*/, + int32_t /*remainingRetries*/) { + return Void(); +} + +Return<void> RadioResponse_v1_6::getIccCardStatusResponse_1_5( + const RadioResponseInfo& info, + const ::android::hardware::radio::V1_5::CardStatus& card_status) { + rspInfo = info; + cardStatus = card_status; + parent_v1_6.notify(info.serial); + return Void(); +} + +/* 1.6 Apis */ + diff --git a/radio/config/1.0/Android.bp b/radio/config/1.0/Android.bp index 387f953edb..eea4c34b90 100644 --- a/radio/config/1.0/Android.bp +++ b/radio/config/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.radio.config@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IRadioConfig.hal", diff --git a/radio/config/1.1/Android.bp b/radio/config/1.1/Android.bp index 1e9071ab9a..a5c3114728 100644 --- a/radio/config/1.1/Android.bp +++ b/radio/config/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.radio.config@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IRadioConfig.hal", diff --git a/radio/config/1.2/Android.bp b/radio/config/1.2/Android.bp index 812f16643e..39d55ffa7a 100644 --- a/radio/config/1.2/Android.bp +++ b/radio/config/1.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.radio.config@1.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IRadioConfigIndication.hal", diff --git a/radio/deprecated/1.0/Android.bp b/radio/deprecated/1.0/Android.bp index cb13b86ca9..1a7cb940ae 100644 --- a/radio/deprecated/1.0/Android.bp +++ b/radio/deprecated/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.radio.deprecated@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IOemHook.hal", "IOemHookIndication.hal", diff --git a/rebootescrow/aidl/default/RebootEscrow.cpp b/rebootescrow/aidl/default/RebootEscrow.cpp index dbc09215b3..8e5e97c80c 100644 --- a/rebootescrow/aidl/default/RebootEscrow.cpp +++ b/rebootescrow/aidl/default/RebootEscrow.cpp @@ -28,7 +28,7 @@ namespace rebootescrow { using ::android::base::unique_fd; -ndk::ScopedAStatus RebootEscrow::storeKey(const std::vector<int8_t>& kek) { +ndk::ScopedAStatus RebootEscrow::storeKey(const std::vector<uint8_t>& ukek) { int rawFd = TEMP_FAILURE_RETRY(::open(devicePath_.c_str(), O_WRONLY | O_NOFOLLOW | O_CLOEXEC)); unique_fd fd(rawFd); if (fd.get() < 0) { @@ -36,7 +36,6 @@ ndk::ScopedAStatus RebootEscrow::storeKey(const std::vector<int8_t>& kek) { return ndk::ScopedAStatus(AStatus_fromExceptionCode(EX_UNSUPPORTED_OPERATION)); } - std::vector<uint8_t> ukek(kek.begin(), kek.end()); auto encoded = hadamard::EncodeKey(ukek); if (!::android::base::WriteFully(fd, encoded.data(), encoded.size())) { @@ -47,7 +46,7 @@ ndk::ScopedAStatus RebootEscrow::storeKey(const std::vector<int8_t>& kek) { return ndk::ScopedAStatus::ok(); } -ndk::ScopedAStatus RebootEscrow::retrieveKey(std::vector<int8_t>* _aidl_return) { +ndk::ScopedAStatus RebootEscrow::retrieveKey(std::vector<uint8_t>* _aidl_return) { int rawFd = TEMP_FAILURE_RETRY(::open(devicePath_.c_str(), O_RDONLY | O_NOFOLLOW | O_CLOEXEC)); unique_fd fd(rawFd); if (fd.get() < 0) { @@ -63,8 +62,7 @@ ndk::ScopedAStatus RebootEscrow::retrieveKey(std::vector<int8_t>* _aidl_return) auto keyBytes = hadamard::DecodeKey(encodedBytes); - std::vector<int8_t> signedKeyBytes(keyBytes.begin(), keyBytes.end()); - *_aidl_return = signedKeyBytes; + *_aidl_return = keyBytes; return ndk::ScopedAStatus::ok(); } diff --git a/rebootescrow/aidl/default/include/rebootescrow-impl/RebootEscrow.h b/rebootescrow/aidl/default/include/rebootescrow-impl/RebootEscrow.h index 00ff16b2ea..cdbeb67eba 100644 --- a/rebootescrow/aidl/default/include/rebootescrow-impl/RebootEscrow.h +++ b/rebootescrow/aidl/default/include/rebootescrow-impl/RebootEscrow.h @@ -26,8 +26,8 @@ namespace rebootescrow { class RebootEscrow : public BnRebootEscrow { public: explicit RebootEscrow(const std::string& devicePath) : devicePath_(devicePath) {} - ndk::ScopedAStatus storeKey(const std::vector<int8_t>& kek) override; - ndk::ScopedAStatus retrieveKey(std::vector<int8_t>* _aidl_return) override; + ndk::ScopedAStatus storeKey(const std::vector<uint8_t>& kek) override; + ndk::ScopedAStatus retrieveKey(std::vector<uint8_t>* _aidl_return) override; private: const std::string devicePath_; diff --git a/rebootescrow/aidl/vts/functional/Android.bp b/rebootescrow/aidl/vts/functional/Android.bp index 2cc00685d6..5d51a53f06 100644 --- a/rebootescrow/aidl/vts/functional/Android.bp +++ b/rebootescrow/aidl/vts/functional/Android.bp @@ -28,7 +28,7 @@ cc_test { "android.hardware.rebootescrow-cpp", ], test_suites: [ - "vts", + "vts-core", ], require_root: true, } diff --git a/secure_element/1.0/Android.bp b/secure_element/1.0/Android.bp index 32b752ba3c..a32b9d1401 100644 --- a/secure_element/1.0/Android.bp +++ b/secure_element/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.secure_element@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ISecureElement.hal", diff --git a/secure_element/1.0/vts/functional/AndroidTest.xml b/secure_element/1.0/vts/functional/AndroidTest.xml new file mode 100644 index 0000000000..4724f23b70 --- /dev/null +++ b/secure_element/1.0/vts/functional/AndroidTest.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2020 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<configuration description="Runs VtsHalSecureElementV1_0TargetTest."> + <option name="test-suite-tag" value="apct" /> + <option name="test-suite-tag" value="apct-native" /> + <option name="config-descriptor:metadata" key="token" value="SECURE_ELEMENT_SIM_CARD" /> + + <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"> + </target_preparer> + + <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer"> + <option name="cleanup" value="true" /> + <option name="push" value="VtsHalSecureElementV1_0TargetTest->/data/local/tmp/VtsHalSecureElementV1_0TargetTest" /> + </target_preparer> + + <test class="com.android.tradefed.testtype.GTest" > + <option name="native-test-device-path" value="/data/local/tmp" /> + <option name="module-name" value="VtsHalSecureElementV1_0TargetTest" /> + </test> +</configuration> diff --git a/secure_element/1.1/Android.bp b/secure_element/1.1/Android.bp index 3ea2de94d1..08e6c8855e 100644 --- a/secure_element/1.1/Android.bp +++ b/secure_element/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.secure_element@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "ISecureElement.hal", "ISecureElementHalCallback.hal", diff --git a/secure_element/1.1/vts/functional/AndroidTest.xml b/secure_element/1.1/vts/functional/AndroidTest.xml new file mode 100644 index 0000000000..3d7b7157d8 --- /dev/null +++ b/secure_element/1.1/vts/functional/AndroidTest.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2020 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<configuration description="Runs VtsHalSecureElementV1_1TargetTest."> + <option name="test-suite-tag" value="apct" /> + <option name="test-suite-tag" value="apct-native" /> + <option name="config-descriptor:metadata" key="token" value="SECURE_ELEMENT_SIM_CARD" /> + + <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"> + </target_preparer> + + <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer"> + <option name="cleanup" value="true" /> + <option name="push" value="VtsHalSecureElementV1_1TargetTest->/data/local/tmp/VtsHalSecureElementV1_1TargetTest" /> + </target_preparer> + + <test class="com.android.tradefed.testtype.GTest" > + <option name="native-test-device-path" value="/data/local/tmp" /> + <option name="module-name" value="VtsHalSecureElementV1_1TargetTest" /> + </test> +</configuration> diff --git a/secure_element/1.2/Android.bp b/secure_element/1.2/Android.bp index e134771880..03df5f9d68 100644 --- a/secure_element/1.2/Android.bp +++ b/secure_element/1.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.secure_element@1.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "ISecureElement.hal", ], diff --git a/secure_element/1.2/vts/functional/AndroidTest.xml b/secure_element/1.2/vts/functional/AndroidTest.xml new file mode 100644 index 0000000000..0bd8061d70 --- /dev/null +++ b/secure_element/1.2/vts/functional/AndroidTest.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2020 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<configuration description="Runs VtsHalSecureElementV1_2TargetTest."> + <option name="test-suite-tag" value="apct" /> + <option name="test-suite-tag" value="apct-native" /> + <option name="config-descriptor:metadata" key="token" value="SECURE_ELEMENT_SIM_CARD" /> + + <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"> + </target_preparer> + + <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer"> + <option name="cleanup" value="true" /> + <option name="push" value="VtsHalSecureElementV1_2TargetTest->/data/local/tmp/VtsHalSecureElementV1_2TargetTest" /> + </target_preparer> + + <test class="com.android.tradefed.testtype.GTest" > + <option name="native-test-device-path" value="/data/local/tmp" /> + <option name="module-name" value="VtsHalSecureElementV1_2TargetTest" /> + </test> +</configuration> diff --git a/sensors/1.0/Android.bp b/sensors/1.0/Android.bp index 509f72fc4a..109367106a 100644 --- a/sensors/1.0/Android.bp +++ b/sensors/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.sensors@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ISensors.hal", diff --git a/sensors/1.0/vts/functional/Android.bp b/sensors/1.0/vts/functional/Android.bp index c77733bba2..4941ac2d52 100644 --- a/sensors/1.0/vts/functional/Android.bp +++ b/sensors/1.0/vts/functional/Android.bp @@ -28,6 +28,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts", + "vts-core", ], } diff --git a/sensors/2.0/Android.bp b/sensors/2.0/Android.bp index c8517c8dcb..d71f07b355 100644 --- a/sensors/2.0/Android.bp +++ b/sensors/2.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.sensors@2.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ISensors.hal", diff --git a/sensors/2.0/vts/functional/Android.bp b/sensors/2.0/vts/functional/Android.bp index 83ebc6b807..c0803c7e6a 100644 --- a/sensors/2.0/vts/functional/Android.bp +++ b/sensors/2.0/vts/functional/Android.bp @@ -35,6 +35,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts", + "vts-core", ], } diff --git a/sensors/2.1/Android.bp b/sensors/2.1/Android.bp index 8e80e1fb5d..9ba3248085 100644 --- a/sensors/2.1/Android.bp +++ b/sensors/2.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.sensors@2.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ISensors.hal", diff --git a/sensors/2.1/vts/functional/Android.bp b/sensors/2.1/vts/functional/Android.bp index d257993329..920b6423bf 100644 --- a/sensors/2.1/vts/functional/Android.bp +++ b/sensors/2.1/vts/functional/Android.bp @@ -37,6 +37,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts", + "vts-core", ], } diff --git a/soundtrigger/2.1/Android.bp b/soundtrigger/2.1/Android.bp index 30173cbcd8..024e0f6b5a 100644 --- a/soundtrigger/2.1/Android.bp +++ b/soundtrigger/2.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.soundtrigger@2.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "ISoundTriggerHw.hal", "ISoundTriggerHwCallback.hal", diff --git a/soundtrigger/2.2/Android.bp b/soundtrigger/2.2/Android.bp index 7556aa4fb5..dbf4f8bacd 100644 --- a/soundtrigger/2.2/Android.bp +++ b/soundtrigger/2.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.soundtrigger@2.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "ISoundTriggerHw.hal", ], diff --git a/soundtrigger/2.3/Android.bp b/soundtrigger/2.3/Android.bp index 3253a86695..480df4daa4 100644 --- a/soundtrigger/2.3/Android.bp +++ b/soundtrigger/2.3/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.soundtrigger@2.3", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ISoundTriggerHw.hal", diff --git a/soundtrigger/2.3/vts/functional/Android.bp b/soundtrigger/2.3/vts/functional/Android.bp index 2c1b9e594e..e3855fc372 100644 --- a/soundtrigger/2.3/vts/functional/Android.bp +++ b/soundtrigger/2.3/vts/functional/Android.bp @@ -26,6 +26,6 @@ cc_test { ], test_suites: [ "general-tests", - "vts", + "vts-core", ], } diff --git a/tests/baz/1.0/.hidl_for_test b/tests/baz/1.0/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/baz/1.0/.hidl_for_test +++ /dev/null diff --git a/tests/expression/1.0/.hidl_for_test b/tests/expression/1.0/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/expression/1.0/.hidl_for_test +++ /dev/null diff --git a/tests/extension/light/2.0/.hidl_for_test b/tests/extension/light/2.0/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/extension/light/2.0/.hidl_for_test +++ /dev/null diff --git a/tests/foo/1.0/.hidl_for_test b/tests/foo/1.0/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/foo/1.0/.hidl_for_test +++ /dev/null diff --git a/tests/hash/1.0/.hidl_for_test b/tests/hash/1.0/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/hash/1.0/.hidl_for_test +++ /dev/null diff --git a/tests/inheritance/1.0/.hidl_for_test b/tests/inheritance/1.0/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/inheritance/1.0/.hidl_for_test +++ /dev/null diff --git a/MODULE_LICENSE_APACHE2 b/tests/lazy/1.0/.hidl_for_system_ext index e69de29bb2..e69de29bb2 100644 --- a/MODULE_LICENSE_APACHE2 +++ b/tests/lazy/1.0/.hidl_for_system_ext diff --git a/tests/lazy/1.0/.hidl_for_test b/tests/lazy/1.0/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/lazy/1.0/.hidl_for_test +++ /dev/null diff --git a/tests/bar/1.0/.hidl_for_test b/tests/lazy/1.1/.hidl_for_system_ext index e69de29bb2..e69de29bb2 100644 --- a/tests/bar/1.0/.hidl_for_test +++ b/tests/lazy/1.1/.hidl_for_system_ext diff --git a/tests/lazy/1.1/Android.bp b/tests/lazy/1.1/Android.bp new file mode 100644 index 0000000000..ccedd8d576 --- /dev/null +++ b/tests/lazy/1.1/Android.bp @@ -0,0 +1,15 @@ +// This file is autogenerated by hidl-gen -Landroidbp. + +hidl_interface { + name: "android.hardware.tests.lazy@1.1", + root: "android.hardware", + system_ext_specific: true, + srcs: [ + "ILazy.hal", + ], + interfaces: [ + "android.hardware.tests.lazy@1.0", + "android.hidl.base@1.0", + ], + gen_java: true, +} diff --git a/tests/lazy/1.1/ILazy.hal b/tests/lazy/1.1/ILazy.hal new file mode 100644 index 0000000000..a15e0e3641 --- /dev/null +++ b/tests/lazy/1.1/ILazy.hal @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.tests.lazy@1.1; + +import android.hardware.tests.lazy@1.0; + +interface ILazy extends @1.0::ILazy {}; diff --git a/tests/libhwbinder/1.0/.hidl_for_test b/tests/libhwbinder/1.0/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/libhwbinder/1.0/.hidl_for_test +++ /dev/null diff --git a/tests/libhwbinder/aidl/.hidl_for_test b/tests/libhwbinder/aidl/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/libhwbinder/aidl/.hidl_for_test +++ /dev/null diff --git a/tests/memory/1.0/.hidl_for_test b/tests/memory/1.0/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/memory/1.0/.hidl_for_test +++ /dev/null diff --git a/tests/memory/2.0/.hidl_for_test b/tests/memory/2.0/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/memory/2.0/.hidl_for_test +++ /dev/null diff --git a/tests/msgq/1.0/.hidl_for_test b/tests/msgq/1.0/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/msgq/1.0/.hidl_for_test +++ /dev/null diff --git a/tests/msgq/1.0/default/mq_test_service.cpp b/tests/msgq/1.0/default/mq_test_service.cpp index b5cb662549..b921bfd34e 100644 --- a/tests/msgq/1.0/default/mq_test_service.cpp +++ b/tests/msgq/1.0/default/mq_test_service.cpp @@ -24,5 +24,6 @@ using android::hardware::tests::msgq::V1_0::ITestMsgQ; using android::hardware::defaultPassthroughServiceImplementation; int main() { + android::hardware::details::setTrebleTestingOverride(true); return defaultPassthroughServiceImplementation<ITestMsgQ>(); } diff --git a/tests/multithread/1.0/.hidl_for_test b/tests/multithread/1.0/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/multithread/1.0/.hidl_for_test +++ /dev/null diff --git a/tests/safeunion/1.0/.hidl_for_test b/tests/safeunion/1.0/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/safeunion/1.0/.hidl_for_test +++ /dev/null diff --git a/tests/safeunion/cpp/1.0/.hidl_for_test b/tests/safeunion/cpp/1.0/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/safeunion/cpp/1.0/.hidl_for_test +++ /dev/null diff --git a/tests/trie/1.0/.hidl_for_test b/tests/trie/1.0/.hidl_for_test deleted file mode 100644 index e69de29bb2..0000000000 --- a/tests/trie/1.0/.hidl_for_test +++ /dev/null diff --git a/tetheroffload/config/1.0/Android.bp b/tetheroffload/config/1.0/Android.bp index 321224ad86..e774048751 100644 --- a/tetheroffload/config/1.0/Android.bp +++ b/tetheroffload/config/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.tetheroffload.config@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IOffloadConfig.hal", ], diff --git a/tetheroffload/control/1.0/Android.bp b/tetheroffload/control/1.0/Android.bp index f894448ea4..4bcaed2dbf 100644 --- a/tetheroffload/control/1.0/Android.bp +++ b/tetheroffload/control/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.tetheroffload.control@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IOffloadControl.hal", diff --git a/thermal/1.0/Android.bp b/thermal/1.0/Android.bp index de168d877d..10eeddc07d 100644 --- a/thermal/1.0/Android.bp +++ b/thermal/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.thermal@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IThermal.hal", diff --git a/thermal/1.1/Android.bp b/thermal/1.1/Android.bp index f38ed3b107..7dc30a324d 100644 --- a/thermal/1.1/Android.bp +++ b/thermal/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.thermal@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IThermal.hal", "IThermalCallback.hal", diff --git a/thermal/2.0/Android.bp b/thermal/2.0/Android.bp index 1b76f37f27..3d9cea1230 100644 --- a/thermal/2.0/Android.bp +++ b/thermal/2.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.thermal@2.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IThermal.hal", diff --git a/tv/cec/1.0/Android.bp b/tv/cec/1.0/Android.bp index d41a7e73eb..0e0f284d51 100644 --- a/tv/cec/1.0/Android.bp +++ b/tv/cec/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.tv.cec@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IHdmiCec.hal", diff --git a/tv/cec/2.0/Android.bp b/tv/cec/2.0/Android.bp index 61450ac4fb..5463b6da61 100644 --- a/tv/cec/2.0/Android.bp +++ b/tv/cec/2.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.tv.cec@2.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IHdmiCec.hal", diff --git a/tv/input/1.0/Android.bp b/tv/input/1.0/Android.bp index 1164430e93..1121f4ed46 100644 --- a/tv/input/1.0/Android.bp +++ b/tv/input/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.tv.input@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ITvInput.hal", diff --git a/tv/input/1.0/vts/functional/Android.bp b/tv/input/1.0/vts/functional/Android.bp index 29d4e21de2..5d20bceeed 100644 --- a/tv/input/1.0/vts/functional/Android.bp +++ b/tv/input/1.0/vts/functional/Android.bp @@ -21,7 +21,7 @@ cc_test { static_libs: ["android.hardware.tv.input@1.0"], test_suites: [ "general-tests", - "vts", + "vts-core", ], require_root: true, } diff --git a/tv/tuner/1.0/Android.bp b/tv/tuner/1.0/Android.bp index d78f3f2f5c..e5786418f5 100644 --- a/tv/tuner/1.0/Android.bp +++ b/tv/tuner/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.tv.tuner@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IDemux.hal", diff --git a/usb/1.0/Android.bp b/usb/1.0/Android.bp index c0e883fd19..607d1aca79 100644 --- a/usb/1.0/Android.bp +++ b/usb/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.usb@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IUsb.hal", diff --git a/usb/1.1/Android.bp b/usb/1.1/Android.bp index 6f2abae27c..8742e77c57 100644 --- a/usb/1.1/Android.bp +++ b/usb/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.usb@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IUsb.hal", diff --git a/usb/1.2/Android.bp b/usb/1.2/Android.bp index b3ba81f1cf..8b9f0fb609 100644 --- a/usb/1.2/Android.bp +++ b/usb/1.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.usb@1.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IUsb.hal", diff --git a/usb/gadget/1.0/Android.bp b/usb/gadget/1.0/Android.bp index 4921abff76..21f152c36c 100644 --- a/usb/gadget/1.0/Android.bp +++ b/usb/gadget/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.usb.gadget@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IUsbGadget.hal", diff --git a/usb/gadget/1.1/Android.bp b/usb/gadget/1.1/Android.bp index b41eb9cbc5..e5100697cc 100644 --- a/usb/gadget/1.1/Android.bp +++ b/usb/gadget/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.usb.gadget@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IUsbGadget.hal", ], diff --git a/vibrator/1.0/Android.bp b/vibrator/1.0/Android.bp index 792e130ee0..d6321fb163 100644 --- a/vibrator/1.0/Android.bp +++ b/vibrator/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.vibrator@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IVibrator.hal", diff --git a/vibrator/1.1/Android.bp b/vibrator/1.1/Android.bp index 0d04a870d8..0302220b56 100644 --- a/vibrator/1.1/Android.bp +++ b/vibrator/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.vibrator@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IVibrator.hal", diff --git a/vibrator/1.2/Android.bp b/vibrator/1.2/Android.bp index 290a0cfa43..1fa01144fa 100644 --- a/vibrator/1.2/Android.bp +++ b/vibrator/1.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.vibrator@1.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IVibrator.hal", diff --git a/vibrator/1.3/Android.bp b/vibrator/1.3/Android.bp index 357ea9a3e1..d742388879 100644 --- a/vibrator/1.3/Android.bp +++ b/vibrator/1.3/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.vibrator@1.3", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IVibrator.hal", diff --git a/vibrator/aidl/default/Vibrator.cpp b/vibrator/aidl/default/Vibrator.cpp index b359100d1a..c446afdea8 100644 --- a/vibrator/aidl/default/Vibrator.cpp +++ b/vibrator/aidl/default/Vibrator.cpp @@ -163,6 +163,10 @@ ndk::ScopedAStatus Vibrator::compose(const std::vector<CompositeEffect>& composi } LOG(INFO) << "triggering primitive " << static_cast<int>(e.primitive) << " @ scale " << e.scale; + + int32_t durationMs; + getPrimitiveDuration(e.primitive, &durationMs); + usleep(durationMs * 1000); } if (callback != nullptr) { diff --git a/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp b/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp index 8340517de6..c539865218 100644 --- a/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp +++ b/vibrator/aidl/vts/VtsHalVibratorTargetTest.cpp @@ -34,6 +34,7 @@ using android::hardware::vibrator::CompositePrimitive; using android::hardware::vibrator::Effect; using android::hardware::vibrator::EffectStrength; using android::hardware::vibrator::IVibrator; +using std::chrono::high_resolution_clock; const std::vector<Effect> kEffects{android::enum_range<Effect>().begin(), android::enum_range<Effect>().end()}; @@ -442,26 +443,52 @@ TEST_P(VibratorAidl, ComposeSizeBoundary) { } TEST_P(VibratorAidl, ComposeCallback) { + constexpr std::chrono::milliseconds allowedLatency{10}; + if (capabilities & IVibrator::CAP_COMPOSE_EFFECTS) { - std::promise<void> completionPromise; - std::future<void> completionFuture{completionPromise.get_future()}; - sp<CompletionCallback> callback = - new CompletionCallback([&completionPromise] { completionPromise.set_value(); }); - CompositePrimitive primitive = CompositePrimitive::CLICK; - CompositeEffect effect; - std::vector<CompositeEffect> composite; - int32_t duration; + std::vector<CompositePrimitive> supported; - effect.delayMs = 0; - effect.primitive = primitive; - effect.scale = 1.0f; - composite.emplace_back(effect); + ASSERT_TRUE(vibrator->getSupportedPrimitives(&supported).isOk()); + + for (auto primitive : supported) { + if (primitive == CompositePrimitive::NOOP) { + continue; + } + + std::promise<void> completionPromise; + std::future<void> completionFuture{completionPromise.get_future()}; + sp<CompletionCallback> callback = + new CompletionCallback([&completionPromise] { completionPromise.set_value(); }); + CompositeEffect effect; + std::vector<CompositeEffect> composite; + int32_t durationMs; + std::chrono::milliseconds duration; + std::chrono::time_point<high_resolution_clock> start, end; + std::chrono::milliseconds elapsed; + + effect.delayMs = 0; + effect.primitive = primitive; + effect.scale = 1.0f; + composite.emplace_back(effect); + + EXPECT_EQ(Status::EX_NONE, + vibrator->getPrimitiveDuration(primitive, &durationMs).exceptionCode()) + << toString(primitive); + duration = std::chrono::milliseconds(durationMs); - EXPECT_EQ(Status::EX_NONE, - vibrator->getPrimitiveDuration(primitive, &duration).exceptionCode()); - EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, callback).exceptionCode()); - EXPECT_EQ(completionFuture.wait_for(std::chrono::milliseconds(duration * 2)), - std::future_status::ready); + EXPECT_EQ(Status::EX_NONE, vibrator->compose(composite, callback).exceptionCode()) + << toString(primitive); + start = high_resolution_clock::now(); + + EXPECT_EQ(completionFuture.wait_for(duration + allowedLatency), + std::future_status::ready) + << toString(primitive); + end = high_resolution_clock::now(); + + elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(end - start); + EXPECT_LE(elapsed.count(), (duration + allowedLatency).count()) << toString(primitive); + EXPECT_GE(elapsed.count(), (duration - allowedLatency).count()) << toString(primitive); + } } } diff --git a/vr/1.0/Android.bp b/vr/1.0/Android.bp index f91f874f14..769ee3b4a3 100644 --- a/vr/1.0/Android.bp +++ b/vr/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.vr@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IVr.hal", ], diff --git a/weaver/1.0/Android.bp b/weaver/1.0/Android.bp index 7d5b8fe883..11fc68560a 100644 --- a/weaver/1.0/Android.bp +++ b/weaver/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.weaver@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IWeaver.hal", diff --git a/wifi/1.0/Android.bp b/wifi/1.0/Android.bp index 958ff3f2bf..c41864f853 100644 --- a/wifi/1.0/Android.bp +++ b/wifi/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.wifi@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IWifi.hal", diff --git a/wifi/1.1/Android.bp b/wifi/1.1/Android.bp index a34ac44218..4068b31fbb 100644 --- a/wifi/1.1/Android.bp +++ b/wifi/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.wifi@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IWifi.hal", "IWifiChip.hal", diff --git a/wifi/1.2/Android.bp b/wifi/1.2/Android.bp index c28d09bd77..5812b8268a 100644 --- a/wifi/1.2/Android.bp +++ b/wifi/1.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.wifi@1.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IWifi.hal", diff --git a/wifi/1.3/Android.bp b/wifi/1.3/Android.bp index 3719c2b76b..f4e130a7a8 100644 --- a/wifi/1.3/Android.bp +++ b/wifi/1.3/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.wifi@1.3", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IWifi.hal", diff --git a/wifi/1.4/Android.bp b/wifi/1.4/Android.bp index 3b94619b3d..5620d03553 100644 --- a/wifi/1.4/Android.bp +++ b/wifi/1.4/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.wifi@1.4", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IWifi.hal", diff --git a/wifi/hostapd/1.0/Android.bp b/wifi/hostapd/1.0/Android.bp index cce1182af3..b736167f24 100644 --- a/wifi/hostapd/1.0/Android.bp +++ b/wifi/hostapd/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.wifi.hostapd@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IHostapd.hal", diff --git a/wifi/hostapd/1.1/Android.bp b/wifi/hostapd/1.1/Android.bp index 64fbc93791..bba065df08 100644 --- a/wifi/hostapd/1.1/Android.bp +++ b/wifi/hostapd/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.wifi.hostapd@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "IHostapd.hal", "IHostapdCallback.hal", diff --git a/wifi/hostapd/1.2/Android.bp b/wifi/hostapd/1.2/Android.bp index 3dcad71881..9b26ece6b2 100644 --- a/wifi/hostapd/1.2/Android.bp +++ b/wifi/hostapd/1.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.wifi.hostapd@1.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IHostapd.hal", diff --git a/wifi/offload/1.0/Android.bp b/wifi/offload/1.0/Android.bp index 110bb702d2..91ed476c62 100644 --- a/wifi/offload/1.0/Android.bp +++ b/wifi/offload/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.wifi.offload@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "IOffload.hal", diff --git a/wifi/supplicant/1.0/Android.bp b/wifi/supplicant/1.0/Android.bp index d91512f7bd..d46e463ac9 100644 --- a/wifi/supplicant/1.0/Android.bp +++ b/wifi/supplicant/1.0/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.wifi.supplicant@1.0", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ISupplicant.hal", diff --git a/wifi/supplicant/1.1/Android.bp b/wifi/supplicant/1.1/Android.bp index 6d940d17ed..bc20dca6db 100644 --- a/wifi/supplicant/1.1/Android.bp +++ b/wifi/supplicant/1.1/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.wifi.supplicant@1.1", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "ISupplicant.hal", "ISupplicantStaIface.hal", diff --git a/wifi/supplicant/1.2/Android.bp b/wifi/supplicant/1.2/Android.bp index 185d2b8df2..aa2fa7be60 100644 --- a/wifi/supplicant/1.2/Android.bp +++ b/wifi/supplicant/1.2/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.wifi.supplicant@1.2", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ISupplicant.hal", diff --git a/wifi/supplicant/1.3/Android.bp b/wifi/supplicant/1.3/Android.bp index 15c72fed59..4268490f6a 100644 --- a/wifi/supplicant/1.3/Android.bp +++ b/wifi/supplicant/1.3/Android.bp @@ -3,9 +3,6 @@ hidl_interface { name: "android.hardware.wifi.supplicant@1.3", root: "android.hardware", - vndk: { - enabled: true, - }, srcs: [ "types.hal", "ISupplicant.hal", |