Initial MiuiCamera for zeus
This commit is contained in:
commit
8559d0e599
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
MiuiCamera/
|
16
BoardConfig.mk
Normal file
16
BoardConfig.mk
Normal file
@ -0,0 +1,16 @@
|
||||
#
|
||||
# Copyright (C) 2023 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# Inherit from the proprietary version
|
||||
include vendor/xiaomi/miuicamera-zeus/BoardConfigVendor.mk
|
||||
|
||||
MIUICAMERA_PATH := device/xiaomi/miuicamera-zeus
|
||||
|
||||
# Properties
|
||||
TARGET_SYSTEM_PROP += $(MIUICAMERA_PATH)/system.prop
|
||||
|
||||
# Sepolicy
|
||||
BOARD_VENDOR_SEPOLICY_DIRS += $(MIUICAMERA_PATH)/sepolicy/vendor
|
4
configs/miuicamera-hiddenapi-package-allowlist.xml
Normal file
4
configs/miuicamera-hiddenapi-package-allowlist.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<config>
|
||||
<hidden-api-whitelisted-app package="com.android.camera" />
|
||||
</config>
|
13
configs/privapp-permissions-miuicamera.xml
Normal file
13
configs/privapp-permissions-miuicamera.xml
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<permissions>
|
||||
<privapp-permissions package="com.android.camera">
|
||||
<permission name="android.permission.WRITE_MEDIA_STORAGE" />
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS" />
|
||||
<permission name="android.permission.INTERACT_ACROSS_USERS" />
|
||||
<permission name="mediatek.permission.ACCESS_APU_SYS" />
|
||||
<permission name="android.permission.LOG_COMPAT_CHANGE" />
|
||||
<permission name="android.permission.READ_COMPAT_CHANGE_CONFIG" />
|
||||
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
|
||||
<permission name="android.permission.SYSTEM_CAMERA" />
|
||||
</privapp-permissions>
|
||||
</permissions>
|
20
device.mk
Normal file
20
device.mk
Normal file
@ -0,0 +1,20 @@
|
||||
#
|
||||
# Copyright (C) 2023 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# Inherit from the proprietary version
|
||||
$(call inherit-product, vendor/xiaomi/miuicamera-zeus/miuicamera-zeus-vendor.mk)
|
||||
|
||||
# Priv-app permission
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/privapp-permissions-miuicamera.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/privapp-permissions-miuicamera.xml
|
||||
|
||||
# Shims
|
||||
PRODUCT_PACKAGES += \
|
||||
libgui_shim_miuicamera
|
||||
|
||||
# Sysconfig
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/miuicamera-hiddenapi-package-allowlist.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/sysconfig/miuicamera-hiddenapi-package-allowlist.xml
|
72
extract-files.sh
Executable file
72
extract-files.sh
Executable file
@ -0,0 +1,72 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (C) 2016 The CyanogenMod Project
|
||||
# Copyright (C) 2017-2020 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
DEVICE=miuicamera-zeus
|
||||
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}/../../.."
|
||||
|
||||
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/libcamera_algoup_jni.xiaomi.so|system/lib64/libcamera_mianode_jni.xiaomi.so)
|
||||
"${PATCHELF}" --add-needed "libgui_shim_miuicamera.so" "${2}"
|
||||
;;
|
||||
system/lib64/libmicampostproc_client.so)
|
||||
"${PATCHELF}" --remove-needed "libhidltransport.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"
|
8
proprietary-files.txt
Normal file
8
proprietary-files.txt
Normal file
@ -0,0 +1,8 @@
|
||||
# All unpinned blobs below are extracted from zeus V14.0.7.0.TLBMIXM
|
||||
|
||||
product/priv-app/MiuiCamera/MiuiCamera.apk:system/priv-app/MiuiCamera/MiuiCamera.apk|962075aefbc57006f05aabf79cfdfc96e5bf0682
|
||||
system/etc/public.libraries-xiaomi.txt
|
||||
system/lib64/libcamera_algoup_jni.xiaomi.so
|
||||
system/lib64/libcamera_mianode_jni.xiaomi.so
|
||||
system/lib64/libmicampostproc_client.so
|
||||
system/lib64/vendor.xiaomi.hardware.campostproc@1.0.so
|
18
sepolicy/vendor/platform_app.te
vendored
Normal file
18
sepolicy/vendor/platform_app.te
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
hal_client_domain(platform_app, vendor_hal_camerapostproc_xiaomi)
|
||||
|
||||
binder_use(platform_app)
|
||||
binder_call(platform_app, vendor_hal_camerapostproc_xiaomi)
|
||||
allow platform_app vendor_hal_camerapostproc_xiaomi_hwservice:hwservice_manager find;
|
||||
|
||||
allow platform_app adsprpcd_file:dir { open read search };
|
||||
allow platform_app vendor_xdsp_device:chr_file { ioctl open read write };
|
||||
allow platform_app vendor_qdsp_device:chr_file { ioctl open read write };
|
||||
|
||||
allow platform_app vendor_camera_data_file:dir { append map r_dir_perms write };
|
||||
allow platform_app vendor_camera_data_file:file { getattr open read };
|
||||
|
||||
# Properties
|
||||
allow platform_app vendor_display_prop:file read;
|
||||
get_prop(platform_app, vendor_camera_sensor_prop)
|
||||
get_prop(platform_app, vendor_displayfeature_prop)
|
||||
get_prop(platform_app, vendor_panel_info_prop)
|
36
setup-makefiles.sh
Executable file
36
setup-makefiles.sh
Executable file
@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (C) 2016 The CyanogenMod Project
|
||||
# Copyright (C) 2017-2020 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
DEVICE=miuicamera-zeus
|
||||
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}/../../.."
|
||||
|
||||
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}"
|
||||
|
||||
# Initialize the helper
|
||||
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}"
|
||||
|
||||
# Warning headers and guards
|
||||
write_headers
|
||||
|
||||
write_makefiles "${MY_DIR}/proprietary-files.txt" true
|
||||
|
||||
# Finish
|
||||
write_footers
|
10
shims/Android.bp
Normal file
10
shims/Android.bp
Normal file
@ -0,0 +1,10 @@
|
||||
//
|
||||
// Copyright (C) 2022 The LineageOS Project
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
cc_library {
|
||||
name: "libgui_shim_miuicamera",
|
||||
srcs: ["libgui_shim_miuicamera.c"],
|
||||
}
|
9
shims/libgui_shim_miuicamera.c
Normal file
9
shims/libgui_shim_miuicamera.c
Normal file
@ -0,0 +1,9 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The LineageOS Project
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
void _ZN7android18BnProducerListener16onBufferDetachedEi() {
|
||||
return;
|
||||
}
|
9
system.prop
Normal file
9
system.prop
Normal file
@ -0,0 +1,9 @@
|
||||
# Google Lens
|
||||
ro.com.google.lens.oem_camera_package=com.android.camera
|
||||
|
||||
# Framework allowlists
|
||||
persist.vendor.camera.privapp.list=com.android.camera
|
||||
#vendor.camera.aux.packagelist=com.android.camera
|
||||
|
||||
# MiuiCamera
|
||||
ro.miui.notch=1
|
Loading…
Reference in New Issue
Block a user