type adbroot, domain, coredomain;
type adbroot_exec, exec_type, file_type, system_file_type;

init_daemon_domain(adbroot)

binder_use(adbroot)
binder_service(adbroot)
add_service(adbroot, adbroot_service)

allow adbroot adbroot_data_file:dir rw_dir_perms;
allow adbroot adbroot_data_file:file create_file_perms;

set_prop(adbroot, shell_prop)
set_prop(adbroot, ctl_adbd_prop)
