Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 423deec6 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Use llndk.libraries.txt from system if VNDK is deprecated" into main...

Merge "Use llndk.libraries.txt from system if VNDK is deprecated" into main am: b2d6cc2e am: 95c85d27 am: a8e994b0 am: c5414a7c

Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2703694



Change-Id: I5f51bbcfede94d18e1ade85ef1dc8d1e735de1f1
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents be8ef46e c5414a7c
Loading
Loading
Loading
Loading
+21 −2
Original line number Diff line number Diff line
@@ -60,6 +60,17 @@ typedef bool (*fpANGLEShouldBeUsedForApplication)(void* rulesHandle, int rulesVe
typedef bool (*fpANGLEFreeRulesHandle)(void* handle);
typedef bool (*fpANGLEFreeSystemInfoHandle)(void* handle);

namespace {
static bool isVndkEnabled() {
#ifdef __BIONIC__
    // TODO(b/290159430) Use ro.vndk.version to check if VNDK is enabled instead
    static bool isVndkEnabled = !android::base::GetBoolProperty("ro.vndk.deprecate", false);
    return isVndkEnabled;
#endif
    return false;
}
} // namespace

namespace android {

enum NativeLibrary {
@@ -71,6 +82,8 @@ static constexpr const char* kNativeLibrariesSystemConfigPath[] =
        {"/apex/com.android.vndk.v{}/etc/llndk.libraries.{}.txt",
         "/apex/com.android.vndk.v{}/etc/vndksp.libraries.{}.txt"};

static const char* kLlndkLibrariesTxtPath = "/system/etc/llndk.libraries.txt";

static std::string vndkVersionStr() {
#ifdef __BIONIC__
    return base::GetProperty("ro.vndk.version", "");
@@ -108,8 +121,14 @@ static bool readConfig(const std::string& configFile, std::vector<std::string>*
}

static const std::string getSystemNativeLibraries(NativeLibrary type) {
    std::string nativeLibrariesSystemConfig = kNativeLibrariesSystemConfigPath[type];
    std::string nativeLibrariesSystemConfig = "";

    if (!isVndkEnabled() && type == NativeLibrary::LLNDK) {
        nativeLibrariesSystemConfig = kLlndkLibrariesTxtPath;
    } else {
        nativeLibrariesSystemConfig = kNativeLibrariesSystemConfigPath[type];
        insertVndkVersionStr(&nativeLibrariesSystemConfig);
    }

    std::vector<std::string> soNames;
    if (!readConfig(nativeLibrariesSystemConfig, &soNames)) {