summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-04-23 01:16:41 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2024-04-23 01:16:41 +0000
commitb2f8a242d00b9d1cf7a42f862d11a8b9fb19b453 (patch)
treea43e816aacbb381474a49f0b0760948c5110d131
parent9270ba2e9ea0178973715acc956ff9a126a2b323 (diff)
parent3fc810ee9abff8c6bfecd6bdf1dea52824666a46 (diff)
Merge "Sysconfig: Allow runtime differentiation of product configuration" into main am: c30aeaf42a am: 3fc810ee9a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2437552 Change-Id: I2c0d250dea6be413a818486c243f60cfefa8df41 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--services/core/java/com/android/server/SystemConfig.java14
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 1a3ef73ca2a8..a508ebfdb950 100644
--- a/services/core/java/com/android/server/SystemConfig.java
+++ b/services/core/java/com/android/server/SystemConfig.java
@@ -106,6 +106,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<>();
@@ -694,6 +697,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);