In android 15 QPR1, google has removed a public method of the Surface class. Our jni lib used that method and relies on the offset remaining the same, so patch the lib to load it with the smaller offset. LineageOS/android_frameworks_native@6a5fdc1 Co-authored-by: Arian <arian.kulmer@web.de>
76 lines
1.6 KiB
Bash
Executable File
76 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Copyright (C) 2016 The CyanogenMod Project
|
|
# Copyright (C) 2017-2020 The LineageOS Project
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
set -e
|
|
|
|
DEVICE=camera
|
|
VENDOR=xiaomi
|
|
|
|
# Load extract_utils and do some sanity checks
|
|
MY_DIR="${BASH_SOURCE%/*}"
|
|
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
|
|
|
|
ANDROID_ROOT="${MY_DIR}/../../.."
|
|
|
|
export TARGET_ENABLE_CHECKELF=true
|
|
|
|
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
|
|
if [ ! -f "${HELPER}" ]; then
|
|
echo "Unable to find helper script at ${HELPER}"
|
|
exit 1
|
|
fi
|
|
source "${HELPER}"
|
|
|
|
# Default to sanitizing the vendor folder before extraction
|
|
CLEAN_VENDOR=true
|
|
|
|
KANG=
|
|
SECTION=
|
|
|
|
while [ "${#}" -gt 0 ]; do
|
|
case "${1}" in
|
|
-n | --no-cleanup )
|
|
CLEAN_VENDOR=false
|
|
;;
|
|
-k | --kang )
|
|
KANG="--kang"
|
|
;;
|
|
-s | --section )
|
|
SECTION="${2}"; shift
|
|
CLEAN_VENDOR=false
|
|
;;
|
|
* )
|
|
SRC="${1}"
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if [ -z "${SRC}" ]; then
|
|
SRC="adb"
|
|
fi
|
|
|
|
function blob_fixup() {
|
|
case "${1}" in
|
|
system/lib64/libmicampostproc_client.so)
|
|
patchelf --remove-needed libhidltransport.so "${2}"
|
|
;;
|
|
system/lib64/libcamera_algoup_jni.xiaomi.so)
|
|
[ "$2" = "" ] && return 0
|
|
sed -i "s/\x08\xad\x40\xf9/\x08\xa9\x40\xf9/" "${2}"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
# Initialize the helper
|
|
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
|
|
|
|
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
|
|
|
|
"${MY_DIR}/setup-makefiles.sh"
|