mirror of
https://github.com/Anything-at-25-00/android_device_tecno_LG8n.git
synced 2024-11-26 15:36:26 -08:00
8d85348690
* The MTK Neural Networks service is started via a property trigger. This HAL starts a lot earlier than other HALs since it is started with start instead of enable, the difference between them being that start will immediately cause the service to try and start, while enable effectively removes the disabled attribute from the service (so in the case of a HAL, it will be started with all the other services in class hal instead of immediately). * This initially didn't have any side effects until I noticed the Neural Networks service constantly crashing in offline charger mode. To fix this, simply convert the start command to an enable to ensure that this service is not only started at the right time (in class hal), but also only started when needed (and not in offline charger mode). Change-Id: Iacf310fb2211117aaf028ad6bf0814a7d447cf53 Signed-off-by: bengris32 <bengris32@protonmail.ch> Signed-off-by: Shirayuki39 <lorddemecrius83@proton.me>
107 lines
3.6 KiB
Bash
Executable file
107 lines
3.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=LG8n
|
|
VENDOR=tecno
|
|
|
|
# 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}/../../.."
|
|
|
|
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
|
|
vendor/bin/hw/android.hardware.vibrator-service.mediatek)
|
|
"$PATCHELF" --replace-needed "android.hardware.vibrator-V2-ndk_platform.so" "android.hardware.vibrator-V2-ndk.so" "$2"
|
|
;;
|
|
vendor/bin/hw/android.hardware.lights-service.mediatek)
|
|
"$PATCHELF" --replace-needed "android.hardware.light-V1-ndk_platform.so" "android.hardware.light-V1-ndk.so" "$2"
|
|
;;
|
|
vendor/lib/hw/audio.primary.mt6789.so)
|
|
;&
|
|
vendor/lib64/hw/audio.primary.mt6789.so)
|
|
"${PATCHELF}" --replace-needed "libutils.so" "libutils-v31.so" "${2}"
|
|
;;
|
|
vendor/bin/hw/mt6789/camerahalserver)
|
|
"${PATCHELF}" --replace-needed "libutils.so" "libutils-v31.so" "${2}"
|
|
"${PATCHELF}" --replace-needed "libbinder.so" "libbinder-v31.so" "${2}"
|
|
"${PATCHELF}" --replace-needed "libhidlbase.so" "libhidlbase-v31.so" "${2}"
|
|
;;
|
|
vendor/bin/hw/android.hardware.gnss-service.mediatek |\
|
|
vendor/lib64/hw/android.hardware.gnss-impl-mediatek.so)
|
|
"$PATCHELF" --replace-needed "android.hardware.gnss-V1-ndk_platform.so" "android.hardware.gnss-V1-ndk.so" "$2"
|
|
;;
|
|
vendor/etc/init/android.hardware.media.c2@1.2-mediatek.rc)
|
|
sed -i 's/@1.2-mediatek/@1.2-mediatek-64b/g' "${2}"
|
|
;;
|
|
vendor/bin/hw/android.hardware.media.c2@1.2-mediatek-64b)
|
|
"${PATCHELF}" --replace-needed "libavservices_minijail_vendor.so" "libavservices_minijail.so" "${2}"
|
|
;;
|
|
vendor/etc/init/android.hardware.neuralnetworks-shim-service-mtk.rc)
|
|
sed -i 's/start/enable/' "$2"
|
|
;;
|
|
vendor/lib*/hw/mt6789/vendor.mediatek.hardware.pq@2.15-impl.so)
|
|
"$PATCHELF" --replace-needed "libutils.so" "libutils-v32.so" "$2"
|
|
;;
|
|
vendor/bin/hw/vendor.mediatek.hardware.pq@2.2-service)
|
|
"${PATCHELF}" --replace-needed "libbinder.so" "libbinder-v31.so" "${2}"
|
|
"${PATCHELF}" --replace-needed "libhidlbase.so" "libhidlbase-v31.so" "${2}"
|
|
"${PATCHELF}" --replace-needed "libutils.so" "libutils-v31.so" "${2}"
|
|
;;
|
|
vendor/bin/hw/vendor.mediatek.hardware.mtkpower@1.0-service)
|
|
"${PATCHELF}" --replace-needed "android.hardware.power-V2-ndk_platform.so" "android.hardware.power-V2-ndk.so" "${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"
|