Merge "Consistent "low storage" behavior." into oc-dev
diff --git a/libs/ui/Android.bp b/libs/ui/Android.bp
index 406968d..5edd664 100644
--- a/libs/ui/Android.bp
+++ b/libs/ui/Android.bp
@@ -14,6 +14,7 @@
cc_library_shared {
name: "libui",
+ vendor_available: true,
clang: true,
cppflags: [
@@ -61,6 +62,10 @@
"UiConfig.cpp",
],
+ include_dirs: [
+ "frameworks/native/include",
+ ],
+
shared_libs: [
"android.hardware.graphics.allocator@2.0",
"android.hardware.graphics.mapper@2.0",
diff --git a/libs/vr/libpdx/Android.bp b/libs/vr/libpdx/Android.bp
index 69300d6..f55e994 100644
--- a/libs/vr/libpdx/Android.bp
+++ b/libs/vr/libpdx/Android.bp
@@ -37,6 +37,7 @@
"libpdx",
"liblog",
"libutils",
+ "libvndksupport",
],
}
diff --git a/opengl/libs/Android.bp b/opengl/libs/Android.bp
index a895e63..d6bdc81 100644
--- a/opengl/libs/Android.bp
+++ b/opengl/libs/Android.bp
@@ -111,6 +111,7 @@
"EGL/Loader.cpp",
"EGL/BlobCache.cpp",
],
+ shared_libs: ["libvndksupport"],
static_libs: ["libEGL_getProcAddress"],
ldflags: ["-Wl,--exclude-libs=ALL"],
export_include_dirs: ["EGL/include"],
diff --git a/opengl/libs/EGL/Loader.cpp b/opengl/libs/EGL/Loader.cpp
index 7d20ba1..823b502 100644
--- a/opengl/libs/EGL/Loader.cpp
+++ b/opengl/libs/EGL/Loader.cpp
@@ -29,6 +29,7 @@
#include <log/log.h>
#include <ui/GraphicsEnv.h>
+#include <vndksupport/linker.h>
#include "egl_trace.h"
#include "egldefs.h"
@@ -115,6 +116,11 @@
return android_dlopen_ext(path, mode, info);
}
+static void* do_android_load_sphal_library(const char* path, int mode) {
+ ATRACE_CALL();
+ return android_load_sphal_library(path, mode);
+}
+
// ----------------------------------------------------------------------------
Loader::driver_t::driver_t(void* gles)
@@ -424,27 +430,11 @@
const char* const driver_absolute_path = absolutePath.c_str();
// Try to load drivers from the 'sphal' namespace, if it exist. Fall back to
- // the original routine when the namespace does not exist or the load from
- // the namespace fails.
+ // the original routine when the namespace does not exist.
// See /system/core/rootdir/etc/ld.config.txt for the configuration of the
// sphal namespace.
- android_namespace_t* sphal_namespace = android_get_exported_namespace("sphal");
- if (sphal_namespace != NULL) {
- const android_dlextinfo dlextinfo = {
- .flags = ANDROID_DLEXT_USE_NAMESPACE,
- .library_namespace = sphal_namespace,
- };
- void* dso = do_android_dlopen_ext(driver_absolute_path, RTLD_LOCAL | RTLD_NOW, &dlextinfo);
- if (dso) {
- ALOGD("loaded %s from sphal namespace", driver_absolute_path);
- return dso;
- }
- else {
- ALOGW("failed to load %s from sphal namespace: %s", driver_absolute_path, dlerror());
- }
- }
-
- void* dso = do_dlopen(driver_absolute_path, RTLD_NOW | RTLD_LOCAL);
+ void* dso = do_android_load_sphal_library(driver_absolute_path,
+ RTLD_NOW | RTLD_LOCAL);
if (dso == 0) {
const char* err = dlerror();
ALOGE("load_driver(%s): %s", driver_absolute_path, err ? err : "unknown");