Loading core/java/com/android/server/SystemConfig.java +1 −5 Original line number Diff line number Diff line Loading @@ -903,7 +903,6 @@ public class SystemConfig { } break; case "component-override": { readComponentOverrides(parser, permFile); XmlUtils.skipCurrentTag(parser); } break; case "backup-transport-whitelisted-service": { if (allowFeatures) { Loading Loading @@ -1403,8 +1402,7 @@ public class SystemConfig { final int depth = parser.getDepth(); while (XmlUtils.nextElementWithin(parser, depth)) { String name = parser.getName(); if ("component".equals(name)) { if ("component".equals(parser.getName())) { String clsname = parser.getAttributeValue(null, "class"); String enabled = parser.getAttributeValue(null, "enabled"); if (clsname == null) { Loading Loading @@ -1432,8 +1430,6 @@ public class SystemConfig { } componentEnabledStates.put(clsname, !"false".equals(enabled)); } else { XmlUtils.skipCurrentTag(parser); } } } Loading services/tests/servicestests/src/com/android/server/systemconfig/SystemConfigTest.java +34 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,40 @@ public class SystemConfigTest { assertEquals("Incorrect blacklist", expectedBlack, actualBlack); } @Test public void testComponentOverride() throws Exception { final String contents = "<permissions>" + " <component-override package=\"com.android.package1\">\n" + " <component class=\"com.android.package1.Full\" enabled=\"true\"/>" + " <component class=\".Relative\" enabled=\"false\" />\n" + " </component-override>" + " <component-override package=\"com.android.package2\" >\n" + " <component class=\"com.android.package3.Relative2\" enabled=\"yes\" />\n" + " </component-override>\n" + "</permissions>"; final File folder = createTempSubfolder("folder"); createTempFile(folder, "component-override.xml", contents); mSysConfig.readPermissions(folder, /* No permission needed anyway */ 0); final ArrayMap<String, Boolean> packageOneExpected = new ArrayMap<>(); packageOneExpected.put("com.android.package1.Full", true); packageOneExpected.put("com.android.package1.Relative", false); final ArrayMap<String, Boolean> packageTwoExpected = new ArrayMap<>(); packageTwoExpected.put("com.android.package3.Relative2", true); final Map<String, Boolean> packageOne = mSysConfig.getComponentsEnabledStates( "com.android.package1"); assertEquals(packageOneExpected, packageOne); final Map<String, Boolean> packageTwo = mSysConfig.getComponentsEnabledStates( "com.android.package2"); assertEquals(packageTwoExpected, packageTwo); } /** * Creates folderName/fileName in the mTemporaryFolder and fills it with the contents. * @param folderName subdirectory of mTemporaryFolder to put the file, creating if needed Loading Loading
core/java/com/android/server/SystemConfig.java +1 −5 Original line number Diff line number Diff line Loading @@ -903,7 +903,6 @@ public class SystemConfig { } break; case "component-override": { readComponentOverrides(parser, permFile); XmlUtils.skipCurrentTag(parser); } break; case "backup-transport-whitelisted-service": { if (allowFeatures) { Loading Loading @@ -1403,8 +1402,7 @@ public class SystemConfig { final int depth = parser.getDepth(); while (XmlUtils.nextElementWithin(parser, depth)) { String name = parser.getName(); if ("component".equals(name)) { if ("component".equals(parser.getName())) { String clsname = parser.getAttributeValue(null, "class"); String enabled = parser.getAttributeValue(null, "enabled"); if (clsname == null) { Loading Loading @@ -1432,8 +1430,6 @@ public class SystemConfig { } componentEnabledStates.put(clsname, !"false".equals(enabled)); } else { XmlUtils.skipCurrentTag(parser); } } } Loading
services/tests/servicestests/src/com/android/server/systemconfig/SystemConfigTest.java +34 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,40 @@ public class SystemConfigTest { assertEquals("Incorrect blacklist", expectedBlack, actualBlack); } @Test public void testComponentOverride() throws Exception { final String contents = "<permissions>" + " <component-override package=\"com.android.package1\">\n" + " <component class=\"com.android.package1.Full\" enabled=\"true\"/>" + " <component class=\".Relative\" enabled=\"false\" />\n" + " </component-override>" + " <component-override package=\"com.android.package2\" >\n" + " <component class=\"com.android.package3.Relative2\" enabled=\"yes\" />\n" + " </component-override>\n" + "</permissions>"; final File folder = createTempSubfolder("folder"); createTempFile(folder, "component-override.xml", contents); mSysConfig.readPermissions(folder, /* No permission needed anyway */ 0); final ArrayMap<String, Boolean> packageOneExpected = new ArrayMap<>(); packageOneExpected.put("com.android.package1.Full", true); packageOneExpected.put("com.android.package1.Relative", false); final ArrayMap<String, Boolean> packageTwoExpected = new ArrayMap<>(); packageTwoExpected.put("com.android.package3.Relative2", true); final Map<String, Boolean> packageOne = mSysConfig.getComponentsEnabledStates( "com.android.package1"); assertEquals(packageOneExpected, packageOne); final Map<String, Boolean> packageTwo = mSysConfig.getComponentsEnabledStates( "com.android.package2"); assertEquals(packageTwoExpected, packageTwo); } /** * Creates folderName/fileName in the mTemporaryFolder and fills it with the contents. * @param folderName subdirectory of mTemporaryFolder to put the file, creating if needed Loading