diff options
Diffstat (limited to 'devices')
11 files changed, 247 insertions, 20 deletions
diff --git a/devices/EmulatedCamera/hwl/EmulatedCameraProviderHWLImpl.cpp b/devices/EmulatedCamera/hwl/EmulatedCameraProviderHWLImpl.cpp index 7e833dc..d4fae3e 100644 --- a/devices/EmulatedCamera/hwl/EmulatedCameraProviderHWLImpl.cpp +++ b/devices/EmulatedCamera/hwl/EmulatedCameraProviderHWLImpl.cpp @@ -35,11 +35,14 @@ namespace android { // Location of the camera configuration files. -const char* EmulatedCameraProviderHwlImpl::kConfigurationFileLocation[] = { - "/vendor/etc/config/emu_camera_back.json", - "/vendor/etc/config/emu_camera_front.json", - "/vendor/etc/config/emu_camera_depth.json", +constexpr std::string_view kConfigurationFileNames[] = { + "emu_camera_back.json", + "emu_camera_front.json", + "emu_camera_depth.json", }; +constexpr std::string_view kConfigurationFileDirVendor = "/vendor/etc/config/"; +constexpr std::string_view kConfigurationFileDirApex = + "/apex/com.google.emulated.camera.provider.hal/etc/config/"; constexpr StreamSize s240pStreamSize = std::pair(240, 180); constexpr StreamSize s720pStreamSize = std::pair(1280, 720); @@ -698,11 +701,18 @@ status_t EmulatedCameraProviderHwlImpl::Initialize() { // accordingly, push any remaining physical cameras in the back. std::string config; size_t logical_id = 0; - std::vector<const char*> configurationFileLocation; + std::vector<std::string> config_file_locations; + std::string config_dir = ""; + struct stat st; + if (stat(kConfigurationFileDirApex.data(), &st) == 0) { + config_dir += kConfigurationFileDirApex.data(); + } else { + config_dir += kConfigurationFileDirVendor.data(); + } char prop[PROPERTY_VALUE_MAX]; if (!property_get_bool("ro.boot.qemu", false)) { - for (const auto& iter : kConfigurationFileLocation) { - configurationFileLocation.emplace_back(iter); + for (const auto& iter : kConfigurationFileNames) { + config_file_locations.emplace_back(config_dir + iter.data()); } } else { // Android Studio Emulator @@ -710,34 +720,38 @@ status_t EmulatedCameraProviderHwlImpl::Initialize() { if (WaitForQemuSfFakeCameraPropertyAvailable() == OK) { property_get("vendor.qemu.sf.fake_camera", prop, nullptr); if (strcmp(prop, "both") == 0) { - configurationFileLocation.emplace_back(kConfigurationFileLocation[0]); - configurationFileLocation.emplace_back(kConfigurationFileLocation[1]); + config_file_locations.emplace_back(config_dir + + kConfigurationFileNames[0].data()); + config_file_locations.emplace_back(config_dir + + kConfigurationFileNames[1].data()); } else if (strcmp(prop, "front") == 0) { - configurationFileLocation.emplace_back(kConfigurationFileLocation[1]); + config_file_locations.emplace_back(config_dir + + kConfigurationFileNames[1].data()); logical_id = 1; } else if (strcmp(prop, "back") == 0) { - configurationFileLocation.emplace_back(kConfigurationFileLocation[0]); + config_file_locations.emplace_back(config_dir + + kConfigurationFileNames[0].data()); logical_id = 1; } } } } - static_metadata_.resize(ARRAY_SIZE(kConfigurationFileLocation)); + static_metadata_.resize(ARRAY_SIZE(kConfigurationFileNames)); - for (const auto& config_path : configurationFileLocation) { + for (const auto& config_path : config_file_locations) { if (!android::base::ReadFileToString(config_path, &config)) { ALOGW("%s: Could not open configuration file: %s", __FUNCTION__, - config_path); + config_path.c_str()); continue; } Json::CharReaderBuilder builder; std::unique_ptr<Json::CharReader> config_reader(builder.newCharReader()); Json::Value root; - std::string errorMessage; - if (!config_reader->parse(&*config.begin(), &*config.end(), &root, &errorMessage)) { - ALOGE("Could not parse configuration file: %s", - errorMessage.c_str()); + std::string error_message; + if (!config_reader->parse(&*config.begin(), &*config.end(), &root, + &error_message)) { + ALOGE("Could not parse configuration file: %s", error_message.c_str()); return BAD_VALUE; } diff --git a/devices/EmulatedCamera/hwl/EmulatedCameraProviderHWLImpl.h b/devices/EmulatedCamera/hwl/EmulatedCameraProviderHWLImpl.h index 5a13332..e9c086b 100644 --- a/devices/EmulatedCamera/hwl/EmulatedCameraProviderHWLImpl.h +++ b/devices/EmulatedCamera/hwl/EmulatedCameraProviderHWLImpl.h @@ -83,8 +83,6 @@ class EmulatedCameraProviderHwlImpl : public CameraProviderHwl { status_t WaitForQemuSfFakeCameraPropertyAvailable(); bool SupportsMandatoryConcurrentStreams(uint32_t camera_id); - static const char* kConfigurationFileLocation[]; - std::vector<std::unique_ptr<HalCameraMetadata>> static_metadata_; // Logical to physical camera Id mapping. Empty value vector in case // of regular non-logical device. diff --git a/devices/EmulatedCamera/hwl/apex/Android.bp b/devices/EmulatedCamera/hwl/apex/Android.bp new file mode 100644 index 0000000..8f79f15 --- /dev/null +++ b/devices/EmulatedCamera/hwl/apex/Android.bp @@ -0,0 +1,69 @@ +// Copyright (C) 2022 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 { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +apex_key { + name: "com.google.emulated.camera.provider.hal.key", + public_key: "com.google.emulated.camera.provider.hal.avbpubkey", + private_key: "com.google.emulated.camera.provider.hal.pem", +} + +android_app_certificate { + name: "com.google.emulated.camera.provider.hal.certificate", + certificate: "com.google.emulated.camera.provider.hal", +} + +prebuilt_etc { + name: "com.google.emulated.camera.provider.hal.rc", + src: "com.google.emulated.camera.provider.hal.rc", + installable: false, +} + +apex { + name: "com.google.emulated.camera.provider.hal", + manifest: "apex_manifest.json", + key: "com.google.emulated.camera.provider.hal.key", + certificate: ":com.google.emulated.camera.provider.hal.certificate", + file_contexts: "file_contexts", + use_vndk_as_stable: true, + updatable: false, + // Install the apex in /vendor/apex + soc_specific: true, + binaries: [ + "android.hardware.camera.provider@2.7-service-google", + ], + native_shared_libs: [ + "libgooglecamerahwl_impl", + ], + overrides: [ + "android.hardware.camera.provider@2.7-impl-google", + "android.hardware.camera.provider@2.7-service-google", + "libgooglecamerahwl_impl", + ], + prebuilts: [ + "com.google.emulated.camera.provider.hal.rc", + "android.hardware.camera.concurrent.prebuilt.xml", + "android.hardware.camera.flash-autofocus.prebuilt.xml", + "android.hardware.camera.front.prebuilt.xml", + "android.hardware.camera.full.prebuilt.xml", + "android.hardware.camera.raw.prebuilt.xml", + "emu_camera_back.json", + "emu_camera_depth.json", + "emu_camera_front.json", + ], + vintf_fragments: [":android.hardware.camera.provider@2.7-service-google.xml"], +} diff --git a/devices/EmulatedCamera/hwl/apex/apex_manifest.json b/devices/EmulatedCamera/hwl/apex/apex_manifest.json new file mode 100644 index 0000000..50c09a8 --- /dev/null +++ b/devices/EmulatedCamera/hwl/apex/apex_manifest.json @@ -0,0 +1,4 @@ +{ + "name": "com.google.emulated.camera.provider.hal", + "version": 1 +} diff --git a/devices/EmulatedCamera/hwl/apex/com.google.emulated.camera.provider.hal.avbpubkey b/devices/EmulatedCamera/hwl/apex/com.google.emulated.camera.provider.hal.avbpubkey Binary files differnew file mode 100644 index 0000000..0c28e11 --- /dev/null +++ b/devices/EmulatedCamera/hwl/apex/com.google.emulated.camera.provider.hal.avbpubkey diff --git a/devices/EmulatedCamera/hwl/apex/com.google.emulated.camera.provider.hal.pem b/devices/EmulatedCamera/hwl/apex/com.google.emulated.camera.provider.hal.pem new file mode 100644 index 0000000..94c79c9 --- /dev/null +++ b/devices/EmulatedCamera/hwl/apex/com.google.emulated.camera.provider.hal.pem @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- diff --git a/devices/EmulatedCamera/hwl/apex/com.google.emulated.camera.provider.hal.pk8 b/devices/EmulatedCamera/hwl/apex/com.google.emulated.camera.provider.hal.pk8 Binary files differnew file mode 100644 index 0000000..f83b5da --- /dev/null +++ b/devices/EmulatedCamera/hwl/apex/com.google.emulated.camera.provider.hal.pk8 diff --git a/devices/EmulatedCamera/hwl/apex/com.google.emulated.camera.provider.hal.rc b/devices/EmulatedCamera/hwl/apex/com.google.emulated.camera.provider.hal.rc new file mode 100644 index 0000000..134cd8f --- /dev/null +++ b/devices/EmulatedCamera/hwl/apex/com.google.emulated.camera.provider.hal.rc @@ -0,0 +1,7 @@ +service vendor.camera-provider-2-7-google /apex/com.google.emulated.camera.provider.hal/bin/hw/android.hardware.camera.provider@2.7-service-google + class hal + user system + group system + capabilities SYS_NICE + rlimit rtprio 10 10 + task_profiles CameraServiceCapacity CameraServicePerformance diff --git a/devices/EmulatedCamera/hwl/apex/com.google.emulated.camera.provider.hal.x509.pem b/devices/EmulatedCamera/hwl/apex/com.google.emulated.camera.provider.hal.x509.pem new file mode 100644 index 0000000..528c923 --- /dev/null +++ b/devices/EmulatedCamera/hwl/apex/com.google.emulated.camera.provider.hal.x509.pem @@ -0,0 +1,34 @@ +-----BEGIN CERTIFICATE----- +MIIF7TCCA9UCFHsvubLT/OxpJdqifK/l7sBMmpCoMA0GCSqGSIb3DQEBCwUAMIGx +MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91 +bnRhaW4gVmlldzEQMA4GA1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEi +MCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTEtMCsGA1UEAwwkY29t +LmFuZHJvaWQuaGFyZHdhcmUuY2FtZXJhLnByb3ZpZGVyMCAXDTIyMDEyNDIzMTMy +NloYDzQ3NTkxMjIxMjMxMzI2WjCBsTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNh +bGlmb3JuaWExFjAUBgNVBAcMDU1vdW50YWluIFZpZXcxEDAOBgNVBAoMB0FuZHJv +aWQxEDAOBgNVBAsMB0FuZHJvaWQxIjAgBgkqhkiG9w0BCQEWE2FuZHJvaWRAYW5k +cm9pZC5jb20xLTArBgNVBAMMJGNvbS5hbmRyb2lkLmhhcmR3YXJlLmNhbWVyYS5w +cm92aWRlcjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK9HkJ08NHPl +75cP95BmQ+ODGQ/9QWKyFn0oCmXAuIgjPDgOyqyCQ5zuUW2xOALeRBsB9+7vf4ZG +zxiXf5FoBAg5p5wdYd1rxMlVvFUFhr0ciGw8gRiML35Ve3+3G+GzJtUft+KfQ932 +VvcDA6SobNhSfPeSEhIFhWQO/Rll3P7p7ipPre5IVsQR8MdkVW5mw7+i2C2SLbkx +F8qRWhbD38syqoaD1LQcUxQZLFfchf2oSaN9YrfWgoQNZiYBlEHMRo7XGfjsgrJU +HjyM0fJyzMLs1GGUr/BNlU0+SQFrRDQ85tzLaj5rcjLeiKk2O4PN529LR6/q7eBW +vNT37q7CrRSfUXBCcVxx1R9f341VKutIxnbazPcGycsShETFj5RmHJse/2EveB6h +5ficqIiSA5eKpLIkogsgZHadlz/FHjL+Q+5a19q2vkeR1SRgE4XZCE9O22clTv/g +oWM7CoeZOpdB4ZeRxynusSNaShWeDRYxrQRsiMRIjn8TdTD+Nd6nD4/QKITFpuGF +5klnaqx1s+XxdHBTQ0QNttKuTE212F0Vc6CcA0UwvoQGFjQfzOAiXBktLmh9vMRY +6tTDhS9OK+Z6Ioy9S/Vv9vi77CRJ5Fl8g+rXlbkdJtp84B8igLvx/oOxu95mB/M7 +2RWwMGHnFFKS3aUZm7ypuJNBHTxk0PLZAgMBAAEwDQYJKoZIhvcNAQELBQADggIB +AFAY+aeKyZ/UjgWX8vqWH7fLVKa4zwQGgLpr7Uo9c7vMtXwWdJkgbSzKQjcsC8WL +c7c26Acv1CpULo3U/b67N+3WnQr3F3K3YraKuiBCMCuTjeq0k3yZyuwr2ktzpo23 +Ei77ldprBu/I7CSOWYOzJCgsymuSbzJhjEt2LKTR+gNLWyKFQJhZZIY2oTq1LT2j +CMVYvVnuDSWW/Dt6u2+tIgFr2u3ZB7TtkfSNgT797gmCdRn4rEJFDH6ExFFDHBa4 +cfWPqZDs+X871jOInqkJVjBT6RMdW/PewY9i2gb/BU7mTziR8/n9+QvHBReH44Ys +nVNjC09/njG/jrAILB3y/df4zDJUJMz1jOZXZyuAE0bo08+YhG58Ms1wJ26oAu9E +PXBNDv9ihISsepOoY7laoFyrPIlXitRtXd/zbY+k7Uw0dwNNJ3dwhcuKO+FDW5pb +Lubh2w6TgQKUGqPwe9C3hLmvYVqc34U/R61Fq33dRwl6wxzoWQ6R+DuC42GWFyiz +nXWTUTPBOy9xTHtNi2nDvGh4M3ILLBWPseNJfQkDloLOlOjBQpMMvOfW0qcBQeRd +cexJXMTwx/mEeron+cxIjQerWdvjNMhAPPQdFGN/yDbsoNrZdYH+xszJ2paa4gTl +9Cl3KC8vmRy2JyD6P7Cv9D1BGekHODIRR+ccyfarcfGm +-----END CERTIFICATE----- diff --git a/devices/EmulatedCamera/hwl/apex/file_contexts b/devices/EmulatedCamera/hwl/apex/file_contexts new file mode 100644 index 0000000..2f0ab85 --- /dev/null +++ b/devices/EmulatedCamera/hwl/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\.camera\.provider@2\.7-service-google u:object_r:hal_camera_default_exec:s0 diff --git a/devices/EmulatedCamera/hwl/configs/Android.bp b/devices/EmulatedCamera/hwl/configs/Android.bp new file mode 100644 index 0000000..25690de --- /dev/null +++ b/devices/EmulatedCamera/hwl/configs/Android.bp @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2022 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 { + // See: http://go/android-license-faq + default_applicable_licenses: ["Android-Apache-2.0"], +} + +prebuilt_defaults { + name: "emu_camera_config_defaults", + relative_install_path: "config", + soc_specific: true, + installable: false, +} + +prebuilt_etc { + name: "emu_camera_back.json", + src: "emu_camera_back.json", + defaults: ["emu_camera_config_defaults"], +} + +prebuilt_etc { + name: "emu_camera_depth.json", + src: "emu_camera_depth.json", + defaults: ["emu_camera_config_defaults"], +} + +prebuilt_etc { + name: "emu_camera_front.json", + src: "emu_camera_front.json", + defaults: ["emu_camera_config_defaults"], +} |