Loading services/core/java/com/android/server/integrity/parser/RuleBinaryParser.java +1 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import java.util.List; public class RuleBinaryParser implements RuleParser { @Override public List<Rule> parse(String ruleText) { public List<Rule> parse(byte[] ruleBytes) { // TODO: Implement binary text parser. return null; } Loading services/core/java/com/android/server/integrity/parser/RuleParser.java +2 −2 Original line number Diff line number Diff line Loading @@ -24,8 +24,8 @@ import java.util.List; /** A helper class to parse rules into the {@link Rule} model. */ public interface RuleParser { /** Parse rules from a string. */ List<Rule> parse(String ruleText) throws RuleParseException; /** Parse rules from bytes. */ List<Rule> parse(byte[] ruleBytes) throws RuleParseException; /** Parse rules from an input stream. */ List<Rule> parse(InputStream inputStream) throws RuleParseException; Loading services/core/java/com/android/server/integrity/parser/RuleXmlParser.java +2 −2 Original line number Diff line number Diff line Loading @@ -51,10 +51,10 @@ public final class RuleXmlParser implements RuleParser { private static final String IS_HASHED_VALUE_ATTRIBUTE = "H"; @Override public List<Rule> parse(String ruleText) throws RuleParseException { public List<Rule> parse(byte[] ruleBytes) throws RuleParseException { try { XmlPullParser xmlPullParser = Xml.newPullParser(); xmlPullParser.setInput(new StringReader(ruleText)); xmlPullParser.setInput(new StringReader(new String(ruleBytes, StandardCharsets.UTF_8))); return parseRules(xmlPullParser); } catch (Exception e) { throw new RuleParseException(e.getMessage(), e); Loading services/tests/servicestests/src/com/android/server/integrity/parser/RuleXmlParserTest.java +18 −17 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import org.junit.runners.JUnit4; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; Loading Loading @@ -109,7 +110,7 @@ public class RuleXmlParserTest { /* isHashedValue= */ false))), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading Loading @@ -154,7 +155,7 @@ public class RuleXmlParserTest { "test_cert", /* isHashedValue= */ false))), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading Loading @@ -200,7 +201,7 @@ public class RuleXmlParserTest { /* isHashedValue= */ false))), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading Loading @@ -237,7 +238,7 @@ public class RuleXmlParserTest { /* isHashedValue= */ false))), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading Loading @@ -273,7 +274,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "Connector NOT must have 1 formula only", () -> xmlParser.parse(ruleXmlCompoundFormula)); () -> xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading Loading @@ -302,7 +303,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "For input string: \"INVALID_OPERATOR\"", () -> xmlParser.parse(ruleXmlCompoundFormula)); () -> xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading Loading @@ -330,7 +331,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "For input string: \"INVALID_EFFECT\"", () -> xmlParser.parse(ruleXmlCompoundFormula)); () -> xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading Loading @@ -360,7 +361,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "Found unexpected tag: InvalidAtomicFormula", () -> xmlParser.parse(ruleXmlCompoundFormula)); () -> xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading @@ -387,7 +388,7 @@ public class RuleXmlParserTest { /* isHashedValue= */ false), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading Loading @@ -415,7 +416,7 @@ public class RuleXmlParserTest { AtomicFormula.VERSION_CODE, AtomicFormula.EQ, 1), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading @@ -441,7 +442,7 @@ public class RuleXmlParserTest { new AtomicFormula.BooleanAtomicFormula(AtomicFormula.PRE_INSTALLED, true), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading Loading @@ -470,7 +471,7 @@ public class RuleXmlParserTest { /* isHashedValue= */ false), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading @@ -495,7 +496,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "Found unexpected key: -1", () -> xmlParser.parse(ruleXmlAtomicFormula)); () -> xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading @@ -517,7 +518,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "Unknown effect: -1", () -> xmlParser.parse(ruleXmlAtomicFormula)); () -> xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading Loading @@ -545,7 +546,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "Unknown connector: -1", () -> xmlParser.parse(ruleXmlCompoundFormula)); () -> xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading @@ -569,7 +570,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "For input string: \"com.app.test\"", () -> xmlParser.parse(ruleXmlAtomicFormula)); () -> xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading @@ -595,7 +596,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "Rules must start with RuleList <RL> tag", () -> xmlParser.parse(ruleXmlWithNoRuleList)); () -> xmlParser.parse(ruleXmlWithNoRuleList.getBytes(StandardCharsets.UTF_8))); } @Test Loading Loading
services/core/java/com/android/server/integrity/parser/RuleBinaryParser.java +1 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import java.util.List; public class RuleBinaryParser implements RuleParser { @Override public List<Rule> parse(String ruleText) { public List<Rule> parse(byte[] ruleBytes) { // TODO: Implement binary text parser. return null; } Loading
services/core/java/com/android/server/integrity/parser/RuleParser.java +2 −2 Original line number Diff line number Diff line Loading @@ -24,8 +24,8 @@ import java.util.List; /** A helper class to parse rules into the {@link Rule} model. */ public interface RuleParser { /** Parse rules from a string. */ List<Rule> parse(String ruleText) throws RuleParseException; /** Parse rules from bytes. */ List<Rule> parse(byte[] ruleBytes) throws RuleParseException; /** Parse rules from an input stream. */ List<Rule> parse(InputStream inputStream) throws RuleParseException; Loading
services/core/java/com/android/server/integrity/parser/RuleXmlParser.java +2 −2 Original line number Diff line number Diff line Loading @@ -51,10 +51,10 @@ public final class RuleXmlParser implements RuleParser { private static final String IS_HASHED_VALUE_ATTRIBUTE = "H"; @Override public List<Rule> parse(String ruleText) throws RuleParseException { public List<Rule> parse(byte[] ruleBytes) throws RuleParseException { try { XmlPullParser xmlPullParser = Xml.newPullParser(); xmlPullParser.setInput(new StringReader(ruleText)); xmlPullParser.setInput(new StringReader(new String(ruleBytes, StandardCharsets.UTF_8))); return parseRules(xmlPullParser); } catch (Exception e) { throw new RuleParseException(e.getMessage(), e); Loading
services/tests/servicestests/src/com/android/server/integrity/parser/RuleXmlParserTest.java +18 −17 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import org.junit.runners.JUnit4; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; Loading Loading @@ -109,7 +110,7 @@ public class RuleXmlParserTest { /* isHashedValue= */ false))), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading Loading @@ -154,7 +155,7 @@ public class RuleXmlParserTest { "test_cert", /* isHashedValue= */ false))), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading Loading @@ -200,7 +201,7 @@ public class RuleXmlParserTest { /* isHashedValue= */ false))), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading Loading @@ -237,7 +238,7 @@ public class RuleXmlParserTest { /* isHashedValue= */ false))), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula); List<Rule> rules = xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading Loading @@ -273,7 +274,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "Connector NOT must have 1 formula only", () -> xmlParser.parse(ruleXmlCompoundFormula)); () -> xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading Loading @@ -302,7 +303,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "For input string: \"INVALID_OPERATOR\"", () -> xmlParser.parse(ruleXmlCompoundFormula)); () -> xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading Loading @@ -330,7 +331,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "For input string: \"INVALID_EFFECT\"", () -> xmlParser.parse(ruleXmlCompoundFormula)); () -> xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading Loading @@ -360,7 +361,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "Found unexpected tag: InvalidAtomicFormula", () -> xmlParser.parse(ruleXmlCompoundFormula)); () -> xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading @@ -387,7 +388,7 @@ public class RuleXmlParserTest { /* isHashedValue= */ false), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading Loading @@ -415,7 +416,7 @@ public class RuleXmlParserTest { AtomicFormula.VERSION_CODE, AtomicFormula.EQ, 1), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading @@ -441,7 +442,7 @@ public class RuleXmlParserTest { new AtomicFormula.BooleanAtomicFormula(AtomicFormula.PRE_INSTALLED, true), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading Loading @@ -470,7 +471,7 @@ public class RuleXmlParserTest { /* isHashedValue= */ false), Rule.DENY); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula); List<Rule> rules = xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8)); assertThat(rules).isEqualTo(Collections.singletonList(expectedRule)); } Loading @@ -495,7 +496,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "Found unexpected key: -1", () -> xmlParser.parse(ruleXmlAtomicFormula)); () -> xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading @@ -517,7 +518,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "Unknown effect: -1", () -> xmlParser.parse(ruleXmlAtomicFormula)); () -> xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading Loading @@ -545,7 +546,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "Unknown connector: -1", () -> xmlParser.parse(ruleXmlCompoundFormula)); () -> xmlParser.parse(ruleXmlCompoundFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading @@ -569,7 +570,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "For input string: \"com.app.test\"", () -> xmlParser.parse(ruleXmlAtomicFormula)); () -> xmlParser.parse(ruleXmlAtomicFormula.getBytes(StandardCharsets.UTF_8))); } @Test Loading @@ -595,7 +596,7 @@ public class RuleXmlParserTest { assertExpectException( RuleParseException.class, /* expectedExceptionMessageRegex */ "Rules must start with RuleList <RL> tag", () -> xmlParser.parse(ruleXmlWithNoRuleList)); () -> xmlParser.parse(ruleXmlWithNoRuleList.getBytes(StandardCharsets.UTF_8))); } @Test Loading