type twoshay, domain;
type twoshay_exec, exec_type, vendor_file_type, file_type;

init_daemon_domain(twoshay)

allow twoshay touch_offload_device:chr_file rw_file_perms;
allow twoshay twoshay:capability sys_nice;

binder_use(twoshay)
add_service(twoshay, touch_context_service)

allow twoshay fwk_stats_service:service_manager find;
binder_call(twoshay, stats_service_server)
