# SSRestartDetector app
type ssr_detector_app, domain;

app_domain(ssr_detector_app)

allow ssr_detector_app app_api_service:service_manager find;
allow ssr_detector_app radio_service:service_manager find;

userdebug_or_eng(`
  allow ssr_detector_app ramdump_vendor_data_file:dir r_dir_perms;
  allow ssr_detector_app ramdump_vendor_data_file:file r_file_perms;
  get_prop(ssr_detector_app, vendor_ssr_prop)
')

get_prop(ssr_detector_app, vendor_wifi_version)
get_prop(ssr_detector_app, vendor_adsp_version_prop)

# ssr_detector app's data type is system_app_data_file.
allow ssr_detector_app system_app_data_file:dir { getattr search };

allow ssr_detector_app cgroup:file w_file_perms;

allow ssr_detector_app sysfs:lnk_file r_file_perms;
r_dir_file(ssr_detector_app, sysfs_msm_subsys)
r_dir_file(ssr_detector_app, sysfs_ssr)

allow ssr_detector_app sysfs_ssr_writable:file getattr;

