diff --git a/common/Android.bp b/common/Android.bp index ed162fa..08e7fd7 100644 --- a/common/Android.bp +++ b/common/Android.bp @@ -9,7 +9,7 @@ android_app_import { name: "MiuiCamera", owner: "xiaomi", apk: "proprietary/system/priv-app/MiuiCamera/MiuiCamera.apk", - overrides: ["GrapheneCamera", "Camera", "Camera2", "Aperture"], + overrides: ["GrapheneCamera", "Camera", "Camera2", "Flash", "Aperture"], certificate: "platform", dex_preopt: { enabled: false, diff --git a/common/common-vendor.mk b/common/common-vendor.mk index 2d3122c..4094d8a 100644 --- a/common/common-vendor.mk +++ b/common/common-vendor.mk @@ -8,7 +8,6 @@ PRODUCT_SOONG_NAMESPACES += \ PRODUCT_COPY_FILES += \ vendor/xiaomi/haydn-miuicamera/common/proprietary/system/lib64/libcamera_algoup_jni.xiaomi.so:$(TARGET_COPY_OUT_SYSTEM)/lib64/libcamera_algoup_jni.xiaomi.so \ vendor/xiaomi/haydn-miuicamera/common/proprietary/system/lib64/libcamera_mianode_jni.xiaomi.so:$(TARGET_COPY_OUT_SYSTEM)/lib64/libcamera_mianode_jni.xiaomi.so \ - vendor/xiaomi/haydn-miuicamera/common/proprietary/system/lib64/libgui-xiaomi.so:$(TARGET_COPY_OUT_SYSTEM)/lib64/libgui-xiaomi.so \ vendor/xiaomi/haydn-miuicamera/common/proprietary/system/lib64/libmicampostproc_client.so:$(TARGET_COPY_OUT_SYSTEM)/lib64/libmicampostproc_client.so \ vendor/xiaomi/haydn-miuicamera/common/proprietary/system/lib64/vendor.xiaomi.hardware.campostproc@1.0.so:$(TARGET_COPY_OUT_SYSTEM)/lib64/vendor.xiaomi.hardware.campostproc@1.0.so \ vendor/xiaomi/haydn-miuicamera/common/proprietary/system/lib64/libOpenCL.so:$(TARGET_COPY_OUT_SYSTEM)/lib64/libOpenCL.so \ diff --git a/common/proprietary/system/lib64/libcamera_algoup_jni.xiaomi.so b/common/proprietary/system/lib64/libcamera_algoup_jni.xiaomi.so index c2e0a96..c052ec6 100644 Binary files a/common/proprietary/system/lib64/libcamera_algoup_jni.xiaomi.so and b/common/proprietary/system/lib64/libcamera_algoup_jni.xiaomi.so differ diff --git a/common/proprietary/system/lib64/libcamera_mianode_jni.xiaomi.so b/common/proprietary/system/lib64/libcamera_mianode_jni.xiaomi.so index e58c787..3cc81b6 100644 Binary files a/common/proprietary/system/lib64/libcamera_mianode_jni.xiaomi.so and b/common/proprietary/system/lib64/libcamera_mianode_jni.xiaomi.so differ diff --git a/common/proprietary/system/lib64/libgui-xiaomi.so b/common/proprietary/system/lib64/libgui-xiaomi.so deleted file mode 100644 index 05b3293..0000000 Binary files a/common/proprietary/system/lib64/libgui-xiaomi.so and /dev/null differ diff --git a/configs/permissions/privapp-permissions-miuivideoplayer.xml b/configs/permissions/privapp-permissions-miuivideoplayer.xml index 817122b..7dfa541 100644 --- a/configs/permissions/privapp-permissions-miuivideoplayer.xml +++ b/configs/permissions/privapp-permissions-miuivideoplayer.xml @@ -5,7 +5,7 @@ - - + + diff --git a/extract-files.sh b/extract-files.sh index 13154ab..ebc2ae6 100644 --- a/extract-files.sh +++ b/extract-files.sh @@ -56,10 +56,7 @@ fi function blob_fixup() { case "${1}" in system/lib64/libcamera_algoup_jni.xiaomi.so|system/lib64/libcamera_mianode_jni.xiaomi.so) - patchelf --replace-needed libgui.so libgui-xiaomi.so "${2}" - ;; - system/lib64/libgui-xiaomi.so) - patchelf --set-soname libgui-xiaomi.so "${2}" + patchelf --add-needed libgui_shim_leicamera.so "${2}" ;; system/lib64/libmicampostproc_client.so) patchelf --remove-needed libhidltransport.so "${2}" diff --git a/products/board.mk b/products/board.mk index 1ea860f..9a348df 100644 --- a/products/board.mk +++ b/products/board.mk @@ -21,5 +21,6 @@ BOARD_VENDOR_SEPOLICY_DIRS += vendor/xiaomi/haydn-miuicamera/sepolicy/vendor BUILD_BROKEN_DUP_RULES := true TARGET_CAMERA_USES_NEWER_HIDL_OVERRIDE_FORMAT := true +TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED := true include vendor/xiaomi/haydn-miuicamera/common/BoardConfigVendor.mk diff --git a/products/miuicamera.mk b/products/miuicamera.mk index 0b56627..aa8041f 100644 --- a/products/miuicamera.mk +++ b/products/miuicamera.mk @@ -34,12 +34,15 @@ PRODUCT_SYSTEM_PROPERTIES += \ persist.log.tag.CAM_BoostFrameworkImpl=S \ ro.product.mod_device=haydn_in_global \ persist.vendor.camera.privapp.list=com.android.camera \ - ro.com.google.lens.oem_camera_package=com.android.camera \ - vendor.camera.aux.packagelist=com.android.camera,org.pixelexperience.faceunlock + ro.com.google.lens.oem_camera_package=com.android.camera # Overlay PRODUCT_PACKAGES += \ MiuiCameraOverlayLos \ MiuiCameraOverlayAosp +# Shim +PRODUCT_PACKAGES += \ + libgui_shim_leicamera + $(call inherit-product, vendor/xiaomi/haydn-miuicamera/common/common-vendor.mk) diff --git a/proprietary-files.txt b/proprietary-files.txt index 787e0ad..9ce2b57 100644 --- a/proprietary-files.txt +++ b/proprietary-files.txt @@ -1,11 +1,10 @@ # All unpinned blobs below are extracted from miui_HAYDNGlobal_V14.0.3.0.TKKMIXM -product/priv-app/MiuiCamera/MiuiCamera.apk:system/priv-app/MiuiCamera/MiuiCamera.apk;OVERRIDES=GrapheneCamera,Camera,Camera2,Aperture|1eb82ca99df9a4442133cdc6573491b8ca092740 +product/priv-app/MiuiCamera/MiuiCamera.apk:system/priv-app/MiuiCamera/MiuiCamera.apk;OVERRIDES=GrapheneCamera,Camera,Camera2,Flash,Aperture|1eb82ca99df9a4442133cdc6573491b8ca092740 system/priv-app/MiuiGallery/MiuiGallery.apk;OVERRIDES=Gallery2,Photos system/priv-app/MiuiVideoPlayer/MiuiVideoPlayer.apk system/lib64/libcamera_algoup_jni.xiaomi.so system/lib64/libcamera_mianode_jni.xiaomi.so -system/lib64/libgui.so:system/lib64/libgui-xiaomi.so system/lib64/libmicampostproc_client.so system/lib64/vendor.xiaomi.hardware.campostproc@1.0.so vendor/lib64/libSNPE.so:system/lib64/libSNPE.so diff --git a/sepolicy/vendor/hal_camera_default.te b/sepolicy/vendor/hal_camera_default.te index 332be3a..5dd7a4e 100644 --- a/sepolicy/vendor/hal_camera_default.te +++ b/sepolicy/vendor/hal_camera_default.te @@ -1,7 +1,6 @@ binder_call(hal_camera_default, platform_app) allow hal_camera_default mnt_vendor_file:dir { search }; -allow hal_camera_default proc_stat:file { open read }; allow hal_camera_default vendor_xdsp_device:chr_file { read }; # Allow Camera to access system_server diff --git a/shims/Android.bp b/shims/Android.bp new file mode 100644 index 0000000..a5d64c8 --- /dev/null +++ b/shims/Android.bp @@ -0,0 +1,11 @@ +// +// Copyright (C) 2017-2022 The LineageOS Project +// +// SPDX-License-Identifier: Apache-2.0 +// + +cc_library_shared { + name: "libgui_shim_leicamera", + srcs: ["libgui_shim_leicamera.c"], + compile_multilib: "64", +} diff --git a/shims/libgui_shim_leicamera.c b/shims/libgui_shim_leicamera.c new file mode 100644 index 0000000..53adfd1 --- /dev/null +++ b/shims/libgui_shim_leicamera.c @@ -0,0 +1,9 @@ +/* + * Copyright (C) 2023 The LineageOS Project + * + * SPDX-License-Identifier: Apache-2.0 + */ + +void _ZN7android18BnProducerListener16onBufferDetachedEi() { + return; +}