allow system_server storage_stub_file:dir getattr;

allow system_server adbroot_service:service_manager find;

# Use HALs
hal_client_domain(system_server, hal_lineage_fastcharge)
hal_client_domain(system_server, hal_lineage_health)
hal_client_domain(system_server, hal_lineage_livedisplay)
hal_client_domain(system_server, hal_lineage_touch)
hal_client_domain(system_server, hal_lineage_trust)
hal_client_domain(system_server, hal_lineage_powershare)

# Let system server find auxiliary camera properties
get_prop(system_server, vendor_persist_camera_prop)

# Let system server toggle xtra-daemon
set_prop(system_server, xtra_control_prop)
