Merge "Use plain bytes for rule serializers"
diff --git a/services/core/java/com/android/server/integrity/serializer/RuleBinarySerializer.java b/services/core/java/com/android/server/integrity/serializer/RuleBinarySerializer.java
index 7ecd624..d4f41eb 100644
--- a/services/core/java/com/android/server/integrity/serializer/RuleBinarySerializer.java
+++ b/services/core/java/com/android/server/integrity/serializer/RuleBinarySerializer.java
@@ -32,7 +32,7 @@
}
@Override
- public String serialize(List<Rule> rules, Optional<Integer> formatVersion) {
+ public byte[] serialize(List<Rule> rules, Optional<Integer> formatVersion) {
// TODO: Implement text serializer.
return null;
}
diff --git a/services/core/java/com/android/server/integrity/serializer/RuleSerializer.java b/services/core/java/com/android/server/integrity/serializer/RuleSerializer.java
index 1125f78..4fcff65 100644
--- a/services/core/java/com/android/server/integrity/serializer/RuleSerializer.java
+++ b/services/core/java/com/android/server/integrity/serializer/RuleSerializer.java
@@ -29,7 +29,7 @@
void serialize(List<Rule> rules, Optional<Integer> formatVersion, OutputStream outputStream)
throws RuleSerializeException;
- /** Serialize rules to a string. */
- String serialize(List<Rule> rule, Optional<Integer> formatVersion)
+ /** Serialize rules to a ByteArray. */
+ byte[] serialize(List<Rule> rule, Optional<Integer> formatVersion)
throws RuleSerializeException;
}
diff --git a/services/core/java/com/android/server/integrity/serializer/RuleXmlSerializer.java b/services/core/java/com/android/server/integrity/serializer/RuleXmlSerializer.java
index 254baba..3ec9cf2 100644
--- a/services/core/java/com/android/server/integrity/serializer/RuleXmlSerializer.java
+++ b/services/core/java/com/android/server/integrity/serializer/RuleXmlSerializer.java
@@ -62,14 +62,14 @@
}
@Override
- public String serialize(List<Rule> rules, Optional<Integer> formatVersion)
+ public byte[] serialize(List<Rule> rules, Optional<Integer> formatVersion)
throws RuleSerializeException {
try {
XmlSerializer xmlSerializer = Xml.newSerializer();
StringWriter writer = new StringWriter();
xmlSerializer.setOutput(writer);
serializeRules(rules, xmlSerializer);
- return writer.toString();
+ return writer.toString().getBytes(StandardCharsets.UTF_8);
} catch (Exception e) {
throw new RuleSerializeException(e.getMessage(), e);
}
diff --git a/services/tests/servicestests/src/com/android/server/integrity/serializer/RuleXmlSerializerTest.java b/services/tests/servicestests/src/com/android/server/integrity/serializer/RuleXmlSerializerTest.java
index 180de2f..5903b5a 100644
--- a/services/tests/servicestests/src/com/android/server/integrity/serializer/RuleXmlSerializerTest.java
+++ b/services/tests/servicestests/src/com/android/server/integrity/serializer/RuleXmlSerializerTest.java
@@ -34,6 +34,7 @@
import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
@@ -49,11 +50,11 @@
RuleSerializer xmlSerializer = new RuleXmlSerializer();
String expectedRules = "<RL />";
- String actualRules =
+ byte[] actualRules =
xmlSerializer.serialize(
Collections.singletonList(rule), /* formatVersion= */ Optional.empty());
- assertEquals(expectedRules, actualRules);
+ assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
}
@Test
@@ -82,11 +83,11 @@
+ "</R>"
+ "</RL>";
- String actualRules =
+ byte[] actualRules =
xmlSerializer.serialize(
Arrays.asList(rule1, rule2), /* formatVersion= */ Optional.empty());
- assertEquals(expectedRules, actualRules);
+ assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
}
@Test
@@ -128,8 +129,8 @@
/* formatVersion= */ Optional.empty(),
outputStream);
- String actualRules = outputStream.toString();
- assertEquals(expectedRules, actualRules);
+ byte[] actualRules = outputStream.toString().getBytes(StandardCharsets.UTF_8);
+ assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
}
@Test
@@ -165,11 +166,11 @@
+ "</R>"
+ "</RL>";
- String actualRules =
+ byte[] actualRules =
xmlSerializer.serialize(
Collections.singletonList(rule), /* formatVersion= */ Optional.empty());
- assertEquals(expectedRules, actualRules);
+ assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
}
@Test
@@ -215,11 +216,11 @@
+ "</R>"
+ "</RL>";
- String actualRules =
+ byte[] actualRules =
xmlSerializer.serialize(
Collections.singletonList(rule), /* formatVersion= */ Optional.empty());
- assertEquals(expectedRules, actualRules);
+ assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
}
@Test
@@ -265,11 +266,11 @@
+ "</R>"
+ "</RL>";
- String actualRules =
+ byte[] actualRules =
xmlSerializer.serialize(
Collections.singletonList(rule), /* formatVersion= */ Optional.empty());
- assertEquals(expectedRules, actualRules);
+ assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
}
@Test
@@ -297,11 +298,11 @@
+ "</R>"
+ "</RL>";
- String actualRules =
+ byte[] actualRules =
xmlSerializer.serialize(
Collections.singletonList(rule), /* formatVersion= */ Optional.empty());
- assertEquals(expectedRules, actualRules);
+ assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
}
@Test
@@ -327,11 +328,11 @@
+ "</R>"
+ "</RL>";
- String actualRules =
+ byte[] actualRules =
xmlSerializer.serialize(
Collections.singletonList(rule), /* formatVersion= */ Optional.empty());
- assertEquals(expectedRules, actualRules);
+ assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
}
@Test
@@ -355,11 +356,11 @@
+ "</R>"
+ "</RL>";
- String actualRules =
+ byte[] actualRules =
xmlSerializer.serialize(
Collections.singletonList(rule), /* formatVersion= */ Optional.empty());
- assertEquals(expectedRules, actualRules);
+ assertEquals(expectedRules, new String(actualRules, StandardCharsets.UTF_8));
}
@Test