Add device/fwk compatibility matrix to VintfObject.
For framework compatibility matrix, <sepolicy> sections
is injected in build time.
Test: libvintf_test
Test: adb shell vintf; matrices exist, compatible = true
Bug: 37321309
Bug: 36814503
Change-Id: I997b93456a261f0cdb85997ae88f4ac5a5f36ff3
Merged-In: I997b93456a261f0cdb85997ae88f4ac5a5f36ff3
diff --git a/parse_xml.cpp b/parse_xml.cpp
index 1502011..9f144f4 100644
--- a/parse_xml.cpp
+++ b/parse_xml.cpp
@@ -684,8 +684,10 @@
}
if (object->mType == SchemaType::FRAMEWORK) {
+ // <avb> and <sepolicy> can be missing because it can be determined at build time, not
+ // hard-coded in the XML file.
if (!parseChildren(root, matrixKernelConverter, &object->framework.mKernels) ||
- !parseChild(root, sepolicyConverter, &object->framework.mSepolicy) ||
+ !parseOptionalChild(root, sepolicyConverter, {}, &object->framework.mSepolicy) ||
!parseOptionalChild(root, avbConverter, {}, &object->framework.mAvbMetaVersion)) {
return false;
}