72 Commits
udc ... vic

Author SHA1 Message Date
400389796d fixup! Remove /dev/lirc0 from sepolicy
Signed-off-by: nhansp <nhan.094.vn@gmail.com>
2025-09-18 05:56:40 +00:00
72d1f3834b Revert "Compile with default clang"
This reverts commit dad742db3e.

gives us a fat ass kernel
2025-07-25 01:56:55 +07:00
d197870aeb Remove /dev/lirc0 from sepolicy
Signed-off-by: nhansp <nhan.094.vn@gmail.com>
2025-07-10 13:58:30 +07:00
nhansp
0042f4cc3d Remove NfcNci 2025-07-10 11:09:26 +07:00
nhansp
c4e8a099e9 fixup! Lazy update kernel branch
Signed-off-by: nhansp <nhan.094.vn@gmail.com>
2025-07-08 14:39:37 +07:00
nhansp
2f0d4a8cd4 Lazy update kernel branch
Signed-off-by: nhansp <k63.2412960019@ftu.edu.vn>
2025-07-08 14:39:37 +07:00
26b27c3aa6 Update dimens
Signed-off-by: nhansp <nhan.094.vn@gmail.com>
2025-07-08 14:39:37 +07:00
ecd677427f Fix QS lags
Signed-off-by: nhansp <nhan.094.vn@gmail.com>
2025-07-08 14:39:37 +07:00
48e53eab03 fixup! cepheus: enable blurs 2025-07-08 14:39:37 +07:00
dad742db3e Compile with default clang
Signed-off-by: nhansp <nhan.094.vn@gmail.com>
2025-07-08 14:39:37 +07:00
f7cfbefd0f Cleanup proprietary files list
Signed-off-by: nhansp <nhan.094.vn@gmail.com>
2025-07-08 14:39:37 +07:00
4bfb1cd72e cepheus: enable blurs
Signed-off-by: nhansp <nhan.094.vn@gmail.com>
2025-06-25 22:22:13 +07:00
446df5d00d BoardConfig: just include BoardConfigReservedSize
Signed-off-by: nhansp <nhan.094.vn@gmail.com>
2025-06-25 22:22:13 +07:00
nhansp
a1b2ad52a5 cepheus: update releasetools.py
Signed-off-by: nhansp <k63.2412960019@ftu.edu.vn>
2025-06-25 22:22:13 +07:00
nhansp
6cf426988a cepheus: thank you @chematelegram!
a big thanks to @chematelegram for maintaining this device. as
he's now busy and unable to continue, I'll be Mi 9 next
maintainer. hope you guys enjoy the upcoming builds!

Signed-off-by: nhansp <k63.2412960019@ftu.edu.vn>
2025-06-25 22:22:13 +07:00
nhansp
caf4a86569 cepheus: migrate some flags to select()
Signed-off-by: nhansp <k63.2412960019@ftu.edu.vn>
2025-06-25 22:22:13 +07:00
nhansp
a474e0a0ec cepheus: BoardConfig: code cleanup
Signed-off-by: nhansp <k63.2412960019@ftu.edu.vn>
2025-06-25 22:22:13 +07:00
nhansp
9fc5959cd6 cepheus: nuke flash_super_dummy
no longer required after releasetools update:
98549f6893

Signed-off-by: nhansp <k63.2412960019@ftu.edu.vn>
2025-06-25 22:22:13 +07:00
Bruno Martins
41089f765c cepheus: parts: Move thermal profiles to system category
Icon taken from google/material-design-icons.

Change-Id: Iefc5ea0426b7aefac7b75a1d72878e4b826f7f33
2025-06-25 22:22:13 +07:00
chematelegram
52b5422b8d cepheus: Switch to XiaomiDolby 2025-02-27 23:16:19 +01:00
Pranav Vashi
c5be6143d6 cepheus: libstagefright_foundation-v33 moved to lineage compat 2025-02-27 23:16:19 +01:00
chematelegram
fb788347c7 cepheus: Compile kernel with clang 20.0.0 2025-02-27 23:16:09 +01:00
chematelegram
6f230c1c64 cepheus: Do not include Accord 2025-02-26 16:01:11 +01:00
Michael Bestas
8b225c8c03 cepheus: Drop libvulkan target that is built by default
Change-Id: Ic5d73508b850fac7c7427caf12eb4a8e87e3deca
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-02-26 15:50:32 +01:00
LuK1337
8db4fdedd0 cepheus: Switch to common lights HAL 2025-02-26 15:50:32 +01:00
John Galt
6e343daeb6 cepheus: CameraProvider: set saner values
500 is WAAAAY too high on op7 series. Set max to a saner of 200.

Also prior to this change, 80 was default for torch, so set 80 as
default.
2025-02-26 15:50:32 +01:00
Cyber Knight
f0c6917574 cepheus: rootdir: Label brightness node correctly
- We only utilize switch_2/brightness as a toggle switch so explicitly label it.
2025-02-26 15:50:32 +01:00
Cyber Knight
7c0ab5e736 cepheus: sepolicy: Allow cameraserver to search directories in sysfs_leds
- This fixes a SEPolicy denial.
2025-02-26 15:50:32 +01:00
John Galt
68017c885d cepheus: camera: add enabled bool for finished workarounds 2025-02-26 15:50:32 +01:00
bengris32
92d97077aa cepheus: camera: Implement setTorchModeExt
Change-Id: Id61420be75b7efd1d13a4b0ee1d103ebd3835516
Signed-off-by: electimon <electimon@gmail.com>
2025-02-26 15:50:32 +01:00
bengris32
b1986fe4f0 cepheus: camera: Implement supportsSetTorchModeExt
Change-Id: I2ec2f4a30723763e6123a1b742468752f38e3d2f
Signed-off-by: bengris32 <bengris32@protonmail.ch>
2025-02-26 15:50:32 +01:00
Dhina17
0981e7e832 cepheus: Impl torch light control
Change-Id: Icd32d1f6aedb55462c9df4d7cc63a2a4c4e4263e

[RealJohnGalt:] modify for oneplus usage, add toggle switch
2025-02-26 15:50:32 +01:00
Michael Bestas
0c6a1b7749 cepheus: Remove OMX audio codecs
* OMX HW audio codecs won't work without QCOM A/V enhancements, which
   we don't have on Lineage.

Change-Id: I940be6716b603e848c44839bb87ad690eb55e86f
2025-02-26 15:50:32 +01:00
chematelegram
21107c0060 cepheus: Move c2_manifest to manifest 2025-02-26 15:50:17 +01:00
LuK1337
09218a8de7 cepheus: Update WFD system stack from OOS 14.0.0.602(EX01)
Change-Id: Idec435e0b1645016620e5cdd094ed3fb1ae8b832
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-02-03 07:45:02 +01:00
Nick Reuter
617f330b87 cepheus: Address missing libbinder symbols in libwfdnative
_ZN7android6binder12atrace_beginEmPKc
_ZN7android6binder10atrace_endEm

Change-Id: I942d51721461dbbf9c8d0f2f32128529bb7480c3
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-02-03 07:37:00 +01:00
Nick Reuter
083fcb9319 cepheus: Bump libwfdservice to android.media.audio.common.types-V4
Change-Id: I81060d8c73430a9598c676e18dc04e31a2f31c0c
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-02-03 07:35:12 +01:00
LuK1337
714142838f cepheus: Shim WFD with libgui_shim/libinput_shim
Change-Id: I42bf06bc6b19942303031ef0147dafa6df127fe5
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-02-03 07:29:51 +01:00
chematelegram
8426710e6b cepheus: Enable FPS info
We kept part of the support but the config and some of the sepolicy was missing
2025-02-01 13:41:15 +01:00
chematelegram
5297207168 cepheus: overlay: Adjust the CPU temp divider 2025-02-01 13:28:49 +01:00
chematelegram
9ed67422aa cepheus: overlay: Enable PowerOffAlarmService 2025-02-01 13:26:14 +01:00
chematelegram
cf9026c4f8 cepheus: overlay: Support Smart Pixels 2025-01-23 08:53:50 +01:00
LuK1337
03786290f4 cepheus: Build gralloc.qcom
Camera HAL wants it and crashes if it loads default gralloc
implementation instead.

Fixes: https://gitlab.com/LineageOS/issues/android/-/issues/8059
Change-Id: I47965713c822cfdfc369975f8975f21f70133608
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-01-22 23:03:01 +01:00
chematelegram
b899960505 cepheus: overlay: Disable Smart Pixels on UDFPS 2025-01-22 21:04:17 +01:00
Michael Bestas
6870d1099e cepheus: Update display flags & packages
Required after display HAL blueprint conversion

Change-Id: Ifc4e10703d3424607b9dc8bcc8e417d1c88cc2f3
2025-01-10 22:17:12 +01:00
chematelegram
29a905d974 cepheus: Switch to clang 19.0.1 2025-01-04 22:42:46 +01:00
chematelegram
555749c4c2 cepheus: overlay: Set properly the color of the UDFPS pressed view 2024-12-19 21:40:55 +01:00
chematelegram
1dd564eef2 cepheus: Enforce Product Packages Exist again 2024-12-19 21:38:16 +01:00
chematelegram
9ef8670d56 Revert "cepheus: Switch to clang 19"
This reverts commit 0c0cc1168f.
2024-11-22 00:08:05 +01:00
Michael Bestas
f133499afc cepheus: Shim widevine with libcrypto_shim
The following change
google/boringssl@e202e51
removed symbols that our libs require.

Change-Id: I1325c34ecec3d339dd68c665010ecb36fa2e6a29
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2024-11-22 00:03:52 +01:00
Aaron Kling
77178b6b8c cepheus: Remove software omx codec references
These are no longer available as of Android 14 QPR3. The C2 codecs
available by default in the swcodec apex will be used instead
2024-11-22 00:03:52 +01:00
Bruno Martins
d0190b0cde cepheus: Remove software OMX blobs
Default to C2 codecs from swcodec apex.
2024-11-22 00:03:52 +01:00
Michael Bestas
183c251cc6 cepheus: Use AOSP default Codec2/OMX ranks
debug.stagefright.ccodec=4
is the default value in frameworks.

debug.stagefright.omx_default_rank=0
was used to rank OMX SW codecs lower than OMX HW codecs
but we have removed all OMX SW codecs now.
2024-11-22 00:03:52 +01:00
Sebastiano Barezzi
92e8e1dfb5 cepheus: Drop libril-qcril-hook-oem.so
Requires libril, we disabled that target, safe to assume only non-qcrild
uses this
2024-11-22 00:03:52 +01:00
clarencelol
a1f9335cf8 cepheus: Fix delimiter error
* Error parsing JSON in file: out/soong/soong.lineage_cepheus.extra.variables. Reason: Expecting ',' delimiter: line 41 column 30 (char 5831)
2024-11-22 00:03:52 +01:00
boedhack99
116b007db8 cepheus: sepolicy: Address mediacodec to access sysfs_msm_subsys
* avc:  denied  { search } for  name="2c00000.qcom,kgsl-3d0" dev="sysfs" ino=40513 scontext=u:r:mediacodec:s0 tcontext=u:object_r:sysfs_msm_subsys:s0 tclass=dir permissive=0
2024-11-22 00:03:52 +01:00
ArianK16a
e219098657 cepheus: Import vndk29 libc++ and provide a module for it
Change-Id: I110257858ab3004b6768fe8a8f0a759cafa4a995
2024-11-22 00:03:52 +01:00
Kelvin Zhang
480c41cb95 cepheus: Explicitly set as an non-AB target
We will be changing AB to be the default, existing non-AB targets
need to explicitly set AB_OTA_UPDATER to false

Test: th
Change-Id: I86a76296937a6abab1b4495cd66a35144348aafd
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: firebird11 <hbgassel@gmail.com>
2024-11-22 00:03:52 +01:00
Kelvin Zhang
27954c4e4a cepheus: Allow to access bootable/deprecated-ota targets
sm8150-common is still using non-AB update.
non-AB code will be moved to a separated namespace, add
deprecated-ota to sm8150-common namespace list ahead of time to avoid
breakage.

Test: th
Bug: 324360816
Change-Id: I909064be36e8febe80492cf010eb6eac3d6bc33d
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
Signed-off-by: firebird11 <hbgassel@gmail.com>
2024-11-22 00:03:52 +01:00
kondors1995
2869ad9c3b cepheus: overlay: Add pixel_pitch 2024-11-22 00:03:52 +01:00
SGCMarkus
9f0d882d15 cepheus: Unset BOARD_USERDATAIMAGE_PARTITION_SIZE
This not only saves a lot of build time when building with
TARGET_USERIMAGES_SPARSE_EXT_DISABLED and/or
TARGET_USERIMAGES_SPARSE_F2FS_DISABLED which is required
on A14, but also removes the need for the build system to
temporarily create a 40+GB userdata image.
Which means that less free space is required to start the
build.
2024-11-22 00:03:52 +01:00
pjgowtham
7804b4b262 cepheus: fingerprint: Set dim layer zOrder
Requires: I367b2c395aeb8cb7cb9e3cc38eca98477befe007
Change-Id: I881db78186fa9c7b350e79ac4ef90f53ee4cfbcf
2024-11-22 00:03:52 +01:00
basamaryan
d8bfe7a334 cepheus: overlay: Disable turbulence noise 2024-11-22 00:03:52 +01:00
luffitys
0144d76a36 cepheus: Build missing WFD libs
Co-authored-by: Edwin Moquete <edwinmmoquete@gmail.com>
Change-Id: I2cd360cc7fc1260e99111f18f09fefb8231ce01f
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2024-11-22 00:03:52 +01:00
chematelegram
4a5a1f2673 cepheus: Remove extra slash
* It's harmless but let's sanitize and avoid any possible risk in the future
2024-11-22 00:03:52 +01:00
chematelegram
054fec088a cepheus: Adjust reserved size for GApps
* Again hitting the Super partition size. We won't miss that reserved size in System anyway
2024-11-22 00:03:52 +01:00
Yumi Yukimura
c75e0a2968 cepheus: Switch to QTI Memtrack AIDL HAL 2024-11-22 00:03:52 +01:00
chematelegram
702848c8e1 cepheus: Support automated DC dimming 2024-11-22 00:03:52 +01:00
chematelegram
54eaadddde cepheus: Move Soterservice to vendor 2024-11-22 00:03:52 +01:00
chematelegram
5d79ba4da3 cepheus: Drop updatable GPU drivers 2024-11-22 00:03:52 +01:00
chematelegram
5ba7975eca Revert "cepheus: Import sensors.mius.proximity.so"
This reverts commit f2b7a133c5.
2024-11-22 00:03:52 +01:00
¨raystef66¨
63693bb470 cepheus: Switch back to nabu V13.0.3.0.RKXCNXM graphics blobs
* So Magic Eraser/Editor stops crashing.
* Also stop crashes while editing on Google Photos

This reverts following commits:

37941cbdb03469fdefb50fc749e2314c5063704e
ca151b80e89f73aa8a189dbf7227ae3ec3414ef3
610cc43636f3bd4d7b1726a5b22ff6684fcf8d1d
bd485be6dd076641f9bb2a0186ea284a3befcd57

Based on a7c8a40fe6
2024-11-22 00:03:52 +01:00
47 changed files with 819 additions and 1594 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
out/
extract-files.py

View File

@@ -20,20 +20,6 @@ ifeq ($(TARGET_DEVICE),cepheus)
include $(call all-makefiles-under,$(LOCAL_PATH))
LPFLASH := $(HOST_OUT_EXECUTABLES)/lpflash$(HOST_EXECUTABLE_SUFFIX)
INSTALLED_SUPERIMAGE_DUMMY_TARGET := $(PRODUCT_OUT)/super_dummy.img
$(INSTALLED_SUPERIMAGE_DUMMY_TARGET): $(PRODUCT_OUT)/super_empty.img $(LPFLASH)
$(call pretty,"Target dummy super image: $@")
$(hide) touch $@
$(hide) echo $(CURDIR)
$(hide) $(LPFLASH) $@ $(PRODUCT_OUT)/super_empty.img
.PHONY: super_dummyimage
super_dummyimage: $(INSTALLED_SUPERIMAGE_DUMMY_TARGET)
INSTALLED_RADIOIMAGE_TARGET += $(INSTALLED_SUPERIMAGE_DUMMY_TARGET)
include $(CLEAR_VARS)
# A/B builds require us to create the mount points at compile time.

View File

@@ -51,7 +51,6 @@ TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a76
TARGET_OTA_ASSERT_DEVICE := cepheus
# Audio
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := true
AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
TARGET_PROVIDES_AUDIO_EXTNS := true
BOARD_USES_ALSA_AUDIO := true
@@ -65,15 +64,12 @@ TARGET_NO_BOOTLOADER := true
# Camera
USE_DEVICE_SPECIFIC_CAMERA := true
TARGET_CAMERA_SERVICE_EXT_LIB := //$(DEVICE_PATH):libcameraservice_extension.cepheus
# Display
TARGET_HAS_HDR_DISPLAY := true
TARGET_HAS_WIDE_COLOR_DISPLAY := true
TARGET_USES_COLOR_METADATA := true
TARGET_USES_DISPLAY_RENDER_INTENTS := true
TARGET_USES_DRM_PP := true
TARGET_USES_GRALLOC4 := true
TARGET_USES_HWC2 := true
USE_OPENGL_RENDERER := true
# Graphics
@@ -86,7 +82,7 @@ TARGET_ENABLE_MEDIADRM_64 := true
TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/configs/config.fs
# FOD
TARGET_SURFACEFLINGER_UDFPS_LIB := //$(DEVICE_PATH):libudfps_extension.cepheus
$(call soong_config_set,surfaceflinger,udfps_lib,//$(DEVICE_PATH):libudfps_extension.cepheus)
TARGET_USES_FOD_ZPOS := true
# GPS
@@ -95,15 +91,15 @@ LOC_HIDL_VERSION := 4.0
# HIDL
DEVICE_MANIFEST_FILE := $(DEVICE_PATH)/configs/hidl/manifest.xml
DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/configs/hidl/c2_manifest.xml
DEVICE_MATRIX_FILE := hardware/qcom-caf/common//compatibility_matrix.xml
DEVICE_MATRIX_FILE := hardware/qcom-caf/common/compatibility_matrix.xml
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
$(DEVICE_PATH)/configs/hidl/framework_compatibility_matrix.xml \
hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \
hardware/xiaomi/vintf/xiaomi_framework_compatibility_matrix.xml \
vendor/lineage/config/device_framework_matrix.xml
# Init
TARGET_INIT_VENDOR_LIB := //$(DEVICE_PATH):libinit_cepheus
$(call soong_config_set,libinit,vendor_init_lib,//$(DEVICE_PATH):libinit_cepheus)
TARGET_RECOVERY_DEVICE_MODULES := libinit_cepheus
# Kernel
@@ -118,8 +114,8 @@ BOARD_RAMDISK_OFFSET := 0x01000000
TARGET_KERNEL_CLANG_COMPILE := true
TARGET_KERNEL_CONFIG := cepheus_defconfig
TARGET_KERNEL_SOURCE := kernel/xiaomi/cepheus
TARGET_KERNEL_CLANG_VERSION := r530567
KERNEL_TOOLCHAIN := $(shell pwd)/prebuilts/clang/host/linux-x86/clang-r498229b/bin
TARGET_KERNEL_CLANG_VERSION := r547379
KERNEL_TOOLCHAIN := $(shell pwd)/prebuilts/clang/host/linux-x86/clang-r536225/bin
KERNEL_SUPPORTS_LLVM_TOOLS := true
TARGET_KERNEL_ADDITIONAL_FLAGS := AS=llvm-as AR=llvm-ar NM=llvm-nm OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump STRIP=llvm-strip LD=ld.lld
TARGET_KERNEL_ADDITIONAL_FLAGS += \
@@ -128,7 +124,6 @@ TARGET_KERNEL_ADDITIONAL_FLAGS += \
BOARD_KERNEL_CMDLINE := console=ttyMSM0,115200n8 earlycon=msm_geni_serial,0xa90000
BOARD_KERNEL_CMDLINE += androidboot.hardware=qcom androidboot.console=ttyMSM0
BOARD_KERNEL_CMDLINE += androidboot.usbcontroller=a600000.dwc3
#BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
BOARD_KERNEL_CMDLINE += service_locator.enable=1
BOARD_KERNEL_CMDLINE += loop.max_part=7
BOARD_KERNEL_CMDLINE += androidboot.init_fatal_reboot_target=recovery
@@ -136,8 +131,8 @@ BOARD_KERNEL_CMDLINE += kpti=off
BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/1d84000.ufshc
# Lineage Health
TARGET_HEALTH_CHARGING_CONTROL_SUPPORTS_BYPASS := false
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_PATH := /sys/class/power_supply/battery/charging_enabled
$(call soong_config_set,lineage_health,charging_control_supports_bypass,false)
$(call soong_config_set,lineage_health,charging_control_charging_path,/sys/class/power_supply/battery/charging_enabled)
# Media
TARGET_USES_ION := true
@@ -148,7 +143,6 @@ BOARD_BOOTIMAGE_PARTITION_SIZE := 134217728
BOARD_CACHEIMAGE_PARTITION_SIZE := 268435456
BOARD_DTBOIMG_PARTITION_SIZE := 33554432
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 67108864
BOARD_USERDATAIMAGE_PARTITION_SIZE := 57453555712
BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
# BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3758096384
@@ -162,15 +156,7 @@ BOARD_SUPER_PARTITION_SYSTEM_DEVICE_SIZE := 3758096384
BOARD_SUPER_PARTITION_VENDOR_DEVICE_SIZE := 1610612736
BOARD_CEPHEUS_DYNAMIC_PARTITIONS_SIZE := 5364514816 # BOARD_SUPER_PARTITION_SIZE - 4MB
# Reserve space for gapps install
ifneq ($(WITH_GMS),true)
BOARD_SYSTEMIMAGE_EXTFS_INODE_COUNT := -1
BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 487587840
BOARD_SYSTEM_EXTIMAGE_EXTFS_INODE_COUNT := -1
BOARD_SYSTEM_EXTIMAGE_PARTITION_RESERVED_SIZE := 703718400
BOARD_PRODUCTIMAGE_EXTFS_INODE_COUNT := -1
BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE := 545259520
endif
-include vendor/lineage/config/BoardConfigReservedSize.mk
BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
@@ -207,7 +193,7 @@ BOARD_USES_QCOM_HARDWARE := true
# Recovery
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.qcom
TARGET_RECOVERY_PIXEL_FORMAT := "BGRA_8888"
TARGET_RECOVERY_PIXEL_FORMAT := BGRA_8888
# Releasetools
TARGET_RELEASETOOLS_EXTENSIONS := $(DEVICE_PATH)
@@ -226,8 +212,6 @@ SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/private
SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/public
BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
#SELINUX_IGNORE_NEVERALLOWS := true
# USB
TARGET_QTI_USB_SUPPORTS_AUDIO_ACCESSORY := true

View File

@@ -19,3 +19,11 @@ cc_library_shared {
proprietary: true,
srcs: ["megvii_shim.cpp"],
}
cc_library_static {
name: "libcameraservice_extension.cepheus",
srcs: ["CameraProviderExtension.cpp"],
include_dirs: [
"frameworks/av/services/camera/libcameraservice/common"
],
}

View File

@@ -0,0 +1,78 @@
/*
* Copyright (C) 2024 LibreMobileOS Foundation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "CameraProviderExtension.h"
#include <fstream>
#define TORCH_BRIGHTNESS "brightness"
#define TORCH_MAX_BRIGHTNESS "max_brightness"
#define TOGGLE_SWITCH "/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:switch_2/brightness"
static std::string kTorchLedPaths[] = {
"/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_0",
"/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_1",
};
/**
* Write value to path and close file.
*/
template <typename T>
static void set(const std::string& path, const T& value) {
std::ofstream file(path);
file << value;
}
/**
* Read value from the path and close file.
*/
template <typename T>
static T get(const std::string& path, const T& def) {
std::ifstream file(path);
T result;
file >> result;
return file.fail() ? def : result;
}
bool supportsTorchStrengthControlExt() {
return true;
}
bool supportsSetTorchModeExt() {
return false;
}
int32_t getTorchDefaultStrengthLevelExt() {
return 80;
}
int32_t getTorchMaxStrengthLevelExt() {
// 200 (out of 500) is a sane max brightness
return 200;
}
int32_t getTorchStrengthLevelExt() {
// We write same value in the both LEDs,
// so get from one.
auto node = kTorchLedPaths[0] + "/" + TORCH_BRIGHTNESS;
return get(node, 0);
}
void setTorchStrengthLevelExt(int32_t torchStrength, bool enabled) {
set(TOGGLE_SWITCH, 0);
for (auto& path : kTorchLedPaths) {
auto node = path + "/" + TORCH_BRIGHTNESS;
set(node, torchStrength);
}
if (enabled)
set(TOGGLE_SWITCH, 255);
}
void setTorchModeExt(bool enabled) {
int32_t strength = getTorchDefaultStrengthLevelExt();
setTorchStrengthLevelExt(enabled ? strength : 0, enabled);
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,39 +0,0 @@
<!-- Copyright (c) 2018, The Linux Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of The Linux Foundation nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<manifest version="1.0" type="device">
<!-- Codec2 HAl service -->
<hal format="hidl">
<name>android.hardware.media.c2</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IComponentStore</name>
<instance>default</instance>
</interface>
</hal>
</manifest>

View File

@@ -3,15 +3,6 @@
SPDX-License-Identifier: Apache-2.0
-->
<compatibility-matrix version="2.0" type="framework" target-level="5">
<hal format="hidl" optional="true">
<name>android.hardware.light</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>ILight</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>com.qualcomm.qti.ant</name>
<transport>hwbinder</transport>
@@ -21,14 +12,6 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.dolby.hardware.dms</name>
<version>2.0</version>
<interface>
<name>IDms</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.goodix.hardware.biometrics.fingerprint</name>
<version>2.0-1</version>

View File

@@ -86,14 +86,14 @@
<fqname>@4.1::IKeymasterDevice/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.light</name>
<name>android.hardware.media.c2</name>
<transport>hwbinder</transport>
<version>2.0</version>
<version>1.0</version>
<interface>
<name>ILight</name>
<name>IComponentStore</name>
<instance>default</instance>
</interface>
<fqname>@2.0::ILight/default</fqname>
<fqname>@1.0::IComponentStore/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.media.omx</name>
@@ -110,16 +110,6 @@
<fqname>@1.0::IOmx/default</fqname>
<fqname>@1.0::IOmxStore/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.memtrack</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IMemtrack</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IMemtrack/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.neuralnetworks</name>
<transport>hwbinder</transport>
@@ -588,14 +578,4 @@
</interface>
<fqname>@1.0::IPasrManager/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.dolby.hardware.dms</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>IDms</name>
<instance>default</instance>
</interface>
<fqname>@2.0::IDms/default</fqname>
</hal>
</manifest>

View File

@@ -98,7 +98,6 @@ Only the three quirks included above are recognized at this point:
| | 4096 2304 60 220 2211840 |
| | 7680 4320 30 220 3888000 |
| | 8192 4320 24 220 3317760 |
| mpeg4-sw | 1920 1088 30 40 244800 244800 |
| vp8 | 1280 720 240 100 864000 1036800 |
| | 1920 1088 120 100 979200 |
| | 3840 2160 30 100 972000 |
@@ -110,7 +109,6 @@ Only the three quirks included above are recognized at this point:
| | 4096 2304 60 220 2211840 |
| | 7680 4320 30 220 3888000 |
| | 8192 4320 24 220 3317760 |
| h263-sw | 864 480 30 16 48600 48600 |
| mpeg2 | 1920 1088 30 40 244800 244800 |
|_____________|_____________________________________________________|
@@ -152,20 +150,16 @@ Only the three quirks included above are recognized at this point:
| | 3840 2160 60 160 1944000 |
| | 4096 2160 48 160 1658880 |
| | 4096 2304 30 160 1105920 |
| mpeg4-sw | 1280 720 30 4 108000 108000 |
| vp8 | 1280 720 240 40 864000 1036800 |
| | 1920 1088 120 40 979200 |
| | 3840 2160 30 40 972000 |
| | 4096 2160 30 40 1036800 |
| | 4096 2304 24 40 884736 |
| h263-sw | 864 480 30 2 48600 48600 |
|__________|_____________________________________________________|
-->
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_dolby_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
<Settings>
<Setting name="max-video-encoder-input-buffers" value="11" />
</Settings>
@@ -235,33 +229,6 @@ Only the three quirks included above are recognized at this point:
<Limit name="performance-point-512x512" value="480" />
<Feature name="bitrate-modes" value="CQ" />
</MediaCodec>
<!-- Video Software -->
<MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="864x480" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-2000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-720x480" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="1280x720" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="108000" />
<Limit name="bitrate" range="1-4000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="30" />
</MediaCodec>
</Encoders>
<Decoders>
<!-- Video Hardware -->
@@ -411,33 +378,5 @@ Only the three quirks included above are recognized at this point:
<Limit name="performance-point-4096x2160" value="60" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<!-- Video Software -->
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="864x480" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-16000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-720x480" value="30" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es">
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="OMX.google.opus.decoder" type="audio/opus" update="true" rank="100"/>
</Decoders>
<Include href="media_codecs_google_video.xml" />
</MediaCodecs>

View File

@@ -104,6 +104,7 @@ PRODUCT_PACKAGES += \
android.hardware.camera.provider@2.4-service_64
PRODUCT_PACKAGES += \
libc29.vendor \
libcamera2ndk_vendor \
libdng_sdk.vendor \
libgui_vendor \
@@ -122,9 +123,6 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml
PRODUCT_COPY_FILES += \
prebuilts/vndk/v29/arm64/arch-arm64-armv8-a/shared/vndk-sp/libc++.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libc++.so
# Clone apps exemption
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/sysconfig/preinstalled-packages-platform-xiaomi-product.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/preinstalled-packages-platform-xiaomi-product.xml
@@ -141,52 +139,51 @@ PRODUCT_PACKAGES += \
android.hardware.graphics.composer@2.4-service \
android.hardware.graphics.mapper@3.0-impl-qti-display \
android.hardware.graphics.mapper@4.0-impl-qti-display \
android.hardware.memtrack@1.0-impl \
android.hardware.memtrack@1.0-service \
gralloc.msmnile \
hwcomposer.msmnile \
gralloc.qcom \
hwcomposer.qcom \
libdisplayconfig.qti \
libdisplayconfig.system.qti \
libqdMetaData \
libqdMetaData.system \
libqdutils \
libtinyxml \
memtrack.msmnile \
vendor.display.config@2.0 \
vendor.display.config@2.0.vendor \
vendor.qti.hardware.display.allocator-service \
vendor.qti.hardware.display.mapper@2.0.vendor \
vendor.qti.hardware.display.mapper@3.0.vendor \
vendor.qti.hardware.display.mapper@4.0.vendor
vendor.qti.hardware.display.mapper@4.0.vendor \
vendor.qti.hardware.memtrack-service
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml
# Dolby
PRODUCT_PACKAGES += \
libstagefright_foundation-v33 \
XiaomiDolby
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/dolby/dax-default.xml:$(TARGET_COPY_OUT_VENDOR)/etc/dolby/dax-default.xml \
$(LOCAL_PATH)/configs/media/media_codecs_dolby_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_dolby_audio.xml
PRODUCT_COPY_FILES += \
prebuilts/vndk/v33/arm/arch-arm-armv7-a-neon/shared/vndk-core/libstagefright_foundation.so:$(TARGET_COPY_OUT_VENDOR)/lib/libstagefright_foundation-v33.so \
prebuilts/vndk/v33/arm64/arch-arm64-armv8-a/shared/vndk-core/libstagefright_foundation.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libstagefright_foundation-v33.so
# DRM
PRODUCT_PACKAGES += \
android.hardware.drm@1.0.vendor \
android.hardware.drm@1.1.vendor \
android.hardware.drm@1.2.vendor \
android.hardware.drm@1.3.vendor \
android.hardware.drm-service.clearkey
android.hardware.drm-service.clearkey \
libcrypto_shim.vendor
# Enable incremental FS feature
PRODUCT_PROPERTY_OVERRIDES += ro.incremental.enable=1
# Enable blurs, hidden under dev option
PRODUCT_PRODUCT_PROPERTIES += \
ro.launcher.blur.appLaunch=0 \
ro.launcher.blur.appLaunch=1 \
ro.surface_flinger.supports_background_blur=1 \
persist.sys.sf.disable_blurs=1 \
persist.sys.sf.disable_blurs=0 \
ro.sf.blurs_are_expensive=1
# Fastbootd
@@ -203,7 +200,6 @@ PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.3.vendor \
vendor.goodix.hardware.biometrics.fingerprint@2.1.vendor
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml \
@@ -292,7 +288,7 @@ PRODUCT_PACKAGES += \
# Lights
PRODUCT_PACKAGES += \
android.hardware.lights-service.cepheus
android.hardware.light-service.lineage
# Lineage Health
PRODUCT_PACKAGES += \
@@ -305,25 +301,19 @@ PRODUCT_PACKAGES += \
# Media
PRODUCT_PACKAGES += \
libOmxAacEnc \
libOmxAmrEnc \
libOmxCore \
libOmxEvrcEnc \
libOmxG711Enc \
libOmxQcelp13Enc \
libOmxVdec \
libOmxVenc \
libstagefrighthw \
vendor.qti.hardware.capabilityconfigstore@1.0.vendor
# Media
PRODUCT_PACKAGES += \
libcodec2_vndk.vendor \
libcodec2_hidl@1.0.vendor \
libavservices_minijail \
libavservices_minijail_32 \
libavservices_minijail.vendor \
libavservices_minijail_vendor
libavservices_minijail_vendor \
libcodec2_hidl@1.0.vendor \
libcodec2_soft_common.vendor \
libcodec2_vndk.vendor \
libOmxCore \
libOmxVdec \
libOmxVenc \
libsfplugin_ccodec_utils.vendor \
libstagefrighthw \
vendor.qti.hardware.capabilityconfigstore@1.0.vendor
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
@@ -342,14 +332,9 @@ PRODUCT_COPY_FILES += \
hardware/qcom-caf/sm8150/media/conf_files/msmnile/mediacodec-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
hardware/qcom-caf/sm8150/media/conf_files/msmnile/system_properties.xml:$(TARGET_COPY_OUT_VENDOR)/etc/system_properties.xml
PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml
# MiuiCamera
TARGET_CAMERA_PACKAGE_NAME := com.android.camera
TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED := true
$(call soong_config_set,camera,override_format_from_reserved,true)
TARGET_USES_MIUI_CAMERA := true
$(call inherit-product-if-exists, vendor/xiaomi/miuicamera-cepheus/config.mk)
@@ -372,7 +357,6 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
android.hardware.nfc@1.2-service \
android.hardware.secure_element@1.2.vendor \
NfcNci \
Tag
PRODUCT_PACKAGES += \
@@ -416,9 +400,6 @@ PRODUCT_PACKAGES += \
# Partitions
PRODUCT_USE_DYNAMIC_PARTITIONS := true
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/partitions/flash_super_dummy.sh:install/bin/flash_super_dummy.sh
# Power
PRODUCT_PACKAGES += \
android.hardware.power-service.cepheus-libperfmgr \
@@ -494,6 +475,7 @@ PRODUCT_PACKAGES += \
# Soong namespaces
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH) \
bootable/deprecated-ota \
hardware/google/interfaces \
hardware/xiaomi
@@ -540,6 +522,9 @@ PRODUCT_COPY_FILES += \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/rootdir/etc/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc
# Update
AB_OTA_UPDATER := false
# USB
PRODUCT_PACKAGES += \
android.hardware.usb@1.3-service.dual_role_usb
@@ -553,9 +538,6 @@ PRODUCT_PACKAGES += \
vendor.qti.hardware.vibrator.service
# Vulkan
PRODUCT_PACKAGES += \
libvulkan
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
@@ -602,6 +584,10 @@ PRODUCT_PACKAGES += \
# WiFi Display
PRODUCT_PACKAGES += \
android.media.audio.common.types-V4-cpp \
libbinder_shim \
libgui_shim \
libinput_shim \
libnl \
libwfdaac_vendor \
vendor.qti.hardware.display.config-V5-ndk

View File

@@ -5,22 +5,23 @@
},
{
"repository": "kernel_xiaomi_cepheus",
"target_path": "kernel/xiaomi/cepheus"
"target_path": "kernel/xiaomi/cepheus",
"branch": "bka"
},
{
"repository": "hardware_xiaomi",
"target_path": "hardware/xiaomi"
},
{
"repository": "crdroidandroid/android_prebuilts_clang_host_linux-x86_clang-r530567",
"target_path": "prebuilts/clang/host/linux-x86/clang-r530567",
"branch": "14.0",
"remote": "gitlab"
},
{
"repository": "chematelegram/android_vendor_xiaomi_miuicamera",
"repository": "nhansp/android_vendor_xiaomi_miuicamera",
"target_path": "vendor/xiaomi/miuicamera-cepheus",
"branch": "leica-5.0-cepheus",
"remote": "gitlab"
},
{
"repository": "crdroidandroid/android_prebuilts_clang_host_linux-x86_clang-r547379",
"target_path": "prebuilts/clang/host/linux-x86/clang-r547379",
"branch": "15.0",
"remote": "gitlab"
}
]

View File

@@ -61,8 +61,22 @@ fi
function blob_fixup() {
case "${1}" in
vendor/lib64/hw/camera.qcom.so)
sed -i "s|libc++.so|libc29.so|g" "${2}"
;;
system_ext/lib/libwfdmmsrc_system.so)
[ "$2" = "" ] && return 0
grep -q "libgui_shim.so" "${2}" || "${PATCHELF}" --add-needed "libgui_shim.so" "${2}"
;;
system_ext/lib/libwfdservice.so)
[ "$2" = "" ] && return 0
"${PATCHELF}" --replace-needed "android.media.audio.common.types-V1-cpp.so" "android.media.audio.common.types-V4-cpp.so" "${2}"
;;
system_ext/lib64/libwfdnative.so)
patchelf --remove-needed "android.hidl.base@1.0.so" "${2}"
[ "$2" = "" ] && return 0
"${PATCHELF}" --replace-needed "android.hidl.base@1.0.so" "libhidlbase.so" "${2}"
grep -q "libbinder_shim.so" "${2}" || "${PATCHELF}" --add-needed "libbinder_shim.so" "${2}"
grep -q "libinput_shim.so" "${2}" || "${PATCHELF}" --add-needed "libinput_shim.so" "${2}"
;;
vendor/bin/mi_thermald)
sed -i 's/%d\/on/%d\/../g' "${2}"
@@ -83,6 +97,9 @@ function blob_fixup() {
vendor/lib64/libdlbdsservice.so | vendor/lib64/libstagefright_soft_ac4dec.so | vendor/lib64/libstagefrightdolby.so)
"${PATCHELF}" --replace-needed "libstagefright_foundation.so" "libstagefright_foundation-v33.so" "${2}"
;;
vendor/lib64/libwvhidl.so | vendor/lib64/mediadrm/libwvdrmengine.so)
"${PATCHELF}" --add-needed "libcrypto_shim.so" "${2}"
;;
esac
}

View File

@@ -18,6 +18,10 @@
#include <drm/sde_drm.h>
#include <compositionengine/UdfpsExtension.h>
uint32_t getUdfpsDimZOrder(uint32_t z) {
return z;
}
uint32_t getUdfpsZOrder(uint32_t z, bool touched) {
if (touched) {
z |= FOD_PRESSED_LAYER_ZORDER;

View File

@@ -1,52 +0,0 @@
// Copyright (C) 2019 The LineageOS Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
cc_binary {
relative_install_path: "hw",
defaults: ["hidl_defaults"],
name: "android.hardware.light@2.0-service.cepheus",
init_rc: ["hidl/android.hardware.light@2.0-service.cepheus.rc"],
srcs: [
"hidl/service.cpp",
"hidl/Light.cpp",
],
vendor: true,
shared_libs: [
"android.hardware.light@2.0",
"libbase",
"libhardware",
"libhidlbase",
"liblog",
"libutils",
],
}
cc_binary {
name: "android.hardware.lights-service.cepheus",
relative_install_path: "hw",
init_rc: ["aidl/android.hardware.lights.cepheus.rc"],
vintf_fragments: ["aidl/android.hardware.lights.cepheus.xml"],
vendor: true,
shared_libs: [
"libbase",
"liblog",
"libhardware",
"libbinder_ndk",
"android.hardware.light-V1-ndk",
],
srcs: [
"aidl/Lights.cpp",
"aidl/main.cpp",
],
}

View File

@@ -1,164 +0,0 @@
/*
* Copyright (C) 2019 The Android Open Source Project
* Copyright (C) 2020-2021 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#define LOG_TAG "android.hardware.lights-service_cepheus"
#include "Lights.h"
#include <android-base/file.h>
#include <android-base/logging.h>
namespace {
/* clang-format off */
#define PPCAT_NX(A, B) A/B
#define PPCAT(A, B) PPCAT_NX(A, B)
#define STRINGIFY_INNER(x) #x
#define STRINGIFY(x) STRINGIFY_INNER(x)
#define LEDS(x) PPCAT(/sys/class/leds, x)
#define WHITE_ATTR(x) STRINGIFY(PPCAT(LEDS(white), x))
/* clang-format on */
using ::android::base::ReadFileToString;
using ::android::base::WriteStringToFile;
// Default max brightness
constexpr auto kDefaultMaxLedBrightness = 255;
// Write value to path and close file.
bool WriteToFile(const std::string& path, uint32_t content) {
return WriteStringToFile(std::to_string(content), path);
}
uint32_t RgbaToBrightness(uint32_t color) {
// Extract brightness from AARRGGBB.
uint32_t alpha = (color >> 24) & 0xFF;
// Retrieve each of the RGB colors
uint32_t red = (color >> 16) & 0xFF;
uint32_t green = (color >> 8) & 0xFF;
uint32_t blue = color & 0xFF;
// Scale RGB colors if a brightness has been applied by the user
if (alpha != 0xFF) {
red = red * alpha / 0xFF;
green = green * alpha / 0xFF;
blue = blue * alpha / 0xFF;
}
return (77 * red + 150 * green + 29 * blue) >> 8;
}
inline uint32_t RgbaToBrightness(uint32_t color, uint32_t max_brightness) {
return RgbaToBrightness(color) * max_brightness / 0xFF;
}
inline bool IsLit(uint32_t color) {
return color & 0x00ffffff;
}
} // anonymous namespace
namespace aidl {
namespace android {
namespace hardware {
namespace light {
Lights::Lights() {
std::map<int, std::function<void(int id, const HwLightState&)>> lights_{
{(int)LightType::NOTIFICATIONS,
[this](auto&&... args) { setLightNotification(args...); }},
{(int)LightType::BATTERY, [this](auto&&... args) { setLightNotification(args...); }},
{(int)LightType::BACKLIGHT, {}}};
std::vector<HwLight> availableLights;
for (auto const& pair : lights_) {
int id = pair.first;
HwLight hwLight{};
hwLight.id = id;
availableLights.emplace_back(hwLight);
}
mAvailableLights = availableLights;
mLights = lights_;
std::string buf;
if (ReadFileToString(WHITE_ATTR(max_brightness), &buf)) {
max_led_brightness_ = std::stoi(buf);
} else {
max_led_brightness_ = kDefaultMaxLedBrightness;
LOG(ERROR) << "Failed to read max LED brightness, fallback to " << kDefaultMaxLedBrightness;
}
}
ndk::ScopedAStatus Lights::setLightState(int id, const HwLightState& state) {
auto it = mLights.find(id);
if (it == mLights.end()) {
LOG(ERROR) << "Light not supported";
return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
}
it->second(id, state);
return ndk::ScopedAStatus::ok();
}
ndk::ScopedAStatus Lights::getLights(std::vector<HwLight>* lights) {
for (auto i = mAvailableLights.begin(); i != mAvailableLights.end(); i++) {
lights->push_back(*i);
}
return ndk::ScopedAStatus::ok();
}
void Lights::setLightNotification(int id, const HwLightState& state) {
bool found = false;
for (auto&& [cur_id, cur_state] : notif_states_) {
if (cur_id == id) {
cur_state = state;
}
// Fallback to battery light
if (!found && (cur_id == (int)LightType::BATTERY || IsLit(cur_state.color))) {
found = true;
LOG(DEBUG) << __func__ << ": id=" << id;
applyNotificationState(cur_state);
}
}
}
void Lights::applyNotificationState(const HwLightState& state) {
uint32_t white_brightness = RgbaToBrightness(state.color, max_led_brightness_);
WriteToFile(WHITE_ATTR(breath), 0);
if (state.flashMode == FlashMode::TIMED && state.flashOnMs > 0 && state.flashOffMs > 0) {
LOG(DEBUG) << __func__ << ": color=" << std::hex << state.color << std::dec
<< " onMs=" << state.flashOnMs << " offMs=" << state.flashOffMs;
// White
WriteToFile(WHITE_ATTR(delay_off), static_cast<uint32_t>(state.flashOffMs));
WriteToFile(WHITE_ATTR(delay_on), static_cast<uint32_t>(state.flashOnMs));
WriteToFile(WHITE_ATTR(breath), 1);
} else {
WriteToFile(WHITE_ATTR(brightness), white_brightness);
}
}
} // namespace light
} // namespace hardware
} // namespace android
} // namespace aidl

View File

@@ -1,56 +0,0 @@
/*
* Copyright (C) 2020 The Android Open Source Project
* Copyright (C) 2020-2021 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include <aidl/android/hardware/light/BnLights.h>
#include <hardware/hardware.h>
#include <hardware/lights.h>
#include <map>
#include <sstream>
namespace aidl {
namespace android {
namespace hardware {
namespace light {
class Lights : public BnLights {
public:
Lights();
ndk::ScopedAStatus setLightState(int id, const HwLightState& state) override;
ndk::ScopedAStatus getLights(std::vector<HwLight>* types) override;
private:
void setLightNotification(int id, const HwLightState& state);
void applyNotificationState(const HwLightState& state);
uint32_t max_led_brightness_;
std::map<int, std::function<void(int id, const HwLightState&)>> mLights;
std::vector<HwLight> mAvailableLights;
// Keep sorted in the order of importance.
std::array<std::pair<int, HwLightState>, 2> notif_states_ = {{
{(int)LightType::NOTIFICATIONS, {}},
{(int)LightType::BATTERY, {}},
}};
};
} // namespace light
} // namespace hardware
} // namespace android
} // namespace aidl

View File

@@ -1,16 +0,0 @@
on boot
chown system system /sys/class/backlight/panel0-backlight/brightness
chown system system /sys/class/backlight/panel0-backlight/max_brightness
chown system system /sys/class/leds/white/brightness
chown system system /sys/class/leds/white/breath
chmod 0644 /sys/class/backlight/panel0-backlight/brightness
chmod 0644 /sys/class/backlight/panel0-backlight/max_brightness
chmod 0644 /sys/class/leds/white/brightness
chmod 0644 /sys/class/leds/white/breath
service vendor.light /vendor/bin/hw/android.hardware.lights-service.cepheus
class hal
user system
group system
shutdown critical

View File

@@ -1,6 +0,0 @@
<manifest version="1.0" type="device">
<hal format="aidl">
<name>android.hardware.light</name>
<fqname>ILights/default</fqname>
</hal>
</manifest>

View File

@@ -1,37 +0,0 @@
/*
* Copyright (C) 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <android-base/logging.h>
#include <android/binder_manager.h>
#include <android/binder_process.h>
#include "Lights.h"
using ::aidl::android::hardware::light::Lights;
int main() {
ABinderProcess_setThreadPoolMaxThreadCount(0);
std::shared_ptr<Lights> lights = ndk::SharedRefBase::make<Lights>();
if (!lights) {
return EXIT_FAILURE;
}
const std::string instance = std::string() + Lights::descriptor + "/default";
binder_status_t status = AServiceManager_addService(lights->asBinder().get(), instance.c_str());
CHECK(status == STATUS_OK);
ABinderProcess_joinThreadPool();
return EXIT_FAILURE; // should not reached
}

View File

@@ -1,231 +0,0 @@
/*
* Copyright (C) 2018-2019 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#define LOG_TAG "android.hardware.light@2.0-service.cepheus"
#include <log/log.h>
#include "Light.h"
#include <fstream>
#define NOTIFICATION_LED "/sys/class/leds/white/"
#define BREATH "breath"
#define BRIGHTNESS "brightness"
#define MAX_BRIGHTNESS "max_brightness"
namespace {
/*
* Write value to path and close file.
*/
static void set(std::string path, std::string value) {
std::ofstream file(path);
if (!file.is_open()) {
ALOGW("failed to write %s to %s", value.c_str(), path.c_str());
return;
}
file << value;
}
static void set(std::string path, int value) {
set(path, std::to_string(value));
}
/*
* Read max brightness from path and close file.
*/
static int getMaxBrightness(std::string path) {
std::ifstream file(path);
int value;
if (!file.is_open()) {
ALOGW("failed to read from %s", path.c_str());
return 0;
}
file >> value;
return value;
}
static uint32_t getBrightness(const LightState& state) {
uint32_t alpha, red, green, blue;
/*
* Extract brightness from AARRGGBB.
*/
alpha = (state.color >> 24) & 0xFF;
red = (state.color >> 16) & 0xFF;
green = (state.color >> 8) & 0xFF;
blue = state.color & 0xFF;
/*
* Scale RGB brightness using Alpha brightness.
*/
red = red * alpha / 0xFF;
green = green * alpha / 0xFF;
blue = blue * alpha / 0xFF;
return (77 * red + 150 * green + 29 * blue) >> 8;
}
static inline uint32_t scaleBrightness(uint32_t brightness, uint32_t maxBrightness) {
if (brightness == 0) {
return 0;
}
return (brightness - 1) * (maxBrightness - 1) / (0xFF - 1) + 1;
}
static inline uint32_t getScaledBrightness(const LightState& state, uint32_t maxBrightness) {
return scaleBrightness(getBrightness(state), maxBrightness);
}
static void handleNotification(const LightState& state) {
uint32_t whiteBrightness = getScaledBrightness(state, getMaxBrightness(NOTIFICATION_LED MAX_BRIGHTNESS));
/* Disable breathing or blinking */
set(NOTIFICATION_LED BREATH, 0);
set(NOTIFICATION_LED BRIGHTNESS, 0);
if (!whiteBrightness) {
return;
}
switch (state.flashMode) {
case Flash::HARDWARE:
case Flash::TIMED:
/* Breathing */
set(NOTIFICATION_LED BREATH, 1);
break;
case Flash::NONE:
default:
set(NOTIFICATION_LED BRIGHTNESS, whiteBrightness);
}
}
static inline bool isStateLit(const LightState& state) {
return state.color & 0x00ffffff;
}
static inline bool isStateEqual(const LightState& first, const LightState& second) {
if (first.color == second.color && first.flashMode == second.flashMode &&
first.flashOnMs == second.flashOnMs &&
first.flashOffMs == second.flashOffMs &&
first.brightnessMode == second.brightnessMode) {
return true;
}
return false;
}
/* Keep sorted in the order of importance. */
static std::vector<LightBackend> backends = {
{ Type::ATTENTION, handleNotification },
{ Type::NOTIFICATIONS, handleNotification },
{ Type::BATTERY, handleNotification },
};
static LightStateHandler findHandler(Type type) {
for (const LightBackend& backend : backends) {
if (backend.type == type) {
return backend.handler;
}
}
return nullptr;
}
static LightState findLitState(LightStateHandler handler) {
LightState emptyState;
for (const LightBackend& backend : backends) {
if (backend.handler == handler) {
if (isStateLit(backend.state)) {
return backend.state;
}
emptyState = backend.state;
}
}
return emptyState;
}
static void updateState(Type type, const LightState& state) {
for (LightBackend& backend : backends) {
if (backend.type == type) {
backend.state = state;
}
}
}
} // anonymous namespace
namespace android {
namespace hardware {
namespace light {
namespace V2_0 {
namespace implementation {
Return<Status> Light::setLight(Type type, const LightState& state) {
/* Lock global mutex until light state is updated. */
std::lock_guard<std::mutex> lock(globalLock);
LightStateHandler handler = findHandler(type);
if (!handler) {
/* If no handler has been found, then the type is not supported. */
return Status::LIGHT_NOT_SUPPORTED;
}
/* Find the old state of the current handler. */
LightState oldState = findLitState(handler);
/* Update the cached state value for the current type. */
updateState(type, state);
/* Find the new state of the current handler. */
LightState newState = findLitState(handler);
if (isStateEqual(oldState, newState)) {
return Status::SUCCESS;
}
handler(newState);
return Status::SUCCESS;
}
Return<void> Light::getSupportedTypes(getSupportedTypes_cb _hidl_cb) {
std::vector<Type> types;
for (const LightBackend& backend : backends) {
types.push_back(backend.type);
}
_hidl_cb(types);
return Void();
}
} // namespace implementation
} // namespace V2_0
} // namespace light
} // namespace hardware
} // namespace android

View File

@@ -1,68 +0,0 @@
/*
* Copyright (C) 2018 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ANDROID_HARDWARE_LIGHT_V2_0_LIGHT_H
#define ANDROID_HARDWARE_LIGHT_V2_0_LIGHT_H
#include <android/hardware/light/2.0/ILight.h>
#include <hardware/lights.h>
#include <hidl/Status.h>
#include <map>
#include <mutex>
#include <vector>
using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::hardware::light::V2_0::Flash;
using ::android::hardware::light::V2_0::ILight;
using ::android::hardware::light::V2_0::LightState;
using ::android::hardware::light::V2_0::Status;
using ::android::hardware::light::V2_0::Type;
typedef void (*LightStateHandler)(const LightState&);
struct LightBackend {
Type type;
LightState state;
LightStateHandler handler;
LightBackend(Type type, LightStateHandler handler) : type(type), handler(handler) {
this->state.color = 0xff000000;
}
};
namespace android {
namespace hardware {
namespace light {
namespace V2_0 {
namespace implementation {
class Light : public ILight {
public:
Return<Status> setLight(Type type, const LightState& state) override;
Return<void> getSupportedTypes(getSupportedTypes_cb _hidl_cb) override;
private:
std::mutex globalLock;
};
} // namespace implementation
} // namespace V2_0
} // namespace light
} // namespace hardware
} // namespace android
#endif // ANDROID_HARDWARE_LIGHT_V2_0_LIGHT_H

View File

@@ -1,18 +0,0 @@
on boot
chown system system /sys/class/backlight/panel0-backlight/brightness
chown system system /sys/class/backlight/panel0-backlight/max_brightness
chown system system /sys/class/leds/white/brightness
chown system system /sys/class/leds/white/breath
chmod 0644 /sys/class/backlight/panel0-backlight/brightness
chmod 0644 /sys/class/backlight/panel0-backlight/max_brightness
chmod 0644 /sys/class/leds/white/brightness
chmod 0644 /sys/class/leds/white/breath
service vendor.light-hal-2-0 /vendor/bin/hw/android.hardware.light@2.0-service.cepheus
interface android.hardware.light@2.0::ILight default
class hal
user system
group system
# shutting off lights while powering-off
shutdown critical

View File

@@ -1,50 +0,0 @@
/*
* Copyright (C) 2018 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#define LOG_TAG "android.hardware.light@2.0-service.cepheus"
#include <hidl/HidlTransportSupport.h>
#include "Light.h"
using android::hardware::configureRpcThreadpool;
using android::hardware::joinRpcThreadpool;
using android::hardware::light::V2_0::ILight;
using android::hardware::light::V2_0::implementation::Light;
using android::OK;
using android::sp;
using android::status_t;
int main() {
sp<ILight> service = new Light();
configureRpcThreadpool(1, true);
status_t status = service->registerAsService();
if (status != OK) {
ALOGE("Cannot register Light HAL service.");
return 1;
}
ALOGI("Light HAL service ready.");
joinRpcThreadpool();
ALOGI("Light HAL service failed to join thread pool.");
return 1;
}

View File

@@ -24,10 +24,10 @@ $(call inherit-product, device/xiaomi/cepheus/device.mk)
# Inherit some common EvolutionX stuff.
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
TARGET_BOOT_ANIMATION_RES := 1080
TARGET_DISABLE_EPPE := true
TARGET_HAS_UDFPS := true
BUILD_SEEDVAULT := true
TARGET_BOOT_ANIMATION_RES := 1080
TARGET_HAS_UDFPS := true
TARGET_INCLUDE_ACCORD = false
TARGET_USES_MINI_GAPPS := true
# Device identifier

View File

@@ -1,20 +0,0 @@
#!/system/bin/sh
#
# Copyright (C) 2021 The PixelExperience Project
#
# SPDX-License-Identifier: Apache-2.0
#
SUPER="/dev/block/by-name/system"
mkdir /tmp/super-mnt
mount $SUPER /tmp/super-mnt 2>/dev/null
if [ "$?" = "0" ]; then
echo "Detected stock /system in super partition, flashing super_dummy.img!"
umount /tmp/super-mnt
dd if=/tmp/super_dummy.img of=$SUPER
fi
rmdir /tmp/super-mnt

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2015-2016 The CyanogenMod Project
2017-2018 The LineageOS Project
2017-2021, 2025 The LineageOS Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -83,16 +83,23 @@
android:theme="@style/Theme.SubSettingsBase">
<intent-filter>
<action android:name="com.android.settings.action.IA_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="com.android.settings.category"
android:value="com.android.settings.category.ia.battery" />
android:value="com.android.settings.category.ia.system" />
<meta-data
android:name="com.android.settings.icon"
android:resource="@drawable/ic_settings_thermal" />
<meta-data
android:name="com.android.settings.icon_tintable"
android:value="true" />
<meta-data
android:name="com.android.settings.order"
android:value="-255" />
<meta-data
android:name="com.android.settings.summary"
android:resource="@string/thermal_summary" />
<meta-data
android:name="com.android.settings.order"
android:value="1" />
</activity>
</application>

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M15,13L15,5c0,-1.66 -1.34,-3 -3,-3S9,3.34 9,5v8c-1.21,0.91 -2,2.37 -2,4 0,2.76 2.24,5 5,5s5,-2.24 5,-5c0,-1.63 -0.79,-3.09 -2,-4zM11,5c0,-0.55 0.45,-1 1,-1s1,0.45 1,1h-1v1h1v2h-1v1h1v2h-2L11,5z"/>
</vector>

View File

@@ -1,5 +1,5 @@
# Camera
vendor.camera.aux.packagelist=com.android.camera,org.pixelexperience.faceunlock,org.lineageos.aperture
vendor.camera.aux.packagelist=com.android.camera,co.aospa.sense,org.lineageos.aperture
persist.camera.sat.fallback.dist.d=10
persist.camera.sat.fallback.dist=40
persist.camera.sat.fallback.lux.d=50
@@ -88,13 +88,12 @@ persist.radio.volte.dan_support=true
# SurfaceFlinger
ro.surface_flinger.max_frame_buffer_acquired_buffers=3
debug.sf.use_phase_offsets_as_durations=1
debug.sf.late.sf.duration=10500000
debug.sf.late.app.duration=20500000
debug.sf.early.sf.duration=16000000
debug.sf.early.app.duration=16500000
debug.sf.earlyGl.sf.duration=13500000
debug.sf.earlyGl.app.duration=21000000
debug.sf.enable_advanced_sf_phase_offset=1
debug.sf.enable_transaction_tracing=false
debug.sf.high_fps_early_gl_phase_offset_ns=-4000000
debug.sf.high_fps_early_phase_offset_ns=-4000000
debug.sf.high_fps_late_app_phase_offset_ns=1000000
debug.sf.high_fps_late_sf_phase_offset_ns=-4000000
ro.surface_flinger.protected_contents=true
# WiFi

View File

@@ -77,9 +77,6 @@ vendor/lib64/soundfx/libqcbassboost.so
vendor/lib64/soundfx/libqcreverb.so
vendor/lib64/soundfx/libqcvirt.so
vendor/lib64/soundfx/libshoebox.so
vendor/lib64/soundfx/libswdap.so
vendor/lib64/soundfx/libswgamedap.so
vendor/lib64/soundfx/libswvqe.so
# Audio (Configs)
vendor/etc/audio_configs.xml
@@ -203,7 +200,6 @@ vendor/lib64/libsns_registry_skel.so
vendor/lib64/libSuperSensor.so
vendor/lib64/libSuperSensorCPU.so
vendor/lib64/libswregistrationalgo.so
vendor/lib64/libswvdec.so
vendor/lib64/libtriplecam_optical_zoom_control.so
vendor/lib64/libtriplecam_video_optical_zoom.so
vendor/lib64/libVDClearShot.so
@@ -439,31 +435,9 @@ vendor/etc/qdcm_calib_data_samsung_ea8076_fhd_cmd_dsi_panel.xml|b7f87b7987de1692
vendor/etc/sdr_config.cfg
# Dolby - from rhode
odm/bin/hw/vendor.dolby_v3_6.hardware.dms360@2.0-service|da39a3ee5e6b4b0d3255bfef95601890afd80709
system_ext/app/MotoSignatureApp/MotoSignatureApp.apk|98027bccd4ec14cb7887cde068e35f6b0ecd0a44
system_ext/etc/permissions/com.motorola.frameworks.core.addon.xml|b98f53235c8d4c1962d3b279840e2a074d0ddd10
system_ext/etc/permissions/com.motorola.motosignature.xml|e94cdcfd1b92b6bd1d0b53c3c2ed8bffe362e6ac
system_ext/etc/permissions/com.motorola.software.dolbyui.xml|d5c25b2522094346257a5ff0f4317c992b54d1fc
system_ext/etc/permissions/moto-checkin.xml|373f75676a0ac7915f5bc49ec43fd99c38dd9c1b
system_ext/etc/permissions/moto-settings.xml|f2a2703b62777c88e3a161a0d2a75d72f90d5007
system_ext/etc/permissions/moto.xml|5521a530e243f6e5e928018320d4e9b819134fbb
system_ext/etc/permissions/privapp-com.dolby.daxservice.xml|56da6dd095fba323ddf6951075995ba56c5f3f2f
system_ext/etc/permissions/privapp-com.motorola.android.providers.settings.xml|44bd70f7309ad6407d43391bcdb5b7e05ae8c363
system_ext/etc/permissions/privapp-com.motorola.dolby.dolbyui.xml|d7f762731e3302ce553bf22a99aaeec312f65c0a
system_ext/etc/sysconfig/config-com.dolby.daxservice.xml|f2955d9e3d5f75b40fdc8229243828f0c1c163de
system_ext/etc/sysconfig/config-com.motorola.android.providers.settings.xml|1f804d789dd7c8b7657a6f07e23bcac1ce5c701c
system_ext/etc/sysconfig/config-com.motorola.dolby.dolbyui.xml|0131f1a5a5c2d2fc09a6bc75ff4e25b74785ec2a
system_ext/etc/sysconfig/config-com.motorola.motosignature.app.xml|5b2c138d4be962f052700fb3ca00d822bbf836da
system_ext/framework/com.motorola.frameworks.core.addon.jar|8431ff519b0a3e02411a0096898ee8acb372b9b7
system_ext/framework/com.motorola.motosignature.jar|1607b24909a030ddec7f05b91356e6b2d76c0b6b
system_ext/framework/moto-checkin.jar|989119b230c01ba95341d29de45e38120a68f394
system_ext/framework/moto-settings.jar|0ebdf871ededa1eb9c5186bdb4a9055d89594779
system_ext/framework/moto.jar|6c797a7f205f2ce5d939c000f21c6625daf0c33f
system_ext/priv-app/MotoDolbyDax3/MotoDolbyDax3.apk;OVERRIDES=MusicFX|a92d3fa37918fb27eae645da1746c0eaf195fc09
system_ext/priv-app/MotorolaSettingsProvider/MotorolaSettingsProvider.apk|25deb5bdb18d55dee1b9bd1de2ba46e353c62780
system_ext/priv-app/daxService/daxService.apk|7df2fd75a92d942164ae713f5b70f853f98c95f0
vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service|8215768638794162db3bb76e43045926fcbb4b0b
vendor/etc/init/vendor.dolby.hardware.dms@2.0-service.rc|29296ebfe89b2697fec573be73cc3757fd97bed6
vendor/etc/vintf/manifest/manifest_vendor.dolby.hardware.dms.xml
vendor/lib/soundfx/libswdap.so|810d0e266e4a77f06cba72fe8bdde2e1ede4f9f9
vendor/lib/soundfx/libswgamedap.so|c7d35eb932ecffb384ec62628404df3406b63919
vendor/lib/soundfx/libswvqe.so|3009202dcdd5b8fadb9c43a8cf5f0fe1c28311a6
@@ -471,17 +445,9 @@ vendor/lib/libdapparamstorage.so|ce5f2fadc1e7d3811d73d49f64254b7054a57259
vendor/lib/libdeccfg.so|050de5edb5fb7dabba9b59bfafcb5a1366285d3c
vendor/lib/libstagefright_soft_ac4dec.so|8e42b8c6a145cbc2d844e1609d5415faf739d3ec
vendor/lib/libstagefright_soft_ddpdec.so|b9e1aadc1c8cf7d709130d36b9c30a1f6f649b5a
vendor/lib/libstagefrightdolby.so|1c13964cd6919e9947cf1451a77baf12ccd83810
vendor/lib/vendor.dolby.hardware.dms@2.0.so|aaf98796bfa8b384e2b5e162214ca46f6eca5dbc
vendor/lib64/soundfx/libswdap.so|e996ee1d421b3b2cf74f3f3ed93bff067d83dddb
vendor/lib64/soundfx/libswgamedap.so|c898fd5b51312c5fafa693ca037423c5bae23101
vendor/lib64/soundfx/libswvqe.so|08394e1ac285479213604c35cb144147fdac68c0
vendor/lib64/libdapparamstorage.so|7549aeba2b7041b472ffc1f5fd39a56e4be64a2b
vendor/lib64/libdeccfg.so|3a63582be7dea50ae10c0543f68e3bce592a3877
vendor/lib64/libdlbdsservice.so|8d070318884f02e50ad1831bb29f8bde6af33168
vendor/lib64/libstagefright_soft_ac4dec.so|d8d2dd47ca0552d4e1c5df7ad9b3becfd6d43179
vendor/lib64/libstagefright_soft_ddpdec.so|9f921ef725bdd1edc26b484df86b10e2909f760b
vendor/lib64/libstagefrightdolby.so|319814f3d8968e002bc1591b8e90e6eda745f79b
vendor/lib64/vendor.dolby.hardware.dms@2.0-impl.so|92eb0a2b730810881288119fc4d038f52870acd1
vendor/lib64/vendor.dolby.hardware.dms@2.0.so|a93b5cf33ae57387a2d32686520a0d1dd5d10dcc
@@ -638,50 +604,45 @@ vendor/etc/lowi.conf
vendor/etc/sap.conf
vendor/etc/xtwifi.conf
# Graphics (Adreno) - from LA.UM.9.14.r1-20200-LAHAINA.QSSI13.0
vendor/gpu/kbc/sequence_manifest.bin|cc050a8058904871b3cfabec74521d42f0a61a1f
vendor/gpu/kbc/unified_kbcs_32.bin|503228f87adc71131aa8134659b00dffe073e973
vendor/gpu/kbc/unified_kbcs_64.bin|d63c26959dc02b2efc251953e99dc6e7c32e7f6e
vendor/gpu/kbc/unified_ksqs.bin|8f77dc004796d58acb959e78f4994c5d6b90baef
vendor/lib/egl/eglSubDriverAndroid.so|cac529f4cc2381fc8985caded98dc7236d0de43f
vendor/lib/egl/libEGL_adreno.so;SYMLINK=vendor/lib/libEGL_adreno.so|c841ec471e3d40b541862c1b0a1d16fd56463cfa
vendor/lib/egl/libGLESv1_CM_adreno.so|5ab7196d4c8ae861ff484cb6b1f4b5ac3c9738b4
vendor/lib/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib/libGLESv2_adreno.so|82a74dc9dacd981a8974227048a87d1b3405ccbe
vendor/lib/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib/libq3dtools_adreno.so|994551fb9b829caf80bb7a8f84b4b89cb3104ed9
vendor/lib/egl/libq3dtools_esx.so|997559069f3246f908f8acc54147b5e763c04e12
vendor/lib/hw/vulkan.adreno.so|3c5fc46d3360688f198aa732bd265d655bbba1d5
vendor/lib/libC2D2.so|1c89e545a5dabc94d27db32031594a792d91d6fd
vendor/lib/libVkLayer_q3dtools.so|19d40e4c5c6104e889acfff640ed9b68b02a8032
vendor/lib/libadreno_app_profiles.so|eccf8e1bbf63d7524435f9bd30139b9a70cd935d
vendor/lib/libadreno_utils.so|9e34c9d9a6859e682f9179d52e239d771423743c
vendor/lib/libc2d30_bltlib.so|5dce0e76e03b9cac4fc1f104524625a6f561fe91
vendor/lib/libgpudataproducer.so|9eb0f507b3badccfb0e10e9e9fe9a8c7df231d8e
vendor/lib/libgsl.so|1251cef304314c8a924f86df0757a895847bee80
vendor/lib/libllvm-glnext.so|a9a11644abb8bd8bdddf4db02b3e7777d8ddbb83
vendor/lib64/egl/eglSubDriverAndroid.so|ac9099723b30614cf7c61c667204a392959694db
vendor/lib64/egl/libEGL_adreno.so;SYMLINK=vendor/lib64/libEGL_adreno.so|2fe7c58e7f040637f201cdfbfdaa8b8257daa514
vendor/lib64/egl/libGLESv1_CM_adreno.so|b9e14710b9c2be024e1fdf77d60266423e484047
vendor/lib64/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib64/libGLESv2_adreno.so|2aacde9712052563c4b998ea5ac57018db1e2220
vendor/lib64/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib64/libq3dtools_adreno.so|172810bc218ab55fe95f628ab1c0d37833eb0021
vendor/lib64/egl/libq3dtools_esx.so|abe73a7c9a90ad1c80d8ad8f5c942b902623e4f0
vendor/lib64/hw/vulkan.adreno.so|ef355a774941620917f1ba1f0b48c9193091aad4
vendor/lib64/libC2D2.so|0b4aa67ef7e86df61a1bfd7dfd4680e0f0d7104c
vendor/lib64/libCB.so|cb69d5aa6cccd485774c8aea499dcd5b708af1cf
vendor/lib64/libOpenCL.so|76d6d5f9e89d896665fdd06cbede3e21c92c8068
vendor/lib64/libVkLayer_q3dtools.so|0013a3267134a2a7a4005680e8f6c2dbcafaa898
vendor/lib64/libadreno_app_profiles.so|afa234cba7947e2d49da3ab649f9b5555a6cac06
vendor/lib64/libadreno_utils.so|db15cf1f9edafe62a36b1dbb79ad45e56220dcd4
vendor/lib64/libc2d30_bltlib.so|da219e655056ca4a765ce3f6cf2b992d75088269
vendor/lib64/libgpudataproducer.so|3c12f4ee9e9df7cdfb586f20009cc69a313b5199
vendor/lib64/libgsl.so|c9f0c740054d1360c2e59af32725ed16f239155d
vendor/lib64/libkcl.so|505c6488d7c2c34ac6bcc578e6e90098553e5f4f
vendor/lib64/libkernelmanager.so|6e34cfed1b61ef27ac3740cf477e1ed836695513
vendor/lib64/libllvm-glnext.so|10ce1497960c732b8077cc1bd42e3d8dba96e943
vendor/lib64/libllvm-qcom.so|01c37f8efc8362168666fc811082dbbee14fbcbd
# Graphics (Vulkan) - from LA.UM.9.14.r1-18900-LAHAINA.QSSI12.0
vendor/lib/hw/vulkan.adreno.so|ca43eefab537c1ee8ec4bb9dbae06331f2bd872b
vendor/lib64/hw/vulkan.adreno.so|3e981baca903027296ddccfc4b7fb73e4c190d90
# Graphics - from Xiaomi/nabu/nabu:11/RKQ1.200826.002/V13.0.3.0.RKXCNXM:user/release-keys
vendor/lib/egl/eglSubDriverAndroid.so;SYMLINK=vendor|a9d540641ac06335bf3689926da50d0408e2863e
vendor/lib/egl/libEGL_adreno.so|f77d54d08edbbf13add12518338ff389c873e1cd
vendor/lib/egl/libGLESv1_CM_adreno.so|f85c647f07feb5e850426b8b04107e6fcbe73a42
vendor/lib/egl/libGLESv2_adreno.so;SYMLINK=vendor|bbbf71932164655ecb2126b907e1d9cb2d897ebb
vendor/lib/egl/libq3dtools_adreno.so;SYMLINK=vendor|89416a47b7105de1e81d0540c6e2a82ae33b4dda
vendor/lib/egl/libq3dtools_esx.so|bfbd1e76dc1f81039ffebd6b7534be52173c349d
vendor/lib/hw/vulkan.adreno.so|bafd65cc8786aeb5bdc12e3c8db09fecdbcb2d01
vendor/lib/libC2D2.so|bf22239cc4a003a6cd1b3e273f60dc37e4d51730
vendor/lib/libCB.so|e638447c45228dcb6979e3031da8b3e966dd7482
vendor/lib/libOpenCL.so|a8a3952c475cf214fec74c324e540ee800ee9727
vendor/lib/libVkLayer_q3dtools.so|c9953ac8a64b9b9a31173c56812bead633a7d379
vendor/lib/libadreno_app_profiles.so|a463e2d1f105099ee361bed0ca20c97e29a645c0
vendor/lib/libadreno_utils.so|0ca6ab39e2757c6c1647682047ca221bd8d1e937
vendor/lib/libc2d30_bltlib.so|d1f37cf4d50619f59c5b199893fa93f134973647
vendor/lib/libgpudataproducer.so|2f3348614ea21ed4548154d0ab52ca2256d28e80
vendor/lib/libgsl.so|3e919532b22d1ba53a9f6141fdb3a9fbd1901f43
vendor/lib/libllvm-glnext.so|caf1127450a30dfd034398cf142525f505071944
vendor/lib/libllvm-qcom.so|f7ee34774bbdb3e01a5ecaf9e98ac8f924b710f9
vendor/lib/libpvr.so|a1f1896b9f50223a9285d3496b8f9bcfa98d004d
vendor/lib64/egl/eglSubDriverAndroid.so;SYMLINK=vendor|c950953ab821212322c44497c40f7bec912620a7
vendor/lib64/egl/libEGL_adreno.so|066dc49939ceec71978268737f3a32c8f2aeddf2
vendor/lib64/egl/libGLESv1_CM_adreno.so|a5ee6c77ea24be2423f661eeddfc868d279d4378
vendor/lib64/egl/libGLESv2_adreno.so;SYMLINK=vendor|e349a692959c6715da4b35e84c82c0eee4b01e00
vendor/lib64/egl/libq3dtools_adreno.so;SYMLINK=vendor|0edfcd0c063a82a4ab29542243a0f842632f31ee
vendor/lib64/egl/libq3dtools_esx.so|8ba3d0cbe51dff3b860cca48dcd294ccd0816e18
vendor/lib64/hw/vulkan.adreno.so|c00dfeefef27d950de5a10234cf78b4614521939
vendor/lib64/libC2D2.so|21a3b027b0857ee910f9db3e7558f35aafaadef5
vendor/lib64/libCB.so|b578472884e1edf149e9b92d1f518f4de7a6f4d2
vendor/lib64/libOpenCL.so|688a3a5f3fbece3eddc031e326aa0e3a7e58a091
vendor/lib64/libVkLayer_q3dtools.so|5ddfe2401db02f851d6472a7ba57c5fc67923675
vendor/lib64/libadreno_app_profiles.so|cc800fc022c229631a3878c956ad8febf853833d
vendor/lib64/libadreno_utils.so|af5daa45d0ba961541dc0072f2fe01fee059577f
vendor/lib64/libc2d30_bltlib.so|870b3b1950b3c918ba73292630d2a3dd1249dda7
vendor/lib64/libgpudataproducer.so|a2ebbc621637de0a63b5a6663b02575cb394fcda
vendor/lib64/libgsl.so|e8bcce903c5b03799a8e6c0c868efc0e2c356167
vendor/lib64/libllvm-glnext.so|49d28aaf3f7fa559e29a6735ca74cffb20e8eabd
vendor/lib64/libllvm-qcom.so|ac78556c1a76cd9a7033d775e8f1ba4393b630df
vendor/lib64/libpvr.so|cbbe058bf1acb4d688086a33d59a8023d6a24799
# Graphics (firmware)
vendor/firmware/a612_rgmu.bin
@@ -756,22 +717,8 @@ vendor/bin/vppservice
vendor/etc/configstore/vpp.configstore.xml
vendor/etc/init/vendor.qti.media.c2@1.0-service.rc
vendor/etc/init/vppservice.rc
vendor/lib/libdsd2pcm.so
vendor/lib/libmmosal.so
vendor/lib/libMpeg4SwEncoder.so
vendor/lib/libOmxAacDec.so
vendor/lib/libOmxAlacDec.so
vendor/lib/libOmxAlacDecSw.so
vendor/lib/libOmxAmrDec.so
vendor/lib/libOmxAmrwbplusDec.so
vendor/lib/libOmxApeDec.so
vendor/lib/libOmxApeDecSw.so
vendor/lib/libOmxDsdDec.so
vendor/lib/libOmxEvrcDec.so
vendor/lib/libOmxG711Dec.so
vendor/lib/libOmxQcelp13Dec.so
vendor/lib/libOmxVpp.so
vendor/lib/libOmxWmaDec.so
vendor/lib/libqcodec2.so
vendor/lib/libvppclient.so
vendor/lib/libvpphcp.so
@@ -779,7 +726,6 @@ vendor/lib/libvpphvx.so
vendor/lib/libvpplibrary.so
vendor/lib/vendor.qti.hardware.vpp@1.1.so
vendor/lib/vendor.qti.hardware.vpp@1.2.so
vendor/lib64/libMpeg4SwEncoder.so
vendor/lib64/libmmosal.so
vendor/lib64/libvppclient.so
vendor/lib64/libvpphcp.so
@@ -791,8 +737,6 @@ vendor/lib64/vendor.qti.hardware.vpp@1.3.so
# Media-Hardware
vendor/lib/libarbitrarybytes.so
vendor/lib/libOmxSwVdec.so
vendor/lib/libOmxSwVencMpeg4.so
vendor/lib/libstagefrighthw.so
# Misc
@@ -925,7 +869,6 @@ vendor/lib64/libril-qc-hal-qmi.so
vendor/lib64/libril-qc-logger.so
vendor/lib64/libril-qc-ltedirectdisc.so
vendor/lib64/libril-qc-radioconfig.so
vendor/lib64/libril-qcril-hook-oem.so
vendor/lib64/librilqmiservices.so
vendor/lib64/libsettings.so
vendor/lib64/libsystem_health_mon.so
@@ -1055,7 +998,6 @@ vendor/etc/init/init.vendor.sensors.rc
vendor/etc/init/vendor.sensors.sscrpcd.rc
vendor/etc/init/vendor.sensors.qti.rc
vendor/etc/sensors/hals.conf
vendor/lib/sensors.mius.proximity.so
vendor/lib64/libnotifyaudiohal.so
vendor/lib64/libsensorslog.so
vendor/lib64/libsns_fastRPC_util.so
@@ -1065,7 +1007,6 @@ vendor/lib64/libsnsdiaglog.so
vendor/lib64/libssc.so
vendor/lib64/libultrasound.so
vendor/lib64/sensors.elliptic.so
vendor/lib64/sensors.mius.proximity.so
vendor/lib64/sensors.ssc.so
vendor/lib64/sensors.touch.so
@@ -1116,7 +1057,7 @@ vendor/etc/sensors/config/vl53l1_tof_0.json
vendor/etc/sensors/sns_reg_config
# Soter
-app/SoterService/SoterService.apk
-vendor/app/SoterService/SoterService.apk
vendor/bin/hw/vendor.qti.hardware.soter@1.0-service
vendor/etc/init/vendor.qti.hardware.soter@1.0-service.rc
vendor/lib64/hw/vendor.qti.hardware.soter@1.0-impl.so
@@ -1149,25 +1090,26 @@ vendor/bin/hw/vendor.qti.hardware.tui_comm@1.0-service-qti
vendor/etc/init/vendor.qti.hardware.tui_comm@1.0-service-qti.rc
vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so
# WiFi Display (system) - from qssi-user-14-UKQ1.230804.001-2309192131-release-keys
-system/framework/WfdCommon.jar|08bf9850ac45396fe753e208c4d63ec43389dce2
# WiFi Display (system) - from KB2005 14.0.0.602(EX01)
system/framework/WfdCommon.jar|a661c494d064b79a3f71579592411fada1ea232f
system_ext/bin/wfdservice|400d123df78c1ed2e9643ff3ddf5ee5748f954fe
system_ext/etc/init/wfdservice.rc|907def8565d8f91f531ca7dfad880af05d540b0c
system_ext/etc/permissions/wfd-system-ext-privapp-permissions-qti.xml|10dcd4e58f0652d800d48ae5b76e4fab43fda214
system_ext/etc/seccomp_policy/wfdservice.policy|37994de64d6bd127898bd556cd614db459fe07ec
system_ext/etc/seccomp_policy/wfdservice.policy|5b3592c965f16b2d55ac89d56d8d3c49a6b5800b
system_ext/etc/wfdconfigsink.xml|cb78df66948314a75080a4161321fb3111a0785a
system_ext/lib/com.qualcomm.qti.wifidisplayhal@1.0.so|cb88bc73bf9f44d7da000a41d38b309ffdf71370
system_ext/lib/libmmrtpdecoder.so|4fc76315f11ff5fe416f36b66c9422ef05eae182
system_ext/lib/libmmrtpencoder.so|0fa2096eec29eec395f6bd88d7d1049a127e090c
system_ext/lib/libwfdavenhancements.so|6b17a4e265fedb563f18b867292dcacf1913bf9e
system_ext/lib/libwfdavenhancements.so|581db496334d2adb76e6c6af67620f49ca24eabd
system_ext/lib/libwfdclient.so|a9639d9f269880700bac6fc06e8302702fb0ab32
system_ext/lib/libwfdcommonutils.so|b738182e77f3e7faf72460f09ebdfca7de5e0c23
system_ext/lib/libwfdconfigutils.so|0d647652ef3c3b7e5f70134077a6fbc4269097ee
system_ext/lib/libwfdconfigutils.so|a52a96e2699f3a5ad79838e356cd90838e26218b
system_ext/lib/libwfddisplayconfig.so|f46fe63fb3d58c143dc92741a962167af3d8b928
system_ext/lib/libwfdmminterface.so|5844114d7cc823090a70fe4f44cbda0ddf585ebd
system_ext/lib/libwfdmmsink.so|d3f2190802077f4de4062d110077fbae893934f0
system_ext/lib/libwfdmmsrc_system.so|9e8628fd9ede4882fa878bd09109df2d21384b02
system_ext/lib/libwfdmmsink.so|23fb5c836fc06865b229c30b46998e41c0624dac
system_ext/lib/libwfdmmsrc_system.so|0adfc69a5560158f3a6803ba720acc795d6d05dc|f4395e4a22bed41fdbe86c988caba7d46cf0c8bf
system_ext/lib/libwfdrtsp.so|afd69963c2bd59bdb3ff23e01710c61ed90c5d87
system_ext/lib/libwfdservice.so|41857e76e67210127909f67aa4f68398a6221459
system_ext/lib/libwfdservice.so|07e6d0e00393a8c068f75b46531d2e75fdaebde2|679e2cb2b25374a57dfd860286da96abeee04f36
system_ext/lib/libwfdsinksm.so|875171cc6ae534dd941eec1c87b78d5961e19c06
system_ext/lib/libwfduibcinterface.so|e90fa4920b010bd6ef2bd78c2d2644cbd0fcbffa
system_ext/lib/libwfduibcsink.so|91af548471c395a958e6155dd9be19cccbe482d3
@@ -1175,15 +1117,16 @@ system_ext/lib/libwfduibcsinkinterface.so|bc0e7dca28d1e5cbc6caf5bd5378f3e6db3b46
system_ext/lib/libwfduibcsrc.so|a0b1c73015c449468db0d2776fdfcc56dfeee53b
system_ext/lib/libwfduibcsrcinterface.so|2e24ec6a075407664488b4214eef35cb2ca845f4
system_ext/lib/vendor.qti.hardware.wifidisplaysession@1.0.so|45a0a8cd9f1aa5cbe69b113192d42bc42e32e9c3
system_ext/lib64/libmmparser_lite.so|59d550a52773722f1fe515bd5fba86918cf6f54e
system_ext/lib64/libmmrtpdecoder.so|0da526d51135ea58236ab6bcc2d1b7484931df24
system_ext/lib64/libmmrtpencoder.so|fafe00d1ed3d691c6d2c2d963144218764cad5ae
system_ext/lib64/libwfdclient.so|0070b1e88cee6ebaf17dcb02c2706232cc087071
system_ext/lib64/libwfdcommonutils.so|14b3bd86703f2aca0abb1232d2304e626c1af644
system_ext/lib64/libwfdconfigutils.so|a67a7f1a48a94680f66f9fe07ab7cac7af1bafe9
system_ext/lib64/libwfdconfigutils.so|6f1a3a862ddde4245ea58ad310101df620d3a00b
system_ext/lib64/libwfddisplayconfig.so|5fd7bf7abaedfe890442f88183c49755b25c39aa
system_ext/lib64/libwfdmminterface.so|3f16acefbe87741a5841c1c70cf74ff917299c4c
system_ext/lib64/libwfdmmsink.so|12171731915c162b3b27a8be4eadc4f29bab54b9
system_ext/lib64/libwfdnative.so;SYMLINK=system_ext/priv-app/WfdService/lib/arm64/libwfdnative.so|ca03cea1eb26130d97af8fe432c12ea35cb2ceba
system_ext/lib64/libwfdmmsink.so|8150b750357b606475521b491f78d566673f9888
system_ext/lib64/libwfdnative.so;SYMLINK=system_ext/priv-app/WfdService/lib/arm64/libwfdnative.so|92ec61d464c07d9e9020cf413489cdc01fb19abc|b05d302786751221114b087b97b56181b9596102
system_ext/lib64/libwfdrtsp.so|8181e44d7c1f722218fabd8fe3bf788454a3f586
system_ext/lib64/libwfdsinksm.so|c4d68ecbe0accd24296c18444e5a82b6a24be8d8
system_ext/lib64/libwfduibcinterface.so|dca32fe063bdba7ce3b131b16cf112b793ae03ad
@@ -1191,8 +1134,7 @@ system_ext/lib64/libwfduibcsink.so|63ea93b1a6aec75a294baf50007270807a819e21
system_ext/lib64/libwfduibcsinkinterface.so|39c123bd9a4d7a8fa317f8ed4d86972dcfab0423
system_ext/lib64/libwfduibcsrc.so|5557f3bd58c37b7e3b28e13f2f86d55930b14ab6
system_ext/lib64/libwfduibcsrcinterface.so|77cead9bf7b60384fe1e11dc2b25bd99af0b4608
system_ext/lib64/vendor.qti.hardware.wifidisplaysession@1.0.so|67a10e8e42fd0cfc0a0a3246a4740e4ed37b3506
system_ext/priv-app/WfdService/WfdService.apk|cd09bfd8351d99e8cedca14f761352fc1831ac06
system_ext/priv-app/WfdService/WfdService.apk|7191da7d336f6018ee292af4e69167677b9f5bd1
# WiFi Display (vendor) - from LA.UM.9.1.r1-12900-SMxxx0.0
vendor/bin/wfdhdcphalservice|40c3d329f49cbb56286d6a550cc8b12ac95048df

View File

@@ -17,36 +17,22 @@
import common
import re
def FullOTA_InstallBegin(info):
input_zip = info.input_zip
AddImage(info, "RADIO", input_zip, "super_dummy.img", "/tmp/super_dummy.img");
info.script.AppendExtra('package_extract_file("install/bin/flash_super_dummy.sh", "/tmp/flash_super_dummy.sh");')
info.script.AppendExtra('set_metadata("/tmp/flash_super_dummy.sh", "uid", 0, "gid", 0, "mode", 0755);')
info.script.AppendExtra('run_program("/tmp/flash_super_dummy.sh");')
return
def FullOTA_InstallEnd(info):
input_zip = info.input_zip
OTA_InstallEnd(info, input_zip)
OTA_InstallEnd(info)
return
def IncrementalOTA_InstallEnd(info):
input_zip = info.target_zip
OTA_InstallEnd(info, input_zip)
OTA_InstallEnd(info)
return
def AddImage(info, dir, input_zip, basename, dest):
path = dir + "/" + basename
if path not in input_zip.namelist():
return
def AddImage(info, basename, dest):
name = basename
data = info.input_zip.read("IMAGES/" + basename)
common.ZipWriteStr(info.output_zip, name, data)
info.script.AppendExtra('package_extract_file("%s", "%s");' % (name, dest))
data = input_zip.read(path)
common.ZipWriteStr(info.output_zip, basename, data)
info.script.Print("Flashing {} image".format(dest.split('/')[-1]))
info.script.AppendExtra('package_extract_file("%s", "%s");' % (basename, dest))
def OTA_InstallEnd(info, input_zip):
def OTA_InstallEnd(info):
info.script.Print("Patching dtbo and vbmeta images...")
AddImage(info, "IMAGES", input_zip, "dtbo.img", "/dev/block/bootdevice/by-name/dtbo")
AddImage(info, "IMAGES", input_zip, "vbmeta.img", "/dev/block/bootdevice/by-name/vbmeta")
AddImage(info, "dtbo.img", "/dev/block/bootdevice/by-name/dtbo")
AddImage(info, "vbmeta.img", "/dev/block/bootdevice/by-name/vbmeta")
return

View File

@@ -412,3 +412,8 @@ firmware_directories /vendor/firmware_mnt/image/
/sys/class/graphics/fb0 modes 0664 system graphics
/sys/class/graphics/fb0 mode 0664 system graphics
/sys/class/graphics/fb0 msm_cmd_autorefresh_en 0664 system graphics
# Torch control
/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_0 brightness 0660 cameraserver camera
/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_1 brightness 0660 cameraserver camera
/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:switch_2 brightness 0660 cameraserver camera

View File

@@ -28,4 +28,13 @@
<!-- Pocket Lock -->
<bool name="config_pocketModeSupported">false</bool>
<!-- Defines the sysfs attribute path used by the device
to enable/disable DC dimming. -->
<string name="config_deviceDcDimmingSysfsNode">/sys/devices/platform/soc/soc:qcom,dsi-display-primary/dimlayer_bl</string>
<!-- Whether the device supports Smart Pixels -->
<bool name="config_supportSmartPixels">true</bool>
<!-- PowerOffAlarmService -->
<bool name="config_powerOffAlarmEnabled">true</bool>
</resources>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2019-2021 The Evolution X Project
Copyright (C) 2019-2025 The Evolution X Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
@@ -14,7 +14,7 @@
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- About device screen, build maintainer -->
<string name="build_maintainer_summary">Chema Funtan (@chematelegram)</string>
<string name="build_maintainer_donate_url">https://www.paypal.com/paypalme/chfondia</string>
<string name="build_maintainer_summary">nhansp</string>
<string name="build_maintainer_donate_url">https://github.com/nhansp</string>
</resources>

View File

@@ -15,6 +15,18 @@
*/
-->
<resources>
<!-- the padding on the start of the statusbar -->
<dimen name="status_bar_padding_start">16dp</dimen>
<!-- the padding on the end of the statusbar -->
<dimen name="status_bar_padding_end">5dp</dimen>
<!-- the padding on the top of the statusbar -->
<dimen name="status_bar_padding_top">3dp</dimen>
<!-- Margin on the left side of the carrier text on Keyguard -->
<dimen name="keyguard_carrier_text_margin">25dp</dimen>
<!-- Radius of the software rounded corners at the bottom of the display in its natural
orientation. If zero, the value of rounded_corner_radius is used. -->
<dimen name="rounded_corner_content_padding">16dp</dimen>
@@ -24,4 +36,8 @@
<!-- The width/height of the unlock icon view on keyguard. -->
<dimen name="keyguard_lock_height">130dp</dimen>
<!-- Microns/ums (1000 um = 1mm) per pixel for the given device. If unspecified, UI that
relies on this value will not be sized correctly. -->
<item name="pixel_pitch" format="float" type="dimen">63.08</item>
</resources>

View File

@@ -11,4 +11,12 @@
<!-- Update battery info every second when device is charging -->
<bool name="config_alternateFastchargeInfoUpdate">true</bool>
<!-- Whether to play turbulence noise after clicking the play button -->
<bool name="config_turbulenceNoise">false</bool>
<!-- Whether to disable Smart Pixels on UDFPS -->
<bool name="config_disableSmartPixelsOnUDFPS">true</bool>
<!-- The CPU temperature divider, if needed -->
<integer name="config_cpuTempDivider" translatable="false">1000</integer>
</resources>

View File

@@ -21,7 +21,7 @@
for different hardware and product builds. -->
<resources>
<!-- Color of the UDFPS pressed view -->
<color name="config_udfpsColor">#00ff00</color>
<color name="config_udfpsColor">#00ffffff</color>
<!-- Whether usage of the proximity sensor during doze is supported -->
<bool name="doze_proximity_sensor_supported">false</bool>

2
sepolicy/vendor/cameraserver.te vendored Normal file
View File

@@ -0,0 +1,2 @@
allow cameraserver sysfs_torch:file rw_file_perms;
allow cameraserver sysfs_leds:dir r_dir_perms;

View File

@@ -36,3 +36,6 @@ type thermal_data_file, file_type, data_file_type;
# Touch Panel
type sysfs_touchpanel, sysfs_type, fs_type;
# Torch
type sysfs_torch, fs_type, sysfs_type;

View File

@@ -11,8 +11,8 @@
/vendor/bin/hw/android\.hardware\.contexthub@1\.1-service\.generic u:object_r:hal_contexthub_default_exec:s0
# Dolby
/data/vendor/dolby(/.*)? u:object_r:vendor_data_file:s0
/(vendor|system/vendor)/bin/hw/vendor\.dolby\.hardware\.dms@2\.0-service u:object_r:hal_dms_default_exec:s0
/data/vendor/dolby(/.*)? u:object_r:vendor_data_file:s0
/vendor/bin/hw/vendor\.dolby\.hardware\.dms@2\.0-service u:object_r:hal_dms_default_exec:s0
# Fastcharge HAL
/(vendor|system/vendor)/bin/hw/vendor\.lineage\.fastcharge@[0-9]\.[0-9]-service\.xiaomi_cepheus u:object_r:hal_lineage_fastcharge_default_exec:s0
@@ -30,9 +30,6 @@
# FPS Info
/sys/class/drm/card0/sde-crtc-0/measured_fps u:object_r:vendor_sysfs_graphics:s0
# HALs
/vendor/bin/hw/android\.hardware\.lights-service\.cepheus u:object_r:hal_light_default_exec:s0
# Hexagon DSP-side executable needed for Halide operation
# This is labeled as public_adsprpcd_file as it needs to be read by apps
# (e.g. Google Camera App)
@@ -42,8 +39,7 @@
/sys/devices/platform/soc/soc:qcom,dsi-display-primary/hbm u:object_r:vendor_sysfs_hbm:s0
# IR
/dev/ir_spi u:object_r:ir_spi_device:s0
/dev/lirc0 u:object_r:ir_spi_device:s0
/dev/ir_spi u:object_r:lirc_device:s0
# Livedisplay
/vendor/bin/hw/vendor\.lineage\.livedisplay@2\.1-service\.cepheus u:object_r:hal_lineage_livedisplay_qti_exec:s0

View File

@@ -4,12 +4,22 @@ genfscon sysfs /devices/platform/soc/soc:qcom,dsi-display-primary/doze_mode
# FlickerFree
genfscon sysfs /devices/platform/soc/soc:qcom,dsi-display-primary/dimlayer_bl u:object_r:vendor_sysfs_graphics:s0
# FPS info
genfscon sysfs /class/drm/card0/sde-crtc-0/measured_fps u:object_r:vendor_sysfs_graphics:s0
# HBM
genfscon sysfs /devices/platform/soc/soc:qcom,dsi-display-primary/hbm u:object_r:vendor_sysfs_graphics:s0
# Lights
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d000/leds/white u:object_r:vendor_sysfs_graphics:s0
# Torch
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_0/brightness u:object_r:sysfs_torch:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_0/max_brightness u:object_r:sysfs_torch:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_1/brightness u:object_r:sysfs_torch:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_1/max_brightness u:object_r:sysfs_torch:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:switch_2/brightness u:object_r:sysfs_torch:s0
# Pixel PowerHal
genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/sde-crtc-0/early_wakeup u:object_r:sysfs_msm_subsys:s0

View File

@@ -1 +0,0 @@
allow hal_ir_default ir_spi_device:chr_file rw_file_perms;

View File

@@ -5,7 +5,7 @@ vendor.qti.hardware.bt_channel_avoidance::IBTChannelAvoidance u:ob
vendor.xiaomi.hardware.campostproc::IMiPostProcService u:object_r:hal_camerapostproc_xiaomi_hwservice:s0
# Dolby
vendor.dolby.hardware.dms::IDms u:object_r:hal_dms_hwservice:s0
vendor.dolby.hardware.dms::IDms u:object_r:hal_dms_hwservice:s0
# Fingerprint
vendor.goodix.hardware.biometrics.fingerprint::IGoodixFingerprintDaemon u:object_r:hal_xiaomi_fingerprint_hwservice:s0

View File

@@ -1,2 +1,5 @@
allow mediacodec hal_dms_hwservice:hwservice_manager find;
binder_call(mediacodec, hal_dms_default)
allow mediacodec hal_dms_default:binder { call transfer };
allow mediacodec hal_dms_server:binder { call transfer };

View File

@@ -75,7 +75,6 @@ vendor.audio.feature.usb_offload_burst_mode.enable=true
vendor.audio.feature.usb_offload_sidetone_volume.enable=false
vendor.audio.feature.vbat.enable=true
vendor.audio.feature.wsa.enable=false
vendor.audio.flac.sw.decoder.24bit=true
vendor.audio.hal.output.suspend.supported=false
vendor.audio.hw.aac.encoder=false
vendor.audio.offload.buffer.size.kb=256
@@ -174,6 +173,7 @@ debug.sf.disable_client_composition_cache=1
debug.hwui.renderer=skiagl
renderthread.skia.reduceopstasksplitting=true
debug.renderengine.backend=skiaglthreaded
ro.gfx.driver.1=com.qualcomm.qti.gpudrivers.msmnile.api30
ro.hardware.egl=adreno
ro.hardware.vulkan=adreno
ro.opengles.version=196610
@@ -211,6 +211,11 @@ ro.frp.pst=/dev/block/bootdevice/by-name/frp
# Gatekeeper
vendor.gatekeeper.disable_spu=true
# HWUI
ro.hwui.render_ahead=5
debug.hwui.use_hint_manager=true
debug.hwui.target_cpu_time_percent=30
# IMS
persist.dbg.volte_avail_ovr=1
persist.dbg.vt_avail_ovr=1
@@ -222,8 +227,6 @@ ro.vendor.qti.va_odm.support=1
#Media
media.settings.xml=/vendor/etc/media_profiles_vendor.xml
debug.stagefright.ccodec=1
debug.stagefright.omx_default_rank=0
# Pre-rendering
ro.vendor.perf.scroll_opt=true

15
vndk/Android.bp Normal file
View File

@@ -0,0 +1,15 @@
//
// Copyright (C) 2023 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//
cc_prebuilt_library_shared {
name: "libc29",
vendor_available: true,
strip: {
none: true,
},
srcs: ["libc++.so"],
check_elf_files: false,
}

BIN
vndk/libc++.so Normal file

Binary file not shown.