Merge "SystemConfig: allow reading sku specific props"
am: 2a23450552
Change-Id: I536568038a50d6a45a7387f46efbc5feb65ef9ee
This commit is contained in:
@@ -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.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.ArrayMap;
|
import android.util.ArrayMap;
|
||||||
@@ -67,6 +68,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;
|
||||||
|
|
||||||
@@ -312,6 +316,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(
|
||||||
@@ -342,6 +357,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;
|
||||||
|
|||||||
Reference in New Issue
Block a user