Compare commits
76 commits
d645c3f4e5
...
4d215b1087
Author | SHA1 | Date | |
---|---|---|---|
4d215b1087 | |||
|
74c028c25d | ||
|
7ea090b6a5 | ||
|
5b52733143 | ||
|
995cd12967 | ||
|
411fa2c522 | ||
|
fe5d727bb3 | ||
|
5e72ce14bb | ||
|
84f24226ed | ||
|
96e51b8999 | ||
|
167276f766 | ||
|
1e533f6ce2 | ||
|
d1bf7a48f6 | ||
|
b0981200de | ||
|
8cb582b208 | ||
|
37686de087 | ||
|
b43c5380e8 | ||
|
1aaf950dee | ||
|
27ea387625 | ||
|
a983f99615 | ||
|
09c4307300 | ||
|
6c241ebecd | ||
|
7a6a3ad83e | ||
|
638c8a42a1 | ||
|
b33e6716d1 | ||
|
5b04f71e15 | ||
|
4a9342685a | ||
|
d467045329 | ||
|
8e4c8f40e8 | ||
|
3f316fe93d | ||
|
bdeb993264 | ||
|
671b7d110d | ||
|
f49e513d68 | ||
|
fd689cc7ce | ||
|
4022475125 | ||
|
186d6f42b5 | ||
|
84930f23a1 | ||
|
4ec5225d3a | ||
|
cc49e760ce | ||
|
c93a847f8e | ||
|
89e2b2a637 | ||
|
aacf52c6bb | ||
|
95b45bfd8c | ||
|
71d4f7b6d4 | ||
|
3d09c84d59 | ||
|
505ca3e6f0 | ||
|
ec9478a5b3 | ||
|
0a301e41c3 | ||
|
b693da8be6 | ||
|
20c8a20ca0 | ||
|
551e6d87cc | ||
|
f41dfdbfc5 | ||
|
819c4b4267 | ||
|
072960794e | ||
|
e5b5b455d0 | ||
|
80a22a662c | ||
|
6b43e11112 | ||
|
b0ca187e5c | ||
|
d1c024a9df | ||
|
825e57ba45 | ||
|
941f7c8c0e | ||
|
e34db23bd3 | ||
|
795d8ba157 | ||
|
bfd99f8ac9 | ||
|
e7f6c49146 | ||
|
39e7544618 | ||
|
2105861097 | ||
|
b1c70f21dd | ||
|
85b3cab69c | ||
|
2f0393d907 | ||
|
7f7852794a | ||
|
9d8fd6ceed | ||
|
6b2faff44b | ||
|
288a7a692c | ||
|
aae2fe82eb | ||
|
c3040f46af |
40 changed files with 2330 additions and 0 deletions
8
Android.bp
Normal file
8
Android.bp
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
//
|
||||||
|
// Copyright (C) 2022-2023 The LineageOS Project
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
//
|
||||||
|
|
||||||
|
soong_namespace {
|
||||||
|
}
|
11
Android.mk
Normal file
11
Android.mk
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2022-2023 The LineageOS Project
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
ifeq ($(TARGET_DEVICE),zeus)
|
||||||
|
include $(call all-makefiles-under,$(LOCAL_PATH))
|
||||||
|
endif
|
8
AndroidProducts.mk
Normal file
8
AndroidProducts.mk
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2022-2023 The LineageOS Project
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
PRODUCT_MAKEFILES := \
|
||||||
|
$(LOCAL_DIR)/tequila_zeus.mk
|
35
BoardConfig.mk
Normal file
35
BoardConfig.mk
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2022-2023 The LineageOS Project
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
# Inherit from xiaomi sm8450-common
|
||||||
|
include device/xiaomi/sm8450-common/BoardConfigCommon.mk
|
||||||
|
|
||||||
|
# Inherit from the proprietary version
|
||||||
|
include vendor/xiaomi/zeus/BoardConfigVendor.mk
|
||||||
|
|
||||||
|
DEVICE_PATH := device/xiaomi/zeus
|
||||||
|
|
||||||
|
# Kernel
|
||||||
|
device_second_stage_modules := \
|
||||||
|
goodix_fod.ko \
|
||||||
|
qcom_pm8008-regulator.ko \
|
||||||
|
fts_touch_spi.ko \
|
||||||
|
aw8697-haptic.ko
|
||||||
|
|
||||||
|
device_vendor_dlkm_exclusive_modules := \
|
||||||
|
cs35l41_dlkm.ko
|
||||||
|
|
||||||
|
BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD += $(device_second_stage_modules)
|
||||||
|
BOARD_VENDOR_KERNEL_MODULES_LOAD += $(device_second_stage_modules) $(device_vendor_dlkm_exclusive_modules)
|
||||||
|
|
||||||
|
BOOT_KERNEL_MODULES += $(device_second_stage_modules)
|
||||||
|
|
||||||
|
# Properties
|
||||||
|
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/properties/system.prop
|
||||||
|
TARGET_VENDOR_PROP += $(DEVICE_PATH)/properties/vendor.prop
|
||||||
|
|
||||||
|
# Screen density
|
||||||
|
TARGET_SCREEN_DENSITY := 560
|
24
README.md
Normal file
24
README.md
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
Copyright (C) 2022-2023 The LineageOS Project
|
||||||
|
|
||||||
|
Device configuration for Xiaomi 12 Pro
|
||||||
|
=========================================
|
||||||
|
|
||||||
|
The Xiaomi 12 Pro (codenamed _"zeus"_) is a high-end smartphone from Xiaomi.
|
||||||
|
|
||||||
|
It was globally released in March 2022.
|
||||||
|
|
||||||
|
## Device specifications
|
||||||
|
|
||||||
|
Basic | Spec Sheet
|
||||||
|
-------:|:-------------------------
|
||||||
|
Platform | Snapdragon® 8 Gen 1 (SM8450)
|
||||||
|
RAM & Storage | 8GB/128GB, 8GB/256GB, 12GB/256GB (LPDDR5 RAM, UFS 3.1 storage)
|
||||||
|
Shipped Android Version | 12
|
||||||
|
Battery | Non-removable, 4600 mAh
|
||||||
|
Display | 6.73″, LTPO 120Hz, 3200x1440 (522 ppi)
|
||||||
|
Rear camera | 50MP wide angle, 50MP ultra wide-angle, 50MP telephoto
|
||||||
|
Front camera | 32MP in-display
|
||||||
|
|
||||||
|
## Device picture
|
||||||
|
|
||||||
|
![Xiaomi 12 Pro](https://i01.appmifile.com/v1/MI_18455B3E4DA706226CF7535A58E875F0267/pms_1646293765.11623978.png "Xiaomi 12 Pro in blue")
|
1
board-info.txt
Normal file
1
board-info.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
require board=taro|zeus
|
30
device.mk
Normal file
30
device.mk
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2022-2023 The LineageOS Project
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
# Inherit from xiaomi sm8450-common
|
||||||
|
$(call inherit-product, device/xiaomi/sm8450-common/common.mk)
|
||||||
|
|
||||||
|
# Inherit from the proprietary version
|
||||||
|
$(call inherit-product, vendor/xiaomi/zeus/zeus-vendor.mk)
|
||||||
|
|
||||||
|
# Overlay
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
ApertureResZeus \
|
||||||
|
FrameworksResZeus \
|
||||||
|
LineageResZeus \
|
||||||
|
NfcResZeus \
|
||||||
|
SettingsProviderResZeus \
|
||||||
|
SettingsResZeus \
|
||||||
|
SystemUIResZeus \
|
||||||
|
WifiResZeus
|
||||||
|
|
||||||
|
# Powershare
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
vendor.lineage.powershare@1.0-service.default
|
||||||
|
|
||||||
|
# Soong namespaces
|
||||||
|
PRODUCT_SOONG_NAMESPACES += \
|
||||||
|
$(LOCAL_PATH)
|
73
extract-files.sh
Normal file
73
extract-files.sh
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
#!/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/camera/zeus_enhance_motiontuning.xml|vendor/etc/camera/zeus_motiontuning.xml)
|
||||||
|
[ "$2" = "" ] && return 0
|
||||||
|
sed -i 's/xml=version/xml version/g' "${2}"
|
||||||
|
;;
|
||||||
|
vendor/etc/camera/pureShot_parameter.xml|vendor/etc/camera/pureView_parameter.xml)
|
||||||
|
[ "$2" = "" ] && return 0
|
||||||
|
sed -i 's/=\([0-9]\+\)>/="\1">/g' "${2}"
|
||||||
|
;;
|
||||||
|
vendor/lib64/hw/audio.primary.taro-zeus.so)
|
||||||
|
[ "$2" = "" ] && return 0
|
||||||
|
"${PATCHELF_0_17_2}" --set-soname "audio.primary.taro-zeus.so" "${2}"
|
||||||
|
;;
|
||||||
|
vendor/lib64/hw/fingerprint.goodix_fod.default.so)
|
||||||
|
[ "$2" = "" ] && return 0
|
||||||
|
"${PATCHELF_0_17_2}" --set-soname "fingerprint.goodix_fod.default.so" "${2}"
|
||||||
|
;;
|
||||||
|
vendor/lib64/hw/fingerprint.goodix_fod6.default.so)
|
||||||
|
[ "$2" = "" ] && return 0
|
||||||
|
"${PATCHELF_0_17_2}" --set-soname "fingerprint.goodix_fod6.default.so" "${2}"
|
||||||
|
;;
|
||||||
|
vendor/lib64/libcamximageformatutils.so)
|
||||||
|
[ "$2" = "" ] && return 0
|
||||||
|
"${PATCHELF_0_17_2}" --replace-needed "vendor.qti.hardware.display.config-V2-ndk_platform.so" "vendor.qti.hardware.display.config-V2-ndk.so" "${2}"
|
||||||
|
;;
|
||||||
|
vendor/lib64/libkaraokepal.so)
|
||||||
|
[ "$2" = "" ] && return 0
|
||||||
|
"${PATCHELF_0_17_2}" --replace-needed "audio.primary.taro.so" "audio.primary.taro-zeus.so" "${2}"
|
||||||
|
;;
|
||||||
|
vendor/lib64/libSnpeCpu.so)
|
||||||
|
[ "$2" = "" ] && return 0
|
||||||
|
"${PATCHELF_0_17_2}" --set-soname "libSnpeCpu.so" "${2}"
|
||||||
|
;;
|
||||||
|
vendor/lib64/libSnpeGpu.so)
|
||||||
|
[ "$2" = "" ] && return 0
|
||||||
|
"${PATCHELF_0_17_2}" --set-soname "libSnpeGpu.so" "${2}"
|
||||||
|
;;
|
||||||
|
vendor/lib64/libSnpeHtpV69Stub.so)
|
||||||
|
[ "$2" = "" ] && return 0
|
||||||
|
"${PATCHELF_0_17_2}" --set-soname "libSnpeHtpV69Stub.so" "${2}"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
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=zeus
|
||||||
|
export DEVICE_COMMON=sm8450-common
|
||||||
|
export VENDOR=xiaomi
|
||||||
|
export VENDOR_COMMON=${VENDOR}
|
||||||
|
|
||||||
|
"./../../${VENDOR_COMMON}/${DEVICE_COMMON}/extract-files.sh" "$@"
|
10
overlay/Aperture/Android.bp
Normal file
10
overlay/Aperture/Android.bp
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
//
|
||||||
|
// Copyright (C) 2023 The LineageOS Project
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
//
|
||||||
|
|
||||||
|
runtime_resource_overlay {
|
||||||
|
name: "ApertureResZeus",
|
||||||
|
device_specific: true,
|
||||||
|
}
|
10
overlay/Aperture/AndroidManifest.xml
Normal file
10
overlay/Aperture/AndroidManifest.xml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2023 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="org.lineageos.aperture.overlay.zeus">
|
||||||
|
<overlay android:targetPackage="org.lineageos.aperture"
|
||||||
|
android:isStatic="true"
|
||||||
|
android:priority="700"/>
|
||||||
|
</manifest>
|
81
overlay/Aperture/res/values/config.xml
Normal file
81
overlay/Aperture/res/values/config.xml
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
SPDX-FileCopyrightText: 2023-2024 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- Enable auxiliary cameras selector. -->
|
||||||
|
<bool name="config_enableAuxCameras">true</bool>
|
||||||
|
|
||||||
|
<!-- List of ID of auxiliary cameras that must be ignored by the app. -->
|
||||||
|
<string-array name="config_ignoredAuxCameraIds">
|
||||||
|
<item>0</item>
|
||||||
|
<item>2</item>
|
||||||
|
<item>3</item>
|
||||||
|
<item>5</item>
|
||||||
|
<item>6</item>
|
||||||
|
<item>7</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<!-- Decide whether to ignore auxiliary cameras that
|
||||||
|
are logical (made of multiple physical sensors).
|
||||||
|
Set this to false if your camera HAL doesn't expose
|
||||||
|
one or more aux cameras as a standalone camera device.
|
||||||
|
Note that you will probably need to add
|
||||||
|
more camera IDs to ignoreCameraIds. -->
|
||||||
|
<bool name="config_ignoreLogicalAuxCameras">false</bool>
|
||||||
|
|
||||||
|
<!-- An array of triplets made of (camera ID, qualities, frame rates).
|
||||||
|
These video modes will be added to the available
|
||||||
|
quality/frame rate combinations of a camera device.
|
||||||
|
Make sure the device is able to handle those configurations
|
||||||
|
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 frame rates.
|
||||||
|
Valid values of resolution are:
|
||||||
|
- "sd" (480p)
|
||||||
|
- "hd" (720p)
|
||||||
|
- "fhd" (1080p)
|
||||||
|
- "uhd" (2160p)
|
||||||
|
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>
|
||||||
|
-->
|
||||||
|
<string-array name="config_additionalVideoConfigurations">
|
||||||
|
<item>1</item> <item>sd|hd|fhd</item> <item>60</item>
|
||||||
|
<item>4</item> <item>sd|hd|fhd|uhd</item> <item>60</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<!-- An array of triplets made of (camera ID, approximate zoom ratio, exact zoom ratio).
|
||||||
|
These values will be added to the lens selector if one or more cameras uses the
|
||||||
|
multi-camera API to let the user select which lens to use.
|
||||||
|
It's highly recommended to leave config_enableAuxCameras to false, since with
|
||||||
|
multi-camera API you only use a single camera device for all sensors.
|
||||||
|
You may enable it if you need auxiliary camera devices for a set of cameras on one
|
||||||
|
of the device's side (e.g. logical main back camera but multiple physical camera
|
||||||
|
devices on front), in that case if a main device side's lens is referenced here
|
||||||
|
all the auxiliary camera devices of that side will be ignored.
|
||||||
|
You may be able to get the exact zoom ratio needed to trigger the lens switch from
|
||||||
|
your stock camera app and observing the zoom ratio it sets with the following command:
|
||||||
|
adb shell dumpsys media.camera | grep 'android.control.zoomRatio' -1
|
||||||
|
Example for Google Pixel 7 Pro's back camera configuration:
|
||||||
|
<string-array name="config_logicalZoomRatios">
|
||||||
|
<item>0</item> <item>0.5</item> <item>0.55632502</item>
|
||||||
|
<item>0</item> <item>2.0</item> <item>2.0</item>
|
||||||
|
<item>0</item> <item>5.0</item> <item>5.0</item>
|
||||||
|
</string-array>
|
||||||
|
-->
|
||||||
|
<string-array name="config_logicalZoomRatios">
|
||||||
|
<item>4</item> <item>0.6</item> <item>0.64999998</item>
|
||||||
|
<item>4</item> <item>2.0</item> <item>2.0</item>
|
||||||
|
</string-array>
|
||||||
|
</resources>
|
10
overlay/Frameworks/Android.bp
Normal file
10
overlay/Frameworks/Android.bp
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
//
|
||||||
|
// Copyright (C) 2022 The LineageOS Project
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
//
|
||||||
|
|
||||||
|
runtime_resource_overlay {
|
||||||
|
name: "FrameworksResZeus",
|
||||||
|
device_specific: true,
|
||||||
|
}
|
10
overlay/Frameworks/AndroidManifest.xml
Normal file
10
overlay/Frameworks/AndroidManifest.xml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2022 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="android.overlay.zeus">
|
||||||
|
<overlay android:targetPackage="android"
|
||||||
|
android:isStatic="true"
|
||||||
|
android:priority="700"/>
|
||||||
|
</manifest>
|
418
overlay/Frameworks/res/values/config.xml
Normal file
418
overlay/Frameworks/res/values/config.xml
Normal file
|
@ -0,0 +1,418 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2024 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<integer name="config_udfps_illumination_transition_ms">0</integer>
|
||||||
|
|
||||||
|
<!-- Minimum screen brightness setting allowed by power manager.
|
||||||
|
-2 is invalid so setting will resort to int value specified above.
|
||||||
|
Set this to 0.0 to allow screen to go to minimal brightness.
|
||||||
|
The user is forbidden from setting the brightness below this level. -->
|
||||||
|
<item format="float" name="config_screenBrightnessSettingMinimumFloat" type="dimen">0.002197534</item>
|
||||||
|
|
||||||
|
<!-- Maximum screen brightness allowed by the power manager.
|
||||||
|
-2 is invalid so setting will resort to int value specified above.
|
||||||
|
Set this to 1.0 for maximum brightness range.
|
||||||
|
The user is forbidden from setting the brightness above this level. -->
|
||||||
|
<item format="float" name="config_screenBrightnessSettingMaximumFloat" type="dimen">1</item>
|
||||||
|
|
||||||
|
<!-- Default screen brightness setting set.
|
||||||
|
-2 is invalid so setting will resort to int value specified above.
|
||||||
|
Must be in the range specified by minimum and maximum. -->
|
||||||
|
<item format="float" name="config_screenBrightnessSettingDefaultFloat" type="dimen">0.07496032</item>
|
||||||
|
|
||||||
|
<!-- 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">1000</integer>
|
||||||
|
<integer name="config_autoBrightnessDarkeningLightDebounce">1000</integer>
|
||||||
|
|
||||||
|
<!-- The maximum range of gamma adjustment possible using the screen
|
||||||
|
auto-brightness adjustment setting. -->
|
||||||
|
<fraction name="config_autoBrightnessAdjustmentMaxGamma">100.0%</fraction>
|
||||||
|
<item name="config_screenBrightnessDimFloat" type="dimen">0.002197534</item>
|
||||||
|
|
||||||
|
<!-- 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)
|
||||||
|
|
||||||
|
Point 1: (0, value[1]): lux <= 0
|
||||||
|
Point 2: (level[1], value[2]): 0 < lux <= level[1]
|
||||||
|
Point 3: (level[2], value[3]): level[2] < lux <= level[3]
|
||||||
|
...
|
||||||
|
Point N+1: (level[N], value[N+1]): level[N] < lux
|
||||||
|
|
||||||
|
The control points must be strictly increasing. Each control point
|
||||||
|
corresponds to an entry in the brightness backlight values arrays.
|
||||||
|
For example, if lux == level[1] (first element of the levels array)
|
||||||
|
then the brightness will be determined by value[2] (second element
|
||||||
|
of the brightness values array).
|
||||||
|
|
||||||
|
Spline interpolation is used to determine the auto-brightness
|
||||||
|
backlight values for lux levels between these control points.
|
||||||
|
|
||||||
|
Must be overridden in platform specific overlays -->
|
||||||
|
<integer-array name="config_autoBrightnessLevels">
|
||||||
|
<item>1</item>
|
||||||
|
<item>2</item>
|
||||||
|
<item>4</item>
|
||||||
|
<item>6</item>
|
||||||
|
<item>8</item>
|
||||||
|
<item>10</item>
|
||||||
|
<item>15</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>120</item>
|
||||||
|
<item>140</item>
|
||||||
|
<item>160</item>
|
||||||
|
<item>180</item>
|
||||||
|
<item>200</item>
|
||||||
|
<item>220</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>
|
||||||
|
<item>5000</item>
|
||||||
|
<item>5500</item>
|
||||||
|
<item>6000</item>
|
||||||
|
<item>6500</item>
|
||||||
|
<item>7000</item>
|
||||||
|
<item>7500</item>
|
||||||
|
<item>8000</item>
|
||||||
|
<item>8500</item>
|
||||||
|
<item>9000</item>
|
||||||
|
<item>9500</item>
|
||||||
|
<item>10000</item>
|
||||||
|
<item>10500</item>
|
||||||
|
<item>11000</item>
|
||||||
|
<item>11500</item>
|
||||||
|
<item>12000</item>
|
||||||
|
<item>12500</item>
|
||||||
|
<item>13000</item>
|
||||||
|
<item>13500</item>
|
||||||
|
<item>14000</item>
|
||||||
|
<item>14500</item>
|
||||||
|
<item>15000</item>
|
||||||
|
<item>16000</item>
|
||||||
|
<item>17000</item>
|
||||||
|
<item>18000</item>
|
||||||
|
<item>19000</item>
|
||||||
|
<item>20000</item>
|
||||||
|
<item>21000</item>
|
||||||
|
<item>22000</item>
|
||||||
|
<item>23000</item>
|
||||||
|
<item>24000</item>
|
||||||
|
<item>25000</item>
|
||||||
|
<item>26000</item>
|
||||||
|
<item>27000</item>
|
||||||
|
<item>28000</item>
|
||||||
|
<item>29000</item>
|
||||||
|
<item>30000</item>
|
||||||
|
<item>35000</item>
|
||||||
|
<item>40000</item>
|
||||||
|
<item>45000</item>
|
||||||
|
<item>50000</item>
|
||||||
|
<item>55000</item>
|
||||||
|
<item>60000</item>
|
||||||
|
<item>65000</item>
|
||||||
|
<item>70000</item>
|
||||||
|
<item>75000</item>
|
||||||
|
<item>80000</item>
|
||||||
|
<item>85000</item>
|
||||||
|
<item>90000</item>
|
||||||
|
<item>95000</item>
|
||||||
|
<item>100000</item>
|
||||||
|
</integer-array>
|
||||||
|
|
||||||
|
<!-- Array of output values for LCD backlight corresponding to the lux values
|
||||||
|
in the config_autoBrightnessLevels array. This array should have size one greater
|
||||||
|
than the size of the config_autoBrightnessLevels array.
|
||||||
|
The brightness values must be between 0 and 255 and be non-decreasing.
|
||||||
|
This must be overridden in platform specific overlays -->
|
||||||
|
<integer-array name="config_autoBrightnessLcdBacklightValues" />
|
||||||
|
|
||||||
|
<!-- Array of desired screen brightness in nits corresponding to the lux values
|
||||||
|
in the config_autoBrightnessLevels array. The display brightness is defined as the measured
|
||||||
|
brightness of an all-white image.
|
||||||
|
|
||||||
|
If this is defined then:
|
||||||
|
- config_autoBrightnessLcdBacklightValues should not be defined
|
||||||
|
- config_screenBrightnessNits must be defined
|
||||||
|
- config_screenBrightnessBacklight must be defined
|
||||||
|
|
||||||
|
This array should have size one greater than the size of the config_autoBrightnessLevels
|
||||||
|
array. The brightness values must be non-negative and non-decreasing. This must be
|
||||||
|
overridden in platform specific overlays -->
|
||||||
|
<array name="config_autoBrightnessDisplayValuesNits">
|
||||||
|
<item>3.9</item>
|
||||||
|
<item>4.6</item>
|
||||||
|
<item>5.3</item>
|
||||||
|
<item>17.6</item>
|
||||||
|
<item>24.3</item>
|
||||||
|
<item>29.7</item>
|
||||||
|
<item>34.0</item>
|
||||||
|
<item>46.0</item>
|
||||||
|
<item>59.0</item>
|
||||||
|
<item>76.0</item>
|
||||||
|
<item>81.0</item>
|
||||||
|
<item>82.0</item>
|
||||||
|
<item>82.0</item>
|
||||||
|
<item>82.0</item>
|
||||||
|
<item>83.0</item>
|
||||||
|
<item>83.0</item>
|
||||||
|
<item>83.0</item>
|
||||||
|
<item>84.0</item>
|
||||||
|
<item>84.0</item>
|
||||||
|
<item>85.0</item>
|
||||||
|
<item>85.0</item>
|
||||||
|
<item>85.0</item>
|
||||||
|
<item>85.0</item>
|
||||||
|
<item>86.0</item>
|
||||||
|
<item>86.0</item>
|
||||||
|
<item>87.0</item>
|
||||||
|
<item>89.0</item>
|
||||||
|
<item>90.0</item>
|
||||||
|
<item>91.0</item>
|
||||||
|
<item>93.0</item>
|
||||||
|
<item>94.0</item>
|
||||||
|
<item>96.0</item>
|
||||||
|
<item>97.0</item>
|
||||||
|
<item>99.0</item>
|
||||||
|
<item>100.0</item>
|
||||||
|
<item>101.0</item>
|
||||||
|
<item>104.0</item>
|
||||||
|
<item>105.0</item>
|
||||||
|
<item>106.0</item>
|
||||||
|
<item>108.0</item>
|
||||||
|
<item>109.0</item>
|
||||||
|
<item>111.0</item>
|
||||||
|
<item>112.0</item>
|
||||||
|
<item>114.0</item>
|
||||||
|
<item>116.0</item>
|
||||||
|
<item>137.0</item>
|
||||||
|
<item>157.0</item>
|
||||||
|
<item>180.0</item>
|
||||||
|
<item>205.0</item>
|
||||||
|
<item>226.0</item>
|
||||||
|
<item>257.0</item>
|
||||||
|
<item>280.0</item>
|
||||||
|
<item>295.0</item>
|
||||||
|
<item>369.0</item>
|
||||||
|
<item>400.0</item>
|
||||||
|
<item>416.7</item>
|
||||||
|
<item>433.3</item>
|
||||||
|
<item>450.0</item>
|
||||||
|
<item>466.7</item>
|
||||||
|
<item>483.3</item>
|
||||||
|
<item>500.0</item>
|
||||||
|
<item>512.5</item>
|
||||||
|
<item>525.0</item>
|
||||||
|
<item>537.5</item>
|
||||||
|
<item>550.0</item>
|
||||||
|
<item>562.5</item>
|
||||||
|
<item>575.0</item>
|
||||||
|
<item>587.5</item>
|
||||||
|
<item>600.0</item>
|
||||||
|
<item>610.0</item>
|
||||||
|
<item>620.0</item>
|
||||||
|
<item>630.0</item>
|
||||||
|
<item>640.0</item>
|
||||||
|
<item>650.0</item>
|
||||||
|
<item>660.0</item>
|
||||||
|
<item>670.0</item>
|
||||||
|
<item>680.0</item>
|
||||||
|
<item>690.0</item>
|
||||||
|
<item>700.0</item>
|
||||||
|
<item>705.0</item>
|
||||||
|
<item>710.0</item>
|
||||||
|
<item>715.0</item>
|
||||||
|
<item>720.0</item>
|
||||||
|
<item>725.0</item>
|
||||||
|
<item>730.0</item>
|
||||||
|
<item>735.0</item>
|
||||||
|
<item>740.0</item>
|
||||||
|
<item>745.0</item>
|
||||||
|
<item>750.0</item>
|
||||||
|
<item>755.0</item>
|
||||||
|
<item>760.0</item>
|
||||||
|
<item>765.0</item>
|
||||||
|
<item>770.0</item>
|
||||||
|
<item>775.0</item>
|
||||||
|
<item>800.0</item>
|
||||||
|
<item>816.7</item>
|
||||||
|
<item>833.3</item>
|
||||||
|
<item>850.0</item>
|
||||||
|
<item>866.7</item>
|
||||||
|
<item>883.3</item>
|
||||||
|
<item>900.0</item>
|
||||||
|
<item>914.3</item>
|
||||||
|
<item>928.6</item>
|
||||||
|
<item>942.9</item>
|
||||||
|
<item>957.1</item>
|
||||||
|
<item>971.4</item>
|
||||||
|
<item>985.7</item>
|
||||||
|
<item>1000.0</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>1</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.
|
||||||
|
Note that this value should *not* reflect the maximum brightness value for any high
|
||||||
|
brightness modes but only the maximum brightness value obtainable in a sustainable manner.
|
||||||
|
|
||||||
|
This array should be equal in size to config_screenBrightnessBacklight -->
|
||||||
|
<array name="config_screenBrightnessNits">
|
||||||
|
<item>3.9</item>
|
||||||
|
<item>1000.0</item>
|
||||||
|
</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_ambientBrighteningThresholds, and the new darkening
|
||||||
|
hysteresis constraint value is the n-th element of config_ambientDarkeningThresholds.
|
||||||
|
|
||||||
|
The (zero-based) index is calculated as follows: (MAX is the largest index of the array)
|
||||||
|
condition calculated index
|
||||||
|
value < level[0] 0
|
||||||
|
level[n] <= value < level[n+1] n+1
|
||||||
|
level[MAX] <= value MAX+1 -->
|
||||||
|
<integer-array name="config_ambientThresholdLevels">
|
||||||
|
<item>2</item>
|
||||||
|
<item>10</item>
|
||||||
|
<item>30</item>
|
||||||
|
<item>100</item>
|
||||||
|
<item>800</item>
|
||||||
|
<item>2000</item>
|
||||||
|
<item>4000</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_ambientThresholdLevels. 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_ambientThresholdLevels
|
||||||
|
description for how the constraint value is chosen. -->
|
||||||
|
<integer-array name="config_ambientBrighteningThresholds">
|
||||||
|
<item>2</item>
|
||||||
|
<item>6</item>
|
||||||
|
<item>10</item>
|
||||||
|
<item>30</item>
|
||||||
|
<item>100</item>
|
||||||
|
<item>400</item>
|
||||||
|
<item>600</item>
|
||||||
|
<item>1000</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_ambientThresholdLevels. 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_ambientThresholdLevels
|
||||||
|
description for how the constraint value is chosen. -->
|
||||||
|
<integer-array name="config_ambientDarkeningThresholds">
|
||||||
|
<item>800</item>
|
||||||
|
<item>800</item>
|
||||||
|
<item>500</item>
|
||||||
|
<item>500</item>
|
||||||
|
<item>500</item>
|
||||||
|
<item>500</item>
|
||||||
|
<item>500</item>
|
||||||
|
<item>500</item>
|
||||||
|
</integer-array>
|
||||||
|
|
||||||
|
<!-- 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>
|
||||||
|
|
||||||
|
<!-- 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
|
||||||
|
{@link android.util.PathParser}.
|
||||||
|
|
||||||
|
The path is assumed to be specified in display coordinates with pixel units and in
|
||||||
|
the display's native orientation, with the origin of the coordinate system at the
|
||||||
|
center top of the display. Optionally, you can append either `@left` or `@right` to the
|
||||||
|
end of the path string, in order to change the path origin to either the top left,
|
||||||
|
or top right of the display.
|
||||||
|
|
||||||
|
To facilitate writing device-independent emulation overlays, the marker `@dp` can be
|
||||||
|
appended after the path string to interpret coordinates in dp instead of px units.
|
||||||
|
Note that a physical cutout should be configured in pixels for the best results.
|
||||||
|
|
||||||
|
If the display supports multiple resolutions, please define the path config based on the
|
||||||
|
highest resolution so that it can be scaled correctly in each resolution.
|
||||||
|
|
||||||
|
Example for a 10px x 10px square top-center cutout:
|
||||||
|
<string ...>M -5,0 L -5,10 L 5,10 L 5,0 Z</string>
|
||||||
|
Example for a 10dp x 10dp square top-center cutout:
|
||||||
|
<string ...>M -5,0 L -5,10 L 5,10 L 5,0 Z @dp</string>
|
||||||
|
|
||||||
|
@see https://www.w3.org/TR/SVG/paths.html#PathData
|
||||||
|
-->
|
||||||
|
<string name="config_mainBuiltInDisplayCutout" translatable="false">M 0,0 H -42 V 108 H 42 V 0 H 0 Z</string>
|
||||||
|
|
||||||
|
<!-- List of biometric sensors on the device, in decreasing strength. Consumed by AuthService
|
||||||
|
when registering authenticators with BiometricService. Format must be ID:Modality:Strength,
|
||||||
|
where: IDs are unique per device, Modality as defined in BiometricAuthenticator.java,
|
||||||
|
and Strength as defined in Authenticators.java -->
|
||||||
|
<string-array name="config_biometric_sensors" translatable="false">
|
||||||
|
<item>0:2:15</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<!-- The properties of a UDFPS sensor in pixels, in the order listed below: -->
|
||||||
|
<integer-array name="config_udfps_sensor_props" translatable="false">
|
||||||
|
<item>720</item>
|
||||||
|
<item>2480</item>
|
||||||
|
<item>134</item>
|
||||||
|
</integer-array>
|
||||||
|
</resources>
|
14
overlay/Frameworks/res/values/dimens.xml
Normal file
14
overlay/Frameworks/res/values/dimens.xml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2024 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- Radius of the software rounded corners at the top of the display in its natural
|
||||||
|
orientation. If zero, the value of rounded_corner_radius is used. -->
|
||||||
|
<dimen name="rounded_corner_radius_top">120.0px</dimen>
|
||||||
|
|
||||||
|
<!-- Radius of the software rounded corners at the bottom of the display in its natural
|
||||||
|
orientation. If zero, the value of rounded_corner_radius is used. -->
|
||||||
|
<dimen name="rounded_corner_radius_bottom">111.0px</dimen>
|
||||||
|
</resources>
|
210
overlay/Frameworks/res/xml/power_profile.xml
Normal file
210
overlay/Frameworks/res/xml/power_profile.xml
Normal file
|
@ -0,0 +1,210 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2024 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<device name="Android">
|
||||||
|
<item name="none">0</item>
|
||||||
|
|
||||||
|
<!-- Additional power used when screen is turned on at minimum brightness -->
|
||||||
|
<item name="screen.on">91.36</item>
|
||||||
|
|
||||||
|
<!-- Additional power used when screen is at maximum brightness, compared to
|
||||||
|
screen at minimum brightness -->
|
||||||
|
<item name="screen.full">227.8</item>
|
||||||
|
<array name="cpu.clusters.cores">
|
||||||
|
<value>4</value>
|
||||||
|
<value>3</value>
|
||||||
|
<value>1</value>
|
||||||
|
</array>
|
||||||
|
|
||||||
|
<!-- Different CPU speeds as reported in
|
||||||
|
/sys/devices/system/cpu/cpu0/cpufreq/stats/scaling_available_frequencies -->
|
||||||
|
<array name="cpu.core_speeds.cluster0">
|
||||||
|
<value>307200</value>
|
||||||
|
<value>403200</value>
|
||||||
|
<value>518400</value>
|
||||||
|
<value>614400</value>
|
||||||
|
<value>729600</value>
|
||||||
|
<value>844800</value>
|
||||||
|
<value>960000</value>
|
||||||
|
<value>1075200</value>
|
||||||
|
<value>1171200</value>
|
||||||
|
<value>1267200</value>
|
||||||
|
<value>1363200</value>
|
||||||
|
<value>1478400</value>
|
||||||
|
<value>1574400</value>
|
||||||
|
<value>1689600</value>
|
||||||
|
<value>1785600</value>
|
||||||
|
</array>
|
||||||
|
|
||||||
|
<!-- Additional power used by a CPU from cluster 0 when running at different
|
||||||
|
speeds. Currently this measurement also includes cluster cost. -->
|
||||||
|
<array name="cpu.core_power.cluster0">
|
||||||
|
<value>62.47</value>
|
||||||
|
<value>62.72</value>
|
||||||
|
<value>65.70</value>
|
||||||
|
<value>65.57</value>
|
||||||
|
<value>68.14</value>
|
||||||
|
<value>70.69</value>
|
||||||
|
<value>74.22</value>
|
||||||
|
<value>78.68</value>
|
||||||
|
<value>81.59</value>
|
||||||
|
<value>87.35</value>
|
||||||
|
<value>89.96</value>
|
||||||
|
<value>97.87</value>
|
||||||
|
<value>105.87</value>
|
||||||
|
<value>113.65</value>
|
||||||
|
<value>121.24</value>
|
||||||
|
</array>
|
||||||
|
|
||||||
|
<!-- Different CPU speeds as reported in
|
||||||
|
/sys/devices/system/cpu/cpu4/cpufreq/stats/scaling_available_frequencies -->
|
||||||
|
<array name="cpu.core_speeds.cluster1">
|
||||||
|
<value>633600</value>
|
||||||
|
<value>768000</value>
|
||||||
|
<value>883200</value>
|
||||||
|
<value>998400</value>
|
||||||
|
<value>1113600</value>
|
||||||
|
<value>1209600</value>
|
||||||
|
<value>1324800</value>
|
||||||
|
<value>1440000</value>
|
||||||
|
<value>1555200</value>
|
||||||
|
<value>1651200</value>
|
||||||
|
<value>1766400</value>
|
||||||
|
<value>1881600</value>
|
||||||
|
<value>1996800</value>
|
||||||
|
<value>2112000</value>
|
||||||
|
<value>2227200</value>
|
||||||
|
<value>2342400</value>
|
||||||
|
<value>2419200</value>
|
||||||
|
</array>
|
||||||
|
|
||||||
|
<!-- Additional power used by a CPU from cluster 1 when running at different
|
||||||
|
speeds. Currently this measurement also includes cluster cost. -->
|
||||||
|
<array name="cpu.core_power.cluster1">
|
||||||
|
<value>85.49</value>
|
||||||
|
<value>91.78</value>
|
||||||
|
<value>97.56</value>
|
||||||
|
<value>112.64</value>
|
||||||
|
<value>116.75</value>
|
||||||
|
<value>128.44</value>
|
||||||
|
<value>142.80</value>
|
||||||
|
<value>154.45</value>
|
||||||
|
<value>169.96</value>
|
||||||
|
<value>185.33</value>
|
||||||
|
<value>211.81</value>
|
||||||
|
<value>238.82</value>
|
||||||
|
<value>285.39</value>
|
||||||
|
<value>321.98</value>
|
||||||
|
<value>357.27</value>
|
||||||
|
<value>401.79</value>
|
||||||
|
<value>445.00</value>
|
||||||
|
</array>
|
||||||
|
<array name="cpu.core_speeds.cluster2">
|
||||||
|
<value>806400</value>
|
||||||
|
<value>940800</value>
|
||||||
|
<value>1056000</value>
|
||||||
|
<value>1171200</value>
|
||||||
|
<value>1286400</value>
|
||||||
|
<value>1401600</value>
|
||||||
|
<value>1497600</value>
|
||||||
|
<value>1612800</value>
|
||||||
|
<value>1728000</value>
|
||||||
|
<value>1843200</value>
|
||||||
|
<value>1958400</value>
|
||||||
|
<value>2054400</value>
|
||||||
|
<value>2169600</value>
|
||||||
|
<value>2284800</value>
|
||||||
|
<value>2400000</value>
|
||||||
|
<value>2515200</value>
|
||||||
|
<value>2630400</value>
|
||||||
|
<value>2726400</value>
|
||||||
|
<value>2822400</value>
|
||||||
|
<value>2841600</value>
|
||||||
|
</array>
|
||||||
|
<array name="cpu.core_power.cluster2">
|
||||||
|
<value>124.12</value>
|
||||||
|
<value>138.76</value>
|
||||||
|
<value>154.78</value>
|
||||||
|
<value>170.76</value>
|
||||||
|
<value>184.48</value>
|
||||||
|
<value>204.09</value>
|
||||||
|
<value>224.36</value>
|
||||||
|
<value>246.84</value>
|
||||||
|
<value>271.87</value>
|
||||||
|
<value>296.94</value>
|
||||||
|
<value>342.70</value>
|
||||||
|
<value>368.80</value>
|
||||||
|
<value>422.59</value>
|
||||||
|
<value>468.96</value>
|
||||||
|
<value>523.99</value>
|
||||||
|
<value>585.21</value>
|
||||||
|
<value>664.22</value>
|
||||||
|
<value>728.44</value>
|
||||||
|
<value>818.93</value>
|
||||||
|
<value>832.35</value>
|
||||||
|
</array>
|
||||||
|
|
||||||
|
<!-- Additional power consumption by CPU excluding cluster and core when
|
||||||
|
running -->
|
||||||
|
<item name="cpu.active">23.2</item>
|
||||||
|
|
||||||
|
<!-- Current when CPU is idle -->
|
||||||
|
<item name="cpu.idle">8.13</item>
|
||||||
|
|
||||||
|
<!-- Power consumption when CPU is suspended -->
|
||||||
|
<item name="cpu.suspend">0</item>
|
||||||
|
|
||||||
|
<!-- This is the battery capacity in mAh (measured at nominal voltage) -->
|
||||||
|
<item name="battery.capacity">4600</item>
|
||||||
|
<item name="wifi.on">1.24</item>
|
||||||
|
<item name="wifi.active">180.37</item>
|
||||||
|
<item name="wifi.scan">41.25</item>
|
||||||
|
<item name="dsp.audio">23.43</item>
|
||||||
|
<item name="dsp.video">78.01</item>
|
||||||
|
<item name="camera.flashlight">150</item>
|
||||||
|
<item name="camera.avg">883.04</item>
|
||||||
|
<item name="gps.on">6.16</item>
|
||||||
|
<item name="radio.active">465.355</item>
|
||||||
|
<item name="radio.scanning">27.08</item>
|
||||||
|
<array name="radio.on">
|
||||||
|
<value>22.17</value>
|
||||||
|
<value>8</value>
|
||||||
|
</array>
|
||||||
|
<item name="modem.controller.idle">6</item>
|
||||||
|
<item name="modem.controller.rx">180</item>
|
||||||
|
<item name="modem.controller.tx">186</item>
|
||||||
|
<item name="modem.controller.voltage">3700</item>
|
||||||
|
|
||||||
|
<!-- Memory bandwidth power values in mA at the rail. There must be one value
|
||||||
|
for each bucket defined in the device tree. -->
|
||||||
|
<array name="memory.bandwidths">
|
||||||
|
<value>17</value>
|
||||||
|
</array>
|
||||||
|
|
||||||
|
<!-- Idle Receive current for wifi radio in mA. 0 by default-->
|
||||||
|
<item name="wifi.controller.idle">1</item>
|
||||||
|
|
||||||
|
<!-- Rx current for wifi radio in mA. 0 by default-->
|
||||||
|
<item name="wifi.controller.rx">176</item>
|
||||||
|
|
||||||
|
<!-- Tx current for wifi radio in mA. 0 by default-->
|
||||||
|
<item name="wifi.controller.tx">200</item>
|
||||||
|
<array name="wifi.controller.tx_levels">
|
||||||
|
<value>1</value>
|
||||||
|
</array>
|
||||||
|
|
||||||
|
<!-- Operating volatage for wifi radio in mV. 0 by default-->
|
||||||
|
<item name="wifi.controller.voltage">3700</item>
|
||||||
|
<array name="wifi.batchedscan">
|
||||||
|
<value>.0001</value>
|
||||||
|
<value>.001</value>
|
||||||
|
<value>.01</value>
|
||||||
|
<value>.1</value>
|
||||||
|
<value>1</value>
|
||||||
|
</array>
|
||||||
|
<item name="bluetooth.active">63.83</item>
|
||||||
|
<item name="bluetooth.on">0.7</item>
|
||||||
|
<item name="bluetooth.controller.voltage">3700</item>
|
||||||
|
</device>
|
10
overlay/Lineage/Android.bp
Normal file
10
overlay/Lineage/Android.bp
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
//
|
||||||
|
// Copyright (C) 2024 The LineageOS Project
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
//
|
||||||
|
|
||||||
|
runtime_resource_overlay {
|
||||||
|
name: "LineageResZeus",
|
||||||
|
device_specific: true,
|
||||||
|
}
|
10
overlay/Lineage/AndroidManifest.xml
Normal file
10
overlay/Lineage/AndroidManifest.xml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2024 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="lineageos.platform.overlay.zeus">
|
||||||
|
<overlay android:targetPackage="lineageos.platform"
|
||||||
|
android:isStatic="true"
|
||||||
|
android:priority="700"/>
|
||||||
|
</manifest>
|
9
overlay/Lineage/res/values/config.xml
Normal file
9
overlay/Lineage/res/values/config.xml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2024 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- Whether the device supports wireless charging or not -->
|
||||||
|
<bool name="config_deviceSupportsWirelessCharging">true</bool>
|
||||||
|
</resources>
|
10
overlay/Nfc/Android.bp
Normal file
10
overlay/Nfc/Android.bp
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
//
|
||||||
|
// Copyright (C) 2024 The LineageOS Project
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
//
|
||||||
|
|
||||||
|
runtime_resource_overlay {
|
||||||
|
name: "NfcResZeus",
|
||||||
|
device_specific: true,
|
||||||
|
}
|
10
overlay/Nfc/AndroidManifest.xml
Normal file
10
overlay/Nfc/AndroidManifest.xml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2024 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="com.android.nfc.overlay.zeus">
|
||||||
|
<overlay android:targetPackage="com.android.nfc"
|
||||||
|
android:isStatic="true"
|
||||||
|
android:priority="700"/>
|
||||||
|
</manifest>
|
11
overlay/Nfc/res/values/config.xml
Normal file
11
overlay/Nfc/res/values/config.xml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2024 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- List of SKUs where Secure NFC functionality is supported -->
|
||||||
|
<string-array name="config_skuSupportsSecureNfc" translatable="false">
|
||||||
|
<item>zeus</item>
|
||||||
|
</string-array>
|
||||||
|
</resources>
|
10
overlay/Settings/Android.bp
Normal file
10
overlay/Settings/Android.bp
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
//
|
||||||
|
// Copyright (C) 2024 The LineageOS Project
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
//
|
||||||
|
|
||||||
|
runtime_resource_overlay {
|
||||||
|
name: "SettingsResZeus",
|
||||||
|
device_specific: true,
|
||||||
|
}
|
10
overlay/Settings/AndroidManifest.xml
Normal file
10
overlay/Settings/AndroidManifest.xml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2024 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="com.android.settings.overlay.zeus">
|
||||||
|
<overlay android:targetPackage="com.android.settings"
|
||||||
|
android:isStatic="true"
|
||||||
|
android:priority="700"/>
|
||||||
|
</manifest>
|
9
overlay/Settings/res/values/config.xml
Normal file
9
overlay/Settings/res/values/config.xml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2024 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- The radius of the enrollment progress bar, in dp -->
|
||||||
|
<integer name="config_udfpsEnrollProgressBar" translatable="false">139</integer>
|
||||||
|
</resources>
|
10
overlay/SettingsProvider/Android.bp
Normal file
10
overlay/SettingsProvider/Android.bp
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
//
|
||||||
|
// Copyright (C) 2023 The LineageOS Project
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
//
|
||||||
|
|
||||||
|
runtime_resource_overlay {
|
||||||
|
name: "SettingsProviderResZeus",
|
||||||
|
device_specific: true
|
||||||
|
}
|
10
overlay/SettingsProvider/AndroidManifest.xml
Normal file
10
overlay/SettingsProvider/AndroidManifest.xml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2022 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="com.android.providers.settings.overlay.zeus">
|
||||||
|
<overlay android:targetPackage="com.android.providers.settings"
|
||||||
|
android:isStatic="true"
|
||||||
|
android:priority="700"/>
|
||||||
|
</manifest>
|
9
overlay/SettingsProvider/res/values/defaults.xml
Normal file
9
overlay/SettingsProvider/res/values/defaults.xml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2023 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- Default for Settings.Global.DEVICE_NAME $1=MODEL-->
|
||||||
|
<string name="def_device_name_simple">Xiaomi 12 Pro</string>
|
||||||
|
</resources>
|
10
overlay/SystemUI/Android.bp
Normal file
10
overlay/SystemUI/Android.bp
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
//
|
||||||
|
// Copyright (C) 2022 The LineageOS Project
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
//
|
||||||
|
|
||||||
|
runtime_resource_overlay {
|
||||||
|
name: "SystemUIResZeus",
|
||||||
|
device_specific: true,
|
||||||
|
}
|
10
overlay/SystemUI/AndroidManifest.xml
Normal file
10
overlay/SystemUI/AndroidManifest.xml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2022 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="com.android.systemui.overlay.zeus">
|
||||||
|
<overlay android:targetPackage="com.android.systemui"
|
||||||
|
android:isStatic="true"
|
||||||
|
android:priority="700"/>
|
||||||
|
</manifest>
|
18
overlay/SystemUI/res/values/dimens.xml
Normal file
18
overlay/SystemUI/res/values/dimens.xml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2023-2024 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<dimen name="rounded_corner_content_padding">52.0px</dimen>
|
||||||
|
|
||||||
|
<!-- 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">1400px</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">2480px</dimen>
|
||||||
|
</resources>
|
10
overlay/Wifi/Android.bp
Normal file
10
overlay/Wifi/Android.bp
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
//
|
||||||
|
// Copyright (C) 2023 The LineageOS Project
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
//
|
||||||
|
|
||||||
|
runtime_resource_overlay {
|
||||||
|
name: "WifiResZeus",
|
||||||
|
device_specific: true
|
||||||
|
}
|
11
overlay/Wifi/AndroidManifest.xml
Normal file
11
overlay/Wifi/AndroidManifest.xml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2022 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="com.android.wifi.resources.overlay.zeus">
|
||||||
|
<overlay android:targetPackage="com.android.wifi.resources"
|
||||||
|
android:targetName="WifiCustomization"
|
||||||
|
android:isStatic="true"
|
||||||
|
android:priority="700"/>
|
||||||
|
</manifest>
|
9
overlay/Wifi/res/values/config.xml
Normal file
9
overlay/Wifi/res/values/config.xml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2023 The LineageOS Project
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
-->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<!-- Do not translate. Default access point SSID used for tethering -->
|
||||||
|
<string name="wifi_tether_configure_ssid_default" translatable="false">Xiaomi 12 Pro</string>
|
||||||
|
</resources>
|
2
properties/system.prop
Normal file
2
properties/system.prop
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
# Xiaomi
|
||||||
|
ro.product.mod_device=zeus_global
|
6
properties/vendor.prop
Normal file
6
properties/vendor.prop
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# Audio
|
||||||
|
ro.hardware.audio.primary=taro-zeus
|
||||||
|
|
||||||
|
# Sensors
|
||||||
|
ro.vendor.sensors.notifier.light_sensors.primary=5,33171089
|
||||||
|
ro.vendor.sensors.xiaomi.udfps=true
|
1080
proprietary-files.txt
Normal file
1080
proprietary-files.txt
Normal file
File diff suppressed because it is too large
Load diff
23
proprietary-firmware.txt
Normal file
23
proprietary-firmware.txt
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
## All proprietary files from this list, unless pinned and noted otherwise,
|
||||||
|
## are from zeus V816.0.11.0.ULBEUXM
|
||||||
|
|
||||||
|
abl.img;AB
|
||||||
|
aop.img;AB
|
||||||
|
aop_config.img;AB
|
||||||
|
bluetooth.img;AB
|
||||||
|
cpucp.img;AB
|
||||||
|
devcfg.img;AB
|
||||||
|
dsp.img;AB
|
||||||
|
featenabler.img;AB
|
||||||
|
hyp.img;AB
|
||||||
|
imagefv.img;AB
|
||||||
|
keymaster.img;AB
|
||||||
|
modem.img;AB
|
||||||
|
qupfw.img;AB
|
||||||
|
shrm.img;AB
|
||||||
|
tz.img;AB
|
||||||
|
uefi.img;AB
|
||||||
|
uefisecapp.img;AB
|
||||||
|
xbl.img;AB
|
||||||
|
xbl_config.img;AB
|
||||||
|
xbl_ramdump.img;AB
|
51
setup-makefiles.sh
Normal file
51
setup-makefiles.sh
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
#!/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"
|
||||||
|
"device/xiaomi/sm8450-common",
|
||||||
|
"hardware/qcom-caf/sm8450",
|
||||||
|
"hardware/xiaomi",
|
||||||
|
"vendor/qcom/opensource/commonsys-intf/display",
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
function lib_to_package_fixup_vendor_variants() {
|
||||||
|
if [ "$2" != "vendor" ]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
libagmclient | \
|
||||||
|
libagmmixer | \
|
||||||
|
vendor.qti.hardware.pal@1.0-impl)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
return 1
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
function lib_to_package_fixup() {
|
||||||
|
lib_to_package_fixup_clang_rt_ubsan_standalone "$1" || \
|
||||||
|
lib_to_package_fixup_proto_3_9_1 "$1" || \
|
||||||
|
lib_to_package_fixup_vendor_variants "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
# 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=zeus
|
||||||
|
export DEVICE_COMMON=sm8450-common
|
||||||
|
export VENDOR=xiaomi
|
||||||
|
export VENDOR_COMMON=${VENDOR}
|
||||||
|
|
||||||
|
"./../../${VENDOR_COMMON}/${DEVICE_COMMON}/setup-makefiles.sh" "$@"
|
29
tequila_zeus.mk
Normal file
29
tequila_zeus.mk
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2022-2024 The LineageOS Project
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
|
# Inherit from zeus device
|
||||||
|
$(call inherit-product, device/xiaomi/zeus/device.mk)
|
||||||
|
|
||||||
|
# Inherit from common tequila configuration
|
||||||
|
$(call inherit-product, vendor/tequila/config/common_full_phone.mk)
|
||||||
|
|
||||||
|
PRODUCT_NAME := tequila_zeus
|
||||||
|
PRODUCT_DEVICE := zeus
|
||||||
|
PRODUCT_MANUFACTURER := Xiaomi
|
||||||
|
PRODUCT_BRAND := Xiaomi
|
||||||
|
PRODUCT_MODEL := 2201122G
|
||||||
|
|
||||||
|
PRODUCT_SYSTEM_NAME := zeus_global
|
||||||
|
PRODUCT_SYSTEM_DEVICE := zeus
|
||||||
|
|
||||||
|
PRODUCT_BUILD_PROP_OVERRIDES += \
|
||||||
|
PRIVATE_BUILD_DESC="zeus_global-user 14 UKQ1.230917.001 V816.0.4.0.ULBMIXM release-keys" \
|
||||||
|
TARGET_DEVICE=$(PRODUCT_SYSTEM_DEVICE) \
|
||||||
|
TARGET_PRODUCT=$(PRODUCT_SYSTEM_NAME)
|
||||||
|
|
||||||
|
BUILD_FINGERPRINT := Xiaomi/zeus_global/zeus:14/UKQ1.230917.001/V816.0.4.0.ULBMIXM:user/release-keys
|
||||||
|
|
||||||
|
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi
|
Loading…
Reference in a new issue