Files
vendor_xiaomi_alioth-camera/extract-files.sh
johnmart19 b21db8d985 MiuiCamera: Patch algo jni lib to use correct Surface::connect method
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>
2025-01-18 00:42:28 +02:00

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"