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

Commit 300a136e 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 am: 423deec6

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



Change-Id: Ice1c31a3c52e4a2f18057824f76a66f72cbb8cbd
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 733b2a29 423deec6
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)) {