1###
2### A domain for android.process.media, which contains both
3### MediaProvider and DownloadProvider and associated services.
4###
5
6typeattribute mediaprovider coredomain;
7app_domain(mediaprovider)
8
9# DownloadProvider accesses the network.
10net_domain(mediaprovider)
11
12# DownloadProvider uses /cache.
13allow mediaprovider cache_file:dir create_dir_perms;
14allow mediaprovider cache_file:file create_file_perms;
15# /cache is a symlink to /data/cache on some devices. Allow reading the link.
16allow mediaprovider cache_file:lnk_file r_file_perms;
17
18allow mediaprovider app_api_service:service_manager find;
19allow mediaprovider audioserver_service:service_manager find;
20allow mediaprovider drmserver_service:service_manager find;
21allow mediaprovider mediaserver_service:service_manager find;
22allow mediaprovider surfaceflinger_service:service_manager find;
23
24# Allow MediaProvider to read/write cached ringtones (opened by system).
25allow mediaprovider ringtone_file:file { getattr read write };
26
27# MtpServer uses /dev/mtp_usb
28allow mediaprovider mtp_device:chr_file rw_file_perms;
29
30# MtpServer uses /dev/usb-ffs/mtp
31allow mediaprovider functionfs:dir search;
32allow mediaprovider functionfs:file rw_file_perms;
33
34# MtpServer sets sys.usb.ffs.mtp.ready
35set_prop(mediaprovider, ffs_prop)
36