1# phone subsystem
2type radio, domain, mlstrustedsubject;
3
4net_domain(radio)
5bluetooth_domain(radio)
6binder_service(radio)
7
8# Talks to hal_telephony_server via the rild socket only for devices without full treble
9not_full_treble(`unix_socket_connect(radio, rild, hal_telephony_server)')
10
11# Data file accesses.
12allow radio radio_data_file:dir create_dir_perms;
13allow radio radio_data_file:notdevfile_class_set create_file_perms;
14allow radio radio_core_data_file:dir r_dir_perms;
15allow radio radio_core_data_file:file r_file_perms;
16
17allow radio net_data_file:dir search;
18allow radio net_data_file:file r_file_perms;
19
20add_service(radio, radio_service)
21allow radio audioserver_service:service_manager find;
22allow radio cameraserver_service:service_manager find;
23allow radio drmserver_service:service_manager find;
24allow radio mediaserver_service:service_manager find;
25allow radio nfc_service:service_manager find;
26allow radio app_api_service:service_manager find;
27allow radio system_api_service:service_manager find;
28allow radio timedetector_service:service_manager find;
29allow radio timezonedetector_service:service_manager find;
30
31# Perform HwBinder IPC.
32hwbinder_use(radio)
33hal_client_domain(radio, hal_telephony)
34
35# Used by TelephonyManager
36allow radio proc_cmdline:file r_file_perms;
37