| # phone subsystem |
| type radio, domain, mlstrustedsubject; |
| |
| net_domain(radio) |
| bluetooth_domain(radio) |
| binder_service(radio) |
| |
| # Talks to hal_telephony_server via the rild socket only for devices without full treble |
| not_full_treble(`unix_socket_connect(radio, rild, hal_telephony_server)') |
| |
| # Data file accesses. |
| allow radio radio_data_file:dir create_dir_perms; |
| allow radio radio_data_file:notdevfile_class_set create_file_perms; |
| |
| |
| allow radio net_data_file:dir search; |
| allow radio net_data_file:file r_file_perms; |
| |
| # Property service |
| set_prop(radio, radio_prop) |
| set_prop(radio, exported_radio_prop) |
| set_prop(radio, exported2_radio_prop) |
| set_prop(radio, exported3_radio_prop) |
| set_prop(radio, net_radio_prop) |
| |
| # ctl interface |
| set_prop(radio, ctl_rildaemon_prop) |
| |
| add_service(radio, radio_service) |
| allow radio audioserver_service:service_manager find; |
| allow radio cameraserver_service:service_manager find; |
| allow radio drmserver_service:service_manager find; |
| allow radio mediaserver_service:service_manager find; |
| allow radio nfc_service:service_manager find; |
| allow radio app_api_service:service_manager find; |
| allow radio system_api_service:service_manager find; |
| allow radio timedetector_service:service_manager find; |
| allow radio timezonedetector_service:service_manager find; |
| |
| # Perform HwBinder IPC. |
| hwbinder_use(radio) |
| hal_client_domain(radio, hal_telephony) |
| |
| # Used by TelephonyManager |
| allow radio proc_cmdline:file r_file_perms; |