Loading audio/common/all-versions/default/service/Android.bp +32 −5 Original line number Diff line number Diff line Loading @@ -7,17 +7,40 @@ package { default_applicable_licenses: ["hardware_interfaces_license"], } cc_binary { name: "android.hardware.audio.service", soong_config_module_type { name: "android_hardware_audio_config_default", module_type: "cc_defaults", config_namespace: "android_hardware_audio", bool_variables: [ "run_64bit", ], properties: ["compile_multilib"], } init_rc: ["android.hardware.audio.service.rc"], relative_install_path: "hw", vendor: true, android_hardware_audio_config_default { name: "android_hardware_audio_config_defaults", soong_config_variables: { run_64bit: { conditions_default: { // 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: "prefer32", }, compile_multilib: "64", }, }, } cc_binary { name: "android.hardware.audio.service", init_rc: ["android.hardware.audio.service.rc"], relative_install_path: "hw", vendor: true, srcs: ["service.cpp"], cflags: [ Loading @@ -34,6 +57,10 @@ cc_binary { "libutils", "libhardware", ], defaults: [ "android_hardware_audio_config_defaults", ], } // Legacy service name, use android.hardware.audio.service instead Loading camera/provider/2.4/default/ExternalCameraProviderImpl_2_4.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -65,10 +65,10 @@ bool matchDeviceName(int cameraIdOffset, } // anonymous namespace ExternalCameraProviderImpl_2_4::ExternalCameraProviderImpl_2_4() : mCfg(ExternalCameraConfig::loadFromCfg()), mHotPlugThread(this) { mHotPlugThread.run("ExtCamHotPlug", PRIORITY_BACKGROUND); ExternalCameraProviderImpl_2_4::ExternalCameraProviderImpl_2_4() : mCfg(ExternalCameraConfig::loadFromCfg()) { mHotPlugThread = sp<HotplugThread>::make(this); mHotPlugThread->run("ExtCamHotPlug", PRIORITY_BACKGROUND); mPreferredHal3MinorVersion = property_get_int32("ro.vendor.camera.external.hal3TrebleMinorVersion", 4); Loading @@ -88,7 +88,7 @@ ExternalCameraProviderImpl_2_4::ExternalCameraProviderImpl_2_4() : } ExternalCameraProviderImpl_2_4::~ExternalCameraProviderImpl_2_4() { mHotPlugThread.requestExit(); mHotPlugThread->requestExit(); } Loading camera/provider/2.4/default/ExternalCameraProviderImpl_2_4.h +1 −1 Original line number Diff line number Diff line Loading @@ -102,7 +102,7 @@ private: sp<ICameraProviderCallback> mCallbacks = nullptr; std::unordered_map<std::string, CameraDeviceStatus> mCameraStatusMap; // camera id -> status const ExternalCameraConfig mCfg; HotplugThread mHotPlugThread; sp<HotplugThread> mHotPlugThread; int mPreferredHal3MinorVersion; }; Loading compatibility_matrices/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -81,5 +81,6 @@ vintf_compatibility_matrix { ], kernel_configs: [ "kernel_config_current_5.10", "kernel_config_current_5.15", ], } health/aidl/README.md +17 −0 Original line number Diff line number Diff line Loading @@ -162,9 +162,26 @@ Add device specific permissions to the domain where the health HAL process is executed, especially if a device-specific `libhealthd` is used and/or device-specific storage related APIs are implemented. Example (assuming that your health AIDL service runs in domain `hal_health_tuna`: ```text type hal_health_tuna, domain; hal_server_domain(hal_health_tuna, hal_health) type hal_health_tuna_exec, exec_type, vendor_file_type, file_type; # allow hal_health_tuna ...; ``` If you did not define a separate domain, the domain is likely `hal_health_default`. The device-specific rules for it is likely at `device/<manufacturer>/<device>/sepolicy/vendor/hal_health_default.te`. In this case, the aforementioned SELinux rules and types has already been defined. You only need to add device-specific permissions. ```text # allow hal_health_default ...; ``` ### Implementing charger {#charger} Loading Loading
audio/common/all-versions/default/service/Android.bp +32 −5 Original line number Diff line number Diff line Loading @@ -7,17 +7,40 @@ package { default_applicable_licenses: ["hardware_interfaces_license"], } cc_binary { name: "android.hardware.audio.service", soong_config_module_type { name: "android_hardware_audio_config_default", module_type: "cc_defaults", config_namespace: "android_hardware_audio", bool_variables: [ "run_64bit", ], properties: ["compile_multilib"], } init_rc: ["android.hardware.audio.service.rc"], relative_install_path: "hw", vendor: true, android_hardware_audio_config_default { name: "android_hardware_audio_config_defaults", soong_config_variables: { run_64bit: { conditions_default: { // 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: "prefer32", }, compile_multilib: "64", }, }, } cc_binary { name: "android.hardware.audio.service", init_rc: ["android.hardware.audio.service.rc"], relative_install_path: "hw", vendor: true, srcs: ["service.cpp"], cflags: [ Loading @@ -34,6 +57,10 @@ cc_binary { "libutils", "libhardware", ], defaults: [ "android_hardware_audio_config_defaults", ], } // Legacy service name, use android.hardware.audio.service instead Loading
camera/provider/2.4/default/ExternalCameraProviderImpl_2_4.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -65,10 +65,10 @@ bool matchDeviceName(int cameraIdOffset, } // anonymous namespace ExternalCameraProviderImpl_2_4::ExternalCameraProviderImpl_2_4() : mCfg(ExternalCameraConfig::loadFromCfg()), mHotPlugThread(this) { mHotPlugThread.run("ExtCamHotPlug", PRIORITY_BACKGROUND); ExternalCameraProviderImpl_2_4::ExternalCameraProviderImpl_2_4() : mCfg(ExternalCameraConfig::loadFromCfg()) { mHotPlugThread = sp<HotplugThread>::make(this); mHotPlugThread->run("ExtCamHotPlug", PRIORITY_BACKGROUND); mPreferredHal3MinorVersion = property_get_int32("ro.vendor.camera.external.hal3TrebleMinorVersion", 4); Loading @@ -88,7 +88,7 @@ ExternalCameraProviderImpl_2_4::ExternalCameraProviderImpl_2_4() : } ExternalCameraProviderImpl_2_4::~ExternalCameraProviderImpl_2_4() { mHotPlugThread.requestExit(); mHotPlugThread->requestExit(); } Loading
camera/provider/2.4/default/ExternalCameraProviderImpl_2_4.h +1 −1 Original line number Diff line number Diff line Loading @@ -102,7 +102,7 @@ private: sp<ICameraProviderCallback> mCallbacks = nullptr; std::unordered_map<std::string, CameraDeviceStatus> mCameraStatusMap; // camera id -> status const ExternalCameraConfig mCfg; HotplugThread mHotPlugThread; sp<HotplugThread> mHotPlugThread; int mPreferredHal3MinorVersion; }; Loading
compatibility_matrices/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -81,5 +81,6 @@ vintf_compatibility_matrix { ], kernel_configs: [ "kernel_config_current_5.10", "kernel_config_current_5.15", ], }
health/aidl/README.md +17 −0 Original line number Diff line number Diff line Loading @@ -162,9 +162,26 @@ Add device specific permissions to the domain where the health HAL process is executed, especially if a device-specific `libhealthd` is used and/or device-specific storage related APIs are implemented. Example (assuming that your health AIDL service runs in domain `hal_health_tuna`: ```text type hal_health_tuna, domain; hal_server_domain(hal_health_tuna, hal_health) type hal_health_tuna_exec, exec_type, vendor_file_type, file_type; # allow hal_health_tuna ...; ``` If you did not define a separate domain, the domain is likely `hal_health_default`. The device-specific rules for it is likely at `device/<manufacturer>/<device>/sepolicy/vendor/hal_health_default.te`. In this case, the aforementioned SELinux rules and types has already been defined. You only need to add device-specific permissions. ```text # allow hal_health_default ...; ``` ### Implementing charger {#charger} Loading