cepheus: Initialize for Evolution 11.X

- aosp -> lineage
- Nuke Android.mk: Migrate mount point creation and nuke flash_super_dummy
- Adapt vendor to 25Q2: Replace libaudioroute with vndk v34 for audio stack, use vendor_qcom_common from yaap
- Nuke livedisplay
- Remove fastcharge lefovers from fcm
- Remove duplicate sepolicies
- Add MiuiCamera
- Deduplicate erofs declares with foreach
- Remove deprecated ANT+ stuff
- Migrate to soong_config_set
- Delete vendor/lineage fcm as it's already included
- Add cust to retrofit device so we can use full gapps
This commit is contained in:
2025-08-15 15:10:41 +07:00
parent 5302e19636
commit 723f713933
33 changed files with 171 additions and 625 deletions

View File

@@ -1,58 +0,0 @@
#
# Copyright (C) 2020 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.
#
LOCAL_PATH := $(call my-dir)
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.
# Just creating it for all cases since it does not hurt.
FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/firmware_mnt
$(FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
@echo "Creating $(FIRMWARE_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/firmware_mnt
BT_FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/bt_firmware
$(BT_FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
@echo "Creating $(BT_FIRMWARE_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/bt_firmware
DSP_MOUNT_POINT := $(TARGET_OUT_VENDOR)/dsp
$(DSP_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
@echo "Creating $(DSP_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/dsp
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT)
endif

View File

@@ -15,4 +15,4 @@
#
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/aosp_cepheus.mk
$(LOCAL_DIR)/lineage_cepheus.mk

View File

@@ -28,9 +28,6 @@ BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
# Inherit from proprietary files
include vendor/xiaomi/cepheus/BoardConfigVendor.mk
# ANT+
BOARD_ANT_WIRELESS_DEVICE := "vfs-prerelease"
# Architecture
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-2a
@@ -58,14 +55,14 @@ TARGET_BOOTLOADER_BOARD_NAME := cepheus
TARGET_NO_BOOTLOADER := true
# Camera
TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED := true
TARGET_CAMERA_SERVICE_EXT_LIB := //$(DEVICE_PATH):libcameraservice_extension.cepheus
:
$(call soong_config_set,camera,override_format_from_reserved,true)
$(call soong_config_set,libcameraservice,ext_lib,//$(DEVICE_PATH):libcameraservice_extension.cepheus)
# Compression
PRODUCT_FS_COMPRESSION := 1
# Display
TARGET_GRALLOC_HANDLE_HAS_RESERVED_SIZE := true
TARGET_HAS_HDR_DISPLAY := true
TARGET_HAS_WIDE_COLOR_DISPLAY := true
@@ -79,7 +76,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
@@ -88,14 +85,13 @@ LOC_HIDL_VERSION := 4.0
# HIDL
DEVICE_MANIFEST_FILE := $(DEVICE_PATH)/configs/hidl/manifest.xml
DEVICE_MATRIX_FILE := hardware/qcom-caf/common//compatibility_matrix.xml
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
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 \
vendor/aosp/config/device_framework_matrix.xml
hardware/qcom-caf/common/vendor_framework_compatibility_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
@@ -109,8 +105,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-r530567/bin
TARGET_KERNEL_CLANG_VERSION := r536225
KERNEL_TOOLCHAIN := $(shell pwd)/prebuilts/clang/host/linux-x86/clang-r536225/bin
KERNEL_SUPPORTS_LLD := true
KERNEL_SUPPORTS_LLVM_TOOLS := true
@@ -125,8 +121,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
@@ -140,26 +136,22 @@ BOARD_RECOVERYIMAGE_PARTITION_SIZE := 67108864
BOARD_USERDATAIMAGE_PARTITION_SIZE := 57453555712
BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
# BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3758096384
# BOARD_VENDORIMAGE_PARTITION_SIZE := 1610612736
BOARD_SUPER_PARTITION_GROUPS := cepheus_dynamic_partitions
BOARD_CEPHEUS_DYNAMIC_PARTITIONS_PARTITION_LIST := system vendor system_ext odm product
BOARD_SUPER_PARTITION_SIZE := 5368709120
BOARD_SUPER_PARTITION_SIZE := 6442450944
BOARD_SUPER_PARTITION_METADATA_DEVICE := system
BOARD_SUPER_PARTITION_BLOCK_DEVICES := system vendor
BOARD_SUPER_PARTITION_BLOCK_DEVICES := system vendor cust
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
BOARD_SUPER_PARTITION_CUST_DEVICE_SIZE := 1073741824
BOARD_CEPHEUS_DYNAMIC_PARTITIONS_SIZE := 6438256640 # BOARD_SUPER_PARTITION_SIZE - 4MB
BOARD_EROFS_PCLUSTER_SIZE := 262144
BOARD_EROFS_COMPRESSOR := lz4
BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := f2fs
BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := erofs
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := erofs
BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := erofs
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := erofs
BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := erofs
$(foreach p, $(call to-upper, $(BOARD_CEPHEUS_DYNAMIC_PARTITIONS_PARTITION_LIST)), \
$(eval BOARD_$(p)IMAGE_FILE_SYSTEM_TYPE := erofs))
BOARD_USES_METADATA_PARTITION := true
@@ -199,7 +191,7 @@ TARGET_RELEASETOOLS_EXTENSIONS := $(DEVICE_PATH)
ENABLE_VENDOR_RIL_SERVICE := true
# Security patch level
VENDOR_SECURITY_PATCH := 2021-10-01
VENDOR_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH)
# Sepolicy
TARGET_SEPOLICY_DIR := msmnile

View File

@@ -2,6 +2,8 @@ Copyright © 2020 DerpFest
Copyright © 2020-2021 PixelExperience
Copyright © 2025 Evolution X
Device configuration for Xiaomi Mi 9
=========================================
@@ -26,4 +28,4 @@ Camera | 48MP(Primary),12MP(Telephoto), 16MP(Ultrawide), dual-LED (dual tone) f
## Device picture
![Xiaomi Mi 9](https://i01.appmifile.com/webfile/globalimg/products/pc/mi9/head_hd.png "Xiaomi Mi 9")
![Xiaomi Mi 9](https://fdn2.gsmarena.com/vv/pics/xiaomi/xiaomi-mi-9-2.jpg "Xiaomi Mi 9")

View File

@@ -163,12 +163,4 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.lineage.fastcharge</name>
<version>1.0</version>
<interface>
<name>IFastCharge</name>
<instance>default</instance>
</interface>
</hal>
</compatibility-matrix>
</compatibility-matrix>

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

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<permissions>
<privapp-permissions package="com.android.camera">
<permission name="android.permission.WRITE_SECURE_SETTINGS" />
<permission name="android.permission.LOG_COMPAT_CHANGE" />
<permission name="android.permission.INTERACT_ACROSS_USERS" />
<permission name="android.permission.READ_COMPAT_CHANGE_CONFIG" />
<permission name="android.permission.SYSTEM_CAMERA" />
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
</privapp-permissions>
<privapp-permissions package="com.xiaomi.scanner">
<permission name="android.permission.WRITE_MEDIA_STORAGE" />
<permission name="android.permission.CHANGE_CONFIGURATION" />
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
</privapp-permissions>
<privapp-permissions package="com.miui.extraphoto">
<permission name="android.permission.WRITE_MEDIA_STORAGE" />
</privapp-permissions>
</permissions>

View File

@@ -40,11 +40,6 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \
fs_config_files
# ANT+
PRODUCT_PACKAGES += \
AntHalService-Soong \
com.dsi.ant@1.0
# Audio
PRODUCT_PACKAGES += \
android.hardware.audio@7.0-impl \
@@ -130,6 +125,12 @@ 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
# MiuiCamera
$(call inherit-product-if-exists, vendor/xiaomi/miuicamera/config.mk)
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/permissions/privapp-permissions-miuicamera.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/privapp-permissions-miuicamera.xml
# Display
PRODUCT_PACKAGES += \
disable_configstore
@@ -264,17 +265,12 @@ PRODUCT_PACKAGES += \
# Lights
PRODUCT_PACKAGES += \
android.hardware.light-service.xiaomi
android.hardware.light-service.lineage
# Lineage Health
PRODUCT_PACKAGES += \
vendor.lineage.health-service.default
# LiveDisplay
PRODUCT_PACKAGES += \
vendor.lineage.livedisplay@2.0-service-sdm \
vendor.lineage.livedisplay@2.1-service.cepheus
# Logging
SPAMMY_LOG_TAGS := \
MiStcImpl \
@@ -370,7 +366,7 @@ PRODUCT_COPY_FILES += \
# Overlays
DEVICE_PACKAGE_OVERLAYS += \
$(LOCAL_PATH)/overlay \
$(LOCAL_PATH)/overlay-aosp
$(LOCAL_PATH)/overlay-evolution
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += \
$(LOCAL_PATH)/overlay/frameworks/base/packages/overlays/NoCutoutOverlay
@@ -381,8 +377,10 @@ PRODUCT_PACKAGES += \
# Partitions
PRODUCT_USE_DYNAMIC_PARTITIONS := true
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/partitions/flash_super_dummy.sh:install/bin/flash_super_dummy.sh
PRODUCT_PACKAGES += \
vendor_bt_firmware_mountpoint \
vendor_dsp_mountpoint \
vendor_firmware_mnt_mountpoint
# Platform
TARGET_BOARD_PLATFORM := msmnile
@@ -492,26 +490,6 @@ PRODUCT_COPY_FILES += \
system/core/libprocessgroup/profiles/cgroups.json:$(TARGET_COPY_OUT_VENDOR)/etc/cgroups.json
# Telephony
PRODUCT_PACKAGES += \
extphonelib \
extphonelib-product \
extphonelib.xml \
extphonelib_product.xml \
ims-ext-common \
ims_ext_common.xml \
qti-telephony-hidl-wrapper \
qti-telephony-hidl-wrapper-prd \
qti_telephony_hidl_wrapper.xml \
qti_telephony_hidl_wrapper_prd.xml \
qti-telephony-utils \
qti-telephony-utils-prd \
qti_telephony_utils.xml \
qti_telephony_utils_prd.xml \
telephony-ext
PRODUCT_BOOT_JARS += \
telephony-ext
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \
frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \

26
evolution.dependencies Normal file
View File

@@ -0,0 +1,26 @@
[
{
"repository": "vendor_xiaomi_cepheus",
"target_path": "vendor/xiaomi/cepheus"
},
{
"repository": "kernel_xiaomi_cepheus",
"target_path": "kernel/xiaomi/cepheus"
},
{
"repository": "hardware_xiaomi",
"target_path": "hardware/xiaomi"
},
{
"repository": "vendor_xiaomi_miuicamera",
"target_path": "vendor/xiaomi/miuicamera",
"remote": "evo-codeberg",
"branch": "leica-5.0-cepheus"
},
{
"repository": "yaosp/vendor_qcom_common",
"target_path": "vendor/qcom/common",
"remote": "gitlab",
"branch": "sixteen"
}
]

View File

@@ -15,9 +15,14 @@ from extract_utils.main import (
namespace_imports = [
"device/xiaomi/cepheus",
"hardware/qcom-caf/sm8150",
"hardware/xiaomi",
"vendor/qcom/opensource/display",
"hardware/qcom-caf/sm8150",
"hardware/qcom-caf/wlan",
"hardware/xiaomi",
"vendor/qcom/opensource/dataservices",
"vendor/qcom/opensource/commonsys-intf/display",
"vendor/qcom/opensource/commonsys/display",
"vendor/qcom/opensource/display",
"vendor/qcom/common/system/telephony",
]
def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
@@ -25,39 +30,27 @@ def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
lib_fixups: lib_fixups_user_type = {
**lib_fixups,
(
'vendor.qti.hardware.bluetooth_audio@2.0.so',
): lib_fixup_vendor_suffix,
}
blob_fixups: blob_fixups_user_type = {
'vendor/lib64/hw/camera.qcom.so': blob_fixup()
.regex_replace(r'libc\+\+\.so', 'libc29.so')
.remove_needed('libMegviiFacepp-0.5.2.so')
.remove_needed('libmegface.so')
.add_needed('libshim_megvii.so'),
'system_ext/lib64/libwfdnative.so': blob_fixup()
.remove_needed('android.hidl.base@1.0.so'),
'vendor/bin/mi_thermald': blob_fixup()
.regex_replace(r'%d/on', r'%d/..'),
'vendor/lib64/camera/components/com.qti.node.watermark.so': blob_fixup()
.add_needed('libpiex_shim.so'),
'proprietary/vendor/bin/sensors.qti': blob_fixup()
.replace_needed('libprotobuf-cpp-lite-3.9.1.so', 'libprotobuf-cpp-full-3.9.1.so'),
'proprietary/vendor/lib64/libsnsapi.so': blob_fixup()
.replace_needed('libprotobuf-cpp-lite-3.9.1.so', 'libprotobuf-cpp-full-3.9.1.so'),
'proprietary/vendor/lib64/libsnsdiaglog.so': blob_fixup()
.replace_needed('libprotobuf-cpp-lite-3.9.1.so', 'libprotobuf-cpp-full-3.9.1.so'),
'proprietary/vendor/lib64/libssc.so': blob_fixup()
.replace_needed('libprotobuf-cpp-lite-3.9.1.so', 'libprotobuf-cpp-full-3.9.1.so'),
'proprietary/vendor/lib64/libwvhidl.so': blob_fixup()
.replace_needed('libprotobuf-cpp-lite-3.9.1.so', 'libprotobuf-cpp-full-3.9.1.so'),
'proprietary/vendor/lib64/mediadrm/libwvdrmengine.so': blob_fixup()
.replace_needed('libprotobuf-cpp-lite-3.9.1.so', 'libprotobuf-cpp-full-3.9.1.so'),
'proprietary/vendor/lib64/sensors.ssc.so': blob_fixup()
.replace_needed('libprotobuf-cpp-lite-3.9.1.so', 'libprotobuf-cpp-full-3.9.1.so'),
'vendor/lib64/libwvhidl.so': blob_fixup()
.replace_needed('libcrypto.so', 'libcrypto-v34.so')
.add_needed('libcrypto_shim.so'),
'vendor/lib64/mediadrm/libwvdrmengine.so': blob_fixup()
.add_needed('libcrypto_shim.so'),
'vendor/lib64/camera/components/com.qti.node.watermark.so': blob_fixup()
.add_needed('libpiex_shim.so'),
'vendor/etc/init/init.batterysecret.rc': blob_fixup()
.regex_replace(' +seclabel u:r:batterysecret:s0\n', ''),
'vendor/lib/libaudioroute_ext.so': blob_fixup()
.replace_needed('libaudioroute.so', 'libaudioroute-v34.so'),
'vendor/lib/hw/audio.primary.msmnile.so': blob_fixup()
.replace_needed('libaudioroute.so', 'libaudioroute-v34.so'),
'vendor/lib64/hw/audio.primary.msmnile.so': blob_fixup()
.replace_needed('libaudioroute.so', 'libaudioroute-v34.so'),
} # fmt: skip
module = ExtractUtilsModule(

View File

@@ -21,22 +21,22 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit from cepheus device
$(call inherit-product, device/xiaomi/cepheus/device.mk)
# Inherit some common PixelOS stuff.
$(call inherit-product, vendor/aosp/config/common_full_phone.mk)
# Inherit some common EvolutionX stuff.
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
# PixelOS flags
TARGET_INCLUDE_LIVE_WALLPAPERS := true
# Boot animation
BUILD_SEEDVAULT := true
TARGET_BOOT_ANIMATION_RES := 1080
TARGET_HAS_UDFPS := true
TARGET_INCLUDE_ACCORD = false
# Device identifier
PRODUCT_NAME := aosp_cepheus
PRODUCT_NAME := lineage_cepheus
PRODUCT_DEVICE := cepheus
PRODUCT_BRAND := Xiaomi
PRODUCT_MODEL := Mi 9
PRODUCT_MANUFACTURER := Xiaomi
PRODUCT_CHARACTERISTICS := nosdcard
# Recovery
TARGET_USES_AOSP_RECOVERY := true
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi
PRODUCT_BUILD_PROP_OVERRIDES += \
BuildFingerprint=Xiaomi/cepheus/cepheus:11/RKQ1.200826.002/V12.5.6.0.RFACNXM:user/release-keys

View File

@@ -1,40 +0,0 @@
//
// Copyright (C) 2019-2020 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 {
name: "vendor.lineage.livedisplay@2.1-service.cepheus",
vintf_fragments: ["vendor.lineage.livedisplay@2.1-service.cepheus.xml"],
init_rc: ["vendor.lineage.livedisplay@2.1-service.cepheus.rc"],
defaults: ["hidl_defaults"],
relative_install_path: "hw",
srcs: [
":vendor.lineage.livedisplay@2.0-sdm-utils",
"AntiFlicker.cpp",
"SunlightEnhancement.cpp",
"service.cpp",
],
vendor: true,
shared_libs: [
"libbase",
"libbinder",
"libhidlbase",
"libutils",
"vendor.lineage.livedisplay@2.0",
"vendor.lineage.livedisplay@2.1",
],
header_libs: [
"vendor.lineage.livedisplay@2.0-sdm-headers",
],
}

View File

@@ -1,51 +0,0 @@
/*
* Copyright (C) 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 "AntiFlickerService"
#include "AntiFlicker.h"
#include <android-base/logging.h>
#include <fstream>
namespace vendor {
namespace lineage {
namespace livedisplay {
namespace V2_1 {
namespace implementation {
static constexpr const char* kDcDimmingPath =
"/sys/devices/platform/soc/soc:qcom,dsi-display-primary/msm_fb_ea_enable";
Return<bool> AntiFlicker::isEnabled() {
std::ifstream file(kDcDimmingPath);
int result = -1;
file >> result;
LOG(DEBUG) << "Got result " << result << " fail " << file.fail();
return !file.fail() && result > 0;
}
Return<bool> AntiFlicker::setEnabled(bool enabled) {
std::ofstream file(kDcDimmingPath);
file << (enabled ? "1" : "0");
LOG(DEBUG) << "setEnabled fail " << file.fail();
return !file.fail();
}
} // namespace implementation
} // namespace V2_1
} // namespace livedisplay
} // namespace lineage
} // namespace vendor

View File

@@ -1,47 +0,0 @@
/*
* Copyright (C) 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.
*/
#ifndef VENDOR_LINEAGE_LIVEDISPLAY_V2_1_ANTIFLICKER_H
#define VENDOR_LINEAGE_LIVEDISPLAY_V2_1_ANTIFLICKER_H
#include <hidl/MQDescriptor.h>
#include <hidl/Status.h>
#include <vendor/lineage/livedisplay/2.1/IAntiFlicker.h>
namespace vendor {
namespace lineage {
namespace livedisplay {
namespace V2_1 {
namespace implementation {
using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::sp;
class AntiFlicker : public IAntiFlicker {
public:
// Methods from ::vendor::lineage::livedisplay::V2_1::IAntiFlicker follow.
Return<bool> isEnabled() override;
Return<bool> setEnabled(bool enabled) override;
};
} // namespace implementation
} // namespace V2_1
} // namespace livedisplay
} // namespace lineage
} // namespace vendor
#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_1_ANTIFLICKER_H

View File

@@ -1,55 +0,0 @@
/*
* Copyright (C) 2019-2020 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 "SunlightEnhancementService"
#include <android-base/file.h>
#include <android-base/logging.h>
#include <android-base/strings.h>
#include "SunlightEnhancement.h"
namespace vendor {
namespace lineage {
namespace livedisplay {
namespace V2_1 {
namespace implementation {
static constexpr const char* kHbmStatusPath =
"/sys/devices/platform/soc/soc:qcom,dsi-display-primary/hbm";
Return<bool> SunlightEnhancement::isEnabled() {
std::string buf;
if (!android::base::ReadFileToString(kHbmStatusPath, &buf)) {
LOG(ERROR) << "Failed to read " << kHbmStatusPath;
return false;
}
return std::stoi(android::base::Trim(buf)) == 1;
}
Return<bool> SunlightEnhancement::setEnabled(bool enabled) {
if (!android::base::WriteStringToFile((enabled ? "1" : "0"), kHbmStatusPath)) {
LOG(ERROR) << "Failed to write " << kHbmStatusPath;
return false;
}
return true;
}
} // namespace implementation
} // namespace V2_1
} // namespace livedisplay
} // namespace lineage
} // namespace vendor

View File

@@ -1,47 +0,0 @@
/*
* Copyright (C) 2019-2020 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 VENDOR_LINEAGE_LIVEDISPLAY_V2_1_SUNLIGHTENHANCEMENT_H
#define VENDOR_LINEAGE_LIVEDISPLAY_V2_1_SUNLIGHTENHANCEMENT_H
#include <hidl/MQDescriptor.h>
#include <hidl/Status.h>
#include <vendor/lineage/livedisplay/2.1/ISunlightEnhancement.h>
namespace vendor {
namespace lineage {
namespace livedisplay {
namespace V2_1 {
namespace implementation {
using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::sp;
class SunlightEnhancement : public ISunlightEnhancement {
public:
// Methods from ::vendor::lineage::livedisplay::V2_1::ISunlightEnhancement follow.
Return<bool> isEnabled() override;
Return<bool> setEnabled(bool enabled) override;
};
} // namespace implementation
} // namespace V2_1
} // namespace livedisplay
} // namespace lineage
} // namespace vendor
#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_1_SUNLIGHTENHANCEMENT_H

View File

@@ -1,66 +0,0 @@
/*
* Copyright (C) 2019-2020 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 "vendor.lineage.livedisplay@2.1-service.cepheus"
#include <android-base/logging.h>
#include <binder/ProcessState.h>
#include <hidl/HidlTransportSupport.h>
#include "AntiFlicker.h"
#include "SunlightEnhancement.h"
#include "livedisplay/sdm/SDMController.h"
using android::OK;
using android::sp;
using android::status_t;
using ::vendor::lineage::livedisplay::V2_0::sdm::SDMController;
using ::vendor::lineage::livedisplay::V2_1::IAntiFlicker;
using ::vendor::lineage::livedisplay::V2_1::ISunlightEnhancement;
using ::vendor::lineage::livedisplay::V2_1::implementation::AntiFlicker;
using ::vendor::lineage::livedisplay::V2_1::implementation::SunlightEnhancement;
int main() {
status_t status = OK;
std::shared_ptr<SDMController> controller = std::make_shared<SDMController>();
sp<AntiFlicker> af = new AntiFlicker();
sp<SunlightEnhancement> se = new SunlightEnhancement();
android::hardware::configureRpcThreadpool(1, true /*callerWillJoin*/);
// AntiFlicker service
status = af->registerAsService();
if (status != OK) {
LOG(ERROR) << "Could not register service for LiveDisplay HAL AntiFlicker Iface ("
<< status << ")";
return 1;
}
// SunlightEnhancement service
status = se->registerAsService();
if (status != OK) {
LOG(ERROR) << "Could not register service for LiveDisplay HAL SunlightEnhancement Iface ("
<< status << ")";
return 1;
}
LOG(INFO) << "LiveDisplay HAL service is ready.";
android::hardware::joinRpcThreadpool();
LOG(ERROR) << "LiveDisplay HAL service failed to join thread pool.";
return 1;
}

View File

@@ -1,10 +0,0 @@
on boot
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display-primary/hbm
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display-primary/msm_fb_ea_enable
chmod 0660 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/hbm
chmod 0660 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/msm_fb_ea_enable
service vendor.livedisplay-hal-2-1 /vendor/bin/hw/vendor.lineage.livedisplay@2.1-service.cepheus
class hal
user system
group system

View File

@@ -1,9 +0,0 @@
<manifest version="1.0" type="device">
<hal format="hidl">
<name>vendor.lineage.livedisplay</name>
<transport>hwbinder</transport>
<fqname>@2.0::IPictureAdjustment/default</fqname>
<fqname>@2.1::IAntiFlicker/default</fqname>
<fqname>@2.1::ISunlightEnhancement/default</fqname>
</hal>
</manifest>

View File

@@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2020-2022 PixelOS
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.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Auth ripple animation duration
AOSP default is 1533 -->
<item name="auth_ripple_animation_duration" format="float" type="dimen">1533.0</item>
</resources>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2019-2025 Evolution X
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- About device screen, build maintainer -->
<string name="build_maintainer_summary">nhansp</string>
<string name="build_maintainer_donate_url">https://github.com/nhansp</string>
</resources>

View File

@@ -15,11 +15,14 @@
*/
-->
<resources>
<!-- The padding on the start of the statusbar -->
<!-- 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">6dp</dimen>
<!-- the padding on the end of the statusbar -->
<dimen name="status_bar_padding_end">8dp</dimen>
<!-- Margin on the left side of the carrier text on Keyguard -->
<dimen name="keyguard_carrier_text_margin">18dp</dimen>
<!-- Height of the faceunlock image view -->
<dimen name="keyguard_face_unlock_margin_bottom">130dp</dimen>

View File

@@ -119,14 +119,14 @@ vendor/etc/init/android.hardware.bluetooth@1.0-service-qti.rc
vendor/lib/hw/vendor.qti.hardware.bluetooth_audio@2.0-impl.so
vendor/lib/btaudio_offload_if.so
vendor/lib/libbluetooth_audio_session_qti.so
vendor/lib/vendor.qti.hardware.bluetooth_audio@2.0.so
vendor/lib64/hw/android.hardware.bluetooth@1.0-impl-qti.so
vendor/lib/hw/android.hardware.bluetooth@1.0-impl-qti.so
vendor/lib64/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so
vendor/lib64/hw/vendor.qti.hardware.btconfigstore@2.0-impl.so
vendor/lib64/libbtnv.so
vendor/lib/libbtnv.so
vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.0.so
vendor/lib64/vendor.qti.hardware.btconfigstore@1.0.so
vendor/lib64/vendor.qti.hardware.btconfigstore@2.0.so
vendor/lib/vendor.qti.hardware.bluetooth_sar@1.0.so
# Bluetooth (sar)
vendor/lib/hw/vendor.qti.hardware.bluetooth_sar@1.1-impl.so
@@ -336,14 +336,6 @@ system_ext/framework/vendor.qti.hardware.data.qmi-V1.0-java.jar|af63b51876055618
-system_ext/lib64/com.quicinc.cne.constants@1.0.so|f76f263827ff7674a1a6d0460614de21a9b869fd
-system_ext/lib64/com.quicinc.cne.constants@2.0.so|0645c2e1ecea7028f037666adb6bb9d3fa30ec73
-system_ext/lib64/com.quicinc.cne.constants@2.1.so|c3c529a042edffec2299e3e9cc35d3be3c1921c1
system_ext/lib64/vendor.qti.hardware.data.cne.internal.api@1.0.so|ef61daaa9ae8e68219800b1da15dcc22f9bf59d9
system_ext/lib64/vendor.qti.hardware.data.cne.internal.constants@1.0.so|0df6774af7a9b82aed6987b8fab0c68ef2afbb50
system_ext/lib64/vendor.qti.hardware.data.cne.internal.server@1.0.so|7dea30c48f8dd11ca0f6b9706aa57a675fb41dd6
system_ext/lib64/vendor.qti.hardware.data.connection@1.0.so|34d3a0a1d0225d50c496720941153be59cb472bd
system_ext/lib64/vendor.qti.hardware.data.connection@1.1.so|a7ed6887380bff4f931102c05c3d89ac52d32e08
system_ext/lib64/vendor.qti.hardware.data.dynamicdds@1.0.so|9c4928bfcd38fc9446ca3884200293028fa0c06a
system_ext/lib64/vendor.qti.hardware.data.iwlan@1.0.so|24f91ee12e79ebdd50f97cfc8e69632b6b87e5b2
system_ext/lib64/vendor.qti.hardware.data.qmi@1.0.so|6fe3f53c35085c34e3c46d7b75679a3447d5f0c0
# CNE (vendor)
-vendor/app/CneApp/CneApp.apk;REQUIRED=CneApp.libvndfwk_detect_jni.qti_vendor_symlink
@@ -440,6 +432,7 @@ system_ext/lib/libdpmtcm.so|113c2418e759069dc0b3d49c02132a09a424bfee
system_ext/lib/vendor.qti.diaghal@1.0.so|2387aedd0e5c9d1027229dffc4692e03ecaed16f
system_ext/lib64/com.qualcomm.qti.dpm.api@1.0.so|3e9786c8263de4135926a91083b70a737fc1d28b
system_ext/lib64/libdiag_system.so|f46e7b1741724d42a562106a3ae6a6492d8d52d1
system_ext/lib/libdiag_system.so
system_ext/lib64/libdpmctmgr.so|206949728b98a513683468209dbce86ed29412b8
system_ext/lib64/libdpmfdmgr.so|da636fca9a9a91a897d17fd519448b10053a696b
system_ext/lib64/libdpmframework.so|d974f04f110b3c1a1282d78bb0ff8a29dc022439
@@ -459,8 +452,10 @@ vendor/etc/gpfspath_oem_config.xml
vendor/lib64/libGPreqcancel.so
vendor/lib64/libGPreqcancel_svc.so
vendor/lib64/libQSEEComAPI.so
vendor/lib/libQSEEComAPI.so
vendor/lib64/libStDrvInt.so
vendor/lib64/libcpion.so
vendor/lib/libcpion.so
vendor/lib64/libdrmfs.so
vendor/lib64/libdrmtime.so
vendor/lib64/libops.so
@@ -500,6 +495,7 @@ vendor/bin/dspservice
vendor/etc/init/vendor.qti.hardware.dsp@1.0-service.rc
vendor/etc/seccomp_policy/vendor.qti.hardware.dsp.policy
vendor/lib64/vendor.qti.hardware.dsp@1.0.so
vendor/lib/vendor.qti.hardware.dsp@1.0.so
# Factory
vendor/lib64/vendor.qti.data.factory@2.0.so
@@ -579,6 +575,9 @@ vendor/lib64/vendor.qti.gnss@3.0.so|491917101ba1182d0a6f849323690f5636277447
vendor/lib64/vendor.qti.gnss@4.0-service.so|d4ad241375b02946f2822888f7cc95704210a929
vendor/lib64/vendor.qti.gnss@4.0.so|5ef1845cf0a310a52bfbdbc719685270ea4e39b3
vendor/lib64/vendor.qti.hardware.qccsyshal@1.0.so|3ff445db2dd2db1a1068fe70a54a6c04fbdd3123
vendor/lib64/libasn1cper.so
vendor/lib64/libasn1crt.so
vendor/lib64/libasn1crtx.so
# Graphics - from Xiaomi/nabu/nabu:11/RKQ1.200826.002/V13.0.3.0.RKXCNXM:user/release-keys
vendor/lib/egl/libEGL_adreno.so;SYMLINK=vendor/lib/libEGL_adreno.so|f77d54d08edbbf13add12518338ff389c873e1cd
@@ -649,6 +648,7 @@ vendor/lib64/libkeymasterdeviceutils.so|f95b8401343efd8af098b45f25afb97dfb60de19
vendor/lib64/libkeymasterprovision.so|2004bab12a51dcaeef2e838492b5d1fa6532b898
vendor/lib64/libkeymasterutils.so|b9c888d579c9cf7a1c8f463be4048eb9d935daf8
vendor/lib64/libqcbor.so|67acd94f3c7110c9419f0fd064b6eb69c09a0738
vendor/lib/libqcbor.so
vendor/lib64/libqtikeymaster4.so|6b84db846c36c07d416259d1f01830895ff4b57c
vendor/lib64/libspcom.so|eef7a179687dfbc4a2d317f4e5c45a3ae64cbd10
@@ -705,6 +705,7 @@ vendor/lib64/libvpplibrary.so
vendor/lib64/vendor.qti.hardware.vpp@1.1.so
vendor/lib64/vendor.qti.hardware.vpp@1.2.so
vendor/lib64/vendor.qti.hardware.vpp@1.3.so
vendor/lib/vendor.qti.hardware.vpp@1.3.so
# Media-Hardware
vendor/lib/libarbitrarybytes.so
@@ -773,6 +774,7 @@ vendor/lib64/libqmi_common_so.so
vendor/lib64/libqmi_csi.so
vendor/lib64/libqmi_encdec.so
vendor/lib64/libqmi_legacy.so
vendor/lib/libqmi_legacy.so
vendor/lib64/libqmiservices.so
# Radio (system) - from qssi-user-14-UKQ1.230804.001-2309192131-release-keys
@@ -822,6 +824,7 @@ vendor/lib64/libqcmaputils.so
vendor/lib64/libqcrilFramework.so
vendor/lib64/libqcrildatactl.so
vendor/lib64/libqrtr.so
vendor/lib/libqrtr.so
vendor/lib64/libqsocket.so
vendor/lib64/libril-qc-hal-qmi.so
vendor/lib64/libril-qc-logger.so
@@ -874,12 +877,6 @@ system_ext/framework/com.qualcomm.qti.uceservice-V2.1-java.jar|96db55bd5092880a8
system_ext/framework/vendor.qti.ims.callcapability-V1.0-java.jar|ad1167ad90dac5da3d4b5bdf79d9de20fa3490ff
system_ext/framework/vendor.qti.ims.callinfo-V1.0-java.jar|8fff2319deb48e16e627140e1c6a0b6bc6e6866b
system_ext/framework/vendor.qti.ims.rcsconfig-V1.0-java.jar|e4cef76fb7bc621f543ee2cd24b227fb6e2107e7
system_ext/lib64/com.qualcomm.qti.imscmservice@2.0.so|e753754354dfb571bc8cd0a6ff7bf166e73ccbcb
system_ext/lib64/com.qualcomm.qti.imscmservice@2.1.so|459266b5cc070c1722df67bb1268acc54be976b1
system_ext/lib64/com.qualcomm.qti.imscmservice@2.2.so|5dc1c57d7ce0782a640242da06769c488e9735bb
system_ext/lib64/com.qualcomm.qti.uceservice@2.0.so|c872a91663d82643bbd92041978e2a1fad03979a
system_ext/lib64/com.qualcomm.qti.uceservice@2.1.so|fd07e9de5508f20f077cd7cc61f17b8595cb274e
system_ext/lib64/com.qualcomm.qti.uceservice@2.2.so|a8b06abf636604b815468e4cedc87ef4f0e22e66
system_ext/lib64/com.qualcomm.qti.uceservice@2.3.so|741285b15d3cb272269e4244898e8239b9f089a6
system_ext/lib64/lib-imsvideocodec.so|80913c00a36d977592bd3e253ac07841c8ed950b
system_ext/lib64/lib-imsvt.so|07d341b4aa7db409151f9900113c1a2f8f424acf
@@ -888,14 +885,8 @@ system_ext/lib64/lib-imsvtutils.so|3b29b11cd751b12e1ab0664f7c5f683b2eda4ba6
system_ext/lib64/libimscamera_jni.so|85f58c7cc4b84ca953f1d5e24500cc816a921b3d
system_ext/lib64/libimsmedia_jni.so|13db7c0725cf7982e60a8cec1c8d7ece80ccda78
system_ext/lib64/vendor.qti.ImsRtpService-V1-ndk.so|bb32703c026364da33ca1b4f83c839e1e312ae9b
system_ext/lib64/vendor.qti.ims.callcapability@1.0.so|e3d9718062868d445b213ea5cc9939b9ca1de68b
system_ext/lib64/vendor.qti.ims.callinfo@1.0.so|bab149dd7c7f202c1feece6fdf030383c0111e59
system_ext/lib64/vendor.qti.ims.factory@1.0.so|d5c51fd2d5f864aa85b1f6a76ebe0fef743ad6f8
system_ext/lib64/vendor.qti.ims.factory@1.1.so|b8bfb455e70d803b6bfb35378f70493f22beda75
system_ext/lib64/vendor.qti.ims.factory@2.0.so|db4e50433f75566781c9f30b72648fab39b2cf1b
system_ext/lib64/vendor.qti.ims.rcsconfig@1.0.so|91ec370057a2b970efe7a8dffb22aeb5061cda65
system_ext/lib64/vendor.qti.ims.rcsconfig@1.1.so|4e326bc94061db9839102c1af24a2b00cd91e4e5
system_ext/lib64/vendor.qti.ims.rcsconfig@2.0.so|276ea5b776a6947f95d5f3c9d7219852fd14a732
system_ext/lib64/vendor.qti.ims.rcsconfig@2.1.so|2375e0a0e35d35bd32de549a8fdf057cf1b27187
system_ext/lib64/vendor.qti.imsrtpservice@3.0.so|919c4398097c8b818a415efccc57e989c7c24e10
system_ext/lib64/vendor.qti.imsrtpservice@3.1.so|d1b6a6eabf17e43e98dcc4372fdabea4890f7cd8

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

@@ -32,31 +32,32 @@
#TODO: Add 'check' as fs_mgr_flags with data partition.
# Currently we dont have e2fsck compiled. So fs check would failed.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
system /system ext4 ro,barrier=1 wait,logical,first_stage_mount,readahead_size_kb=128
system /system erofs ro wait,logical,first_stage_mount,readahead_size_kb=128
vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount,readahead_size_kb=128
vendor /vendor erofs ro wait,logical,first_stage_mount,readahead_size_kb=128
system_ext /system_ext ext4 ro,barrier=1 wait,logical,first_stage_mount,readahead_size_kb=128
system_ext /system_ext erofs ro wait,logical,first_stage_mount,readahead_size_kb=128
product /product ext4 ro,barrier=1 wait,logical,first_stage_mount,readahead_size_kb=128
product /product erofs ro wait,logical,first_stage_mount,readahead_size_kb=128
odm /odm ext4 ro,barrier=1 wait,logical,first_stage_mount,readahead_size_kb=128
odm /odm erofs ro wait,logical,first_stage_mount,readahead_size_kb=128
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=journal,commit=1 wait,check,formattable,wrappedkey,data=journal,commit=1,first_stage_mount
system_ext /system_ext ext4 ro,barrier=1 wait,logical,first_stage_mount,readahead_size_kb=128
system_ext /system_ext erofs ro wait,logical,first_stage_mount,readahead_size_kb=128
product /product ext4 ro,barrier=1 wait,logical,first_stage_mount,readahead_size_kb=128
product /product erofs ro wait,logical,first_stage_mount,readahead_size_kb=128
odm /odm ext4 ro,barrier=1 wait,logical,first_stage_mount,readahead_size_kb=128
odm /odm erofs ro wait,logical,first_stage_mount,readahead_size_kb=128
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=journal,commit=1 wait,check,formattable,first_stage_mount
/dev/block/by-name/vbmeta /vbmeta emmc defaults first_stage_mount
/dev/block/bootdevice/by-name/boot /boot emmc defaults recoveryonly
/dev/block/bootdevice/by-name/recovery /recovery emmc defaults recoveryonly
/dev/block/bootdevice/by-name/boot /boot emmc defaults defaults
/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults
/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,noatime,nodev,barrier=1 wait
/dev/block/bootdevice/by-name/cache /cache f2fs nosuid,nodev,noatime,barrier=1,inline_xattr,flush_merge,data_flush wait
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,background_gc=sync,gc_merge,atgc,checkpoint_merge,compress_algorithm=lz4,compress_extension=apk,compress_extension=apex,compress_extension=so,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,fscompress,quota,formattable,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs,reservedsize=128M,readahead_size_kb=128
/dev/block/bootdevice/by-name/cache /cache f2fs nosuid,noatime,nodev,fsync_mode=nobarrier wait
/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,noauto_da_alloc,discard,inlinecrypt latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,keydirectory=/metadata/vold/metadata_encryption,quota,reservedsize=128M,readahead_size_kb=128
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,fsync_mode=nobarrier,discard,inlinecrypt latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,keydirectory=/metadata/vold/metadata_encryption,quota,reservedsize=128M,readahead_size_kb=128
/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=0,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait
/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait,check
/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait
/dev/block/bootdevice/by-name/bluetooth /vendor/bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0 wait
/devices/platform/soc/a600000.ssusb/a600000.dwc3/xhci-hcd.0.auto* auto auto defaults voldmanaged=usbotg:auto
# Need to have this entry in here even though the mount point itself is no longer needed.
# The update_engine code looks for this entry in order to determine the boot device address
# and fails if it does not find it.
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
/dev/block/zram0 none swap defaults zramsize=50%
/dev/block/zram0 none swap defaults zramsize=50%,max_comp_streams=4

View File

@@ -30,9 +30,6 @@ type proc_last_kmsg, fs_type, proc_type;
type fingerprint_data_file, data_file_type, file_type;
type sysfs_fod, sysfs_type, fs_type;
# Livedisplay
type vendor_sysfs_hbm, sysfs_type, fs_type;
# IR
type ir_spi_device, dev_type, file_type;

View File

@@ -7,9 +7,6 @@
# Camera
/mnt/vendor/persist/camera(/.*)? u:object_r:camera_persist_file:s0
# Camera - Miui
/vendor/lib64(/.*)? u:object_r:same_process_hal_file:s0
# Contexthub
/vendor/bin/hw/android\.hardware\.contexthub@1\.1-service\.generic u:object_r:hal_contexthub_default_exec:s0
@@ -25,22 +22,15 @@
/vendor/bin/hw/android\.hardware\.biometrics\.fingerprint@2\.3-service\.cepheus u:object_r:hal_fingerprint_default_exec:s0
# HALs
/vendor/bin/hw/android\.hardware\.light-service\.xiaomi u:object_r:hal_light_default_exec:s0
/vendor/bin/hw/android\.hardware\.light-service\.lineage 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)
/mnt/vendor/dsp/fastrpc_shell_3 u:object_r:public_adsprpcd_file:s0
# HBM
/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
# Livedisplay
/vendor/bin/hw/vendor\.lineage\.livedisplay@2\.1-service\.cepheus u:object_r:hal_lineage_livedisplay_qti_exec:s0
/dev/ir_spi u:object_r:lirc_device:s0
# Mlipay
/vendor/bin/mlipayd@1\.1 u:object_r:hal_mlipay_default_exec:s0

View File

@@ -10,10 +10,6 @@ genfscon sysfs /devices/platform/soc/soc:qcom,dsi-display
genfscon sysfs /devices/platform/soc/soc:qcom,gpubw u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/soc:qcom,gpubw/devfreq u:object_r:sysfs_msm_subsys:s0
# Extcon sysfs
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm8150b@2:qcom,usb-pdphy@1700/extcon u:object_r:sysfs_extcon:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm8150b@2:qcom,qpnp-smb5/extcon u:object_r:sysfs_extcon:s0
# Graphics
genfscon sysfs /devices/platform/soc/soc:qcom,dsi-display-primary u:object_r:vendor_sysfs_graphics:s0
@@ -83,13 +79,11 @@ genfscon sysfs /devices/platform/soc/a94000.i2c/i2c-4/4-0048/wakeup
genfscon sysfs /devices/platform/soc/aab0000.qcom,venus/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/abb0000.qcom,cvpss/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/b0000000.qcom,cnss-qca6390/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-00/c440000.qcom,spmi:qcom,pm8150@0:qcom,power-on@800/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm8150b@2:qcom,qpnp-smb5/power_supply/wireless/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm8150b@2:qcom,qpnp-smb5/power_supply/wireless/wakeup37 u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm8150b@2:qcom,sdam-qnovo@b000/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm8150b@2:qcom,usb-pdphy@1700/usbpd/usbpd0/otg_default/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm8150b@2:vadc@3100/iio:device1/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-04/c440000.qcom,spmi:qcom,pm8150l@4:qcom,power-on@800/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-08/c440000.qcom,spmi:qcom,pmxprairie@8:qcom,power-on@800/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/c80000.i2c/i2c-2/2-0049/wakeup u:object_r:sysfs_wakeup:s0
genfscon sysfs /devices/platform/soc/soc:fingerprint_fpc/wakeup u:object_r:sysfs_wakeup:s0

View File

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

View File

@@ -1,3 +0,0 @@
allow hal_lineage_livedisplay_qti vendor_sysfs_hbm:file rw_file_perms;
allow hal_lineage_livedisplay_qti vendor_sysfs_graphics:dir r_dir_perms;
allow hal_lineage_livedisplay_qti vendor_sysfs_graphics:file rw_file_perms;