In libpwirissoft.so's `pxlw` class, `qcomSetDisplayMode()` ends up calling `irisSetConfigEx()` with `brightness_level_` as one of the parameters. `irisSetConfigEx()` ends up passing that `brightness_level_` param to `processDisplayBrightness()`, which seems to do some sort of additional dimming of the display output depending on what the current brightness level is. On AOSP, it looks like `brightness_level_` doesn't get set properly. After hwcomposer is initialized for the first time (or terminated and restarted), if we turn the panel off and back on at least once, and then try changing display modes, hwcomposer seems to apply a constant dimming of the display output regardless of the backlight level. Let's work around that by nop-ing out the `irisSetConfigEx()` call in `qcomSetDisplayMode()`. That way, `processDisplayBrightness()` won't get called, and we will not get that dimming. Change-Id: Ied87b229d596bcc597b9ccb0a47368cbcb97f54b
112 lines
3.4 KiB
Bash
Executable File
112 lines
3.4 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
|
|
|
|
# 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
|
|
|
|
ONLY_COMMON=
|
|
ONLY_TARGET=
|
|
KANG=
|
|
SECTION=
|
|
|
|
while [ "${#}" -gt 0 ]; do
|
|
case "${1}" in
|
|
--only-common )
|
|
ONLY_COMMON=true
|
|
;;
|
|
--only-target )
|
|
ONLY_TARGET=true
|
|
;;
|
|
-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
|
|
odm/bin/hw/vendor.oplus.hardware.biometrics.fingerprint@2.1-service)
|
|
grep -q libshims_fingerprint.oplus.so "${2}" || "${PATCHELF}" --add-needed libshims_fingerprint.oplus.so "${2}"
|
|
;;
|
|
odm/etc/init/wlchgmonitor.rc)
|
|
sed -i "/disabled/d;/seclabel/d" "${2}"
|
|
;;
|
|
odm/etc/vintf/manifest/manifest_oplus_fingerprint.xml)
|
|
sed -ni "/android.hardware.biometrics.fingerprint/{x;s/hal format/hal override=\"true\" format/;x};x;1!p;\${x;p}" "${2}"
|
|
;;
|
|
odm/lib64/libpwirissoft.so)
|
|
"${SIGSCAN}" -p "72 1F 00 94" -P "1F 20 03 D5" -f "${2}"
|
|
;;
|
|
product/etc/sysconfig/com.android.hotwordenrollment.common.util.xml)
|
|
sed -i "s/\/my_product/\/product/" "${2}"
|
|
;;
|
|
system_ext/lib64/libwfdnative.so)
|
|
sed -i "s/android.hidl.base@1.0.so/libhidlbase.so\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00/" "${2}"
|
|
;;
|
|
vendor/etc/libnfc-nxp.conf)
|
|
sed -i "s/^NXP_RF_CONF_BLK_9/#NXP_RF_CONF_BLK_9/" "${2}"
|
|
sed -i "s/^NXP_RF_CONF_BLK_10/#NXP_RF_CONF_BLK_10/" "${2}"
|
|
;;
|
|
vendor/lib64/hw/com.qti.chi.override.so)
|
|
"${SIGSCAN}" -p "9B 2B 04 94" -P "1F 20 03 D5" -f "${2}"
|
|
"${SIGSCAN}" -p "46 23 04 94" -P "1F 20 03 D5" -f "${2}"
|
|
sed -i "s/com.oem.autotest/\x00om.oem.autotest/" "${2}"
|
|
;;
|
|
vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so)
|
|
"${SIGSCAN}" -p "1F 0A 00 94" -P "1F 20 03 D5" -f "${2}"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
if [ -z "${ONLY_TARGET}" ]; then
|
|
# Initialize the helper for common device
|
|
setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true "${CLEAN_VENDOR}"
|
|
|
|
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
|
|
fi
|
|
|
|
if [ -z "${ONLY_COMMON}" ] && [ -s "${MY_DIR}/../${DEVICE}/proprietary-files.txt" ]; then
|
|
# Reinitialize the helper for device
|
|
source "${MY_DIR}/../${DEVICE}/extract-files.sh"
|
|
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
|
|
|
|
extract "${MY_DIR}/../${DEVICE}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
|
|
fi
|
|
|
|
"${MY_DIR}/setup-makefiles.sh"
|