universal7885: Add shim for sensorndkbridge used by camera HAL

Change-Id: I437f8ae2613b1e2f9bb7b3397507cd3297a55da3
Signed-off-by: SamarV-121 <samarvispute121@gmail.com>
This commit is contained in:
Andreas Schneider 2020-03-18 20:12:34 +01:00 committed by roynatech2544
commit ef5e0659ef
4 changed files with 77 additions and 1 deletions

View file

@ -40,6 +40,9 @@ function blob_fixup {
"$PATCHELF" --remove-needed "libcamera_client.so" "$2"
"$PATCHELF" --remove-needed "libgui.so" "$2"
;;
vendor/lib*/libsensorlistener.so)
"$PATCHELF" --add-needed "libshim_sensorndkbridge.so" "$2"
;;
esac
}

View file

@ -0,0 +1,53 @@
/*
* Copyright (C) 2020 LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <ALooper.h>
#define LOG_TAG "libshim_sensorndkbridge"
#include <android-base/logging.h>
using android::Mutex;
static Mutex gLock;
extern "C" ALooper *ALooper_forCamera() {
LOG(VERBOSE) << "ALooper_forCamera";
ALooper *sLooper = NULL;
Mutex::Autolock autoLock(gLock);
sLooper = new ALooper;
return sLooper;
}
extern "C" int ALooper_release_forCamera(ALooper *sLooper) {
if (sLooper != nullptr) {
Mutex::Autolock autoLock(gLock);
delete sLooper;
}
return 0;
}
extern "C" int ALooper_pollOnce_camera(ALooper *sLooper,
int timeoutMillis,
int* outFd,
int* outEvents,
void** outData) {
int res = sLooper->pollOnce(timeoutMillis, outFd, outEvents, outData);
LOG(VERBOSE) << "ALooper_pollOnce_camera => " << res;
return res;
}

View file

@ -1,3 +1,22 @@
cc_library_shared {
name: "libshim_sensorndkbridge",
srcs: ["ASensorManager.cpp"],
shared_libs: [
"libbase",
"libsensorndkbridge",
],
vendor: true,
include_dirs: [
"system/core/base/include",
"system/core/libutils/include",
"frameworks/hardware/interfaces/sensorservice/libsensorndkbridge",
],
}
cc_library_shared {
name: "libcamera_metadata_helper",
proprietary: true,

View file

@ -167,7 +167,8 @@ PRODUCT_COPY_FILES += \
# Shims
PRODUCT_PACKAGES += \
libcamera_metadata_helper
libcamera_metadata_helper \
libshim_sensorndkbridge
# Soong namespaces
PRODUCT_SOONG_NAMESPACES += \