26 Commits
udc ... bka

Author SHA1 Message Date
cfe430317c umi: overlay-lineage: Enable screen-off UDFPS support 2025-11-27 10:15:47 +00:00
5c903beffe umi: Welcome Evolution X 2025-11-17 20:12:26 +00:00
df8a25e71e umi: Spoof BuildFingerprint as Pixel Beta
* It is necessary to pass integrity with the built-in Keybox Importer, as our stock fingerprint is not Valid
2025-11-17 20:12:26 +00:00
80bd1711b6 umi: Add namespace for missing module needed by libmialgoengine.so
Module "libmialgoengine" is defined in namespace "vendor/xiaomi/umi" which can read these 6 namespaces: ["vendor/xiaomi/umi" "hardware/qcom-caf/common/libqti-perfd-client" "hardware/xiaomi"
"vendor/qcom/opensource/display" "vendor/xiaomi/sm8250-common" "."]
Module "libgrallocutils" can be found in these namespaces: ["hardware/qcom-caf/msm8996" "hardware/qcom-caf/msm8998" "hardware/qcom-caf/sdm845" "hardware/qcom-caf/sm8150" "hardware/qcom-caf/s
m8250" "hardware/qcom-caf/sm8350" "hardware/qcom-caf/sm8450" "hardware/qcom-caf/sm8550" "hardware/qcom-caf/sm8650" "hardware/qcom-caf/sm8750" "hardware/qcom/sdm845" "hardware/qcom/sm7250/dis
play" "hardware/qcom/sm8150/display"]
2025-11-17 15:15:53 +00:00
d65a74d215 umi: Move/Add missing files for MiuiCamera
- Move common files to MiuiCamera Package
- vendor/lib64/libarcsat.so is a common file and already included in device/xiaomi/camera
2025-11-17 15:15:53 +00:00
8be10dc365 umi: Add MiuiCamera Package 2025-11-17 15:15:53 +00:00
f619f5fa22 umi: Move buildflags > lineage_umi.mk 2025-11-17 15:15:53 +00:00
b8bb50c373 umi: Drop specific kernel config 2025-11-17 15:15:53 +00:00
5dd086e59f umi: Inherit Overlay Configuration from UDC tree 2025-11-17 15:15:53 +00:00
c6a9457327 umi: switch to device extract only 2025-11-17 15:15:53 +00:00
600c0fb4c6 umi: Update fingerprints to V816.0.3.0.TJBMIXM Global 2025-11-17 15:15:53 +00:00
johnmart19
98b1cfb987 umi: Patch audio library for VNDK 34
VNDK 36 crashing:
Revision: '0'
ABI: 'arm'
Timestamp: 2025-06-19 09:37:19.685329738+0300
Process uptime: 0s
Cmdline: /vendor/bin/hw/android.hardware.audio.service
pid: 1093, tid: 1180, name: HwBinder:1093_2  >>> /vendor/bin/hw/android.hardware.audio.service <<<
uid: 1041
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x00000040
Cause: null pointer dereference
    r0  00000000  r1  f3cc0730  r2  00000003  r3  00000003
    r4  f418f780  r5  00000024  r6  00000001  r7  00000000
    r8  f3aacbf4  r9  f3f8600c  r10 f418f780  r11 f418f780
    ip  f2166a38  sp  f27ff4f8  lr  f216409f  pc  f2133588

Requires Evolution-X/hardware_lineage_compat@51c1ec2 to work
2025-11-17 15:15:53 +00:00
Demon000
afe8ea17c8 umi: Support UDFPS on AoD 2025-11-17 15:15:48 +00:00
Sebastiano Barezzi
d823fe125a umi: Move to the new libinit implementation
Change-Id: I4207a94ff62f0c515c91e186f0ace348c6db7b1d
2025-10-28 02:15:25 +01:00
Yumi Yukimura
88f247c37c [TMP] let's unbreak our device-specific libinit for now
Change-Id: Id9963f67f226126a3102b6bfd1080221acac1b03
2025-08-13 13:17:39 +08:00
Flicker372
0c0af3ae2e umi: Use simpler powershare path
* Fix SystemUI crash
* Soong function can't accept ","

Co-authored-by: Alcatraz323 <alcatraz32323@gmail.com>
Change-Id: I16f9ec2094575b63f77556f6a12d69428bb29e37
2025-07-14 02:41:36 +08:00
Bruno Martins
4e271e6089 umi: Set vendor init lib via soong config
Change-Id: I8f7e6b987bee58dbf09ca9ad7cfd5a7e99e19c3b
2025-05-10 18:34:48 +00:00
Yumi Yukimura
6ce87e3969 umi: Drop TARGET_RECOVERY_DEVICE_MODULES
* It's deprecated on 15 QPR2
* Building a library as module doesn't get it executed? and libinit
  still does its job in recovery mode without migrating this

Change-Id: I7be000356fe7d7bd099615d334892d1686bece0e
2025-05-10 18:34:48 +00:00
Michael Bestas
337cd451ff umi: Migrate powershare to soong_config_set
Change-Id: I2489e8d95d968556a854d7b8314f098d37c382b7
2025-05-01 11:18:31 +01:00
Bruno Martins
cda320a0f4 umi: Switch to PowerShare AIDL
Change-Id: I97400638493a3b9d5a3b87fa6831c9affc7c3def
2025-04-26 14:54:31 +01:00
LuK1337
e49c657396 umi: Enable elfchecks for camera libs
Reference: I23190f0b83c9e28aa2624a7575544b0eaf5c83c8
Change-Id: I18b0b07bf3a435dd449106653e3ca458b4f07b69
2025-04-04 22:00:11 +02:00
LuK1337
2209102dcf umi: Switch to py extract utils
Change-Id: Ia13b728464495ff208ca1a706847b11af5c93ae8
2025-04-04 21:27:46 +02:00
Michael Bestas
bf7cbe860e umi: Automatically add apk/jar/vintf fragments to PRODUCT_PACKAGES
Change-Id: Iaa9d66b0bbdc55f046ee1347cbf83c7eecebb35e
2025-04-03 02:01:52 +02:00
basamaryan
7eb3817a89 umi: Move to Xiaomi fingerprint AIDL
Change-Id: I68dba7184034fd37454c7d32a065f041cb611625
2025-01-23 23:36:04 +01:00
Beverly
1850e177bc umi: overlay: Update pixel pitch
Bug: 319894241
Flag: ACONFIG com.android.systemui.device_entry_udfps_refactor
DEVELOPMENT
Test: manual

Change-Id: Iaa9576cb95ebe73043b7030b2b176f67bc90e3a1
2025-01-23 23:36:03 +01:00
LuK1337
0cc9f00781 umi: Adjust override prop key names
Change-Id: I436bbf425023dbe54cf3e2c35f50a5575511bc38
2025-01-16 00:18:56 +01:00
40 changed files with 942 additions and 496 deletions

View File

@@ -12,19 +12,9 @@ DEVICE_PATH := device/xiaomi/umi
# Display # Display
TARGET_SCREEN_DENSITY := 440 TARGET_SCREEN_DENSITY := 440
# Init
TARGET_INIT_VENDOR_LIB := //$(DEVICE_PATH):init_xiaomi_umi
TARGET_RECOVERY_DEVICE_MODULES := init_xiaomi_umi
# Kernel
TARGET_KERNEL_CONFIG += vendor/xiaomi/umi.config
# OTA assert # OTA assert
TARGET_OTA_ASSERT_DEVICE := umi TARGET_OTA_ASSERT_DEVICE := umi
# PowerShare
TARGET_POWERSHARE_PATH := /sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm8150b@2:qcom,qpnp-smb5/power_supply/wireless/reverse_chg_mode
# Properties # Properties
TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop

View File

@@ -0,0 +1,4 @@
sensors.elliptic.so
sensors.ssc.so
sensors.touch.so
sensors.udfps.so

View File

@@ -4,9 +4,6 @@
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
# Fingerprint
TARGET_HAS_UDFPS := true
# Inherit from sm8250-common # Inherit from sm8250-common
$(call inherit-product, device/xiaomi/sm8250-common/kona.mk) $(call inherit-product, device/xiaomi/sm8250-common/kona.mk)
@@ -18,10 +15,6 @@ PRODUCT_AAPT_PREF_CONFIG := xxhdpi
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/audio/,$(TARGET_COPY_OUT_VENDOR)/etc) $(call find-copy-subdir-files,*,$(LOCAL_PATH)/audio/,$(TARGET_COPY_OUT_VENDOR)/etc)
# Boot animation
TARGET_SCREEN_HEIGHT := 2340
TARGET_SCREEN_WIDTH := 1080
# Camera # Camera
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
libMegviiFacepp-0.5.2 \ libMegviiFacepp-0.5.2 \
@@ -32,16 +25,14 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(call find-copy-subdir-files,qdcm_calib_data_*.xml,$(LOCAL_PATH)/qdcm/,$(TARGET_COPY_OUT_VENDOR)/etc/) $(call find-copy-subdir-files,qdcm_calib_data_*.xml,$(LOCAL_PATH)/qdcm/,$(TARGET_COPY_OUT_VENDOR)/etc/)
# Init
$(call soong_config_set,xiaomi_kona,variant_lib,//$(LOCAL_PATH):libvariant_xiaomi_umi)
# Overlays # Overlays
DEVICE_PACKAGE_OVERLAYS += \ DEVICE_PACKAGE_OVERLAYS += \
$(LOCAL_PATH)/overlay \ $(LOCAL_PATH)/overlay \
$(LOCAL_PATH)/overlay-lineage $(LOCAL_PATH)/overlay-lineage
PRODUCT_PACKAGES += \
xiaomi_umi_hwlevel_default_overlay \
xiaomi_umi_hwlevel_p01_overlay \
xiaomi_umi_hwlevel_p1_overlay
# Permissions # Permissions
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml
@@ -51,12 +42,18 @@ PRODUCT_SHIPPING_API_LEVEL := 29
# PowerShare # PowerShare
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
vendor.lineage.powershare@1.0-service.default vendor.lineage.powershare-service.default
$(call soong_config_set,lineage_powershare,powershare_path,/sys/class/power_supply/wireless/reverse_chg_mode)
# Rootdir # Rootdir
PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \
init.device.rc init.device.rc
# Sensors
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/sensors/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf
# Soong namespaces # Soong namespaces
PRODUCT_SOONG_NAMESPACES += \ PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH) $(LOCAL_PATH)

37
evolution.dependencies Normal file
View File

@@ -0,0 +1,37 @@
[
{
"repository": "device_xiaomi_sm8250-common",
"target_path": "device/xiaomi/sm8250-common"
},
{
"repository": "SM8250-Development/vendor_xiaomi_sm8250-common",
"target_path": "vendor/xiaomi/sm8250-common",
"remote": "gitlab"
},
{
"repository": "SM8250-Development/vendor_xiaomi_umi",
"target_path": "vendor/xiaomi/umi",
"remote": "gitlab"
},
{
"repository": "SM8250-Development/kernel_xiaomi_sm8250",
"target_path": "kernel/xiaomi/sm8250",
"remote": "github-non-los"
},
{
"repository": "hardware_xiaomi",
"target_path": "hardware/xiaomi"
},
{
"repository": "Xiaomi-Development/device_xiaomi_camera",
"target_path": "device/xiaomi/camera",
"remote": "github-non-los",
"branch": "aosp-16"
},
{
"repository": "xiaomi-development/vendor_xiaomi_camera",
"target_path": "vendor/xiaomi/camera",
"remote": "gitlab",
"branch": "aosp-16"
}
]

75
extract-files.py Executable file
View File

@@ -0,0 +1,75 @@
#!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3
#
# SPDX-FileCopyrightText: 2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
from extract_utils.fixups_blob import (
blob_fixup,
blob_fixups_user_type,
)
from extract_utils.fixups_lib import (
lib_fixups,
)
from extract_utils.main import (
ExtractUtils,
ExtractUtilsModule,
)
blob_fixups: blob_fixups_user_type = {
'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.umi.so': blob_fixup()
.binary_regex_replace(
b'/vendor/lib/liba2dpoffload.so',
b'liba2dpoffload_umi.so\x00\x00\x00\x00\x00\x00\x00\x00',
)
.replace_needed('libaudioroute.so', 'libaudioroute-v34.so'),
'vendor/lib64/camera/components/com.mi.node.watermark.so': blob_fixup()
.add_needed('libpiex_shim.so'),
(
'vendor/lib64/libMIAIHDRhvx_interface.so',
'vendor/lib64/libarcsoft_hdrplus_hvx_stub.so',
'vendor/lib64/libarcsoft_super_night_raw.so',
'vendor/lib64/libmialgo_rfs.so',
): blob_fixup()
.clear_symbol_version('remote_handle_close')
.clear_symbol_version('remote_handle_invoke')
.clear_symbol_version('remote_handle_open')
.clear_symbol_version('remote_register_buf')
.clear_symbol_version('remote_register_buf_attr'),
(
'vendor/lib64/libalAILDC.so',
'vendor/lib64/libalLDC.so',
'vendor/lib64/libalhLDC.so',
): blob_fixup()
.clear_symbol_version('AHardwareBuffer_allocate')
.clear_symbol_version('AHardwareBuffer_describe')
.clear_symbol_version('AHardwareBuffer_lock')
.clear_symbol_version('AHardwareBuffer_release')
.clear_symbol_version('AHardwareBuffer_unlock'),
'vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so': blob_fixup()
.binary_regex_replace(b'\x9A\x0A\x00\x94', b'\x1F\x20\x03\xD5'),
} # fmt: skip
namespace_imports = [
'hardware/qcom-caf/common/libqti-perfd-client',
'hardware/xiaomi',
'vendor/qcom/opensource/display',
'vendor/xiaomi/sm8250-common',
'hardware/qcom-caf/sm8250',
]
module = ExtractUtilsModule(
'umi',
'xiaomi',
blob_fixups=blob_fixups,
lib_fixups=lib_fixups,
namespace_imports=namespace_imports,
)
if __name__ == '__main__':
utils = ExtractUtils.device(module)
utils.run()

View File

@@ -1,51 +0,0 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
function blob_fixup() {
case "${1}" in
vendor/etc/init/init.batterysecret.rc)
[ "$2" = "" ] && return 0
sed -i "/seclabel u:r:batterysecret:s0/d" "${2}"
;;
vendor/lib/hw/audio.primary.umi.so)
[ "$2" = "" ] && return 0
sed -i "s|/vendor/lib/liba2dpoffload\.so|liba2dpoffload_umi\.so\x00\x00\x00\x00\x00\x00\x00\x00|g" "${2}"
;;
vendor/lib64/camera/components/com.mi.node.watermark.so)
[ "$2" = "" ] && return 0
grep -q "libpiex_shim.so" "${2}" || "${PATCHELF}" --add-needed "libpiex_shim.so" "${2}"
;;
vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so)
[ "$2" = "" ] && return 0
"${SIGSCAN}" -p "9A 0A 00 94" -P "1F 20 03 D5" -f "${2}"
;;
*)
return 1
;;
esac
return 0
}
function blob_fixup_dry() {
blob_fixup "$1" ""
}
# If we're being sourced by the common script that we called,
# stop right here. No need to go down the rabbit hole.
if [ "${BASH_SOURCE[0]}" != "${0}" ]; then
return
fi
set -e
export DEVICE=umi
export DEVICE_COMMON=sm8250-common
export VENDOR=xiaomi
export VENDOR_COMMON=${VENDOR}
"./../../${VENDOR_COMMON}/${DEVICE_COMMON}/extract-files.sh" "$@"

View File

@@ -1,13 +1,12 @@
// //
// Copyright (C) 2021 The LineageOS Project // Copyright (C) 2021-2025 The LineageOS Project
// //
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
// //
cc_library_static { cc_library_static {
name: "init_xiaomi_umi", name: "libvariant_xiaomi_umi",
srcs: ["init_xiaomi_umi.cpp"], srcs: ["libvariant_xiaomi_umi.cpp"],
whole_static_libs: ["//device/xiaomi/sm8250-common:libinit_xiaomi_kona"], header_libs: ["//device/xiaomi/sm8250-common:libvariant_headers"],
include_dirs: ["system/core/init"],
recovery_available: true, recovery_available: true,
} }

View File

@@ -1,28 +0,0 @@
/*
* Copyright (C) 2021 The LineageOS Project
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <libinit_dalvik_heap.h>
#include <libinit_variant.h>
#include "vendor_init.h"
static const variant_info_t umi_info = {
.hwc_value = "",
.sku_value = "",
.brand = "Xiaomi",
.device = "umi",
.marketname = "",
.model = "Mi 10",
.build_fingerprint = "Xiaomi/umi_global/umi:13/RKQ1.211001.001/V14.0.5.0.TJBMIXM:user/release-keys",
.nfc = true,
};
void vendor_load_properties() {
set_variant_props(umi_info);
set_dalvik_heap();
}

View File

@@ -0,0 +1,24 @@
/*
* Copyright (C) 2021-2025 The LineageOS Project
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <libvariant.h>
static const variant_info umi_info = {
.hwc_value = "",
.sku_value = "",
.brand = "Xiaomi",
.device = "umi",
.marketname = "",
.model = "Mi 10",
.build_fingerprint = "Xiaomi/umi_global/umi:13/TKQ1.221114.001/V816.0.3.0.TJBMIXM:user/release-keys",
.nfc = true,
};
const std::vector<variant_info> variants = {
umi_info,
};

View File

@@ -1,6 +0,0 @@
[
{
"repository": "android_device_xiaomi_sm8250-common",
"target_path": "device/xiaomi/sm8250-common"
}
]

View File

@@ -14,6 +14,18 @@ $(call inherit-product, vendor/lineage/config/common_full_phone.mk)
# Inherit from umi device # Inherit from umi device
$(call inherit-product, device/xiaomi/umi/device.mk) $(call inherit-product, device/xiaomi/umi/device.mk)
# Camera
include device/xiaomi/camera/miuicamera.mk
# Build Flags
TARGET_SCREEN_HEIGHT := 2340
TARGET_SCREEN_WIDTH := 1080
TARGET_USES_MINI_GAPPS := true
TARGET_BUILD_DEVICE_AS_WEBCAM := true
TARGET_HAS_UDFPS := true
TARGET_INCLUDE_ACCORD := false
BUILD_BCR := true
PRODUCT_NAME := lineage_umi PRODUCT_NAME := lineage_umi
PRODUCT_DEVICE := umi PRODUCT_DEVICE := umi
PRODUCT_MANUFACTURER := Xiaomi PRODUCT_MANUFACTURER := Xiaomi
@@ -23,6 +35,4 @@ PRODUCT_MODEL := Mi 10
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi PRODUCT_GMS_CLIENTID_BASE := android-xiaomi
PRODUCT_BUILD_PROP_OVERRIDES += \ PRODUCT_BUILD_PROP_OVERRIDES += \
PRIVATE_BUILD_DESC="umi-user 13 RKQ1.211001.001 V14.0.5.0.TJBMIXM release-keys" BuildDesc="umi-user 13 TKQ1.221114.001 V816.0.3.0.TJBMIXM release-keys" \
BUILD_FINGERPRINT := Xiaomi/umi_global/umi:13/RKQ1.211001.001/V14.0.5.0.TJBMIXM:user/release-keys

View File

@@ -44,61 +44,22 @@
<integer-array name="config_autoBrightnessLevels"> <integer-array name="config_autoBrightnessLevels">
<item>1</item> <item>1</item>
<item>2</item> <item>2</item>
<item>3</item>
<item>4</item> <item>4</item>
<item>6</item>
<item>8</item> <item>8</item>
<item>10</item> <item>12</item>
<item>15</item>
<item>20</item> <item>20</item>
<item>25</item> <item>33</item>
<item>30</item>
<item>35</item>
<item>40</item>
<item>45</item>
<item>50</item>
<item>55</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>90</item>
<item>95</item> <item>148</item>
<item>100</item> <item>245</item>
<item>120</item> <item>403</item>
<item>140</item> <item>665</item>
<item>160</item> <item>1097</item>
<item>180</item> <item>1808</item>
<item>200</item> <item>2981</item>
<item>220</item> <item>5000</item>
<item>240</item>
<item>260</item>
<item>280</item>
<item>300</item>
<item>320</item>
<item>340</item>
<item>360</item>
<item>380</item>
<item>400</item>
<item>420</item>
<item>440</item>
<item>460</item>
<item>480</item>
<item>500</item>
<item>700</item>
<item>900</item>
<item>1100</item>
<item>1300</item>
<item>1500</item>
<item>1700</item>
<item>1900</item>
<item>2000</item>
<item>2500</item>
<item>3000</item>
<item>3500</item>
<item>4000</item>
<item>4500</item>
</integer-array> </integer-array>
<!-- Array of desired screen brightness in nits corresponding to the lux values <!-- Array of desired screen brightness in nits corresponding to the lux values
@@ -115,66 +76,26 @@
array. The brightness values must be non-negative and non-decreasing. This must be array. The brightness values must be non-negative and non-decreasing. This must be
overridden in platform specific overlays --> overridden in platform specific overlays -->
<array name="config_autoBrightnessDisplayValuesNits"> <array name="config_autoBrightnessDisplayValuesNits">
<item>5</item> <item>10.45935</item> <!-- 0-1 -->
<item>5</item> <item>29.25559</item> <!-- 1-2 -->
<item>5</item> <item>34.240692</item> <!-- 2-3 -->
<item>17</item> <item>37.514347</item> <!-- 3-4 -->
<item>24</item> <item>40.018696</item> <!-- 4-8 -->
<item>31</item> <item>46.885098</item> <!-- 8-12 -->
<item>34</item> <item>51.626434</item> <!-- 12-20 -->
<item>46</item> <item>58.610405</item> <!-- 20-33 -->
<item>59</item> <item>66.890915</item> <!-- 33-55 -->
<item>76</item> <item>77.61644</item> <!-- 55-90 -->
<item>81</item> <item>90.221886</item> <!-- 90-148 -->
<item>82</item> <item>105.80314</item> <!-- 148-245 -->
<item>82</item> <item>126.073845</item> <!-- 245-403 -->
<item>82</item> <item>154.16931</item> <!-- 403-665 -->
<item>83</item> <item>191.83717</item> <!-- 665-1097 -->
<item>83</item> <item>240.74442</item> <!-- 1097-1808 -->
<item>83</item> <item>294.84857</item> <!-- 1808-2981 -->
<item>84</item> <item>348.05453</item> <!-- 2981-5000 -->
<item>84</item> <item>389.70</item> <!-- 5000+ -->
<item>85</item>
<item>85</item>
<item>85</item>
<item>85</item>
<item>86</item>
<item>86</item>
<item>87</item>
<item>89</item>
<item>90</item>
<item>91</item>
<item>93</item>
<item>94</item>
<item>96</item>
<item>97</item>
<item>99</item>
<item>100</item>
<item>101</item>
<item>104</item>
<item>105</item>
<item>106</item>
<item>108</item>
<item>109</item>
<item>111</item>
<item>112</item>
<item>114</item>
<item>116</item>
<item>137</item>
<item>157</item>
<item>180</item>
<item>205</item>
<item>226</item>
<item>257</item>
<item>280</item>
<item>295</item>
<item>369</item>
<item>434</item>
<item>500</item>
<item>500</item>
<item>500</item>
</array> </array>
<!-- An array of floats describing the screen brightness in nits corresponding to the backlight <!-- 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 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. should be measured with an all white image while the display is in the fully on state.
@@ -183,74 +104,261 @@
This array should be equal in size to config_screenBrightnessBacklight --> This array should be equal in size to config_screenBrightnessBacklight -->
<array name="config_screenBrightnessNits"> <array name="config_screenBrightnessNits">
<item>2.0482</item> <item>2.2</item>
<item>2.7841</item> <item>3.7</item>
<item>3.79505</item> <item>5.34</item>
<item>4.4748</item> <item>6.98</item>
<item>5.08</item> <item>8.63</item>
<item>6.4233</item> <item>10.27</item>
<item>8.0848</item> <item>11.91</item>
<item>11.6607</item> <item>13.55</item>
<item>13.2347</item> <item>15.2</item>
<item>15.0676</item> <item>16.84</item>
<item>16.8302</item> <item>18.48</item>
<item>18.4261</item> <item>20.12</item>
<item>20.3103</item> <item>21.76</item>
<item>21.9042</item> <item>23.41</item>
<item>23.5456</item> <item>25.05</item>
<item>25.2137</item> <item>26.69</item>
<item>27.1769</item> <item>28.33</item>
<item>28.9571</item> <item>29.98</item>
<item>30.5244</item> <item>31.62</item>
<item>32.3535</item> <item>33.26</item>
<item>34.0867</item> <item>34.9</item>
<item>42.366</item> <item>36.54</item>
<item>51.1309</item> <item>38.19</item>
<item>59.52</item> <item>39.83</item>
<item>67.744</item> <item>41.47</item>
<item>75.9738</item> <item>43.11</item>
<item>84.6332</item> <item>44.76</item>
<item>94.1525</item> <item>46.4</item>
<item>102.2207</item> <item>48.04</item>
<item>110.4878</item> <item>49.68</item>
<item>117.0405</item> <item>51.32</item>
<item>124.3733</item> <item>52.97</item>
<item>130.9928</item> <item>54.61</item>
<item>140.4247</item> <item>56.25</item>
<item>149.3156</item> <item>57.89</item>
<item>157.1995</item> <item>59.54</item>
<item>165.3651</item> <item>61.18</item>
<item>173.2726</item> <item>62.82</item>
<item>181.4272</item> <item>64.46</item>
<item>189.1402</item> <item>66.1</item>
<item>197.5334</item> <item>67.75</item>
<item>205.6301</item> <item>69.39</item>
<item>213.9381</item> <item>71.03</item>
<item>222.2769</item> <item>72.67</item>
<item>230.0891</item> <item>74.32</item>
<item>238.6084</item> <item>75.96</item>
<item>246.5399</item> <item>77.6</item>
<item>255.6544</item> <item>79.24</item>
<item>263.6221</item> <item>80.88</item>
<item>271.9324</item> <item>82.53</item>
<item>279.1449</item> <item>84.17</item>
<item>288.5736</item> <item>85.81</item>
<item>297.6628</item> <item>87.45</item>
<item>306.1899</item> <item>89.1</item>
<item>314.4511</item> <item>90.74</item>
<item>322.1404</item> <item>92.38</item>
<item>330.969</item> <item>94.02</item>
<item>338.2251</item> <item>95.66</item>
<item>346.2251</item> <item>97.31</item>
<item>354.567</item> <item>98.95</item>
<item>370.799</item> <item>100.59</item>
<item>413.1738</item> <item>102.23</item>
<item>415.6397</item> <item>103.88</item>
<item>417.264</item> <item>105.52</item>
<item>419.264</item> <item>107.16</item>
<item>421.264</item> <item>108.8</item>
<item>424.646</item> <item>110.44</item>
<item>427.6287</item> <item>112.09</item>
<item>113.73</item>
<item>115.37</item>
<item>117.01</item>
<item>118.66</item>
<item>120.3</item>
<item>121.94</item>
<item>123.58</item>
<item>125.22</item>
<item>126.87</item>
<item>128.51</item>
<item>130.15</item>
<item>131.79</item>
<item>133.44</item>
<item>135.08</item>
<item>136.72</item>
<item>138.36</item>
<item>140</item>
<item>142.06</item>
<item>143.7</item>
<item>145.34</item>
<item>146.98</item>
<item>148.63</item>
<item>150.27</item>
<item>151.91</item>
<item>153.55</item>
<item>155.2</item>
<item>156.84</item>
<item>158.48</item>
<item>160.12</item>
<item>161.76</item>
<item>163.41</item>
<item>165.05</item>
<item>166.69</item>
<item>168.33</item>
<item>169.98</item>
<item>171.62</item>
<item>173.26</item>
<item>174.9</item>
<item>176.54</item>
<item>178.19</item>
<item>179.83</item>
<item>181.47</item>
<item>183.11</item>
<item>184.76</item>
<item>186.4</item>
<item>188.04</item>
<item>189.68</item>
<item>191.32</item>
<item>192.97</item>
<item>194.61</item>
<item>196.25</item>
<item>197.89</item>
<item>199.54</item>
<item>201.18</item>
<item>202.82</item>
<item>204.46</item>
<item>206.1</item>
<item>207.75</item>
<item>209.39</item>
<item>211.03</item>
<item>212.67</item>
<item>214.32</item>
<item>215.96</item>
<item>217.6</item>
<item>219.24</item>
<item>220.88</item>
<item>222.53</item>
<item>224.17</item>
<item>225.81</item>
<item>227.45</item>
<item>229.1</item>
<item>230.74</item>
<item>232.38</item>
<item>234.02</item>
<item>235.66</item>
<item>237.31</item>
<item>238.95</item>
<item>240.59</item>
<item>242.23</item>
<item>243.88</item>
<item>245.52</item>
<item>247.16</item>
<item>248.8</item>
<item>250.44</item>
<item>252.09</item>
<item>253.73</item>
<item>255.37</item>
<item>257.01</item>
<item>258.66</item>
<item>260.3</item>
<item>261.94</item>
<item>263.58</item>
<item>265.22</item>
<item>266.87</item>
<item>268.51</item>
<item>270.15</item>
<item>271.79</item>
<item>273.44</item>
<item>275.08</item>
<item>276.72</item>
<item>278.36</item>
<item>280</item>
<item>282.06</item>
<item>283.7</item>
<item>285.34</item>
<item>286.98</item>
<item>288.63</item>
<item>290.27</item>
<item>291.91</item>
<item>293.55</item>
<item>295.2</item>
<item>296.84</item>
<item>298.48</item>
<item>300.12</item>
<item>301.76</item>
<item>303.41</item>
<item>305.05</item>
<item>306.69</item>
<item>308.33</item>
<item>309.98</item>
<item>311.62</item>
<item>313.26</item>
<item>314.9</item>
<item>316.54</item>
<item>318.19</item>
<item>319.83</item>
<item>321.47</item>
<item>323.11</item>
<item>324.76</item>
<item>326.4</item>
<item>328.04</item>
<item>329.68</item>
<item>331.32</item>
<item>332.97</item>
<item>334.61</item>
<item>336.25</item>
<item>337.89</item>
<item>339.54</item>
<item>341.18</item>
<item>342.82</item>
<item>344.46</item>
<item>346.1</item>
<item>347.75</item>
<item>349.39</item>
<item>351.03</item>
<item>352.67</item>
<item>354.32</item>
<item>355.96</item>
<item>357.6</item>
<item>359.24</item>
<item>360.88</item>
<item>362.53</item>
<item>364.17</item>
<item>365.81</item>
<item>367.45</item>
<item>369.1</item>
<item>370.74</item>
<item>372.38</item>
<item>374.02</item>
<item>375.66</item>
<item>377.31</item>
<item>378.95</item>
<item>380.59</item>
<item>382.23</item>
<item>383.88</item>
<item>385.52</item>
<item>387.16</item>
<item>388.8</item>
<item>390.44</item>
<item>392.09</item>
<item>393.73</item>
<item>395.37</item>
<item>397.01</item>
<item>398.66</item>
<item>400.3</item>
<item>401.94</item>
<item>403.58</item>
<item>405.22</item>
<item>406.87</item>
<item>408.51</item>
<item>410.15</item>
<item>411.79</item>
<item>413.44</item>
<item>415.08</item>
<item>416.72</item>
<item>418.36</item>
<item>420</item>
</array> </array>
<!-- An array describing the screen's backlight values corresponding to the brightness <!-- An array describing the screen's backlight values corresponding to the brightness
@@ -258,7 +366,6 @@
This array should be equal in size to config_screenBrightnessBacklight. --> This array should be equal in size to config_screenBrightnessBacklight. -->
<integer-array name="config_screenBrightnessBacklight"> <integer-array name="config_screenBrightnessBacklight">
<item>0</item>
<item>1</item> <item>1</item>
<item>2</item> <item>2</item>
<item>3</item> <item>3</item>
@@ -279,52 +386,240 @@
<item>18</item> <item>18</item>
<item>19</item> <item>19</item>
<item>20</item> <item>20</item>
<item>21</item>
<item>22</item>
<item>23</item>
<item>24</item>
<item>25</item> <item>25</item>
<item>26</item>
<item>27</item>
<item>28</item>
<item>29</item>
<item>30</item> <item>30</item>
<item>31</item>
<item>32</item>
<item>33</item>
<item>34</item>
<item>35</item> <item>35</item>
<item>36</item>
<item>37</item>
<item>38</item>
<item>39</item>
<item>40</item> <item>40</item>
<item>41</item>
<item>42</item>
<item>43</item>
<item>44</item>
<item>45</item> <item>45</item>
<item>46</item>
<item>47</item>
<item>48</item>
<item>49</item>
<item>50</item> <item>50</item>
<item>51</item>
<item>52</item>
<item>53</item>
<item>54</item>
<item>55</item> <item>55</item>
<item>56</item>
<item>57</item>
<item>58</item>
<item>59</item>
<item>60</item> <item>60</item>
<item>61</item>
<item>62</item>
<item>63</item>
<item>64</item>
<item>65</item> <item>65</item>
<item>66</item>
<item>67</item>
<item>68</item>
<item>69</item>
<item>70</item> <item>70</item>
<item>71</item>
<item>72</item>
<item>73</item>
<item>74</item>
<item>75</item> <item>75</item>
<item>76</item>
<item>77</item>
<item>78</item>
<item>79</item>
<item>80</item> <item>80</item>
<item>81</item>
<item>82</item>
<item>83</item>
<item>84</item>
<item>85</item> <item>85</item>
<item>86</item>
<item>87</item>
<item>88</item>
<item>89</item>
<item>90</item> <item>90</item>
<item>91</item>
<item>92</item>
<item>93</item>
<item>94</item>
<item>95</item> <item>95</item>
<item>96</item>
<item>97</item>
<item>98</item>
<item>99</item>
<item>100</item> <item>100</item>
<item>101</item>
<item>102</item>
<item>103</item>
<item>104</item>
<item>105</item> <item>105</item>
<item>106</item>
<item>107</item>
<item>108</item>
<item>109</item>
<item>110</item> <item>110</item>
<item>111</item>
<item>112</item>
<item>113</item>
<item>114</item>
<item>115</item> <item>115</item>
<item>116</item>
<item>117</item>
<item>118</item>
<item>119</item>
<item>120</item> <item>120</item>
<item>121</item>
<item>122</item>
<item>123</item>
<item>124</item>
<item>125</item> <item>125</item>
<item>126</item>
<item>127</item>
<item>128</item>
<item>129</item>
<item>130</item> <item>130</item>
<item>131</item>
<item>132</item>
<item>133</item>
<item>134</item>
<item>135</item> <item>135</item>
<item>136</item>
<item>137</item>
<item>138</item>
<item>139</item>
<item>140</item> <item>140</item>
<item>141</item>
<item>142</item>
<item>143</item>
<item>144</item>
<item>145</item> <item>145</item>
<item>146</item>
<item>147</item>
<item>148</item>
<item>149</item>
<item>150</item> <item>150</item>
<item>151</item>
<item>152</item>
<item>153</item>
<item>154</item>
<item>155</item> <item>155</item>
<item>156</item>
<item>157</item>
<item>158</item>
<item>159</item>
<item>160</item> <item>160</item>
<item>161</item>
<item>162</item>
<item>163</item>
<item>164</item>
<item>165</item> <item>165</item>
<item>166</item>
<item>167</item>
<item>168</item>
<item>169</item>
<item>170</item> <item>170</item>
<item>171</item>
<item>172</item>
<item>173</item>
<item>174</item> <item>174</item>
<item>175</item>
<item>176</item>
<item>177</item>
<item>178</item>
<item>179</item> <item>179</item>
<item>180</item>
<item>181</item>
<item>182</item>
<item>183</item>
<item>184</item> <item>184</item>
<item>185</item>
<item>186</item>
<item>187</item>
<item>188</item>
<item>189</item> <item>189</item>
<item>190</item>
<item>191</item>
<item>192</item>
<item>193</item>
<item>194</item> <item>194</item>
<item>195</item>
<item>196</item>
<item>197</item>
<item>198</item>
<item>199</item> <item>199</item>
<item>200</item>
<item>201</item>
<item>202</item>
<item>203</item>
<item>204</item> <item>204</item>
<item>205</item>
<item>206</item>
<item>207</item>
<item>208</item>
<item>209</item> <item>209</item>
<item>210</item>
<item>211</item>
<item>212</item>
<item>213</item>
<item>214</item> <item>214</item>
<item>215</item>
<item>216</item>
<item>217</item>
<item>218</item>
<item>219</item> <item>219</item>
<item>220</item>
<item>221</item>
<item>222</item>
<item>223</item>
<item>224</item> <item>224</item>
<item>225</item>
<item>226</item>
<item>227</item>
<item>228</item>
<item>229</item> <item>229</item>
<item>230</item>
<item>231</item>
<item>232</item>
<item>233</item>
<item>234</item> <item>234</item>
<item>235</item>
<item>236</item>
<item>237</item>
<item>238</item>
<item>239</item> <item>239</item>
<item>240</item>
<item>241</item>
<item>242</item>
<item>243</item>
<item>244</item> <item>244</item>
<item>245</item>
<item>246</item>
<item>247</item>
<item>248</item>
<item>249</item> <item>249</item>
<item>250</item>
<item>251</item>
<item>252</item>
<item>253</item>
<item>254</item>
<item>255</item> <item>255</item>
</integer-array> </integer-array>
@@ -390,16 +685,16 @@
<!-- Default screen brightness setting. <!-- Default screen brightness setting.
Must be in the range specified by minimum and maximum. --> Must be in the range specified by minimum and maximum. -->
<integer name="config_screenBrightnessSettingDefault">1072</integer> <integer name="config_screenBrightnessSettingDefault">128</integer>
<!-- Minimum screen brightness setting allowed by the power manager. <!-- Minimum screen brightness setting allowed by the power manager.
The user is forbidden from setting the brightness below this level. --> The user is forbidden from setting the brightness below this level. -->
<integer name="config_screenBrightnessSettingMinimum">12</integer> <integer name="config_screenBrightnessSettingMinimum">2</integer>
<integer name="config_screenBrightnessForVrSettingDefault">1376</integer> <integer name="config_screenBrightnessForVrSettingDefault">7</integer>
<integer name="config_screenBrightnessForVrSettingMaximum">4095</integer> <integer name="config_screenBrightnessForVrSettingMaximum">7</integer>
<integer name="config_screenBrightnessForVrSettingMinimum">1264</integer> <integer name="config_screenBrightnessForVrSettingMinimum">6</integer>
<integer name="config_screenBrightnessSettingMaximum">4095</integer> <integer name="config_screenBrightnessSettingMaximum">255</integer>
<!-- Stability requirements in milliseconds for accepting a new brightness level. This is used <!-- 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 for debouncing the light sensor. Different constants are used to debounce the light sensor
@@ -445,6 +740,12 @@
<!-- How long it takes for the HW to start illuminating after the illumination is requested. --> <!-- How long it takes for the HW to start illuminating after the illumination is requested. -->
<integer name="config_udfps_illumination_transition_ms">0</integer> <integer name="config_udfps_illumination_transition_ms">0</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>
<!-- The bounding path of the cutout region of the main built-in display. <!-- The bounding path of the cutout region of the main built-in display.
Must either be empty if there is no cutout region, or a string that is parsable by Must either be empty if there is no cutout region, or a string that is parsable by
{@link android.util.PathParser}. {@link android.util.PathParser}.

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/**
* Copyright (c) 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. Do not translate. -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Whether devices suports in-display fingerprint when screen is off -->
<bool name="config_supportScreenOffUdfps">true</bool>
<!-- Pocket Lock -->
<bool name="config_pocketModeSupported">true</bool>
<!-- Path to fast charging status file to detect whether an oem fast charger is active -->
<string name="config_oemFastChargerStatusPath" translatable="false">/sys/class/power_supply/bms/fastcharge_mode</string>
<!-- Expected value from fast charging status file -->
<string name="config_oemFastChargerStatusValue" translatable="false">1</string>
<!-- Defines the sysfs attribute path used by the device to enable/disable DC dimming. -->
<string name="config_deviceDcDimmingSysfsNode">/sys/devices/platform/soc/soc:qcom,dsi-display-primary/dimlayer_exposure</string>
<!-- Defines the value used by the device sysfs node to enable DC dimming -->
<string name="config_deviceDcDimmingEnableValue">1</string>
</resources>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
/* /*
** Copyright 2020, The LineageOS Project ** Copyright 2017, The Android Open Source Project
** **
** Licensed under the Apache License, Version 2.0 (the "License"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
@@ -18,8 +18,8 @@
--> -->
<!-- These resources are around just to allow their values to be customized <!-- These resources are around just to allow their values to be customized
for different hardware and product builds. --> for different hardware and product builds. Do not translate. -->
<resources> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- The radius of the enrollment progress bar, in dp --> <!-- Do not translate. Default access point SSID used for tethering -->
<integer name="config_udfpsEnrollProgressBar" translatable="false">104</integer> <string name="wifi_tether_configure_ssid_default" translatable="false">Xiaomi Mi 10</string>
</resources> </resources>

View File

@@ -20,6 +20,34 @@
<!-- These resources are around just to allow their values to be customized <!-- These resources are around just to allow their values to be customized
for different hardware and product builds. --> for different hardware and product builds. -->
<resources> <resources>
<!-- Color of the UDFPS pressed view --> <!-- Doze: does this device support STATE_DOZE? -->
<color name="config_udfpsColor">#ffffff</color> <bool name="doze_display_state_supported">true</bool>
<!-- Doze: check proximity sensor before pulsing? -->
<bool name="doze_proximity_check_before_pulse">false</bool>
<!-- Should we vibrate on an icon animation of the shelf. This should only be active if the
vibrator is capable of subtle vibrations -->
<bool name="config_vibrateOnIconAnimation">true</bool>
<!-- Default rounded corner curve (a Bezier). Must match (the curved path in) rounded.xml.
Note that while rounded.xml includes the entire path (including the horizontal and vertical
corner edges), this pulls out just the curve.
-->
<string name="config_rounded_mask" translatable="false">M 118.88 0.00 C 92.62 0.73 65.04 3.19 41.99 16.95 C 25.47 26.58 13.97 43.17 8.22 61.18 C 2.11 79.38 0.60 98.71 0.00 118.88</string>
<!-- Respect drawable/rounded.xml intrinsic size for multiple radius corner path customization -->
<bool name="config_roundedCornerMultipleRadius">true</bool>
<!-- Allow CornerHandleView and PathSpecCornerPathRenderer to decouple from corner-radius -->
<dimen name="config_rounded_mask_size">130px</dimen>
<dimen name="config_rounded_mask_size_top">120px</dimen>
<dimen name="config_rounded_mask_size_bottom">130px</dimen>
<!-- Location on the screen of the center of the physical power button. -->
<!-- <dimen name="physical_power_button_center_screen_location_y">900px</dimen> -->
<!-- Location on the screen of the center of the fingerprint sensor. -->
<!-- <dimen name="physical_fingerprint_sensor_center_screen_location_y">2006.5px</dimen> -->
</resources> </resources>

View File

@@ -33,4 +33,7 @@
<!-- Margin on the right side of the system icon group on Keyguard. --> <!-- Margin on the right side of the system icon group on Keyguard. -->
<dimen name="system_icons_keyguard_padding_end">@dimen/status_bar_padding_end</dimen> <dimen name="system_icons_keyguard_padding_end">@dimen/status_bar_padding_end</dimen>
<!-- Recognizing fingerprint animation -->
<dimen name="udfps_animation_offset">4dp</dimen>
</resources> </resources>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2019-2024 The Evolution X Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Udfps vendor code -->
<integer name="config_udfpsVendorCode">22</integer>
<!-- Update battery info every second when device is charging -->
<bool name="config_alternateFastchargeInfoUpdate">true</bool>
</resources>

View File

@@ -0,0 +1,32 @@
<?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">#00ff00</color>
<!-- Whether usage of the proximity sensor during doze is supported -->
<bool name="doze_proximity_sensor_supported">false</bool>
<!-- If not zero, limits the internal screen recorder's framerate to the set value. -->
<integer name="config_screenRecorderMaxFramerate">60</integer>
</resources>

View File

@@ -1,21 +1,44 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 The Android Open Source Project <!-- Copyright (C) 2007 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
You may obtain a copy of the License at You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
--> -->
<resources>
<!-- 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>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- Whether to show a preference item for mobile plan -->
<bool name="config_show_mobile_plan">false</bool>
<!-- Whether to show min refresh rate in display settings --> <!-- Whether to show the Preference for Adaptive connectivity -->
<bool name="config_show_min_refresh_rate_switch">true</bool> <bool name="config_show_adaptive_connectivity">false</bool>
<!-- Whether memory from app_info_settings is available or not. -->
<bool name="config_show_app_info_settings_memory">true</bool>
<!-- The radius of the enrollment progress bar, in dp -->
<integer name="config_udfpsEnrollProgressBar" translatable="false">104</integer>
<!-- Whether to display Cloned Apps page in Settings (Settings > Apps > Cloned Apps).-->
<bool name="config_cloned_apps_page_enabled">true</bool>
</resources> </resources>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 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.
-->
<resources>
<item name="fingerprint_sensor_location_fraction_y" type="fraction">78%</item>
</resources>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2019-2021 The Evolution X Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
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">
<!-- About device screen, build maintainer -->
<string name="build_maintainer_summary">TechPanelGM</string>
<string name="build_maintainer_donate_url">https://buymeacoffee.com/techpanelgm</string>
</resources>

View File

@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2020-2024 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>
<!-- Indicates whether device has a front facing fingerprint sensor (not udfps). -->
<bool name="config_is_front_facing_fps" translatable="false">false</bool>
<!-- Indicates whether device has a side mounted fingerprint sensor,
but a dedicated one, i.e. not embedded in the power button. -->
<bool name="config_is_side_fps" translatable="false">false</bool>
<string-array name="config_ignored_backup_transports" translatable="false">
<item>com.android.localtransport/.LocalTransport</item>
</string-array>
<!-- Whether to show advanced display rotation settings -->
<bool name="config_show_advanced_rotation_settings">true</bool>
<!-- Show battery information -->
<bool name="config_show_battery_info" translatable="false">true</bool>
<!-- Show battery cycle count -->
<bool name="config_show_battery_cycle_count" translatable="false">true</bool>
<!-- Show battery Design Capacity -->
<bool name="config_show_battery_design_capacity">true</bool>
<!-- Show battery Maximum Capacity -->
<bool name="config_show_battery_maximum_capacity">true</bool>
<!-- Whether to show peak refresh rate in display settings -->
<bool name="config_show_peak_refresh_rate_switch">false</bool>
<!-- Whether to show min refresh rate in display settings -->
<bool name="config_show_min_refresh_rate_switch">true</bool>
<!-- Max network scan search time in seconds -->
<integer name="config_network_scan_helper_max_search_time_sec">300</integer>
<!-- Whether to show custom screen resolution settings -->
<bool name="config_show_custom_screen_resolution_switch">false</bool>
<!-- Whether to show double tap ambient settings -->
<bool name="config_supports_double_tap_ambient" translatable="false">false</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">true</bool>
<!-- Battery Info: mAh -->
<integer name="config_battery_divider" translatable="false">1000</integer>
</resources>

View File

@@ -1,4 +1,4 @@
# Unpinned blobs from umi-user 13 RKQ1.211001.001 V14.0.5.0.TJBMIXM release-keys # Unpinned blobs from umi-user 13 TKQ1.221114.001 V816.0.3.0.TJBMIXM release-keys
# ACDB # ACDB
vendor/etc/acdbdata/Tutu/Tutu_Bluetooth_cal.acdb vendor/etc/acdbdata/Tutu/Tutu_Bluetooth_cal.acdb
@@ -131,14 +131,14 @@ vendor/lib64/com.qti.feature2.softispsupernight.so
vendor/lib64/com.qti.feature2.sr.so vendor/lib64/com.qti.feature2.sr.so
vendor/lib64/com.qti.feature2.stub.so vendor/lib64/com.qti.feature2.stub.so
vendor/lib64/com.qti.feature2.swmf.so vendor/lib64/com.qti.feature2.swmf.so
vendor/lib64/libMIAIHDRhvx_interface.so;DISABLE_CHECKELF vendor/lib64/libMIAIHDRhvx_interface.so
vendor/lib64/libSNPE.so vendor/lib64/libSNPE.so
vendor/lib64/libalAILDC.so;DISABLE_CHECKELF vendor/lib64/libalAILDC.so
vendor/lib64/libalLDC.so;DISABLE_CHECKELF vendor/lib64/libalCFR.so
vendor/lib64/libalhLDC.so;DISABLE_CHECKELF vendor/lib64/libalLDC.so
vendor/lib64/libalhLDC.so
vendor/lib64/libarcdualcamsat.so vendor/lib64/libarcdualcamsat.so
vendor/lib64/libarcmulticamsat.so vendor/lib64/libarcmulticamsat.so
vendor/lib64/libarcsat.so
vendor/lib64/libarcsoft_beautyshot.so vendor/lib64/libarcsoft_beautyshot.so
vendor/lib64/libarcsoft_bodyslim.so vendor/lib64/libarcsoft_bodyslim.so
vendor/lib64/libarcsoft_distortion_correction.so vendor/lib64/libarcsoft_distortion_correction.so
@@ -147,12 +147,12 @@ vendor/lib64/libarcsoft_dualcam_refocus_front.so
vendor/lib64/libarcsoft_dualcam_refocus_rear_t.so vendor/lib64/libarcsoft_dualcam_refocus_rear_t.so
vendor/lib64/libarcsoft_dualcam_refocus_rear_w.so vendor/lib64/libarcsoft_dualcam_refocus_rear_w.so
vendor/lib64/libarcsoft_hdr_detection.so vendor/lib64/libarcsoft_hdr_detection.so
vendor/lib64/libarcsoft_hdrplus_hvx_stub.so;DISABLE_CHECKELF vendor/lib64/libarcsoft_hdrplus_hvx_stub.so
vendor/lib64/libarcsoft_high_dynamic_range.so vendor/lib64/libarcsoft_high_dynamic_range.so
vendor/lib64/libarcsoft_portrait_lighting.so vendor/lib64/libarcsoft_portrait_lighting.so
vendor/lib64/libarcsoft_portrait_lighting_c.so vendor/lib64/libarcsoft_portrait_lighting_c.so
vendor/lib64/libarcsoft_preview_deflicker.so vendor/lib64/libarcsoft_preview_deflicker.so
vendor/lib64/libarcsoft_super_night_raw.so;DISABLE_CHECKELF vendor/lib64/libarcsoft_super_night_raw.so
vendor/lib64/libarcsoft_superportrait.so vendor/lib64/libarcsoft_superportrait.so
vendor/lib64/libc++_shared.so vendor/lib64/libc++_shared.so
vendor/lib64/libcamera_dirty.so vendor/lib64/libcamera_dirty.so
@@ -171,11 +171,15 @@ vendor/lib64/libdualcam_video_optical_zoom.so
vendor/lib64/libflaw.so vendor/lib64/libflaw.so
vendor/lib64/libfocus.so vendor/lib64/libfocus.so
vendor/lib64/libft2vendor.so vendor/lib64/libft2vendor.so
vendor/lib64/libHalSuperSensorServer.so
vendor/lib64/libhta.so vendor/lib64/libhta.so
vendor/lib64/libipebpsstriping.so vendor/lib64/libipebpsstriping.so
vendor/lib64/libmiai_deblur.so
vendor/lib64/libmialgoengine.so
vendor/lib64/libmialgo_ie_capture.so
vendor/lib64/libmialgo_ie_preview.so vendor/lib64/libmialgo_ie_preview.so
vendor/lib64/libmialgo_image_colourkeeping.so vendor/lib64/libmialgo_image_colourkeeping.so
vendor/lib64/libmialgo_rfs.so;DISABLE_CHECKELF vendor/lib64/libmialgo_rfs.so
vendor/lib64/libmialgo_sd.so vendor/lib64/libmialgo_sd.so
vendor/lib64/libmialgo_utils.so vendor/lib64/libmialgo_utils.so
vendor/lib64/libmialgo_video_colourkeeping.so vendor/lib64/libmialgo_video_colourkeeping.so
@@ -190,6 +194,7 @@ vendor/lib64/libmulticam_video_optical_zoom.so
vendor/lib64/libnpu.so vendor/lib64/libnpu.so
vendor/lib64/libofflinelog.so vendor/lib64/libofflinelog.so
vendor/lib64/libos.so vendor/lib64/libos.so
vendor/lib64/librelight_only.so
vendor/lib64/libremosaic_wrapper.so vendor/lib64/libremosaic_wrapper.so
vendor/lib64/libremosaichvx_stub.so vendor/lib64/libremosaichvx_stub.so
vendor/lib64/libremosaiclib.so vendor/lib64/libremosaiclib.so
@@ -201,6 +206,8 @@ vendor/lib64/libsnpe_dsp_domains_v2_system.so
vendor/lib64/libsns_registry_skel.so vendor/lib64/libsns_registry_skel.so
vendor/lib64/libst_soft_isp_calc_exposure_shared.so vendor/lib64/libst_soft_isp_calc_exposure_shared.so
vendor/lib64/libst_soft_isp_shared.so vendor/lib64/libst_soft_isp_shared.so
vendor/lib64/libSuperSensor.so
vendor/lib64/libSuperSensorCPU.so
vendor/lib64/libsymphony-cpu.so vendor/lib64/libsymphony-cpu.so
vendor/lib64/libsynx.so vendor/lib64/libsynx.so
vendor/lib64/libthreadutils.so vendor/lib64/libthreadutils.so
@@ -373,8 +380,8 @@ vendor/lib64/hw/fingerprint.goodix_fod.so:vendor/lib64/hw/fingerprint.goodix_fod
vendor/lib64/libgf_hal.so vendor/lib64/libgf_hal.so
# HotwordEnrollment # HotwordEnrollment
-product/priv-app/HotwordEnrollmentOKGoogleHEXAGON_WIDEBAND/HotwordEnrollmentOKGoogleHEXAGON_WIDEBAND.apk product/priv-app/HotwordEnrollmentOKGoogleHEXAGON_WIDEBAND/HotwordEnrollmentOKGoogleHEXAGON_WIDEBAND.apk
-product/priv-app/HotwordEnrollmentXGoogleHEXAGON_WIDEBAND/HotwordEnrollmentXGoogleHEXAGON_WIDEBAND.apk product/priv-app/HotwordEnrollmentXGoogleHEXAGON_WIDEBAND/HotwordEnrollmentXGoogleHEXAGON_WIDEBAND.apk
system_ext/etc/permissions/com.android.hotwordenrollment.common.util.xml system_ext/etc/permissions/com.android.hotwordenrollment.common.util.xml
system_ext/framework/com.android.hotwordenrollment.common.util.jar system_ext/framework/com.android.hotwordenrollment.common.util.jar
@@ -408,7 +415,6 @@ vendor/etc/init/init.vendor.sensors.rc
vendor/etc/init/vendor.qti.hardware.sensorscalibrate@1.0-service.rc vendor/etc/init/vendor.qti.hardware.sensorscalibrate@1.0-service.rc
vendor/etc/init/vendor.sensors.qti.rc vendor/etc/init/vendor.sensors.qti.rc
vendor/etc/init/vendor.sensors.sscrpcd.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/hw/vendor.qti.hardware.sensorscalibrate@1.0-impl.so
vendor/lib64/libnotifyaudiohal.so vendor/lib64/libnotifyaudiohal.so
vendor/lib64/libsensorcal.so vendor/lib64/libsensorcal.so

View File

@@ -1,3 +1,10 @@
# PowerShare # PowerShare
on boot on boot
chown system system /sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm8150b@2:qcom,qpnp-smb5/power_supply/wireless/reverse_chg_mode chown system system /sys/class/power_supply/wireless/reverse_chg_mode
# UDFPS
on property:ro.boot.hwlevel=P0.1
setprop persist.vendor.fingerprint.sensor_location 549|1925|99
on property:ro.boot.hwlevel=P1
setprop persist.vendor.fingerprint.sensor_location 549|1925|99

View File

@@ -1,5 +0,0 @@
runtime_resource_overlay {
name: "xiaomi_umi_hwlevel_default_overlay",
sdk_version: "current",
vendor: true
}

View File

@@ -1,10 +0,0 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.xiaomi_sm8250.umi.overlay.hwlevel_default"
android:versionCode="1"
android:versionName="1.0">
<application android:hasCode="false" />
<overlay
android:targetPackage="android"
android:isStatic="true"
android:priority="1"/>
</manifest>

View File

@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2017 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 xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- The properties of a UDFPS sensor in pixels, in the order listed below: -->
<integer-array name="config_udfps_sensor_props" translatable="false" >
<!--
<item>sensorLocationX</item>
<item>sensorLocationY</item>
<item>sensorRadius</item>
-->
<item>540</item>
<item>1907</item>
<item>99</item>
</integer-array>
</resources>

View File

@@ -1,5 +0,0 @@
runtime_resource_overlay {
name: "xiaomi_umi_hwlevel_p01_overlay",
sdk_version: "current",
vendor: true
}

View File

@@ -1,12 +0,0 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.xiaomi_sm8250.umi.overlay.hwlevel_p01"
android:versionCode="1"
android:versionName="1.0">
<application android:hasCode="false" />
<overlay
android:requiredSystemPropertyName="ro.boot.hwlevel"
android:requiredSystemPropertyValue="P0.1"
android:targetPackage="android"
android:isStatic="true"
android:priority="2"/>
</manifest>

View File

@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2017 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 xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- The properties of a UDFPS sensor in pixels, in the order listed below: -->
<integer-array name="config_udfps_sensor_props" translatable="false" >
<!--
<item>sensorLocationX</item>
<item>sensorLocationY</item>
<item>sensorRadius</item>
-->
<item>549</item>
<item>1925</item>
<item>99</item>
</integer-array>
</resources>

View File

@@ -1,5 +0,0 @@
runtime_resource_overlay {
name: "xiaomi_umi_hwlevel_p1_overlay",
sdk_version: "current",
vendor: true
}

View File

@@ -1,12 +0,0 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.xiaomi_sm8250.umi.overlay.hwlevel_p1"
android:versionCode="1"
android:versionName="1.0">
<application android:hasCode="false" />
<overlay
android:requiredSystemPropertyName="ro.boot.hwlevel"
android:requiredSystemPropertyValue="P1"
android:targetPackage="android"
android:isStatic="true"
android:priority="2"/>
</manifest>

View File

@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2017 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 xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- The properties of a UDFPS sensor in pixels, in the order listed below: -->
<integer-array name="config_udfps_sensor_props" translatable="false" >
<!--
<item>sensorLocationX</item>
<item>sensorLocationY</item>
<item>sensorRadius</item>
-->
<item>549</item>
<item>1925</item>
<item>99</item>
</integer-array>
</resources>

View File

@@ -1 +0,0 @@
get_prop(system_server, bootloader_prop)

View File

@@ -1 +0,0 @@
get_prop(zygote, bootloader_prop)

1
setup-makefiles.py Executable file
View File

@@ -0,0 +1 @@
#!./extract-files.py --regenerate_makefiles

View File

@@ -1,29 +0,0 @@
#!/bin/bash
#
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
function vendor_imports() {
cat <<EOF >>"$1"
"hardware/qcom-caf/common/libqti-perfd-client",
"hardware/xiaomi",
"vendor/qcom/opensource/display",
EOF
}
# If we're being sourced by the common script that we called,
# stop right here. No need to go down the rabbit hole.
if [ "${BASH_SOURCE[0]}" != "${0}" ]; then
return
fi
set -e
export DEVICE=umi
export DEVICE_COMMON=sm8250-common
export VENDOR=xiaomi
export VENDOR_COMMON=${VENDOR}
"./../../${VENDOR_COMMON}/${DEVICE_COMMON}/setup-makefiles.sh" "$@"

View File

@@ -33,3 +33,8 @@ ro.hardware.audio.primary=umi
# Display # Display
ro.surface_flinger.set_touch_timer_ms=200 ro.surface_flinger.set_touch_timer_ms=200
vendor.display.defer_fps_frame_count=2 vendor.display.defer_fps_frame_count=2
# Fingerprint
persist.vendor.fingerprint.sensor_location=540|1907|99
persist.vendor.fingerprint.type=udfps_optical
persist.vendor.fingerprint.udfps.control_illumination=true