Allow APEXes permission XMLs to declare features.

This allows APEXes to include permission XMLs like the NFC XMLs in
frameworks/native/data/etc which declare NFC features.

(This also enables `unavailable-feature` declarations.)

Bug: 197680726
Test: Include an NFC permission XML in an APEX.
      Observe feature is set correctly in logs and by
      enabling NFC in Settings app.
Change-Id: Ied425b8897ab80df250d42cfbf0525634ed948aa
This commit is contained in:
Daniel Norman
2021-07-29 12:40:19 -07:00
parent e4550434e5
commit 5f0797723c

View File

@@ -546,13 +546,14 @@ public class SystemConfig {
if (!isSystemProcess()) {
return;
}
// Read configuration of libs from apex module.
// Read configuration of features and libs from apex module.
int apexPermissionFlag = ALLOW_LIBS | ALLOW_FEATURES;
// TODO: Use a solid way to filter apex module folders?
for (File f: FileUtils.listFilesOrEmpty(Environment.getApexDirectory())) {
if (f.isFile() || f.getPath().contains("@")) {
continue;
}
readPermissions(Environment.buildPath(f, "etc", "permissions"), ALLOW_LIBS);
readPermissions(Environment.buildPath(f, "etc", "permissions"), apexPermissionFlag);
}
}