diff --git a/camera/external/Android.bp b/camera/external/Android.bp new file mode 100644 index 0000000..da0e23d --- /dev/null +++ b/camera/external/Android.bp @@ -0,0 +1,34 @@ +// Copyright (C) 2025 KonstaKANG +// +// SPDX-License-Identifier: Apache-2.0 + +prebuilt_etc { + name: "android.hardware.camera.provider-V1-external-service.rc", + src: "android.hardware.camera.provider-V1-external-service.rc", + installable: false, +} + +prebuilt_etc { + name: "android.hardware.camera.provider-V1-external-service.xml", + src: "android.hardware.camera.provider-V1-external-service.xml", + sub_dir: "vintf", + installable: false, +} + +apex { + name: "com.android.hardware.camera.external.rpi4", + manifest: "apex_manifest.json", + file_contexts: "apex_file_contexts", + key: "com.android.hardware.key", + certificate: ":com.android.hardware.certificate", + updatable: false, + vendor: true, + + binaries: [ + "android.hardware.camera.provider-V1-external-service", + ], + prebuilts: [ + "android.hardware.camera.provider-V1-external-service.rc", + "android.hardware.camera.provider-V1-external-service.xml", + ], +} diff --git a/camera/external/android.hardware.camera.provider-V1-external-service.rc b/camera/external/android.hardware.camera.provider-V1-external-service.rc new file mode 100644 index 0000000..edad869 --- /dev/null +++ b/camera/external/android.hardware.camera.provider-V1-external-service.rc @@ -0,0 +1,8 @@ +service vendor.camera.provider-ext /apex/com.android.hardware.camera.external.rpi4/bin/hw/android.hardware.camera.provider-V1-external-service + interface aidl android.hardware.camera.provider.ICameraProvider/external/0 + class hal + user cameraserver + group audio camera input drmrpc usb + ioprio rt 4 + capabilities SYS_NICE + task_profiles CameraServiceCapacity MaxPerformance diff --git a/camera/external/android.hardware.camera.provider-V1-external-service.xml b/camera/external/android.hardware.camera.provider-V1-external-service.xml new file mode 100644 index 0000000..f7973c1 --- /dev/null +++ b/camera/external/android.hardware.camera.provider-V1-external-service.xml @@ -0,0 +1,10 @@ + + + android.hardware.camera.provider + 1 + + ICameraProvider + external/0 + + + diff --git a/camera/external/apex_file_contexts b/camera/external/apex_file_contexts new file mode 100644 index 0000000..0b91069 --- /dev/null +++ b/camera/external/apex_file_contexts @@ -0,0 +1,3 @@ +(/.*)? u:object_r:vendor_file:s0 +/etc(/.*)? u:object_r:vendor_configs_file:s0 +/bin/hw/android\.hardware\.camera\.provider-V1-external-service u:object_r:hal_camera_default_exec:s0 diff --git a/camera/external/apex_manifest.json b/camera/external/apex_manifest.json new file mode 100644 index 0000000..8c04c8d --- /dev/null +++ b/camera/external/apex_manifest.json @@ -0,0 +1,4 @@ +{ + "name": "com.android.hardware.camera.external.rpi4", + "version": 1 +} diff --git a/camera/external_camera_config.xml b/camera/external/external_camera_config.xml similarity index 100% rename from camera/external_camera_config.xml rename to camera/external/external_camera_config.xml diff --git a/device.mk b/device.mk index fa89f87..85b7e1f 100644 --- a/device.mk +++ b/device.mk @@ -52,10 +52,10 @@ PRODUCT_COPY_FILES += \ # Camera PRODUCT_PACKAGES += \ - android.hardware.camera.provider-V1-external-service + com.android.hardware.camera.external.rpi4 PRODUCT_COPY_FILES += \ - $(DEVICE_PATH)/camera/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml + $(DEVICE_PATH)/camera/external/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.camera.external.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.external.xml diff --git a/manifest.xml b/manifest.xml index 326beec..3d01ce9 100644 --- a/manifest.xml +++ b/manifest.xml @@ -17,12 +17,4 @@ default - - android.hardware.camera.provider - 1 - - ICameraProvider - external/0 - -