From b57b5e0b7784641b27b665bad186689791d4e0c7 Mon Sep 17 00:00:00 2001 From: Daniel Norman Date: Fri, 3 Sep 2021 09:37:18 -0700 Subject: [PATCH] Creates a default com.android.hardware.sensors vendor APEX. This provides the default android.hardware.sensors@2.1 implementation. Bug: 198635611 Test: use on Cuttlefish; observe rotation is functional; observe dumpsys sensorservice lists the available sensors; Change-Id: Ic6dd4ba011c4774159609864e4f55d342a16f8e3 --- sensors/2.1/default/Android.bp | 7 ++- sensors/2.1/default/apex/Android.bp | 46 ++++++++++++++++ sensors/2.1/default/apex/apex_manifest.json | 4 ++ .../com.android.hardware.sensors.avbpubkey | Bin 0 -> 1032 bytes .../apex/com.android.hardware.sensors.pem | 51 ++++++++++++++++++ .../apex/com.android.hardware.sensors.pk8 | Bin 0 -> 2375 bytes .../apex/com.android.hardware.sensors.rc | 7 +++ .../com.android.hardware.sensors.x509.pem | 34 ++++++++++++ sensors/2.1/default/apex/file_contexts | 5 ++ 9 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 sensors/2.1/default/apex/Android.bp create mode 100644 sensors/2.1/default/apex/apex_manifest.json create mode 100644 sensors/2.1/default/apex/com.android.hardware.sensors.avbpubkey create mode 100644 sensors/2.1/default/apex/com.android.hardware.sensors.pem create mode 100644 sensors/2.1/default/apex/com.android.hardware.sensors.pk8 create mode 100644 sensors/2.1/default/apex/com.android.hardware.sensors.rc create mode 100644 sensors/2.1/default/apex/com.android.hardware.sensors.x509.pem create mode 100644 sensors/2.1/default/apex/file_contexts diff --git a/sensors/2.1/default/Android.bp b/sensors/2.1/default/Android.bp index 0be81e11d7..e11316b8bc 100644 --- a/sensors/2.1/default/Android.bp +++ b/sensors/2.1/default/Android.bp @@ -22,6 +22,11 @@ package { default_applicable_licenses: ["hardware_interfaces_license"], } +filegroup { + name: "android.hardware.sensors@2.1.xml", + srcs: ["android.hardware.sensors@2.1.xml"], +} + cc_binary { name: "android.hardware.sensors@2.1-service.mock", defaults: ["hidl_defaults"], @@ -50,5 +55,5 @@ cc_binary { "android.hardware.sensors@1.0-convert", "android.hardware.sensors@2.X-shared-impl", ], - vintf_fragments: ["android.hardware.sensors@2.1.xml"], + vintf_fragments: [":android.hardware.sensors@2.1.xml"], } diff --git a/sensors/2.1/default/apex/Android.bp b/sensors/2.1/default/apex/Android.bp new file mode 100644 index 0000000000..3345b92b90 --- /dev/null +++ b/sensors/2.1/default/apex/Android.bp @@ -0,0 +1,46 @@ +package { + default_applicable_licenses: ["hardware_interfaces_license"], +} + +apex_key { + name: "com.android.hardware.sensors.key", + public_key: "com.android.hardware.sensors.avbpubkey", + private_key: "com.android.hardware.sensors.pem", +} + +android_app_certificate { + name: "com.android.hardware.sensors.certificate", + certificate: "com.android.hardware.sensors", +} + +prebuilt_etc { + name: "com.android.hardware.sensors.rc", + src: "com.android.hardware.sensors.rc", + installable: false, +} + +// Default vendor APEX for android.hardware.sensors. +// Custom implementations may use override_apex based on this APEX. +apex { + name: "com.android.hardware.sensors", + manifest: "apex_manifest.json", + key: "com.android.hardware.sensors.key", + certificate: ":com.android.hardware.sensors.certificate", + file_contexts: "file_contexts", + use_vndk_as_stable: true, + updatable: false, + // Install the apex in /vendor/apex + soc_specific: true, + binaries: ["android.hardware.sensors@2.1-service.mock"], + prebuilts: [ + "com.android.hardware.sensors.rc", + "android.hardware.sensor.ambient_temperature.prebuilt.xml", + "android.hardware.sensor.barometer.prebuilt.xml", + "android.hardware.sensor.gyroscope.prebuilt.xml", + "android.hardware.sensor.hinge_angle.prebuilt.xml", + "android.hardware.sensor.light.prebuilt.xml", + "android.hardware.sensor.proximity.prebuilt.xml", + "android.hardware.sensor.relative_humidity.prebuilt.xml", + ], + vintf_fragments: [":android.hardware.sensors@2.1.xml"], +} diff --git a/sensors/2.1/default/apex/apex_manifest.json b/sensors/2.1/default/apex/apex_manifest.json new file mode 100644 index 0000000000..47e45ee63e --- /dev/null +++ b/sensors/2.1/default/apex/apex_manifest.json @@ -0,0 +1,4 @@ +{ + "name": "com.android.hardware.sensors", + "version": 1 +} diff --git a/sensors/2.1/default/apex/com.android.hardware.sensors.avbpubkey b/sensors/2.1/default/apex/com.android.hardware.sensors.avbpubkey new file mode 100644 index 0000000000000000000000000000000000000000..98dfb71b81f9673617a676222a554c46996c4601 GIT binary patch literal 1032 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 literal 0 HcmV?d00001 diff --git a/sensors/2.1/default/apex/com.android.hardware.sensors.rc b/sensors/2.1/default/apex/com.android.hardware.sensors.rc new file mode 100644 index 0000000000..bd245b4ebd --- /dev/null +++ b/sensors/2.1/default/apex/com.android.hardware.sensors.rc @@ -0,0 +1,7 @@ +service vendor.sensors-hal-2-1-mock /apex/com.android.hardware.sensors/bin/hw/android.hardware.sensors@2.1-service.mock + interface android.hardware.sensors@2.0::ISensors default + interface android.hardware.sensors@2.1::ISensors default + class hal + user system + group system + rlimit rtprio 10 10 diff --git a/sensors/2.1/default/apex/com.android.hardware.sensors.x509.pem b/sensors/2.1/default/apex/com.android.hardware.sensors.x509.pem new file mode 100644 index 0000000000..20a06f942e --- /dev/null +++ b/sensors/2.1/default/apex/com.android.hardware.sensors.x509.pem @@ -0,0 +1,34 @@ +-----BEGIN CERTIFICATE----- +MIIF3TCCA8UCFAbIl4RS714WSLo4k64MHsINz4VEMA0GCSqGSIb3DQEBCwUAMIGp +MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91 +bnRhaW4gVmlldzEQMA4GA1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEi +MCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTElMCMGA1UEAwwcY29t +LmFuZHJvaWQuaGFyZHdhcmUuc2Vuc29yczAgFw0yMTA5MDMxNjEyNDNaGA80NzU5 +MDczMTE2MTI0M1owgakxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlh +MRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRAwDgYDVQQKDAdBbmRyb2lkMRAwDgYD +VQQLDAdBbmRyb2lkMSIwIAYJKoZIhvcNAQkBFhNhbmRyb2lkQGFuZHJvaWQuY29t +MSUwIwYDVQQDDBxjb20uYW5kcm9pZC5oYXJkd2FyZS5zZW5zb3JzMIICIjANBgkq +hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnluNTPcq4pDEeb5gEYszRYQCawq8czUY +J+x2b0i7qO2wLidX45CX6BLZ9N7c5veoV3FvC1wMTRR6lGAyg7UbD80vVmPdmr6R +vw2AdIqrghXinvAEv6gxQQPVQa8UHkCL4lULLXo2gdmoCBM8VJHihjO/2F8ZLsP/ +nKhYx9Nr6w9LEyalmHTkXOgNyrNprpbJwugdk3hDXbAK+j5nF9fsz/iWFoXnPuNe +oqdWj21YhXKDAbewBXaM6l3qmTdGsVVJL4HmVURGUY2f2UZwMWTEjpy9UDzyfqqg +CSdH1RLmGVAINyfNI3Zswo0CjnOCf0jW6mq9/6mfGYu8hBCrky/rOH8reDwYZTGe +H6JbNj0dhEN5HzQcxGEQQ43L1nmH7XlnuPO0xPSsw5binPVuUvURivR3PSsFgpPl +0Uche62XgLAXCXhNV2uUQtZLVFGug7JcGgS4O3GoKr6w35Q+W9SEXanXFMW6X+wN +hkbhB4MDSuKTZrjEnZEyxMOLG8ILN9i7osa+yjWONTn9bZc6q3Y9jyu3u84o8kC8 +KDcvr8YZEL63nQsQXO44GiQmqBptuB+ehcAC6uRCKkY9tQ95EQ7laGQ3C85d3gPj +NcGjT7SSuUir7n+LI9pZsotedd9+rGhiiyT8CM4sVWiYJFnA2UX/bsnkZyAOq9Po +jz1aMdHc4wUCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEATEPN2SZk8pJc4DaWmhyR +MUklzVeuN0J0Mij1mHuVmID7Q5IhBBXxtVmwRIo208rHSvFLAo7Z4FnuZCV3A/c9 +TlXT3S2t+iYG5eOyXSsoSc/uerJ7kIBcOe27qIrO9GwcK5CQlTaXP+CG1gbLp1nl +IaqKAT+eb/ji5wmFxMI77wo3uKLPTCfpaptFNaYlRqvxiXdJsCZwCPgmCtXJUeeZ +R/HKOA4PcS2QB+HwhYePY5kUJPwt6MwJEyno72oenfl49FrGHj0BzVmQ7KMfiYjZ +eRSB2Wbo50xfiICkPlUcvWD8rRNg7N9CM/Q5O0MW3ivAe42aGap/8qfXUa+L5vu4 +9vaxgQvBVcPXE/pyeCYM8beB84Us+FOYPC7gIUhcctBqGYAQmHzp3sXvIg0DVxz7 +0aqolFGpjRFqbgheS9WRkDHFpYrhR1XMVOQjussHqWEyRcvliqeFlZr8+JNkJNi+ +lmGMdnEAWZs8PL0/AEf+8y0Nr/w0k3Y6IZCDcwpxbpJQOU5pAbkfUzEJHkxMfuvW +ZshvqIMOaLWCGxZaxlbLRxWGuarWYzfmDY3n9TwJmAIUdMLiswv3UsCmLBJO1XGX +SUWfgi4fyG1/phfzhdU3efMvmN+XT16/ykMrY8P5S+ghwK12IZ3DgTl0ooLFABUj +zYeQ8LLz3SP9LNgeLnPP/po= +-----END CERTIFICATE----- diff --git a/sensors/2.1/default/apex/file_contexts b/sensors/2.1/default/apex/file_contexts new file mode 100644 index 0000000000..d0095c03be --- /dev/null +++ b/sensors/2.1/default/apex/file_contexts @@ -0,0 +1,5 @@ +(/.*)? u:object_r:vendor_file:s0 +# Permission XMLs +/etc/permissions(/.*)? u:object_r:vendor_configs_file:s0 +# Service binary +/bin/hw/android\.hardware\.sensors@2\.1-service\.mock u:object_r:hal_sensors_default_exec:s0