# Support asec containers getting mounted
allow file_type rootfs:filesystem associate;

# Themes
type themeservice_app_data_file, file_type, data_file_type;

# Performance settings
type sysfs_devices_system_iosched, file_type, sysfs_type;

# Recovery's "cache"
type recovery_cache_file, file_type, mlstrustedobject;

# Persistent property storage
type persist_property_file, file_type;

# Knobs for LiveDisplay
type livedisplay_sysfs, sysfs_type, file_type;

# Filesystems
type exfat, sdcard_type, fs_type, mlstrustedobject;
type fuseblk, sdcard_type, fs_type, mlstrustedobject;
type ntfs, sdcard_type, fs_type, mlstrustedobject;
