sm6225-common: Initial common device tree conversion

Change-Id: Ib858571b81c6d85b743f74a31ceb9a7d13d9af99
This commit is contained in:
boedhack99
2024-03-08 14:38:24 +07:00
parent 67accb7195
commit ca257cfff9
37 changed files with 72 additions and 9343 deletions

View File

@@ -1,13 +0,0 @@
#
# Copyright (C) 2023 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/lineage_topaz.mk
COMMON_LUNCH_CHOICES := \
lineage_topaz-user \
lineage_topaz-userdebug \
lineage_topaz-eng

View File

@@ -4,12 +4,15 @@
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
# Include the proprietary files BoardConfig.
include vendor/xiaomi/sm6225-common/BoardConfigVendor.mk
COMMON_PATH := device/xiaomi/sm6225-common
KERNEL_PATH := $(COMMON_PATH)-kernel
BUILD_BROKEN_DUP_RULES := true BUILD_BROKEN_DUP_RULES := true
BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
DEVICE_PATH := device/xiaomi/topaz
KERNEL_PATH := $(DEVICE_PATH)-kernel
# A/B # A/B
AB_OTA_UPDATER := true AB_OTA_UPDATER := true
@@ -78,11 +81,7 @@ BOARD_PREBUILT_DTBIMAGE_DIR := $(KERNEL_PATH)/dtbs
BOARD_PREBUILT_DTBOIMAGE := $(KERNEL_PATH)/dtbo.img BOARD_PREBUILT_DTBOIMAGE := $(KERNEL_PATH)/dtbo.img
# Filesystem # Filesystem
TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/configs/config.fs TARGET_FS_CONFIG_GEN := $(COMMON_PATH)/configs/config.fs
# Init
TARGET_INIT_VENDOR_LIB := //$(DEVICE_PATH):init_topaz
TARGET_RECOVERY_DEVICE_MODULES := init_topaz
# Kernel # Kernel
BOARD_KERNEL_BASE := 0x00000000 BOARD_KERNEL_BASE := 0x00000000
@@ -168,19 +167,19 @@ TARGET_BOARD_PLATFORM := bengal
TARGET_BOARD_SUFFIX := _515 TARGET_BOARD_SUFFIX := _515
# Properties # Properties
TARGET_ODM_PROP += $(DEVICE_PATH)/configs/properties/odm.prop TARGET_ODM_PROP += $(COMMON_PATH)/configs/properties/odm.prop
TARGET_PRODUCT_PROP += $(DEVICE_PATH)/configs/properties/product.prop TARGET_PRODUCT_PROP += $(COMMON_PATH)/configs/properties/product.prop
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/configs/properties/system.prop TARGET_SYSTEM_PROP += $(COMMON_PATH)/configs/properties/system.prop
TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/configs/properties/system_ext.prop TARGET_SYSTEM_EXT_PROP += $(COMMON_PATH)/configs/properties/system_ext.prop
TARGET_VENDOR_PROP += $(DEVICE_PATH)/configs/properties/vendor.prop TARGET_VENDOR_PROP += $(COMMON_PATH)/configs/properties/vendor.prop
# Power # Power
TARGET_POWERHAL_MODE_EXT := $(DEVICE_PATH)/power/power-mode.cpp TARGET_POWERHAL_MODE_EXT := $(COMMON_PATH)/power/power-mode.cpp
TARGET_TAP_TO_WAKE_NODE := "/proc/tp_gesture" TARGET_TAP_TO_WAKE_NODE := "/proc/tp_gesture"
# Recovery # Recovery
BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE := true BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE := true
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.qcom TARGET_RECOVERY_FSTAB := $(COMMON_PATH)/rootdir/etc/fstab.qcom
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
TARGET_USERIMAGES_USE_EXT4 := true TARGET_USERIMAGES_USE_EXT4 := true
TARGET_USERIMAGES_USE_F2FS := true TARGET_USERIMAGES_USE_F2FS := true
@@ -194,9 +193,9 @@ VENDOR_SECURITY_PATCH := $(BOOT_SECURITY_PATCH)
# Sepolicy # Sepolicy
include device/qcom/sepolicy_vndr/sm6225/SEPolicy.mk include device/qcom/sepolicy_vndr/sm6225/SEPolicy.mk
SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/private SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(COMMON_PATH)/sepolicy/private
#SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/public #SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS += $(COMMON_PATH)/sepolicy/public
BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor BOARD_VENDOR_SEPOLICY_DIRS += $(COMMON_PATH)/sepolicy/vendor
# Verified Boot # Verified Boot
BOARD_AVB_ENABLE := true BOARD_AVB_ENABLE := true
@@ -237,12 +236,12 @@ BOARD_AVB_ODM_ADD_HASHTREE_FOOTER_ARGS += --hash_algorithm sha256
# VINTF # VINTF
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \ DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
$(DEVICE_PATH)/configs/vintf/framework_compatibility_matrix.xml \ $(COMMON_PATH)/configs/vintf/framework_compatibility_matrix.xml \
vendor/lineage/config/device_framework_matrix.xml vendor/lineage/config/device_framework_matrix.xml
DEVICE_MANIFEST_FILE += \ DEVICE_MANIFEST_FILE += \
$(DEVICE_PATH)/configs/vintf/manifest.xml \ $(COMMON_PATH)/configs/vintf/manifest.xml \
$(DEVICE_PATH)/configs/vintf/network_manifest.xml $(COMMON_PATH)/configs/vintf/network_manifest.xml
DEVICE_MATRIX_FILE := $(DEVICE_PATH)/configs/vintf/compatibility_matrix.xml DEVICE_MATRIX_FILE := $(COMMON_PATH)/configs/vintf/compatibility_matrix.xml
# WiFi # WiFi
BOARD_WLAN_DEVICE := qcwcn BOARD_WLAN_DEVICE := qcwcn
@@ -258,6 +257,3 @@ WIFI_DRIVER_STATE_ON := "ON"
WIFI_HIDL_FEATURE_DUAL_INTERFACE := true WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
WPA_SUPPLICANT_VERSION := VER_0_8_X WPA_SUPPLICANT_VERSION := VER_0_8_X
# Include the proprietary files BoardConfig.
include vendor/xiaomi/topaz/BoardConfigVendor.mk

View File

@@ -1,32 +1,9 @@
Copyright (C) 2023 The LineageOS Project # Common device tree for Xiaomi SM6225 devices
Device configuration for Xiaomi Redmi Note 12 4G/12 4G NFC ```
========================================= #
# Copyright (C) 2023 The LineageOS Project
The Xiaomi Redmi Note 12 4G/12 4G NFC (codenamed _"tapas/topaz"_) is a mid-range smartphone from Xiaomi. #
# SPDX-License-Identifier: Apache-2.0
Redmi Note 12 4G was announced and released in March 2023. #
```
## Device specifications
| Device | Xiaomi Redmi Note 12 4G |
| -----------: | :-------------------------------------------------- |
| SoC | Qualcomm SM6225 Snapdragon 685 (6 nm) |
| CPU | 4x2.8 GHz Cortex-A73 & 4x1.9 GHz Cortex-A53 |
| GPU | Adreno 610 |
| Memory | 4GB/6GB/8GB RAM (LPDDR4X) |
| Storage | 64GB/128GB/256GB UFS 2.2 flash storage |
| Shipped Android version | 13.0 with MIUI 14 |
| Battery | Non-removable Li-Po 5000 mAh |
| Dimensions | 165.7 x 76 x 7.9 mm |
| Display | 1080 x 2400 pixels, 20:9 ratio 6.67" inch |
| Type | AMOLED, 120Hz, 450 nits (typ), 700 nits (HBM), 1200 nits (peak) |
| NFC | Yes ( Redmi Note 12 4G NFC ) |
| Rear camera 1 | 50 MP, f/1.8, (wide), 1/2.76", 0.64µm, PDAF |
| Rear camera 2 | 8 MP, f/2.2, 120˚ (ultrawide), 1/4", 1.12µm |
| Rear camera 3 | 2 MP, f/2.4, (macro) |
| Front camera | 13 MP, f/2.5, (wide), 1/3.0" |
## Device picture
![Xiaomi Redmi Note 12 4G](https://fdn2.gsmarena.com/vv/pics/xiaomi/redmi-note-12-4g-2.jpg "Xiaomi Redmi Note 12 4G")

View File

@@ -19,6 +19,9 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_ven
# Setup dalvik vm configs # Setup dalvik vm configs
$(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk) $(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk)
# Inherit from the proprietary files makefile.
$(call inherit-product, vendor/xiaomi/sm6225-common/sm6225-common-vendor.mk)
# A/B # A/B
AB_OTA_POSTINSTALL_CONFIG += \ AB_OTA_POSTINSTALL_CONFIG += \
RUN_POSTINSTALL_system=true \ RUN_POSTINSTALL_system=true \
@@ -391,14 +394,7 @@ PRODUCT_PACKAGES += \
CarrierConfigResCommon \ CarrierConfigResCommon \
FrameworksResCommon \ FrameworksResCommon \
FrameworksResTarget \ FrameworksResTarget \
FrameworksResTopaz \
SettingsResTopaz \
SettingsOverlayM7G \
SettingsOverlayM7N \
SettingsOverlayM7L \
SettingsOverlayM7IN \
SystemUIResCommon \ SystemUIResCommon \
SystemUIResTopaz \
TelecommResCommon \ TelecommResCommon \
TelephonyResCommon \ TelephonyResCommon \
WifiResCommon \ WifiResCommon \
@@ -586,6 +582,3 @@ PRODUCT_PACKAGES += \
PRODUCT_BOOT_JARS += \ PRODUCT_BOOT_JARS += \
WfdCommon WfdCommon
# Inherit from the proprietary files makefile.
$(call inherit-product, vendor/xiaomi/topaz/topaz-vendor.mk)

View File

@@ -8,9 +8,6 @@
set -e set -e
DEVICE=topaz
VENDOR=xiaomi
# Load extract_utils and do some sanity checks # Load extract_utils and do some sanity checks
MY_DIR="${BASH_SOURCE%/*}" MY_DIR="${BASH_SOURCE%/*}"
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
@@ -27,11 +24,19 @@ source "${HELPER}"
# Default to sanitizing the vendor folder before extraction # Default to sanitizing the vendor folder before extraction
CLEAN_VENDOR=true CLEAN_VENDOR=true
ONLY_COMMON=
ONLY_TARGET=
KANG= KANG=
SECTION= SECTION=
while [ "${#}" -gt 0 ]; do while [ "${#}" -gt 0 ]; do
case "${1}" in case "${1}" in
--only-common )
ONLY_COMMON=true
;;
--only-target )
ONLY_TARGET=true
;;
-n | --no-cleanup ) -n | --no-cleanup )
CLEAN_VENDOR=false CLEAN_VENDOR=false
;; ;;
@@ -53,8 +58,6 @@ if [ -z "${SRC}" ]; then
SRC="adb" SRC="adb"
fi fi
# Initialize the helper
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
function blob_fixup() { function blob_fixup() {
case "${1}" in case "${1}" in
vendor/bin/hw/android.hardware.security.keymint-service-qti) vendor/bin/hw/android.hardware.security.keymint-service-qti)
@@ -63,6 +66,19 @@ function blob_fixup() {
esac esac
} }
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}" if [ -z "${ONLY_TARGET}" ]; then
# Initialize the helper for common device
setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true "${CLEAN_VENDOR}"
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
fi
if [ -z "${ONLY_COMMON}" ] && [ -s "${MY_DIR}/../${DEVICE}/proprietary-files.txt" ]; then
# Reinitialize the helper for device
source "${MY_DIR}/../${DEVICE}/extract-files.sh"
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
extract "${MY_DIR}/../${DEVICE}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
fi
"${MY_DIR}/setup-makefiles.sh" "${MY_DIR}/setup-makefiles.sh"

View File

@@ -1,15 +0,0 @@
//
// Copyright (C) 2023 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
cc_library_static {
name: "init_topaz",
recovery_available: true,
shared_libs: ["libbase"],
srcs: ["init_topaz.cpp"],
include_dirs: [
"system/core/init",
"system/libbase/include"
]
}

View File

@@ -1,140 +0,0 @@
/*
* Copyright (C) 2023 Paranoid Android
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <cstdlib>
#include <fstream>
#include <string.h>
#include <unistd.h>
#include <vector>
#include <android-base/properties.h>
#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
#include <sys/_system_properties.h>
#include <sys/sysinfo.h>
#include "property_service.h"
#include "vendor_init.h"
using android::base::GetProperty;
using std::string;
std::vector<std::string> ro_props_default_source_order = {
"",
"odm.",
"product.",
"system.",
"system_dlkm.",
"system_ext.",
"vendor.",
"vendor_dlkm.",
};
bool IsRecoveryMode() {
return access("/system/bin/recovery", F_OK) == 0;
}
void property_override(string prop, string value)
{
auto pi = (prop_info*) __system_property_find(prop.c_str());
if (pi != nullptr)
__system_property_update(pi, value.c_str(), value.size());
else
__system_property_add(prop.c_str(), prop.size(), value.c_str(), value.size());
}
void load_redmi_topaz() {
property_override("bluetooth.device.default_name", "Redmi Note 12");
property_override("ro.product.brand", "Redmi");
property_override("ro.product.device", "topaz");
property_override("ro.product.manufacturer", "Xiaomi");
property_override("ro.product.marketname", "Redmi Note 12");
property_override("ro.product.model", "23021RAA2Y");
property_override("ro.product.mod_device", "topaz_global");
property_override("ro.product.name", "topaz_global");
property_override("vendor.usb.product_string", "Redmi Note 12");
}
void load_redmi_tapas() {
property_override("bluetooth.device.default_name", "Redmi Note 12");
property_override("ro.product.brand", "Redmi");
property_override("ro.product.device", "tapas");
property_override("ro.product.manufacturer", "Xiaomi");
property_override("ro.product.marketname", "Redmi Note 12");
property_override("ro.product.model", "23021RAAEG");
property_override("ro.product.mod_device", "tapas_global");
property_override("ro.product.name", "tapas_global");
property_override("vendor.usb.product_string", "Redmi Note 12");
}
void vendor_load_properties() {
std::string hwname = GetProperty("ro.boot.hwname", "");
if (access("/system/bin/recovery", F_OK) != 0) {
if (hwname == "topaz") {
load_redmi_topaz();
} else if (hwname == "tapas") {
load_redmi_tapas();
}
}
// Override first api level for safetynet
if (!IsRecoveryMode()) {
property_override("ro.product.first_api_level", "32");
}
// Set hardware revision
property_override("ro.boot.hardware.revision", GetProperty("ro.boot.hwversion", "").c_str());
// Set dalvik heap configuration
std::string heapstartsize, heapgrowthlimit, heapsize, heapminfree,
heapmaxfree, heaptargetutilization;
struct sysinfo sys;
sysinfo(&sys);
if (sys.totalram > 5072ull * 1024 * 1024) {
// from - phone-xhdpi-6144-dalvik-heap.mk
heapstartsize = "16m";
heapgrowthlimit = "256m";
heapsize = "512m";
heaptargetutilization = "0.5";
heapminfree = "8m";
heapmaxfree = "32m";
} else if (sys.totalram > 3072ull * 1024 * 1024) {
// from - phone-xhdpi-4096-dalvik-heap.mk
heapstartsize = "8m";
heapgrowthlimit = "192m";
heapsize = "512m";
heaptargetutilization = "0.6";
heapminfree = "8m";
heapmaxfree = "16m";
} else {
// from - phone-xhdpi-2048-dalvik-heap.mk
heapstartsize = "8m";
heapgrowthlimit = "192m";
heapsize = "512m";
heaptargetutilization = "0.75";
heapminfree = "512k";
heapmaxfree = "8m";
}
property_override("dalvik.vm.heapstartsize", heapstartsize);
property_override("dalvik.vm.heapgrowthlimit", heapgrowthlimit);
property_override("dalvik.vm.heapsize", heapsize);
property_override("dalvik.vm.heaptargetutilization", heaptargetutilization);
property_override("dalvik.vm.heapminfree", heapminfree);
property_override("dalvik.vm.heapmaxfree", heapmaxfree);
}

View File

@@ -1,23 +0,0 @@
#
# Copyright (C) 2023 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit from topaz device
$(call inherit-product, device/xiaomi/topaz/device.mk)
# Inherit some common Lineage stuff.
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
PRODUCT_NAME := lineage_topaz
PRODUCT_DEVICE := topaz
PRODUCT_MANUFACTURER := Xiaomi
PRODUCT_BRAND := Redmi
PRODUCT_MODEL := Redmi Note 12 4G
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi

View File

@@ -1,10 +0,0 @@
//
// Copyright (C) 2023 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "FrameworksResTopaz",
device_specific: true,
}

View File

@@ -1,12 +0,0 @@
<!--
Copyright (C) 2023 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android.overlay.xiaomi_topaz">
<overlay
android:isStatic="true"
android:priority="700"
android:targetPackage="android" />
</manifest>

View File

@@ -1,377 +0,0 @@
<?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">
<!-- The default peak refresh rate for a given device. Change this value if you want to prevent
the framework from using higher refresh rates, even if display modes with higher refresh
rates are available from hardware composer. Only has an effect if the value is
non-zero. -->
<integer name="config_defaultPeakRefreshRate">120</integer>
<!-- 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">M 0,0 H -28 V 94 H 28 V 0 H 0 Z</string>
<!-- 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 name="config_screenBrightnessSettingMinimumFloat" type="dimen">0.00342131</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 name="config_screenBrightnessSettingMaximumFloat" type="dimen">1.0</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 name="config_screenBrightnessSettingDefaultFloat" type="dimen">0.14956012</item>
<!-- Screen brightness used to dim the screen when the user activity
timeout expires. May be less than the minimum allowed brightness setting
that can be set by the user. -->
<integer name="config_screenBrightnessDim">13</integer>
<item name="config_screenBrightnessDimFloat" type="dimen">0.00342131</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 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.3</item>
<item>4.3</item>
<item>5.0</item>
<item>17.0</item>
<item>24.0</item>
<item>31.0</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>4.3</item>
<item>800.0</item>
</array>
<!-- Indicates whether the system wide captions service should also support
call captioning.
-->
<bool name="config_systemCaptionsServiceCallsEnabled" translatable="false">true</bool>
<!-- 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" >
<!-- ID0:Fingerprint:Strong -->
<item>0:2:15</item>
</string-array>
<!-- Indicates whether device has a power button fingerprint sensor. -->
<bool name="config_is_powerbutton_fps" translatable="false" >true</bool>
<!-- An array of arrays of side fingerprint sensor properties relative to each display.
Note: this value is temporary and is expected to be queried directly
from the HAL in the future. -->
<array name="config_sfps_sensor_props" translatable="false">
<item>@array/config_sfps_sensor_props_0</item>
</array>
<array name="config_sfps_sensor_props_0" translatable="false">
<item></item> <!--item>displayId</item-->
<item>1080</item> <!--item>sensorLocationX</item-->
<item>920</item> <!--item>sensorLocationY</item-->
<item>115</item> <!--item>sensorRadius</item-->
</array>
<!-- Path to fast charging status file to detect whether an oem fast charger is active -->
<string name="config_oemFastChargerStatusPath" translatable="false">/sys/class/qcom-battery/quick_charge_type</string>
<!-- Build fingerprint from stock ROM -->
<string name="config_stockFingerprint" translatable="false">Redmi/topaz_global/topaz:13/TKQ1.221114.001/V816.0.2.0.UMGMIXM:user/release-keys</string>
<!-- Device model (Build.MODEL) to spoof for netflix -->
<string name="config_netflixSpoofModel" translatable="false">23021RAA2Y</string>
</resources>

View File

@@ -1,23 +0,0 @@
<?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 radius of the software rounded corners. -->
<dimen name="rounded_corner_radius">70.0px</dimen>
<dimen name="rounded_corner_radius_bottom">70.0px</dimen>
<dimen name="rounded_corner_radius_top">70.0px</dimen>
<!-- Default paddings for content around the corners. -->
<dimen name="rounded_corner_content_padding">47.0px</dimen>
<!-- The default height of the status bar used in {@link SystemBarUtils#getStatusBarHeight} to
calculate the status bar height. -->
<dimen name="status_bar_height_default">94.0px</dimen>
<!-- Height of the status bar in portrait.
Do not read this dimen directly. Use {@link SystemBarUtils#getStatusBarHeight} instead.
-->
<dimen name="status_bar_height_portrait">94.0px</dimen>
</resources>

View File

@@ -1,91 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<device name="Android">
<item name="none">0</item>
<item name="screen.on.display0">0.45</item>
<item name="screen.full.display0">92.95</item>
<array name="cpu.clusters.cores">
<value>4</value>
<value>4</value>
</array>
<array name="cpu.core_speeds.cluster0">
<value>300000</value>
<value>691200</value>
<value>940800</value>
<value>1190400</value>
<value>1516800</value>
<value>1804800</value>
<value>1900800</value>
</array>
<array name="cpu.core_power.cluster0">
<value>3.98</value>
<value>6.44</value>
<value>10.53</value>
<value>14.19</value>
<value>26.28</value>
<value>33.3</value>
<value>37.15</value>
</array>
<array name="cpu.core_speeds.cluster1">
<value>300000</value>
<value>806400</value>
<value>1056000</value>
<value>1344000</value>
<value>1766400</value>
<value>2208000</value>
<value>2400000</value>
<value>2592000</value>
<value>2803200</value>
</array>
<array name="cpu.core_power.cluster1">
<value>18.11</value>
<value>41.28</value>
<value>53.54</value>
<value>66.03</value>
<value>89.63</value>
<value>113.12</value>
<value>132.51</value>
<value>155.62</value>
<value>180.32</value>
</array>
<item name="cpu.active">18.3</item>
<item name="cpu.idle">4.51</item>
<item name="cpu.suspend">0</item>
<item name="cpu.awake">42.86</item>
<item name="battery.capacity">5000</item>
<item name="wifi.on">6.76</item>
<item name="wifi.active">148</item>
<item name="wifi.scan">38.43</item>
<item name="audio">10.51</item>
<item name="video">134.94</item>
<item name="camera.flashlight">530</item>
<item name="camera.avg">320</item>
<item name="gps.on">6.8</item>
<item name="radio.active">172</item>
<item name="radio.scanning">4.4</item>
<array name="radio.on">
<value>85</value>
<value>8.5</value>
</array>
<item name="modem.controller.idle">4.4</item>
<item name="modem.controller.rx">168</item>
<item name="modem.controller.tx">163</item>
<item name="modem.controller.voltage">3700</item>
<array name="memory.bandwidths">
<value>13.5</value>
</array>
<item name="wifi.controller.idle">1.22</item>
<item name="wifi.controller.rx">121</item>
<item name="wifi.controller.tx">156</item>
<array name="wifi.controller.tx_levels">1 </array>
<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">44.37</item>
<item name="bluetooth.on">0.51</item>
<item name="bluetooth.controller.voltage">3700</item>
</device>

View File

@@ -1,4 +0,0 @@
runtime_resource_overlay {
name: "SettingsOverlayM7G",
product_specific: true,
}

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.settings.overlay.topaz.m7g">
<application android:hasCode="false" />
<overlay android:targetPackage="com.android.settings"
android:requiredSystemPropertyName="ro.boot.product.hardware.sku"
android:requiredSystemPropertyValue="m7g"
android:isStatic="true" />
</manifest>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

View File

@@ -1,4 +0,0 @@
runtime_resource_overlay {
name: "SettingsOverlayM7IN",
product_specific: true,
}

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.settings.overlay.topaz.m7in">
<application android:hasCode="false" />
<overlay android:targetPackage="com.android.settings"
android:requiredSystemPropertyName="ro.boot.product.hardware.sku"
android:requiredSystemPropertyValue="m7in"
android:isStatic="true" />
</manifest>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -1,4 +0,0 @@
runtime_resource_overlay {
name: "SettingsOverlayM7L",
product_specific: true,
}

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.settings.overlay.topaz.m7l">
<application android:hasCode="false" />
<overlay android:targetPackage="com.android.settings"
android:requiredSystemPropertyName="ro.boot.product.hardware.sku"
android:requiredSystemPropertyValue="m7l"
android:isStatic="true" />
</manifest>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -1,4 +0,0 @@
runtime_resource_overlay {
name: "SettingsOverlayM7N",
product_specific: true,
}

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.settings.overlay.topaz.m7n">
<application android:hasCode="false" />
<overlay android:targetPackage="com.android.settings"
android:requiredSystemPropertyName="ro.boot.product.hardware.sku"
android:requiredSystemPropertyValue="m7n"
android:isStatic="true" />
</manifest>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

View File

@@ -1,10 +0,0 @@
//
// Copyright (C) 2023 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "SettingsResTopaz",
product_specific: true,
}

View File

@@ -1,10 +0,0 @@
<!--
Copyright (C) 2023 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.settings.overlay.topaz">
<overlay android:targetPackage="com.android.settings"
android:isStatic="true"
android:priority="1001" />
</manifest>

File diff suppressed because it is too large Load Diff

View File

@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Whether to show Smooth Display feature in Settings Options -->
<bool name="config_show_smooth_display">true</bool>
<!-- Whether to show a preference item for regulatory information in About phone -->
<bool name="config_show_regulatory_info">true</bool>
<!-- Fingerprint sensor -->
<dimen name="fingerprint_dot_radius">0dp</dimen>
<dimen name="fingerprint_pulse_radius">0dp</dimen>
</resources>

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Location of the fingerprint sensor (power button) -->
<item name="fingerprint_sensor_location_fraction_x" type="fraction">100%</item>
</resources>

View File

@@ -1,10 +0,0 @@
//
// Copyright (C) 2023 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "SystemUIResTopaz",
device_specific: true,
}

View File

@@ -1,12 +0,0 @@
<!--
Copyright (C) 2023 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.systemui.overlay.xiaomi_topaz">
<overlay
android:isStatic="true"
android:priority="300"
android:targetPackage="com.android.systemui" />
</manifest>

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Should we vibrate on an icon animation of the shelf. This should only be active if the
vibrator is capable of subtle vibrations -->
<bool name="config_vibrateOnIconAnimation">true</bool>
</resources>

View File

@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- 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.
By default, this is set to @null to use the horizontal center of the screen. -->
<dimen name="physical_fingerprint_sensor_center_screen_location_x">1080px</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">1030px</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">
@dimen/physical_fingerprint_sensor_center_screen_location_y
</dimen>
</resources>

View File

@@ -8,9 +8,6 @@
set -e set -e
DEVICE=topaz
VENDOR=xiaomi
# Load extract_utils and do some sanity checks # Load extract_utils and do some sanity checks
MY_DIR="${BASH_SOURCE%/*}" MY_DIR="${BASH_SOURCE%/*}"
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
@@ -24,13 +21,28 @@ if [ ! -f "${HELPER}" ]; then
fi fi
source "${HELPER}" source "${HELPER}"
# Initialize the helper # Initialize the helper for common
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true
# Warning headers and guards # Warning headers and guards
write_headers write_headers "topaz"
# The standard common blobs
write_makefiles "${MY_DIR}/proprietary-files.txt" true write_makefiles "${MY_DIR}/proprietary-files.txt" true
# Finish # Finish
write_footers write_footers
if [ -s "${MY_DIR}/../${DEVICE}/proprietary-files.txt" ]; then
# Reinitialize the helper for device
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false
# Warning headers and guards
write_headers
# The standard device blobs
write_makefiles "${MY_DIR}/../${DEVICE}/proprietary-files.txt" true
# Finish
write_footers
fi