Add system_ext matrix and FCM levels.

Read all files in /system_ext/etc/vintf and treat files the same way
we treat system matrix at each FCM level in /system/etc/vintf.

Bug: 140280874
Test: vintf_object_test

Change-Id: I70e12ec91192ba44d42c411629ffec40e03ccd5a
diff --git a/VintfObject.cpp b/VintfObject.cpp
index 5c9f8d9..fe57152 100644
--- a/VintfObject.cpp
+++ b/VintfObject.cpp
@@ -404,6 +404,7 @@
                                                   std::string* error) {
     std::vector<std::string> dirs = {
         kSystemVintfDir,
+        kSystemExtVintfDir,
         kProductVintfDir,
     };
     for (const auto& dir : dirs) {
@@ -555,6 +556,7 @@
 const std::string kVendorVintfDir = "/vendor/etc/vintf/";
 const std::string kOdmVintfDir = "/odm/etc/vintf/";
 const std::string kProductVintfDir = "/product/etc/vintf/";
+const std::string kSystemExtVintfDir = "/system_ext/etc/vintf";
 
 const std::string kVendorManifest = kVendorVintfDir + "manifest.xml";
 const std::string kSystemManifest = kSystemVintfDir + "manifest.xml";
@@ -582,6 +584,7 @@
         kVendorVintfDir,
         kOdmVintfDir,
         kProductVintfDir,
+        kSystemExtVintfDir,
         kOdmLegacyVintfDir,
         kVendorLegacyManifest,
         kVendorLegacyMatrix,