Loading core/java/com/android/server/SystemConfig.java +19 −0 Original line number Original line Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.content.pm.PackageManager; import android.os.Build; import android.os.Build; import android.os.Environment; import android.os.Environment; import android.os.Process; import android.os.Process; import android.os.SystemProperties; import android.os.storage.StorageManager; import android.os.storage.StorageManager; import android.permission.PermissionManager.SplitPermissionInfo; import android.permission.PermissionManager.SplitPermissionInfo; import android.text.TextUtils; import android.text.TextUtils; Loading Loading @@ -68,6 +69,9 @@ public class SystemConfig { private static final int ALLOW_HIDDENAPI_WHITELISTING = 0x40; private static final int ALLOW_HIDDENAPI_WHITELISTING = 0x40; private static final int ALLOW_ALL = ~0; private static final int ALLOW_ALL = ~0; // property for runtime configuration differentiation private static final String SKU_PROPERTY = "ro.boot.product.hardware.sku"; // Group-ids that are given to all packages as read from etc/permissions/*.xml. // Group-ids that are given to all packages as read from etc/permissions/*.xml. int[] mGlobalGids; int[] mGlobalGids; Loading Loading @@ -344,6 +348,17 @@ public class SystemConfig { readPermissions(Environment.buildPath( readPermissions(Environment.buildPath( Environment.getOdmDirectory(), "etc", "permissions"), odmPermissionFlag); Environment.getOdmDirectory(), "etc", "permissions"), odmPermissionFlag); String skuProperty = SystemProperties.get(SKU_PROPERTY, ""); if (!skuProperty.isEmpty()) { String skuDir = "sku_" + skuProperty; readPermissions(Environment.buildPath( Environment.getOdmDirectory(), "etc", "sysconfig", skuDir), odmPermissionFlag); readPermissions(Environment.buildPath( Environment.getOdmDirectory(), "etc", "permissions", skuDir), odmPermissionFlag); } // Allow OEM to customize features and OEM permissions // Allow OEM to customize features and OEM permissions int oemPermissionFlag = ALLOW_FEATURES | ALLOW_OEM_PERMISSIONS; int oemPermissionFlag = ALLOW_FEATURES | ALLOW_OEM_PERMISSIONS; readPermissions(Environment.buildPath( readPermissions(Environment.buildPath( Loading Loading @@ -380,6 +395,10 @@ public class SystemConfig { // Iterate over the files in the directory and scan .xml files // Iterate over the files in the directory and scan .xml files File platformFile = null; File platformFile = null; for (File f : libraryDir.listFiles()) { for (File f : libraryDir.listFiles()) { if (!f.isFile()) { continue; } // We'll read platform.xml last // We'll read platform.xml last if (f.getPath().endsWith("etc/permissions/platform.xml")) { if (f.getPath().endsWith("etc/permissions/platform.xml")) { platformFile = f; platformFile = f; Loading Loading
core/java/com/android/server/SystemConfig.java +19 −0 Original line number Original line Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.content.pm.PackageManager; import android.os.Build; import android.os.Build; import android.os.Environment; import android.os.Environment; import android.os.Process; import android.os.Process; import android.os.SystemProperties; import android.os.storage.StorageManager; import android.os.storage.StorageManager; import android.permission.PermissionManager.SplitPermissionInfo; import android.permission.PermissionManager.SplitPermissionInfo; import android.text.TextUtils; import android.text.TextUtils; Loading Loading @@ -68,6 +69,9 @@ public class SystemConfig { private static final int ALLOW_HIDDENAPI_WHITELISTING = 0x40; private static final int ALLOW_HIDDENAPI_WHITELISTING = 0x40; private static final int ALLOW_ALL = ~0; private static final int ALLOW_ALL = ~0; // property for runtime configuration differentiation private static final String SKU_PROPERTY = "ro.boot.product.hardware.sku"; // Group-ids that are given to all packages as read from etc/permissions/*.xml. // Group-ids that are given to all packages as read from etc/permissions/*.xml. int[] mGlobalGids; int[] mGlobalGids; Loading Loading @@ -344,6 +348,17 @@ public class SystemConfig { readPermissions(Environment.buildPath( readPermissions(Environment.buildPath( Environment.getOdmDirectory(), "etc", "permissions"), odmPermissionFlag); Environment.getOdmDirectory(), "etc", "permissions"), odmPermissionFlag); String skuProperty = SystemProperties.get(SKU_PROPERTY, ""); if (!skuProperty.isEmpty()) { String skuDir = "sku_" + skuProperty; readPermissions(Environment.buildPath( Environment.getOdmDirectory(), "etc", "sysconfig", skuDir), odmPermissionFlag); readPermissions(Environment.buildPath( Environment.getOdmDirectory(), "etc", "permissions", skuDir), odmPermissionFlag); } // Allow OEM to customize features and OEM permissions // Allow OEM to customize features and OEM permissions int oemPermissionFlag = ALLOW_FEATURES | ALLOW_OEM_PERMISSIONS; int oemPermissionFlag = ALLOW_FEATURES | ALLOW_OEM_PERMISSIONS; readPermissions(Environment.buildPath( readPermissions(Environment.buildPath( Loading Loading @@ -380,6 +395,10 @@ public class SystemConfig { // Iterate over the files in the directory and scan .xml files // Iterate over the files in the directory and scan .xml files File platformFile = null; File platformFile = null; for (File f : libraryDir.listFiles()) { for (File f : libraryDir.listFiles()) { if (!f.isFile()) { continue; } // We'll read platform.xml last // We'll read platform.xml last if (f.getPath().endsWith("etc/permissions/platform.xml")) { if (f.getPath().endsWith("etc/permissions/platform.xml")) { platformFile = f; platformFile = f; Loading