# init_regions.sh reads region from vpd and sets
# ro.product.locale property
type locale, domain;
type locale_exec, exec_type, file_type;

init_daemon_domain(locale)

set_prop(locale, product_locale_prop)
set_prop(locale, wifi_region_prop)

# use cat to read /sys/firmware/vpd/ro/region
allow locale shell_exec:file rx_file_perms;

# execute toolbox/toybox
allow locale toolbox_exec:file rx_file_perms;
