diff options
| -rw-r--r-- | core/java/com/android/server/SystemConfig.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/core/java/com/android/server/SystemConfig.java b/core/java/com/android/server/SystemConfig.java index 4c399f8b2358..475981811b77 100644 --- a/core/java/com/android/server/SystemConfig.java +++ b/core/java/com/android/server/SystemConfig.java @@ -76,6 +76,9 @@ public class SystemConfig { // property for runtime configuration differentiation private static final String SKU_PROPERTY = "ro.boot.product.hardware.sku"; + // property for runtime configuration differentiation in vendor + private static final String VENDOR_SKU_PROPERTY = "ro.boot.product.vendor.sku"; + // Group-ids that are given to all packages as read from etc/permissions/*.xml. int[] mGlobalGids; @@ -381,6 +384,17 @@ public class SystemConfig { readPermissions(Environment.buildPath( Environment.getVendorDirectory(), "etc", "permissions"), vendorPermissionFlag); + String vendorSkuProperty = SystemProperties.get(VENDOR_SKU_PROPERTY, ""); + if (!vendorSkuProperty.isEmpty()) { + String vendorSkuDir = "sku_" + vendorSkuProperty; + readPermissions(Environment.buildPath( + Environment.getVendorDirectory(), "etc", "sysconfig", vendorSkuDir), + vendorPermissionFlag); + readPermissions(Environment.buildPath( + Environment.getVendorDirectory(), "etc", "permissions", vendorSkuDir), + vendorPermissionFlag); + } + // Allow ODM to customize system configs as much as Vendor, because /odm is another // vendor partition other than /vendor. int odmPermissionFlag = vendorPermissionFlag; |