r_dir_file(pixelstats_vendor, sysfs_pixelstats)

unix_socket_connect(pixelstats_vendor, chre, chre)

get_prop(pixelstats_vendor, hwservicemanager_prop)
hwbinder_use(pixelstats_vendor)
allow pixelstats_vendor hal_pixelstats_hwservice:hwservice_manager find;

allow pixelstats_vendor fwk_stats_hwservice:hwservice_manager find;
binder_call(pixelstats_vendor, statsd)

binder_use(pixelstats_vendor)
allow pixelstats_vendor fwk_stats_service:service_manager find;

allow pixelstats_vendor sysfs_scsi_devices_0000:file rw_file_perms;

# wlc
allow pixelstats_vendor sysfs_wlc:dir search;

# OrientationCollector
# HIDL sensorservice
allow pixelstats_vendor fwk_sensor_hwservice:hwservice_manager find;
# AIDL sensorservice
allow pixelstats_vendor fwk_sensor_service:service_manager find;
binder_call(pixelstats_vendor, system_server)
