sdm660-common: Nuke libMiWatermark and replace it with a shim

* This lib is creating troubles on android 10 requiring old libs in vendor
* Other than that, it's the only culprit for vndk runtime being kept disabled
* Nuke this lib via a empty shim providing the symbols to the camera hal
This commit is contained in:
Davide Garberi 2019-09-01 22:43:29 +02:00 committed by Max Weffers
parent c288e2ee18
commit 90ab2176ea
No known key found for this signature in database
GPG key ID: 795F73D22FB93FAE
4 changed files with 29 additions and 0 deletions

View file

@ -79,3 +79,4 @@ sed -i "s|/system/etc/firmware|/vendor/firmware\x0\x0\x0\x0|g" "$DEVICE_BLOB_ROO
# Load camera.sdm660.so shim
CAM_SDM660="$DEVICE_BLOB_ROOT"/vendor/lib/hw/camera.sdm660.so
patchelf --add-needed camera.sdm660_shim.so "$CAM_SDM660"
patchelf --replace-needed libMiWatermark.so libMiWatermark_shim.so "$CAM_SDM660"

17
libshims/Android.bp Normal file
View file

@ -0,0 +1,17 @@
/* libMiWatermark */
cc_library_shared {
name: "libMiWatermark_shim",
proprietary: true,
defaults: ["hidl_defaults"],
srcs: [
"miwatermark.cpp",
],
cflags: [
"-Werror",
"-Wextra",
"-Wall",
],
shared_libs: [
"libutils",
],
}

10
libshims/miwatermark.cpp Normal file
View file

@ -0,0 +1,10 @@
#include <stdint.h>
namespace android {
extern "C" void miwatermark_age() {}
extern "C" void miwatermark_deinit() {}
extern "C" void miwatermark_dualcamera() {}
extern "C" void miwatermark_init() {}
extern "C" void miwatermark_score() {}
extern "C" void miwatermark_time() {}
}

View file

@ -173,6 +173,7 @@ PRODUCT_PACKAGES += \
libbthost_if
PRODUCT_PACKAGES += \
libMiWatermark_shim \
Snap
PRODUCT_PACKAGES += \