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 vendor_radio_data_file:file create_file_perms;
  allow logger_app vendor_radio_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_tcpdump_log_prop)
  set_prop(logger_app, vendor_wifi_sniffer_prop)
  set_prop(logger_app, vendor_usb_prop)
')
