diff options
| author | 2024-04-23 01:03:34 +0000 | |
|---|---|---|
| committer | 2024-04-23 01:03:34 +0000 | |
| commit | 3fc810ee9abff8c6bfecd6bdf1dea52824666a46 (patch) | |
| tree | f25e6b5647b5e46b87cf667f9e6fae5b5364d0ea | |
| parent | e78b8bfeae9bd83edd72b2065f4251c82188918e (diff) | |
| parent | c30aeaf42a06d60acf077d575ea65a75453c1133 (diff) | |
Merge "Sysconfig: Allow runtime differentiation of product configuration" into main am: c30aeaf42a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2437552
Change-Id: I5a9c5727dcd85278bd0df0c30668c530af5e4e6b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/core/java/com/android/server/SystemConfig.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/SystemConfig.java b/services/core/java/com/android/server/SystemConfig.java index 35e7422855c7..79620cff2b24 100644 --- a/services/core/java/com/android/server/SystemConfig.java +++ b/services/core/java/com/android/server/SystemConfig.java @@ -103,6 +103,9 @@ public class SystemConfig { // property for runtime configuration differentiation in vendor private static final String VENDOR_SKU_PROPERTY = "ro.boot.product.vendor.sku"; + // property for runtime configuration differentation in product + private static final String PRODUCT_SKU_PROPERTY = "ro.boot.hardware.sku"; + private static final ArrayMap<String, ArraySet<String>> EMPTY_PERMISSIONS = new ArrayMap<>(); @@ -657,6 +660,17 @@ public class SystemConfig { readPermissions(parser, Environment.buildPath( Environment.getProductDirectory(), "etc", "permissions"), productPermissionFlag); + String productSkuProperty = SystemProperties.get(PRODUCT_SKU_PROPERTY, ""); + if (!productSkuProperty.isEmpty()) { + String productSkuDir = "sku_" + productSkuProperty; + readPermissions(parser, Environment.buildPath( + Environment.getProductDirectory(), "etc", "sysconfig", productSkuDir), + productPermissionFlag); + readPermissions(parser, Environment.buildPath( + Environment.getProductDirectory(), "etc", "permissions", productSkuDir), + productPermissionFlag); + } + // Allow /system_ext to customize all system configs readPermissions(parser, Environment.buildPath( Environment.getSystemExtDirectory(), "etc", "sysconfig"), ALLOW_ALL); |