diff --git a/build/soong/service_fuzzer_bindings.go b/build/soong/service_fuzzer_bindings.go index 5555469c2..7aef14c97 100644 --- a/build/soong/service_fuzzer_bindings.go +++ b/build/soong/service_fuzzer_bindings.go @@ -82,6 +82,8 @@ var ( "android.hardware.sensors.ISensors/default": []string{}, "android.hardware.soundtrigger3.ISoundTriggerHw/default": []string{}, "android.hardware.thermal.IThermal/default": []string{}, + "android.hardware.tv.cec.IHdmiCec/default": []string{}, + "android.hardware.tv.hdmi.IHdmi/default": []string{}, "android.hardware.tv.input.ITvInput/default": []string{}, "android.hardware.tv.tuner.ITuner/default": []string{}, "android.hardware.usb.IUsb/default": []string{}, diff --git a/private/compat/33.0/33.0.ignore.cil b/private/compat/33.0/33.0.ignore.cil index 39a4bdc37..97a1c9196 100644 --- a/private/compat/33.0/33.0.ignore.cil +++ b/private/compat/33.0/33.0.ignore.cil @@ -15,6 +15,8 @@ hal_remoteaccess_service hal_thermal_service hal_tv_input_service + hal_tv_hdmi_service + hal_tv_hdmi_cec_service healthconnect_service keystore_config_prop permissive_mte_prop diff --git a/private/service_contexts b/private/service_contexts index 7d980f284..53a382dbf 100644 --- a/private/service_contexts +++ b/private/service_contexts @@ -67,6 +67,8 @@ android.hardware.security.sharedsecret.ISharedSecret/default u:objec android.hardware.sensors.ISensors/default u:object_r:hal_sensors_service:s0 android.hardware.soundtrigger3.ISoundTriggerHw/default u:object_r:hal_audio_service:s0 android.hardware.thermal.IThermal/default u:object_r:hal_thermal_service:s0 +android.hardware.tv.cec.IHdmiCec/default u:object_r:hal_tv_hdmi_cec_service:s0 +android.hardware.tv.hdmi.IHdmi/default u:object_r:hal_tv_hdmi_service:s0 android.hardware.tv.tuner.ITuner/default u:object_r:hal_tv_tuner_service:s0 android.hardware.tv.input.ITvInput/default u:object_r:hal_tv_input_service:s0 android.hardware.usb.IUsb/default u:object_r:hal_usb_service:s0 diff --git a/private/system_server.te b/private/system_server.te index 375158f23..aedebaf50 100644 --- a/private/system_server.te +++ b/private/system_server.te @@ -330,6 +330,8 @@ hal_client_domain(system_server, hal_sensors) hal_client_domain(system_server, hal_tetheroffload) hal_client_domain(system_server, hal_thermal) hal_client_domain(system_server, hal_tv_cec) +hal_client_domain(system_server, hal_tv_hdmi) +hal_client_domain(system_server, hal_tv_hdmi_cec) hal_client_domain(system_server, hal_tv_input) hal_client_domain(system_server, hal_usb) hal_client_domain(system_server, hal_usb_gadget) diff --git a/public/attributes b/public/attributes index f43172535..121adc0fb 100644 --- a/public/attributes +++ b/public/attributes @@ -369,6 +369,8 @@ hal_attribute(telephony); hal_attribute(tetheroffload); hal_attribute(thermal); hal_attribute(tv_cec); +hal_attribute(tv_hdmi); +hal_attribute(tv_hdmi_cec); hal_attribute(tv_input); hal_attribute(tv_tuner); hal_attribute(usb); diff --git a/public/hal_tv_hdmi.te b/public/hal_tv_hdmi.te new file mode 100644 index 000000000..8e91aa27b --- /dev/null +++ b/public/hal_tv_hdmi.te @@ -0,0 +1,7 @@ +# Binder IPC from clients into server, and callbacks +binder_call(hal_tv_hdmi_client, hal_tv_hdmi_server) +binder_call(hal_tv_hdmi_server, hal_tv_hdmi_client) +binder_call(hal_tv_hdmi_client, servicemanager) +binder_call(hal_tv_hdmi_server, servicemanager) + +hal_attribute_service(hal_tv_hdmi, hal_tv_hdmi_service) diff --git a/public/hal_tv_hdmi_cec.te b/public/hal_tv_hdmi_cec.te new file mode 100644 index 000000000..1b756763e --- /dev/null +++ b/public/hal_tv_hdmi_cec.te @@ -0,0 +1,7 @@ +# Binder IPC from clients into server, and callbacks +binder_call(hal_tv_hdmi_cec_client, hal_tv_hdmi_cec_server) +binder_call(hal_tv_hdmi_cec_server, hal_tv_hdmi_cec_client) +binder_call(hal_tv_hdmi_cec_client, servicemanager) +binder_call(hal_tv_hdmi_cec_server, servicemanager) + +hal_attribute_service(hal_tv_hdmi_cec, hal_tv_hdmi_cec_service) diff --git a/public/service.te b/public/service.te index 70ddf94f1..7e40b279c 100644 --- a/public/service.te +++ b/public/service.te @@ -306,6 +306,8 @@ type hal_secureclock_service, protected_service, hal_service_type, service_manag type hal_sharedsecret_service, protected_service, hal_service_type, service_manager_type; type hal_system_suspend_service, protected_service, hal_service_type, service_manager_type; type hal_thermal_service, protected_service, hal_service_type, service_manager_type; +type hal_tv_hdmi_service, protected_service, hal_service_type, service_manager_type; +type hal_tv_hdmi_cec_service, protected_service, hal_service_type, service_manager_type; type hal_tv_input_service, protected_service, hal_service_type, service_manager_type; type hal_tv_tuner_service, protected_service, hal_service_type, service_manager_type; type hal_usb_service, protected_service, hal_service_type, service_manager_type; diff --git a/public/su.te b/public/su.te index 832814048..730c1e01b 100644 --- a/public/su.te +++ b/public/su.te @@ -97,6 +97,8 @@ userdebug_or_eng(` typeattribute su hal_tetheroffload_client; typeattribute su hal_thermal_client; typeattribute su hal_tv_cec_client; + typeattribute su hal_tv_hdmi_client; + typeattribute su hal_tv_hdmi_cec_client; typeattribute su hal_tv_input_client; typeattribute su hal_tv_tuner_client; typeattribute su hal_usb_client; diff --git a/vendor/file_contexts b/vendor/file_contexts index c214f4ec5..d6dc9bc25 100644 --- a/vendor/file_contexts +++ b/vendor/file_contexts @@ -94,6 +94,8 @@ /(vendor|system/vendor)/bin/hw/android\.hardware\.thermal@1\.[01]-service u:object_r:hal_thermal_default_exec:s0 /(vendor|system/vendor)/bin/hw/android\.hardware\.thermal-service\.example u:object_r:hal_thermal_default_exec:s0 /(vendor|system/vendor)/bin/hw/android\.hardware\.tv\.cec@1\.[01]-service u:object_r:hal_tv_cec_default_exec:s0 +/(vendor|system/vendor)/bin/hw/android\.hardware\.tv\.cec-service u:object_r:hal_tv_hdmi_cec_default_exec:s0 +/(vendor|system/vendor)/bin/hw/android\.hardware\.tv\.hdmi-service u:object_r:hal_tv_hdmi_default_exec:s0 /(vendor|system/vendor)/bin/hw/android\.hardware\.tv\.input@1\.0-service u:object_r:hal_tv_input_default_exec:s0 /(vendor|system/vendor)/bin/hw/android\.hardware\.tv\.input-service\.example u:object_r:hal_tv_input_default_exec:s0 /(vendor|system/vendor)/bin/hw/android\.hardware\.tv\.tuner@1\.[01]-service u:object_r:hal_tv_tuner_default_exec:s0 diff --git a/vendor/hal_tv_hdmi_cec_default.te b/vendor/hal_tv_hdmi_cec_default.te new file mode 100644 index 000000000..2f06c34e6 --- /dev/null +++ b/vendor/hal_tv_hdmi_cec_default.te @@ -0,0 +1,5 @@ +type hal_tv_hdmi_cec_default, domain; +hal_server_domain(hal_tv_hdmi_cec_default, hal_tv_hdmi_cec) + +type hal_tv_hdmi_cec_default_exec, exec_type, vendor_file_type, file_type; +init_daemon_domain(hal_tv_hdmi_cec_default) diff --git a/vendor/hal_tv_hdmi_default.te b/vendor/hal_tv_hdmi_default.te new file mode 100644 index 000000000..e974fd805 --- /dev/null +++ b/vendor/hal_tv_hdmi_default.te @@ -0,0 +1,5 @@ +type hal_tv_hdmi_default, domain; +hal_server_domain(hal_tv_hdmi_default, hal_tv_hdmi) + +type hal_tv_hdmi_default_exec, exec_type, vendor_file_type, file_type; +init_daemon_domain(hal_tv_hdmi_default)