19 Commits
bka-new ... bka

Author SHA1 Message Date
f3a8b9ec9f raphael: Initialize for Evolution X 11.x+ 2026-02-06 00:08:40 +09:00
96b17e25a2 raphael: Add camera flags via soong config 2026-02-06 00:08:40 +09:00
lolipuru
8626a41ea5 raphael: add ro.miui.build.region to enable beauty mode
Signed-off-by: lolipuru <banstellazz@gmail.com>
2026-02-06 00:08:40 +09:00
Arian
db9b1f86fd raphael: Import mod_device property
Change-Id: Ide1eba4a88a17ff514baabc4b464e971e1a2bb89
2026-02-06 00:08:30 +09:00
firebird11
6d5d8919ba raphael: Update dimensions
Change-Id: I3b8287efc210b363d4b05128a95ea5ca4ba5b60d
2026-02-04 19:44:47 +01:00
firebird11
789f9718c8 raphael: Sync gpu freq. with kernel
Change-Id: Iadaedbd42f72cdb541b7c73ee01600fd24d9bc53
Signed-off-by: firebird11 <hbgassel@gmail.com>
2026-02-03 21:35:42 +01:00
firebird11
3aeff92521 raphael: Powerhint: Remove unnecessary values
Change-Id: Ia0ca85e3a5c3d37712c9187ae36070670b96a80c
Signed-off-by: firebird11 <hbgassel@gmail.com>
2026-02-03 21:35:25 +01:00
firebird11
273a2d25d2 raphael: Add more GPU frequenties
Change-Id: Iad1c1dcf832e3c7d907bcdf9bac7f86db8d85cfc
Signed-off-by: firebird11 <hbgassel@gmail.com>
2026-02-03 21:34:57 +01:00
firebird11
40f313e97f raphael: Add missing camera files
Change-Id: I16ce0d5661a512535269631eb8817ea70bece088
Signed-off-by: firebird11 <hbgassel@gmail.com>
2026-02-02 17:04:23 +01:00
firebird11
f8996033d1 raphael: Include MIUICamera
Change-Id: I1ac994aa8541c047fe5dfc5fabc2680143bf2b8e
Signed-off-by: firebird11 <hbgassel@gmail.com>
2026-02-02 17:04:07 +01:00
firebird11
08837c949d raphael: Add FM
Change-Id: I492a494f13b0e7e369474e666e59fbab558084c1
Signed-off-by: firebird11 <hbgassel@gmail.com>
2026-02-02 17:03:26 +01:00
firebird11
d313959a3c raphael: Move powerhint to device
Change-Id: I3e5621ff9ab6ab13572817f47dc1ec5a76797923
Signed-off-by: firebird11 <hbgassel@gmail.com>
2026-02-02 16:59:31 +01:00
firebird11
55090317c9 raphael: Center udfps animation
Change-Id: I6bfce7129d950bd79c047f73b865aea24c8c56f8
Signed-off-by: firebird11 <hbgassel@gmail.com>
2026-02-02 16:57:32 +01:00
firebird11
a6b3e67558 raphael: Sensor based UDFPS, Double and Single tap (1/4)
* Based on commits from @pwnrzr and @ivecera

Change-Id: Ief1d63c2971d87f51bb519f028c343222487dc40
Signed-off-by: firebird11 <hbgassel@gmail.com>
2026-02-02 16:55:22 +01:00
firebird11
13bdb620b8 raphael: Move sensors/hals.conf to device
Change-Id: I7c73e2b436d4716cd614daa3cd335fb57e621e43
2026-02-02 16:51:47 +01:00
Vincent Wang
67d6e34c3d raphael: overlay: Enable fp screen off unlock feature
Bug: 389002332
Flag: android.hardware.biometrics.screen_off_unlock_udfps
Test: 1. FP screen off unlcok should be included in settings
      2. FP screen off unlcok should be disabled by default
Change-Id: I65eda6ae6f69ff4e6a3191d91fb8be42797c7fcb
2026-02-02 16:38:13 +01:00
armdebug
2a59468b5c raphael: overlay: Beautify RROs
* Ran through lineage/scripts/dev/beautify_rro.py
* Used the --maintain-copyrights flag to preserve existing headers.

android.overlay.device: Resource config_dynamicHysteresisBrightLevels not found in android
android.overlay.device: Resource config_dynamicHysteresisDarkLevels not found in android
android.overlay.device: Resource config_dynamicHysteresisLuxLevels not found in android
android.overlay.device: Resource config_autoBrightnessAdjustmentMaxGamma identical in android

Change-Id: I0178367152d32723567da0932da71fbe63b9ba91
2026-02-02 16:38:03 +01:00
Bin
e7b614e212 raphael: Patch audio to load libaudioroute-v34.so
Change-Id: Idad20512982b8753820fffa6d956df137e462638
2026-02-02 16:37:46 +01:00
Cosmin Tanislav
a152aec467 raphael: Support UDFPS on AoD
Change-Id: I7196dce967c9adbc62bb5156ade749c92c7780a1
2026-02-02 16:37:28 +01:00
27 changed files with 1021 additions and 280 deletions

View File

@@ -7,6 +7,11 @@
# Inherit from sm8150-common
include device/xiaomi/sm8150-common/BoardConfigCommon.mk
# Include MIUI Camera board settings if present
ifneq ($(wildcard device/xiaomi/miuicamera/BoardConfig.mk),)
include device/xiaomi/miuicamera/BoardConfig.mk
endif
DEVICE_PATH := device/xiaomi/raphael
# Assert

26
README.md Normal file
View File

@@ -0,0 +1,26 @@
Copyright (C) 2023 The LineageOS Project
Device configuration for Redmi K20 Pro / Xiaomi Mi 9T Pro
=========================================
The Redmi K20 Pro / Xiaomi Mi 9T Pro (codenamed _"raphael"_) is a flagship smartphone from Xiaomi announced in May 2019.
It was released in June 2019.
## Device specifications
Basic | Spec Sheet
-------:|:-------------------------
CPU | Octa-core (1x2.84 GHz Kryo 485 & 3x2.42 GHz Kryo 485 & 4x1.78 GHz Kryo 485)
Chipset | Qualcomm SM8150 Snapdragon 855 (7 nm)
GPU | Adreno 640
Memory | 6/8 GB
Storage | 64/128/256 GB, UFS 3.1
Shipped Android Version | 9, MIUI 10
Battery | Li-Po 4000 mAh, non-removable
Display | 1080 x 2340 pixels, 6.39 inches (~403 ppi density)
Camera | 48 MP main, 13 MP ultrawide, 8 MP macro, 20 MP motorized pop-up front
## Device picture
![Redmi K20 Pro / Mi 9T Pro](https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/beee478168e5c4fd0d66369386fddbbe.jpg "Redmi K20 Pro / Mi 9T Pro")

606
configs/etc/powerhint.json Normal file
View File

@@ -0,0 +1,606 @@
{
"Nodes": [
{
"Name": "CPULittleClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq",
"Values": [
"9999999",
"1113600",
"844800",
"1036800",
"1209600",
"1382400",
"1555200"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "CPULittleClusterMinFreq",
"Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq",
"Values": [
"9999999",
"576000",
"1113600"
],
"DefaultIndex": 1,
"ResetOnInit": true
},
{
"Name": "CPUBigClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq",
"Values": [
"9999999",
"2016000",
"1401600",
"1171200",
"1497600",
"1708800",
"1920000",
"2131200"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "CPUBigClusterMinFreq",
"Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq",
"Values": [
"9999999",
"1497600",
"1401600",
"0",
"1286400"
],
"DefaultIndex": 3,
"ResetOnInit": true
},
{
"Name": "CPUBigPlusClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq",
"Values": [
"9999999",
"2016000",
"1401600",
"1708800",
"2015999",
"2227200",
"2534400"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "CPUBigPlusClusterMinFreq",
"Path": "/sys/devices/system/cpu/cpu7/cpufreq/scaling_min_freq",
"Values": [
"9999999",
"1497600",
"1401600",
"0",
"1286400"
],
"DefaultIndex": 3,
"ResetOnInit": true
},
{
"Name": "GPUMaxFreq",
"Path": "/sys/class/kgsl/kgsl-3d0/devfreq/max_freq",
"Values": [
"770000000",
"715000000",
"692000000",
"615000000",
"585000000",
"515000000",
"427000000"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "GPUMinFreq",
"Path": "/sys/class/kgsl/kgsl-3d0/devfreq/min_freq",
"Values": [
"515000000",
"427000000",
"340000000"
],
"DefaultIndex": 2,
"ResetOnInit": true
},
{
"Name": "GPUBusMinFreq",
"Path": "/sys/class/devfreq/soc:qcom,gpubw/min_freq",
"Values": [
"6881",
"5931",
"3879",
"0"
],
"ResetOnInit": true
},
{
"Name": "GPUForceRailOn",
"Path": "/sys/class/kgsl/kgsl-3d0/force_rail_on",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "GPUForceClkOn",
"Path": "/sys/class/kgsl/kgsl-3d0/force_clk_on",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "GPUIdleTimer",
"Path": "/sys/class/kgsl/kgsl-3d0/idle_timer",
"Values": [
"10000",
"80"
],
"ResetOnInit": true
},
{
"Name": "CameraHalCpuset",
"Path": "/dev/cpuset/camera-daemon/cpus",
"Values": [
"0-5",
"0-7"
],
"ResetOnInit": true
},
{
"Name": "PMQoSCpuDmaLatency",
"Path": "/dev/cpu_dma_latency",
"Values": [
"2c",
"66"
],
"HoldFd": true
},
{
"Name": "PowerHALMainState",
"Path": "vendor.powerhal.state",
"Values": [
"SUSTAINED_PERFORMANCE",
""
],
"Type": "Property"
},
{
"Name": "PowerHALAudioState",
"Path": "vendor.powerhal.audio",
"Values": [
"AUDIO_STREAMING_LOW_LATENCY",
""
],
"Type": "Property"
},
{
"Name": "PowerHALRenderingState",
"Path": "vendor.powerhal.rendering",
"Values": [
"EXPENSIVE_RENDERING",
""
],
"Type": "Property"
}
],
"Actions": [
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "PowerHALMainState",
"Duration": 0,
"Value": "SUSTAINED_PERFORMANCE"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "CPUBigClusterMaxFreq",
"Duration": 0,
"Value": "1401600"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 0,
"Value": "1401600"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "CPULittleClusterMaxFreq",
"Duration": 0,
"Value": "1113600"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "GPUMaxFreq",
"Duration": 0,
"Value": "427000000"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUBigClusterMinFreq",
"Duration": 200,
"Value": "1286400"
},
{
"PowerHint": "INTERACTION",
"Node": "CPUBigPlusClusterMinFreq",
"Duration": 200,
"Value": "1286400"
},
{
"PowerHint": "INTERACTION",
"Node": "CPULittleClusterMinFreq",
"Duration": 200,
"Value": "1113600"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBigClusterMaxFreq",
"Duration": 5000,
"Value": "9999999"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 5000,
"Value": "9999999"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBigClusterMinFreq",
"Duration": 5000,
"Value": "9999999"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBigPlusClusterMinFreq",
"Duration": 5000,
"Value": "9999999"
},
{
"PowerHint": "LAUNCH",
"Node": "CPULittleClusterMinFreq",
"Duration": 5000,
"Value": "9999999"
},
{
"PowerHint": "LAUNCH",
"Node": "PMQoSCpuDmaLatency",
"Duration": 5000,
"Value": "2c"
},
{
"PowerHint": "LAUNCH",
"Node": "GPUForceClkOn",
"Duration": 5000,
"Value": "1"
},
{
"PowerHint": "LAUNCH",
"Node": "GPUForceRailOn",
"Duration": 5000,
"Value": "1"
},
{
"PowerHint": "LAUNCH",
"Node": "GPUIdleTimer",
"Duration": 5000,
"Value": "10000"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "CPUBigClusterMaxFreq",
"Duration": 1000,
"Value": "9999999"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 1000,
"Value": "9999999"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "CPUBigClusterMinFreq",
"Duration": 1000,
"Value": "9999999"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "CPUBigPlusClusterMinFreq",
"Duration": 1000,
"Value": "9999999"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "CPULittleClusterMaxFreq",
"Duration": 1000,
"Value": "9999999"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "CPULittleClusterMinFreq",
"Duration": 1000,
"Value": "9999999"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "PMQoSCpuDmaLatency",
"Duration": 1000,
"Value": "2c"
},
{
"PowerHint": "CAMERA_STREAMING_MID",
"Node": "CPUBigClusterMaxFreq",
"Duration": 0,
"Value": "2016000"
},
{
"PowerHint": "CAMERA_STREAMING_MID",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 0,
"Value": "2016000"
},
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "CPUBigClusterMaxFreq",
"Duration": 0,
"Value": "2016000"
},
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 0,
"Value": "2016000"
},
{
"PowerHint": "CAMERA_STREAMING_LOW",
"Node": "CPUBigClusterMaxFreq",
"Duration": 0,
"Value": "2016000"
},
{
"PowerHint": "CAMERA_STREAMING_LOW",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 0,
"Value": "2016000"
},
{
"PowerHint": "CAMERA_STREAMING_SECURE",
"Node": "CPUBigClusterMaxFreq",
"Duration": 0,
"Value": "2016000"
},
{
"PowerHint": "CAMERA_STREAMING_SECURE",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 0,
"Value": "2016000"
},
{
"PowerHint": "CAMERA_STREAMING_SECURE",
"Node": "CameraHalCpuset",
"Duration": 0,
"Value": "0-5"
},
{
"PowerHint": "CAMERA_SHOT",
"Node": "CPUBigClusterMaxFreq",
"Duration": 1000,
"Value": "9999999"
},
{
"PowerHint": "CAMERA_SHOT",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 1000,
"Value": "9999999"
},
{
"PowerHint": "CAMERA_SHOT",
"Node": "CPUBigClusterMinFreq",
"Duration": 1000,
"Value": "9999999"
},
{
"PowerHint": "CAMERA_SHOT",
"Node": "CPUBigPlusClusterMinFreq",
"Duration": 1000,
"Value": "9999999"
},
{
"PowerHint": "CAMERA_SHOT",
"Node": "CPULittleClusterMaxFreq",
"Duration": 1000,
"Value": "9999999"
},
{
"PowerHint": "CAMERA_SHOT",
"Node": "CPULittleClusterMinFreq",
"Duration": 1000,
"Value": "9999999"
},
{
"PowerHint": "CAMERA_SHOT",
"Node": "PMQoSCpuDmaLatency",
"Duration": 1000,
"Value": "2c"
},
{
"PowerHint": "AUDIO_LAUNCH",
"Node": "PMQoSCpuDmaLatency",
"Duration": 2000,
"Value": "2c"
},
{
"PowerHint": "AUDIO_STREAMING_LOW_LATENCY",
"Node": "PowerHALAudioState",
"Duration": 0,
"Value": "AUDIO_STREAMING_LOW_LATENCY"
},
{
"PowerHint": "AUDIO_STREAMING_LOW_LATENCY",
"Node": "PMQoSCpuDmaLatency",
"Duration": 0,
"Value": "2c"
},
{
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "PowerHALRenderingState",
"Duration": 0,
"Value": "EXPENSIVE_RENDERING"
},
{
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "GPUMinFreq",
"Duration": 0,
"Value": "427000000"
},
{
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "GPUMaxFreq",
"Duration": 0,
"Value": "585000000"
},
{
"PowerHint": "ML_ACC",
"Node": "PMQoSCpuDmaLatency",
"Duration": 2000,
"Value": "2c"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_50",
"Node": "CPULittleClusterMaxFreq",
"Duration": 3600000,
"Value": "844800"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_50",
"Node": "CPULittleClusterMinFreq",
"Duration": 3600000,
"Value": "576000"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_60",
"Node": "CPULittleClusterMaxFreq",
"Duration": 3600000,
"Value": "1036800"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_60",
"Node": "CPULittleClusterMinFreq",
"Duration": 3600000,
"Value": "576000"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_70",
"Node": "CPULittleClusterMaxFreq",
"Duration": 3600000,
"Value": "1209600"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_80",
"Node": "CPULittleClusterMaxFreq",
"Duration": 3600000,
"Value": "1382400"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_90",
"Node": "CPULittleClusterMaxFreq",
"Duration": 3600000,
"Value": "1555200"
},
{
"PowerHint": "LOW_POWER_CPU_50",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3600000,
"Value": "1171200"
},
{
"PowerHint": "LOW_POWER_CPU_50",
"Node": "CPUBigClusterMinFreq",
"Duration": 3600000,
"Value": "0"
},
{
"PowerHint": "LOW_POWER_CPU_50",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 3600000,
"Value": "1401600"
},
{
"PowerHint": "LOW_POWER_CPU_50",
"Node": "CPUBigPlusClusterMinFreq",
"Duration": 3600000,
"Value": "0"
},
{
"PowerHint": "LOW_POWER_CPU_60",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3600000,
"Value": "1497600"
},
{
"PowerHint": "LOW_POWER_CPU_60",
"Node": "CPUBigClusterMinFreq",
"Duration": 3600000,
"Value": "0"
},
{
"PowerHint": "LOW_POWER_CPU_60",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 3600000,
"Value": "1708800"
},
{
"PowerHint": "LOW_POWER_CPU_60",
"Node": "CPUBigPlusClusterMinFreq",
"Duration": 3600000,
"Value": "0"
},
{
"PowerHint": "LOW_POWER_CPU_70",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3600000,
"Value": "1708800"
},
{
"PowerHint": "LOW_POWER_CPU_70",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 3600000,
"Value": "2015999"
},
{
"PowerHint": "LOW_POWER_CPU_80",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3600000,
"Value": "1920000"
},
{
"PowerHint": "LOW_POWER_CPU_80",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 3600000,
"Value": "2227200"
},
{
"PowerHint": "LOW_POWER_CPU_90",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3600000,
"Value": "2131200"
},
{
"PowerHint": "LOW_POWER_CPU_90",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 3600000,
"Value": "2534400"
}
]
}

View File

@@ -0,0 +1,4 @@
sensors.ssc.so
sensors.udfps.so
sensors.single_tap.so
sensors.double_tap.so

View File

@@ -6,6 +6,7 @@
TARGET_HAS_UDFPS := true
TARGET_IS_LEGACY := true
TARGET_HAS_FM := true
# Inherit from sm8150-common
$(call inherit-product, device/xiaomi/sm8150-common/msmnile.mk)
@@ -23,11 +24,20 @@ TARGET_SCREEN_HEIGHT := 2340
TARGET_SCREEN_WIDTH := 1080
# Camera
$(call inherit-product-if-exists, device/xiaomi/miuicamera/device.mk)
PRODUCT_PRODUCT_PROPERTIES += \
ro.miui.build.region=global \
ro.product.mod_device=raphael_global
PRODUCT_PACKAGES += \
libMegviiFacepp-0.5.2 \
libmegface \
libpiex_shim
$(call soong_config_set_bool,camera,override_format_from_reserved,true)
$(call soong_config_set,camera,package_name,com.android.camera)
# Camera motor
PRODUCT_PACKAGES += \
vendor.xiaomi.hardware.motor@1.0-service.xml
@@ -47,6 +57,14 @@ PRODUCT_PACKAGES += \
SettingsOverlayDevice \
SystemUIOverlayDevice
# Power
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/etc/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
# Sensors
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/sensors/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf
# Shipping API level
PRODUCT_SHIPPING_API_LEVEL := 28

View File

@@ -1,10 +1,28 @@
[
{
"repository": "vendor_xiaomi_raphael",
"target_path": "vendor/xiaomi/raphael"
},
{
"repository": "device_xiaomi_sm8150-common",
"target_path": "device/xiaomi/sm8150-common"
},
{
"repository": "vendor_xiaomi_raphael",
"target_path": "vendor/xiaomi/raphael"
"repository": "vendor_xiaomi_sm8150-common",
"target_path": "vendor/xiaomi/sm8150-common"
},
{
"repository": "device_xiaomi_miuicamera",
"target_path": "device/xiaomi/miuicamera"
},
{
"repository": "vendor_xiaomi_miuicamera",
"target_path": "vendor/xiaomi/miuicamera"
},
{
"repository": "crdroidandroid/android_packages_apps_DolbyAtmos",
"target_path": "packages/apps/DolbyAtmos",
"remote": "github-non-los",
"branch": "16.0"
}
]

View File

@@ -19,11 +19,16 @@ from extract_utils.main import (
blob_fixups: blob_fixups_user_type = {
'vendor/etc/init/init.batterysecret.rc': blob_fixup()
.regex_replace('.*seclabel u:r:batterysecret:s0\n', ''),
'vendor/etc/sensors/hals.conf': blob_fixup()
.add_line_if_missing('sensors.udfps.so'),
'vendor/lib/hw/audio.primary.raphael.so': blob_fixup()
.binary_regex_replace(
b'/vendor/lib/liba2dpoffload.so',
b'liba2dpoffload_raphael.so\x00\x00\x00\x00',
),
)
.replace_needed('libaudioroute.so', 'libaudioroute-v34.so'),
'vendor/lib/libaudioroute_ext.so': blob_fixup()
.replace_needed('libaudioroute.so', 'libaudioroute-v34.so'),
'vendor/lib64/camera/components/com.qti.node.watermark.so': blob_fixup()
.add_needed('libpiex_shim.so'),
} # fmt: skip

View File

@@ -11,18 +11,19 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit some common Lineage stuff.
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
EVO_BUILD_TYPE := Official
TARGET_BOOT_ANIMATION_RES := 1080
TARGET_BUILD_APERTURE_CAMERA := false
# Inherit from raphael device
$(call inherit-product, device/xiaomi/raphael/device.mk)
EVO_BUILD_TYPE := Official
TARGET_BOOT_ANIMATION_RES := 1080
TARGET_BUILD_APERTURE_CAMERA := false
TARGET_HAS_UDFPS := true
# Device identifier. This must come after all inclusions.
PRODUCT_NAME := lineage_raphael
PRODUCT_DEVICE := raphael
PRODUCT_MANUFACTURER := Xiaomi
PRODUCT_BRAND := Xiaomi
PRODUCT_MODEL := Mi 9T Pro
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi

View File

@@ -61,6 +61,7 @@ vendor/lib/libsurround_3mic_proc.so
vendor/lib/vendor.qti.hardware.audiohalext@1.0.so
# Camera
vendor/bin/remosaic_daemon
vendor/lib64/camera/com.qti.sensor.imx586_raphael.so
vendor/lib64/camera/com.qti.sensor.ov8856_raphael.so
vendor/lib64/camera/com.qti.sensor.s5k3l6_raphael.so
@@ -122,9 +123,12 @@ vendor/lib64/libmialgo_fs.so
vendor/lib64/libmialgo_rfs.so
vendor/lib64/libmialgo_sd.so
vendor/lib64/libmialgo_utils.so
vendor/lib64/libmialgoengine.so
vendor/lib64/libmibokeh_855.so
vendor/lib64/libmpbase.so
vendor/lib64/libremosaic_daemon.so
vendor/lib64/libswregistrationalgo.so
vendor/lib64/libsymphony-cpu.so
vendor/lib64/libtriplecam_video_optical_zoom.so
vendor/lib64/libvidhance.so
@@ -301,7 +305,6 @@ vendor/etc/init/init.vendor.sensors.rc
vendor/etc/init/vendor.qti.hardware.sensorscalibrate@1.0-service.rc
vendor/etc/init/vendor.sensors.qti.rc
vendor/etc/init/vendor.sensors.sscrpcd.rc
vendor/etc/sensors/hals.conf
vendor/lib64/hw/vendor.qti.hardware.sensorscalibrate@1.0-impl.so
vendor/lib64/libsensorcal.so
vendor/lib64/libsensorslog.so

View File

@@ -4,11 +4,8 @@
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.lineageos.aperture.overlay.device">
<overlay
android:isStatic="true"
android:priority="200"
android:targetPackage="org.lineageos.aperture" />
package="org.lineageos.aperture.overlay.device">
<overlay android:targetPackage="org.lineageos.aperture"
android:isStatic="true"
android:priority="200" />
</manifest>

View File

@@ -18,26 +18,28 @@
<item>10</item>
</string-array>
<!-- An array of triplets made of (camera ID, qualities, framerates).
<!-- An array of triplets made of (camera ID, qualities, frame rates).
These video modes will be added to the available
quality/framerate combinations of a camera device.
quality/frame rate combinations of a camera device.
Make sure the device is able to handle those configurations
and maintain a stable framerate at any condition.
and maintain a stable frame rate at any condition.
Note that you can't add video qualities that aren't
exposed by the camera, only new framerates.
exposed by the camera, only new frame rates.
Valid values of resolution are:
- "sd" (480p)
- "hd" (720p)
- "fhd" (1080p)
- "uhd" (2160p)
Valid values of framerate are:
Valid values of frame rate are:
- "24"
- "30"
- "60"
- "120"
Additionally you can prepend `-` to frame rate to mark it as unsupported.
Example:
<string-array name="config_additionalVideoConfigurations">
<item>0</item> <item>sd|hd|fhd</item> <item>60|120</item>
<item>0</item> <item>uhd</item> <item>-60</item>
<item>1</item> <item>sd|hd|fhd</item> <item>60</item>
</string-array>
-->

View File

@@ -4,11 +4,8 @@
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.overlay.device">
<overlay
android:isStatic="true"
android:priority="200"
android:targetPackage="android" />
package="android.overlay.device">
<overlay android:targetPackage="android"
android:isStatic="true"
android:priority="200" />
</manifest>

View File

@@ -16,11 +16,32 @@
<!-- These resources are around just to allow their values to be customized
for different hardware and product builds. Do not translate. -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Flag indicating whether the we should enable the automatic brightness in Settings.
<resources>
<!-- Flag indicating whether we should enable the automatic brightness.
Software implementation will be used if config_hardware_auto_brightness_available is not set -->
<bool name="config_automatic_brightness_available">true</bool>
<!-- Note: This setting is deprecated, please use
config_screenBrightnessSettingMinimumFloat instead -->
<integer name="config_screenBrightnessSettingMinimum">2</integer>
<!-- Note: This setting is deprecated, please use
config_screenBrightnessSettingDefaultFloat instead -->
<integer name="config_screenBrightnessSettingDefault">184</integer>
<!-- Stability requirements in milliseconds for accepting a new brightness level. This is used
for debouncing the light sensor. Different constants are used to debounce the light sensor
when adapting to brighter or darker environments. This parameter controls how quickly
brightness changes occur in response to an observed change in light level that exceeds the
hysteresis threshold. -->
<integer name="config_autoBrightnessBrighteningLightDebounce">2000</integer>
<integer name="config_autoBrightnessDarkeningLightDebounce">4000</integer>
<!-- Screen brightness used to dim the screen when the user activity
timeout expires. May be less than the minimum allowed brightness setting
that can be set by the user. -->
<integer name="config_screenBrightnessDim">6</integer>
<!-- Array of light sensor lux values to define our levels for auto backlight brightness support.
The N entries of this array define N + 1 control points as follows:
(1-based arrays)
@@ -61,8 +82,7 @@
</integer-array>
<!-- Array of desired screen brightness in nits corresponding to the lux values
in the config_autoBrightnessLevels array. As with config_screenBrightnessMinimumNits and
config_screenBrightnessMaximumNits, the display brightness is defined as the measured
in the config_autoBrightnessLevels array. The display brightness is defined as the measured
brightness of an all-white image.
If this is defined then:
@@ -93,6 +113,81 @@
<item>427.6287</item>
</array>
<!-- An array describing the screen's backlight values corresponding to the brightness
values in the config_screenBrightnessNits array.
This array should be equal in size to config_screenBrightnessBacklight. -->
<integer-array name="config_screenBrightnessBacklight">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
<item>16</item>
<item>17</item>
<item>18</item>
<item>19</item>
<item>20</item>
<item>25</item>
<item>30</item>
<item>35</item>
<item>40</item>
<item>45</item>
<item>50</item>
<item>55</item>
<item>60</item>
<item>65</item>
<item>70</item>
<item>75</item>
<item>80</item>
<item>85</item>
<item>90</item>
<item>95</item>
<item>100</item>
<item>105</item>
<item>110</item>
<item>115</item>
<item>120</item>
<item>125</item>
<item>130</item>
<item>135</item>
<item>140</item>
<item>145</item>
<item>150</item>
<item>155</item>
<item>160</item>
<item>165</item>
<item>170</item>
<item>174</item>
<item>179</item>
<item>184</item>
<item>189</item>
<item>194</item>
<item>199</item>
<item>204</item>
<item>209</item>
<item>214</item>
<item>219</item>
<item>224</item>
<item>229</item>
<item>234</item>
<item>239</item>
<item>244</item>
<item>249</item>
<item>255</item>
</integer-array>
<!-- An array of floats describing the screen brightness in nits corresponding to the backlight
values in the config_screenBrightnessBacklight array. On OLED displays these values
should be measured with an all white image while the display is in the fully on state.
@@ -171,190 +266,20 @@
<item>427.6287</item>
</array>
<!-- An array describing the screen's backlight values corresponding to the brightness
values in the config_screenBrightnessNits array.
This array should be equal in size to config_screenBrightnessBacklight. -->
<integer-array name="config_screenBrightnessBacklight">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
<item>16</item>
<item>17</item>
<item>18</item>
<item>19</item>
<item>20</item>
<item>25</item>
<item>30</item>
<item>35</item>
<item>40</item>
<item>45</item>
<item>50</item>
<item>55</item>
<item>60</item>
<item>65</item>
<item>70</item>
<item>75</item>
<item>80</item>
<item>85</item>
<item>90</item>
<item>95</item>
<item>100</item>
<item>105</item>
<item>110</item>
<item>115</item>
<item>120</item>
<item>125</item>
<item>130</item>
<item>135</item>
<item>140</item>
<item>145</item>
<item>150</item>
<item>155</item>
<item>160</item>
<item>165</item>
<item>170</item>
<item>174</item>
<item>179</item>
<item>184</item>
<item>189</item>
<item>194</item>
<item>199</item>
<item>204</item>
<item>209</item>
<item>214</item>
<item>219</item>
<item>224</item>
<item>229</item>
<item>234</item>
<item>239</item>
<item>244</item>
<item>249</item>
<item>255</item>
</integer-array>
<!-- Array of hysteresis constraint values for brightening, represented as tenths of a
percent. The length of this array is assumed to be one greater than
config_dynamicHysteresisLuxLevels. The brightening threshold is calculated as
lux * (1.0f + CONSTRAINT_VALUE). When the current lux is higher than this threshold,
the screen brightness is recalculated. See the config_dynamicHysteresisLuxLevels
description for how the constraint value is chosen. -->
<integer-array name="config_dynamicHysteresisBrightLevels">
<item>200</item>
<item>200</item>
<item>200</item>
<item>200</item>
<item>200</item>
<item>200</item>
<item>200</item>
<item>200</item>
<item>250</item>
<item>300</item>
<item>300</item>
<item>300</item>
<item>300</item>
<item>300</item>
<item>300</item>
<item>400</item>
<item>500</item>
</integer-array>
<!-- Array of hysteresis constraint values for darkening, represented as tenths of a
percent. The length of this array is assumed to be one greater than
config_dynamicHysteresisLuxLevels. The darkening threshold is calculated as
lux * (1.0f - CONSTRAINT_VALUE). When the current lux is lower than this threshold,
the screen brightness is recalculated. See the config_dynamicHysteresisLuxLevels
description for how the constraint value is chosen. -->
<integer-array name="config_dynamicHysteresisDarkLevels">
<item>200</item>
<item>200</item>
<item>200</item>
<item>200</item>
<item>200</item>
<item>200</item>
<item>200</item>
<item>200</item>
<item>300</item>
<item>400</item>
<item>400</item>
<item>400</item>
<item>400</item>
<item>400</item>
<item>400</item>
<item>500</item>
<item>500</item>
</integer-array>
<!-- Array of ambient lux threshold values. This is used for determining hysteresis constraint
values by calculating the index to use for lookup and then setting the constraint value
to the corresponding value of the array. The new brightening hysteresis constraint value
is the n-th element of config_dynamicHysteresisBrightLevels, and the new darkening
hysteresis constraint value is the n-th element of config_dynamicHysteresisDarkLevels.
The (zero-based) index is calculated as follows: (MAX is the largest index of the array)
condition calculated index
value < lux[0] 0
lux[n] <= value < lux[n+1] n+1
lux[MAX] <= value MAX+1 -->
<integer-array name="config_dynamicHysteresisLuxLevels">
<item>1</item>
<item>4</item>
<item>12</item>
<item>20</item>
<item>40</item>
<item>65</item>
<item>95</item>
<item>140</item>
<item>200</item>
<item>350</item>
<item>650</item>
<item>1300</item>
<item>2000</item>
<item>3300</item>
<item>6000</item>
<item>10000</item>
</integer-array>
<!-- Screen brightness used to dim the screen when the user activity
timeout expires. May be less than the minimum allowed brightness setting
that can be set by the user. -->
<integer name="config_screenBrightnessDim">6</integer>
<!-- Default screen brightness setting.
Must be in the range specified by minimum and maximum. -->
<integer name="config_screenBrightnessSettingDefault">184</integer>
<!-- Minimum screen brightness setting allowed by the power manager.
The user is forbidden from setting the brightness below this level. -->
<integer name="config_screenBrightnessSettingMinimum">2</integer>
<!-- Stability requirements in milliseconds for accepting a new brightness level. This is used
for debouncing the light sensor. Different constants are used to debounce the light sensor
when adapting to brighter or darker environments. This parameter controls how quickly
brightness changes occur in response to an observed change in light level that exceeds the
hysteresis threshold. -->
<integer name="config_autoBrightnessBrighteningLightDebounce">2000</integer>
<integer name="config_autoBrightnessDarkeningLightDebounce">4000</integer>
<!-- The maximum range of gamma adjustment possible using the screen
auto-brightness adjustment setting. -->
<fraction name="config_autoBrightnessAdjustmentMaxGamma">300%</fraction>
<!-- Amount of time it takes for the light sensor to warm up in milliseconds.
For this time after the screen turns on, the Power Manager
will not debounce light sensor readings -->
<integer name="config_lightSensorWarmupTime">200</integer>
<!-- Type of the udfps long press sensor. Empty if long press is not supported. -->
<string name="config_dozeUdfpsLongPressSensorType" translatable="false">org.lineageos.sensor.udfps</string>
<!-- Whether to enable fp unlock when screen turns off on udfps devices -->
<bool name="config_screen_off_udfps_enabled">true</bool>
<!-- Type of the tap sensor. Empty if tap is not supported. -->
<string name="config_dozeTapSensorType" translatable="false">org.lineageos.sensor.single_tap</string>
<!-- Type of the double tap sensor. Empty if double tap is not supported. -->
<string name="config_dozeDoubleTapSensorType" translatable="false">org.lineageos.sensor.double_tap</string>
</resources>

View File

@@ -18,13 +18,20 @@
*/
-->
<resources>
<!-- Height of the status bar.
<!-- The default height of the status bar used in {@link SystemBarUtils#getStatusBarHeight} to
calculate the status bar height. -->
<dimen name="status_bar_height_default">28dp</dimen>
<!-- Height of the status bar in portrait.
Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
-->
<dimen name="status_bar_height_default">32dp</dimen>
<dimen name="status_bar_height_portrait">35dp</dimen>
<dimen name="status_bar_height_landscape">32dp</dimen>
<dimen name="status_bar_height_portrait">30dp</dimen>
<!-- Radius of the software rounded corners. -->
<dimen name="rounded_corner_radius">84px</dimen>
<!-- Height of the status bar in landscape.
Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
-->
<dimen name="status_bar_height_landscape">28dp</dimen>
<!-- Default radius of the software rounded corners. -->
<dimen name="rounded_corner_radius">60px</dimen>
</resources>

View File

@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2019-2022 Evolution X
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Default value for proximity check on screen wake
NOTE ! - Enable for devices that have a fast response proximity sensor (ideally < 300ms)-->
<bool name="config_proximityCheckOnWake">true</bool>
<integer name="config_proximityCheckTimeout">3000</integer>
<bool name="config_proximityCheckOnWakeEnabledByDefault">false</bool>
<!-- Do the battery/notification LEDs support pulsing?
Used to decide if we show pulse settings -->
<bool name="config_ledCanPulse">true</bool>
<!-- Is the battery LED intrusive? Used to decide if there should be a disable option -->
<bool name="config_intrusiveBatteryLed">true</bool>
<!-- Does the battery LED support multiple colors?
Used to decide if the user can change the colors -->
<bool name="config_multiColorBatteryLed">false</bool>
<!-- Pocket Lock -->
<bool name="config_pocketUseLightSensor">false</bool>
<!-- The list of package IDs that are allowed to use aux cameras.
NOTE: If this list is empty then all apps will be able to use aux cameras. -->
<string-array name="config_cameraAuxPackageAllowList" translatable="false">
<item>com.android.camera</item>
<item>com.google.android.apps.cameralite</item>
<item>org.codeaurora.snapcam</item>
<item>org.lineageos.aperture</item>
<item>org.lineageos.aperture.dev</item>
<item>org.pixelexperience.faceunlock</item>
</string-array>
<!-- The list of package IDs that are allowed to skip camera high frame rate checks. -->
<string-array name="config_cameraHFRPrivAppList" translatable="false">
<item>com.android.camera</item>
<item>org.lineageos.aperture</item>
</string-array>
<!-- Display color inversion availability -->
<bool name="config_displayInversionAvailable">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/dc_dim</string>
<!-- PowerOffAlarmService -->
<bool name="config_powerOffAlarmEnabled">true</bool>
<!-- Whether the device supports Smart Pixels -->
<bool name="config_supportSmartPixels">true</bool>
</resources>

View File

@@ -4,11 +4,8 @@
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="lineageos.platform.overlay.device">
<overlay
android:isStatic="true"
android:priority="200"
android:targetPackage="lineageos.platform" />
package="lineageos.platform.overlay.device">
<overlay android:targetPackage="lineageos.platform"
android:isStatic="true"
android:priority="200" />
</manifest>

View File

@@ -4,11 +4,8 @@
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.systemui.overlay.lineage.device">
<overlay
android:isStatic="true"
android:priority="250"
android:targetPackage="com.android.systemui" />
package="com.android.systemui.overlay.lineage.device">
<overlay android:targetPackage="com.android.systemui"
android:isStatic="true"
android:priority="250" />
</manifest>

View File

@@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2009, 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.
*/
-->
<!-- These resources are around just to allow their values to be customized
for different hardware and product builds. -->
<resources>
<!-- Color of the UDFPS pressed view -->
<color name="config_udfpsColor">#00ffffff</color>
</resources>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Color of the UDFPS pressed view -->
<color name="config_udfpsColor">#00ffffff</color>
</resources>

View File

@@ -4,11 +4,8 @@
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.settings.overlay.device">
<overlay
android:isStatic="true"
android:priority="200"
android:targetPackage="com.android.settings" />
package="com.android.settings.overlay.device">
<overlay android:targetPackage="com.android.settings"
android:isStatic="true"
android:priority="200" />
</manifest>

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

View File

@@ -14,7 +14,7 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<resources>
<!-- The radius of the enrollment progress bar, in dp -->
<integer name="config_udfpsEnrollProgressBar">100</integer>
</resources>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 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.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Device specific doze package -->
<string name="config_customDozePackage" translatable="false">org.lineageos.settings/org.lineageos.settings.doze.DozeSettingsActivity</string>
<!-- The number of vibration intensity levels supported by the device.
Note that this should correspond to the ability to vary the vibration amplitude, with
enough dynamic range to have at least as many distinct intensity levels as defined here.
Supported values are 1, 2, 3. If '1', the settings app will use a toggle for the settings,
otherwise a slider. If '3', the settings app maps intensities directly to the levels
supported by the Vibrator HAL APIs. If '2', then the levels will be mapped to
VIBRATION_INTENSITY_LOW and VIBRATION_INTENSITY_HIGH, which gives the most range for
scaling vibrations. The medium intensity will be skipped.
The default intensity values are configured at
frameworks/base/core/res/res/values/config.xml's config_default[type]VibrationIntensity.
Make sure that each default intensity value is consistent with the supported levels set
here. If this settings supports only 2 levels, for example, then the default intensity
should be either LOW (1) or HIGH (3).
-->
<integer name="config_vibration_supported_intensity_levels">3</integer>
<!-- Whether to show a preference item for regulatory information in About phone -->
<bool name="config_show_regulatory_info">true</bool>
<!-- Whether to show the Preference for Adaptive connectivity -->
<bool name="config_show_adaptive_connectivity">false</bool>
<!-- Whether device supports increased touch sensitvity -->
<bool name="config_show_touch_sensitivity">true</bool>
<!-- Show battery cycle count -->
<bool name="config_show_battery_cycle_count" translatable="false">true</bool>
<!-- Whether to show double tap ambient settings -->
<bool name="config_supports_double_tap_ambient" translatable="false">true</bool>
<!-- Whether to show volume steps settings -->
<bool name="config_supports_volume_steps" translatable="false">true</bool>
<!-- Whether to show vendor security patch level -->
<bool name="config_show_vendor_patch_level" translatable="false">false</bool>
</resources>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2019-2025 Evolution X
Copyright (C) 2019-2026 Evolution X
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

View File

@@ -4,11 +4,8 @@
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.systemui.overlay.device">
<overlay
android:isStatic="true"
android:priority="200"
android:targetPackage="com.android.systemui" />
package="com.android.systemui.overlay.device">
<overlay android:targetPackage="com.android.systemui"
android:isStatic="true"
android:priority="200" />
</manifest>

View File

@@ -16,13 +16,20 @@
*/
-->
<resources>
<!-- Location on the screen of the center of the physical power button. This is a reasonable
default that should be overridden by device-specific overlays. -->
<dimen name="physical_power_button_center_screen_location_y">950px</dimen>
<!-- Location on the screen of the center of the fingerprint sensor. For devices with under
display fingerprint sensors, this directly corresponds to the fingerprint sensor's location.
For devices with sensors on the back of the device, this corresponds to the location on the
screen directly in front of the sensor. -->
<dimen name="physical_fingerprint_sensor_center_screen_location_y">1900px</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">62.98</item>
<!-- Location on the screen of the center of the physical power button. -->
<dimen name="physical_power_button_center_screen_location_y">950px</dimen>
<!-- Location on the screen of the center of the fingerprint sensor. -->
<dimen name="physical_fingerprint_sensor_center_screen_location_y">1900px</dimen>
<!-- Recognizing fingerprint animation -->
<dimen name="udfps_animation_offset">35dp</dimen>
</resources>

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
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.
-->
<resources>
<!-- Update battery info every second when device is charging -->
<bool name="config_alternateFastchargeInfoUpdate">true</bool>
<!-- FPSInfoService FPS node file path -->
<string name="config_fpsInfoSysNode" translatable="false">/sys/class/drm/sde-crtc-0/measured_fps</string>
<!-- Whether to disable Smart Pixels on UDFPS -->
<bool name="config_disableSmartPixelsOnUDFPS">true</bool>
<!-- Show 5G toggle in internet dialog when available -->
<bool name="config_supportsVONR">false</bool>
<!-- The CPU temperature divider, if needed -->
<integer name="config_cpuTempDivider" translatable="false">1000</integer>
</resources>