From 5f0797723ccc013fe9cb9e2564a7bba404987d9a Mon Sep 17 00:00:00 2001 From: Daniel Norman Date: Thu, 29 Jul 2021 12:40:19 -0700 Subject: [PATCH] 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 --- core/java/com/android/server/SystemConfig.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/java/com/android/server/SystemConfig.java b/core/java/com/android/server/SystemConfig.java index 59e95c98499eb..11324222bf146 100644 --- a/core/java/com/android/server/SystemConfig.java +++ b/core/java/com/android/server/SystemConfig.java @@ -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); } }