Read system_ext partition for partner defined public libraries.

Let partners define system libraries in system_ext for their apps.
They can list the libraries in
/system_ext/etc/public.libraries-<companyname>.txt for their apps to
use.

Bug: 134909174
Bug: 134359158
Test: build and boot
Change-Id: I4edc6c19c4e23e2fec2d98aca7a1e4fd64fd5f2e
diff --git a/libnativeloader/public_libraries.cpp b/libnativeloader/public_libraries.cpp
index 11c3070..1ab9a30 100644
--- a/libnativeloader/public_libraries.cpp
+++ b/libnativeloader/public_libraries.cpp
@@ -232,13 +232,15 @@
   return android::base::Join(*sonames, ':');
 }
 
-// read /system/etc/public.libraries-<companyname>.txt and
+// read /system/etc/public.libraries-<companyname>.txt,
+// /system_ext/etc/public.libraries-<companyname>.txt and
 // /product/etc/public.libraries-<companyname>.txt which contain partner defined
 // system libs that are exposed to apps. The libs in the txt files must be
 // named as lib<name>.<companyname>.so.
 static std::string InitExtendedPublicLibraries() {
   std::vector<std::string> sonames;
   ReadExtensionLibraries("/system/etc", &sonames);
+  ReadExtensionLibraries("/system_ext/etc", &sonames);
   ReadExtensionLibraries("/product/etc", &sonames);
   return android::base::Join(sonames, ':');
 }