Compare commits

...

76 commits

Author SHA1 Message Date
4d215b1087 zeus: Time for tequila! 2024-09-08 20:53:09 +00:00
Arian
74c028c25d zeus: Add missing librmsclib1
Change-Id: I39d16444af0e21d09139faa79d8cdaa94f3422c1
2024-09-08 20:52:17 +00:00
Arian
7ea090b6a5 zeus: Update blobs and firmware from V816.0.11.0.ULBEUXM
Change-Id: I74d3b69e81447b87def5dc2321f1bb9724dd1c7b
2024-09-08 20:52:14 +00:00
Arian
5b52733143 zeus: Move sensors hals.conf back to vendor repo
sensors.xiaomi is added by common tree now

Change-Id: I541b656304bfde478966c84115d94bc989742149
2024-09-08 20:52:12 +00:00
Michael Bestas
995cd12967 zeus: Sync extract scripts with templates
Change-Id: I98a36854c5a0c0390592911bb2558b34eff77efc
2024-09-08 20:52:10 +00:00
Michael Bestas
411fa2c522 zeus: Libraries are now automatically added to PRODUCT_PACKAGES
Change-Id: Ie92fe02b7e6279195bf28944942c815db773b798
2024-09-08 20:52:08 +00:00
Arian
fe5d727bb3 zeus: Disable ELF checks for some camera libraries
Change-Id: I8afe754199dbbf33d801238be9ab87af6c88945b
2024-09-08 20:52:05 +00:00
Cosmin Tanislav
5e72ce14bb zeus: Skip dependencies which aren't defined in .bp
Change-Id: I01a653661856495788c05b720c0577dac44998a4
2024-09-08 20:52:03 +00:00
Arian
84f24226ed zeus: Disable elf checks for some audio libraries
Change-Id: I86ddbf339ff56fb543910458d40cff933abcb0a0
2024-09-08 20:52:01 +00:00
Arian
96e51b8999 zeus: Commonize most audio blobs
Change-Id: Ie6c95ede7e4c3243799207120c0474bb0cabeccd
2024-09-08 20:51:59 +00:00
Arian
167276f766 zeus: Rename audio.primary.taro to audio.primary.taro-zeus to avoid conflicts
Change-Id: I1d7012df4acc1e3b9180eb8523ebe77ffc8a35e9
2024-09-08 20:51:56 +00:00
Arian
1e533f6ce2 zeus: Fix sonames of extracted blobs
Change-Id: Ia4327e5b64e705da6dff6da01d2c9f16dfd609c5
2024-09-08 20:51:54 +00:00
Arian
d1bf7a48f6 zeus: Provide a unique module name for camera libQnnHtpAltPrepV69Stub
Change-Id: Ib2c2549a2ba874a6744cd184add9e16acb1d162c
2024-09-08 20:51:52 +00:00
Aaron Kling
b0981200de zeus: Add vendor soong imports to extract
Change-Id: I7b290a9412bd11bb5577ce634a0291ffca40b283
2024-09-08 20:51:49 +00:00
Bruno Martins
8cb582b208 zeus: overlay-lineage: Declare support for wireless charging
Change-Id: Iba6a8b357779a3bb2134f2fc0878819339615239
2024-09-08 20:51:47 +00:00
Arian
37686de087 zeus: Decommonize building powershare hal
Change-Id: I9d9e2ad2e7d758085c573e4d4cb7f747fb0e4cfc
2024-09-08 20:51:44 +00:00
Arian
b43c5380e8 zeus: Commonize audio related media_codecs
Change-Id: I10207af8c2490df8dad2db335fdf0def83e4c006
2024-09-08 20:51:42 +00:00
Arian
1aaf950dee zeus: overlay: Use logical camera in aperture
Change-Id: Iac84535f59d194335c8b1efb659821a3416267da
2024-09-08 20:51:40 +00:00
Arian
27ea387625 zeus: Patch libcamximageformatutils to get rid of ndk_platform qti display config dependency
Change-Id: Ia242857a302860ea4faa2a45656b95c81cf78a33
2024-09-08 20:51:38 +00:00
Josh Tsuji
a983f99615 zeus: overlay: Add physical button/sensor locations
Bug: 181020504
Change-Id: Ifb45b7daeb07246dbc3a80c36c21e40ead87e674
Test: these were physically measured on device
2024-09-08 20:51:35 +00:00
Omkar Chandorkar
09c4307300 zeus: overlay: Move UDFPS enroll radius to settings
- required after LineageOS/android_packages_apps_Settings@af35c7c

Change-Id: I79ecd91513df0d195e1d15d20b4438d1b283743f
Signed-off-by: Omkar Chandorkar <gotenksIN@aospa.co>
2024-09-08 20:51:33 +00:00
Omkar Chandorkar
6c241ebecd zeus: overlay: Enable secure NFC functionality
Change-Id: I4e9acc7d8ec14237512aadf100d564984aa5a896
Co-authored-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
2024-09-08 20:51:31 +00:00
Sebastiano Barezzi
7a6a3ad83e zeus: Partially revert "Move to QTI health AIDL service"
https://github.com/LineageOS/android_system_core/blob/lineage-21.0/init/init.cpp#L1099

This partially reverts commit 505ca3e6f0.

Change-Id: I284f80f364e9057a8373a015f0acaee3ef9e395d
2024-09-08 20:51:28 +00:00
Arian
638c8a42a1 zeus: Remove unused adreno firmwares
Change-Id: I352c4841e38c79caf25848a34fc0f13733093ab0
2024-09-08 20:51:26 +00:00
Arian
b33e6716d1 zeus: Drop prebuilt libmemunreachable.so
That's already build implicitly from source as a dependency of android.hardware.audio@7.0-impl

Change-Id: I00407fef7a9bceada953d04d4b024107a070ccc0
2024-09-08 20:51:23 +00:00
Arian
5b04f71e15 zeus: Drop some audio libs which are built from source now
Change-Id: Iec844207b53de1d5bcc95dedbff0b2decc5c081b
2024-09-08 20:51:21 +00:00
Arian
4a9342685a zeus: Get rid of 32 bit blobs
Change-Id: Ia92a7aa8292b2d5aaca7075f6613bf65484b3f43
2024-09-08 20:51:19 +00:00
Arian
d467045329 zeus: Don't provide a module for libssccalapi@2.0
Change-Id: I50e798402773b571e8324bbf29263a64764a3543
2024-09-08 20:51:17 +00:00
Michael Bestas
8e4c8f40e8 zeus: Drop COMMON_LUNCH_CHOICES
As of 14 QPR2 this is broken, let's remove it instead of updating it
every 3 months. breakfast is the way to go.

Change-Id: I097bd54b894d9a49c7ce8b1ab6f343349e268fd8
2024-09-08 20:51:14 +00:00
Arian
3f316fe93d zeus: Drop xiaomi citsensorservice and enable light sensor notifier
Change-Id: I896f31b925976bbe51d42a7c39d698793fba6cd7
2024-09-08 20:51:12 +00:00
Arian
bdeb993264 zeus: Update blobs and firmware from V816.0.4.0.ULBMIXM
Change-Id: I4121df076e5146d077b957d80025688b45515336
2024-09-08 20:51:09 +00:00
Arian
671b7d110d zeus: Update blobs from V816.0.6.0.ULBEUXM
Change-Id: Icc45db6c57716c39f1b352b5542d6903358f8ed7
2024-09-08 20:51:06 +00:00
Arian
f49e513d68 zeus: Add missing kvh2xml.xml
Change-Id: Ia02223fb16e8f970f547398aee48659b22eb377e
2024-05-21 13:49:33 +02:00
Arian
fd689cc7ce zeus: Decommonize NFC configs
Change-Id: Ifab750ae0db648bc7e5a7125fb85efd9f29fe4dc
2024-05-18 14:43:46 +02:00
Arian
4022475125 zeus: Decommonize libssccalapi@2.0
Change-Id: Iece45cb6136ba89e8d6f55f920239978a142f7e5
2024-05-18 10:55:10 +02:00
Arian
186d6f42b5 zeus: overlay: Decommonize brightness overlays
Change-Id: I830e690f92454b58833937646eb8a166cfdad5ea
2024-03-14 18:40:07 +01:00
Arian
84930f23a1 zeus: Import displayconfig to control HBM
Change-Id: Ic0db626323bedabee791bb7c9e443b71e49ee36d
2024-03-14 18:04:29 +01:00
Arian
4ec5225d3a zeus: Decommonize CIT sensors
Change-Id: I06e14a2a29c3ed4d6e4df7919151cfefef481de4
2024-03-07 21:31:20 +01:00
Arian
cc49e760ce zeus: Drop vm-bootsys image
Change-Id: I984e30437c12fa5967461637cc41207d5035bf0d
2024-03-07 20:50:41 +01:00
Arian
c93a847f8e zeus: Add goodix_fod module
Change-Id: Ie4c0edd4b4e597866a10ae030e6f076b217c8c56
2024-03-07 20:46:33 +01:00
Arian
89e2b2a637 zeus: Update blobs from V816.0.2.0.ULBCNXM
Change-Id: Ief542e94878a4ab80cca8f011aba36bbdc2f6dcc
2024-03-07 20:46:29 +01:00
Arian
aacf52c6bb zeus: Decommonize sensors configs
Change-Id: I24d103a3b59f09d70ab025a75f48f8544bfc19a6
2024-03-07 20:42:05 +01:00
Arian
95b45bfd8c zeus: Decommonize ADSP modules
Change-Id: Ibe74c783a5bd1c9722f0de360e99cda86cda40da
2024-03-07 20:40:49 +01:00
Arian
71d4f7b6d4 zeus: Import decommonized libQnnHtpAltPrepV69Stub.so
Change-Id: I8a7fe8eca6434a723a60dab5bb647d58f4d2ee64
2024-03-05 19:11:30 +01:00
LuK1337
3d09c84d59 zeus: Setup firmware extraction
Change-Id: I693e59abbfcec4f016de324517ad0e24ef565c65
2024-03-05 19:10:59 +01:00
Bruno Martins
505ca3e6f0 zeus: Move to QTI health AIDL service
The health AIDL HAL service provides functionalities of charger,
therefore system charger at /system/bin/charger is deprecated.
On top of that, QTI health AIDL HAL service enables suspend by
default, the equivalent of setting ro.charger.enable_suspend
for legacy charger.

Change-Id: I59c23e7974cea1174b0161f31a535fa3afa1e5c9
2024-03-05 19:10:36 +01:00
Arian
ec9478a5b3 zeus: cleanup blobs
Change-Id: I66df1ede910992a1ffcbc5526c1dc123bf5c0ef8
2024-03-05 19:10:00 +01:00
Arian
0a301e41c3 zeus: Decommonize audio HAL
Change-Id: I4b4897c034aacfd7f73c04b9df493f3d5aa9b33c
2024-03-05 19:08:36 +01:00
Arian
b693da8be6 zeus: Decommonize AGM
Change-Id: I01c3b06f28428eeaba9c4af60af4404f0ebdbd25
2024-03-05 19:07:47 +01:00
Arian
20c8a20ca0 zeus: Decommonize touch_report
Change-Id: Iecd65f73437430174ba7726bb1b15e50d368a654
2024-03-05 19:07:29 +01:00
Arian
551e6d87cc zeus: Add regulator, touch, haptics and audio kernel modules
Change-Id: I9484a243935db3355a8639a9ae6413dc82431b1c
2024-03-05 19:06:47 +01:00
Arian
f41dfdbfc5 zeus: Decommonize camera blobs
Change-Id: Id17186d37eb852dbc0ce546795902d19ebdbf13d
2023-09-30 11:30:33 +02:00
Arian
819c4b4267 zeus: Set stock build fingerprint and description
Change-Id: I9af04943b1b869a57c82f9f2dac6ddf9391162c2
2023-08-19 16:22:59 +02:00
Arian
072960794e zeus: Declare source of extracted files
Change-Id: Ia2ee93bd694354605155d9f0c17c9b33aed7460d
2023-08-19 16:22:31 +02:00
Arian
e5b5b455d0 zeus: Decommonize com.qti.chi.override.so
Change-Id: I70a48b4a04af0f9eec0bf1404b9f3b0baf41963b
2023-08-12 09:56:47 +02:00
Arian
80a22a662c zeus: Decommonize batterysecret
Change-Id: I702f5447e7fa71105f717a2b21c3c6861587aeca
2023-07-20 10:18:40 +02:00
Arian
6b43e11112 zeus: Add goodix_fod blobs too
Change-Id: I6512d69113f9ad98ff070d2c93af71f82cb52826
2023-07-08 12:27:54 +02:00
Arian
b0ca187e5c zeus: Unpin fingerprint blobs
Change-Id: I7a322f1e2e6ba72295c9a67d630b68d702d0cea9
2023-07-08 12:25:58 +02:00
Arian
d1c024a9df zeus: Import audio configs from V14.0.7.0.TLBMIXM
Change-Id: I32c54ebd2f55ed06bc49da567d6654f056909f50
2023-06-25 14:44:05 +02:00
Arian
825e57ba45 zeus: Import mod_device property
Change-Id: Ide1eba4a88a17ff514baabc4b464e971e1a2bb89
2023-06-25 14:38:40 +02:00
Arian
941f7c8c0e zeus: Enable 60 fps video in aperture
Change-Id: Ic5265ca2722182a414fccb6f3be460832e247ed3
2023-06-25 13:23:47 +02:00
LuK1337
e34db23bd3 zeus: overlay: Configure aux camera for Aperture
Change-Id: I543f078dd4dba30e1b22737d5c22d591e3fb34e6
2023-06-25 13:23:26 +02:00
Arian
795d8ba157 zeus: Pin fingeprint blobs from V13.0.10.0.SLBEUXM
Change-Id: Ib418b0ba5af119bdb0d0dede1d2f5c4957a99bdf
2023-06-25 12:40:49 +02:00
Arian
bfd99f8ac9 zeus: Import missing fingerprint blob
Change-Id: I81b053de1c360050c340019025f8e414479bfd3b
2023-06-19 14:02:09 +02:00
Arian
e7f6c49146 zeus: Initial proprietary-files.txt
Change-Id: Ie3f4a882bc3d725192c20f875432368f15abf8a7
2023-05-18 23:19:07 +02:00
Cosmin Tanislav
39e7544618 zeus: Add support for udfps long press sensor
Change-Id: I7196dce967c9adbc62bb5156ade749c92c7780a1
2023-05-11 19:52:13 +02:00
Arian
2105861097 zeus: overlay: Add fingerprint overlays
Change-Id: I71ac9af898e929252b826b7e70d47f1575c9e9f7
2023-05-11 19:51:41 +02:00
Arian
b1c70f21dd zeus: overlay: Add corner content padding
Change-Id: Iee6fe4fea0d00235d15c3c0ab0c742d1e315001d
2023-05-11 19:49:27 +02:00
Arian
85b3cab69c zeus: overlay: Import display cutout and rounded corner configurations
Change-Id: I169f8b61c3f1345e3b612db8f9c15dd4963e6425
2023-05-11 19:48:21 +02:00
Arian
2f0393d907 zeus: overlay: Import power_profile from V14.0.7.0.TLBMIXM
Change-Id: I56acb96ff07f18eb025315bdf794d77ae38ccc15
2023-05-11 19:47:29 +02:00
Roshan Pius
7f7852794a zeus: overlay: Add WifiResZeus
Bug: 148617260
Test: Device boots up and connects to wifi networks.
Change-Id: Iec27a6d947a232a42451ef095dc73d1a52327db5
2023-05-11 19:39:48 +02:00
LuK1337
9d8fd6ceed zeus: overlay: Set default Settings.Global.DEVICE_NAME according to MIUI
MIUI uses ro.product.vendor.marketname for default device name.

Change-Id: I310c1ffc581b72653783d1093d9e7ebde544bb16
2023-05-11 19:39:41 +02:00
Arian
6b2faff44b zeus: Configure screen density
Set the screen density according to ro.sf.lcd_density from miui.

Change-Id: Ic11b052d132f150da7070e5b8669e5a229f7528d
2023-05-11 19:39:19 +02:00
Michael Bestas
288a7a692c zeus: Add board-info.txt
* Fixes flashall in fastbootd

Change-Id: Iae2f33113317cfaadeff7a3610463880077c35e0
2023-05-11 19:39:19 +02:00
Arian
aae2fe82eb zeus: Initial device tree
Change-Id: I6d195d295b5f94b71c3ff32b21aa33d3af7bf588
2023-05-11 19:36:27 +02:00
Arian
c3040f46af zeus: Add spec info about Xiaomi 12 Pro
Change-Id: I5c9f71ed7e5c37ff5b5ee161e501fd0e36c721be
2023-05-11 17:48:42 +02:00
40 changed files with 2330 additions and 0 deletions

8
Android.bp Normal file
View 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
View 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
View 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
View 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
View 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
View file

@ -0,0 +1 @@
require board=taro|zeus

30
device.mk Normal file
View 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
View 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" "$@"

View 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,
}

View 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>

View 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>

View 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,
}

View 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>

View 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>

View 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>

View 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>

View 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,
}

View 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>

View 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
View 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,
}

View 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>

View 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>

View 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,
}

View 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>

View 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>

View 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
}

View 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>

View 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>

View 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,
}

View 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>

View 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
View 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
}

View 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>

View 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
View file

@ -0,0 +1,2 @@
# Xiaomi
ro.product.mod_device=zeus_global

6
properties/vendor.prop Normal file
View 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

File diff suppressed because it is too large Load diff

23
proprietary-firmware.txt Normal file
View 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
View 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
View 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