type flipendo, domain, coredomain;

app_domain(flipendo)

# Access to Westworld logging service
allow flipendo fwk_stats_hwservice:hwservice_manager find;
binder_call(flipendo, stats_service_server)

binder_call(flipendo, gpuservice)

allow flipendo app_api_service:service_manager find;

# Allows Flipendo to change app saturation
allow flipendo color_display_service:service_manager find;

# Access to PowerHal service
hal_client_domain(flipendo, hal_power);
