type logger_app, domain;

userdebug_or_eng(`
  app_domain(logger_app)
  net_domain(logger_app)

  allow logger_app app_api_service:service_manager find;
  allow logger_app surfaceflinger_service:service_manager find;

  allow logger_app diag_device:chr_file rw_file_perms;
  allow logger_app qlogd_exec:file rx_file_perms;

  allow logger_app radio_vendor_data_file:file create_file_perms;
  allow logger_app radio_vendor_data_file:dir create_dir_perms;

  allow logger_app cnss_vendor_data_file:dir create_dir_perms;
  allow logger_app cnss_vendor_data_file:file create_file_perms;

  allow logger_app tcpdump_vendor_data_file:dir create_dir_perms;
  allow logger_app tcpdump_vendor_data_file:file create_file_perms;

  set_prop(logger_app, vendor_cnss_diag_prop)
  set_prop(logger_app, vendor_modem_diag_prop)
  set_prop(logger_app, vendor_bluetooth_log_prop)
  set_prop(logger_app, vendor_tcpdump_log_prop)
  set_prop(logger_app, vendor_wifi_sniffer_prop)
  set_prop(logger_app, vendor_usb_config_prop)
')
