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

Commit ad2e2a5f authored by android-build-team Robot's avatar android-build-team Robot
Browse files

release-request-369362fc-cc6c-4cb1-95c0-90b5ac7c52cb-for-git_oc-mr1-release-42...

release-request-369362fc-cc6c-4cb1-95c0-90b5ac7c52cb-for-git_oc-mr1-release-4288633 snap-temp-L81700000095141745

Change-Id: Ie16cc43f47160ff4ba8ab84ca9936361e79e21e5
parents 6638b4f5 abd363e8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@ int main(int /* argc */, char* /* argv */ []) {

    Vehicle_V2_1 vehicle21(vehicleManager.get());

    configureRpcThreadpool(1, true /* callerWillJoin */);
    configureRpcThreadpool(4, true /* callerWillJoin */);

    ALOGI("Registering as service...");
    status_t status = vehicle21.registerAsService();
+2 −0
Original line number Diff line number Diff line
@@ -145,6 +145,7 @@ FingerprintAcquiredInfo BiometricsFingerprint::VendorAcquiredFilter(

Return<uint64_t> BiometricsFingerprint::setNotify(
        const sp<IBiometricsFingerprintClientCallback>& clientCallback) {
    std::lock_guard<std::mutex> lock(mClientCallbackMutex);
    mClientCallback = clientCallback;
    // This is here because HAL 2.1 doesn't have a way to propagate a
    // unique token for its driver. Subsequent versions should send a unique
@@ -259,6 +260,7 @@ fingerprint_device_t* BiometricsFingerprint::openHal() {
void BiometricsFingerprint::notify(const fingerprint_msg_t *msg) {
    BiometricsFingerprint* thisPtr = static_cast<BiometricsFingerprint*>(
            BiometricsFingerprint::getInstance());
    std::lock_guard<std::mutex> lock(thisPtr->mClientCallbackMutex);
    if (thisPtr == nullptr || thisPtr->mClientCallback == nullptr) {
        ALOGE("Receiving callbacks before the client callback is registered.");
        return;
+1 −0
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ private:
    static FingerprintAcquiredInfo VendorAcquiredFilter(int32_t error, int32_t* vendorCode);
    static BiometricsFingerprint* sInstance;

    std::mutex mClientCallbackMutex;
    sp<IBiometricsFingerprintClientCallback> mClientCallback;
    fingerprint_device_t *mDevice;
};
+2 −3
Original line number Diff line number Diff line
@@ -1595,9 +1595,8 @@ int main(int argc, char** argv) {
#endif
    gVendorModules = new drm_vts::VendorModules(kModulePath);
    if (gVendorModules->getPathList().size() == 0) {
        std::cerr << "No vendor modules found in " << kModulePath <<
                ", exiting" << std::endl;
        exit(-1);
        std::cerr << "WARNING: No vendor modules found in " << kModulePath <<
                ", all vendor tests will be skipped" << std::endl;
    }
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
+22 −1
Original line number Diff line number Diff line
#include "Context.h"
#include "Device.h"

#include <android/dlext.h>
#include <dlfcn.h>

namespace android {
namespace hardware {
namespace renderscript {
@@ -39,7 +42,25 @@ dispatchTable loadHAL() {
    static_assert(sizeof(size_t) <= sizeof(uint64_t), "RenderScript HIDL Error: sizeof(size_t) > sizeof(uint64_t)");

    const char* filename = "libRS_internal.so";
    void* handle = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
    // Try to load libRS_internal.so from the "rs" namespace directly.
    typedef struct android_namespace_t* (*GetExportedNamespaceFnPtr)(const char*);
    GetExportedNamespaceFnPtr getExportedNamespace =
        (GetExportedNamespaceFnPtr)dlsym(RTLD_DEFAULT, "android_get_exported_namespace");
    void* handle = nullptr;
    if (getExportedNamespace != nullptr) {
        android_namespace_t* rs_namespace = getExportedNamespace("rs");
        if (rs_namespace != nullptr) {
            const android_dlextinfo dlextinfo = {
                .flags = ANDROID_DLEXT_USE_NAMESPACE, .library_namespace = rs_namespace,
            };
            handle = android_dlopen_ext(filename, RTLD_LAZY | RTLD_LOCAL, &dlextinfo);
        }
    }
    if (handle == nullptr) {
        // if there is no "rs" namespace (in case when this HAL impl is loaded
        // into a vendor process), then use the plain dlopen.
        handle = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
    }

    dispatchTable dispatchHal = {
        .SetNativeLibDir = (SetNativeLibDirFnPtr) nullptr,