4 Commits
vic ... udc

29 changed files with 381 additions and 179 deletions

View File

@@ -6,3 +6,8 @@
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/lineage_umi.mk
COMMON_LUNCH_CHOICES := \
lineage_umi-user \
lineage_umi-userdebug \
lineage_umi-eng

View File

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

View File

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

View File

@@ -4,34 +4,31 @@
"target_path": "device/xiaomi/sm8250-common"
},
{
"repository": "SM8250-Development/vendor_xiaomi_sm8250-common",
"target_path": "vendor/xiaomi/sm8250-common",
"remote": "gitlab"
"repository": "vendor_xiaomi_sm8250-common",
"target_path": "vendor/xiaomi/sm8250-common"
},
{
"repository": "SM8250-Development/vendor_xiaomi_umi",
"target_path": "vendor/xiaomi/umi",
"remote": "gitlab"
},
{
"repository": "SM8250-Development/kernel_xiaomi_sm8250",
"target_path": "kernel/xiaomi/sm8250",
"remote": "github-non-los"
"repository": "vendor_xiaomi_umi",
"target_path": "vendor/xiaomi/umi"
},
{
"repository": "hardware_xiaomi",
"target_path": "hardware/xiaomi"
},
{
"repository": "Xiaomi-Development/device_xiaomi_camera",
"target_path": "device/xiaomi/camera",
"remote": "github-non-los",
"branch": "aosp-15"
"repository": "packages_apps_ViPER4AndroidFX",
"target_path": "packages/apps/ViPER4AndroidFX"
},
{
"repository": "xiaomi-development/vendor_xiaomi_camera",
"target_path": "vendor/xiaomi/camera",
"remote": "gitlab",
"branch": "aosp-15"
{
"repository": "TechPanelGM/android_kernel_xiaomi_sm8250-MagicTime",
"target_path": "kernel/xiaomi/sm8250",
"remote": "github-non-los",
"branch": "magictime-new"
},
{
"repository": "TechPanelGM/vendor_xiaomi_MiuiCamera",
"target_path": "vendor/xiaomi/miuicamera-sm8250",
"remote": "github-non-los",
"branch": "14"
}
]

View File

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

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

View File

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

View File

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

View File

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

View File

@@ -14,25 +14,28 @@ $(call inherit-product, vendor/lineage/config/common_full_phone.mk)
# Inherit from umi device
$(call inherit-product, device/xiaomi/umi/device.mk)
# Camera
include device/xiaomi/camera/miuicamera.mk
# Extra Packages
$(call inherit-product, vendor/xiaomi/miuicamera-sm8250/miuicamera.mk) # HolyBear Leica camera
$(call inherit-product, packages/apps/ViPER4AndroidFX/config.mk) # ViPER4AndroidFX
# Build Flags
TARGET_SCREEN_HEIGHT := 2340
TARGET_SCREEN_WIDTH := 1080
TARGET_USES_MINI_GAPPS := true
TARGET_BUILD_DEVICE_AS_WEBCAM := true
TARGET_HAS_UDFPS := true
TARGET_INCLUDE_ACCORD := false
BUILD_BCR := true
# Include Vendor Keys
include vendor/evolution-priv/keys/keys.mk
PRODUCT_NAME := lineage_umi
PRODUCT_DEVICE := umi
PRODUCT_MANUFACTURER := Xiaomi
PRODUCT_BRAND := Xiaomi
PRODUCT_MODEL := Mi 10
# Extra Tags
TARGET_HAS_UDFPS := true
BUILD_BCR := true
WITH_GMS := true
# Device Details
PRODUCT_NAME := evolution_umi
PRODUCT_DEVICE := umi
PRODUCT_MANUFACTURER := Xiaomi
PRODUCT_BRAND := Xiaomi
PRODUCT_MODEL := Mi 10
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi
PRODUCT_BUILD_PROP_OVERRIDES += \
BuildDesc="umi-user 13 TKQ1.221114.001 V816.0.3.0.TJBMIXM release-keys" \
PRIVATE_BUILD_DESC="umi-user 13 TKQ1.221114.001 V816.0.5.0.TJBCNXM release-keys"
BUILD_FINGERPRINT := Xiaomi/umi_global/umi:13/TKQ1.221114.001/V816.0.5.0.TJBCNXM:user/release-keys

View File

@@ -740,6 +740,29 @@
<!-- How long it takes for the HW to start illuminating after the illumination is requested. -->
<integer name="config_udfps_illumination_transition_ms">0</integer>
<!-- The properties of a UDFPS sensor in pixels, in the order listed below: -->
<integer-array name="config_udfps_sensor_props" translatable="false" >
<!--
<item>sensorLocationX</item>
<item>sensorLocationY</item>
<item>sensorRadius</item>
-->
<item>539</item>
<item>1907</item>
<item>99</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>
<!-- Flag specifying whether VoLTE is available on device -->
<bool name="config_device_volte_available">true</bool>
<!-- Flag specifying whether VoLTE should be available for carrier: independent of
carrier provisioning. If false: hard disabled. If true: then depends on carrier
provisioning, availability etc -->
<bool name="config_carrier_volte_available">true</bool>
<!-- 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}.

View File

@@ -21,21 +21,28 @@
for different hardware and product builds. Do not translate. -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Whether Pixel props is enabled -->
<bool name="config_enablePixelProps">true</bool>
<!-- Whether devices suports in-display fingerprint when screen is off -->
<bool name="config_supportScreenOffUdfps">true</bool>
<!-- Pocket Lock -->
<bool name="config_pocketModeSupported">true</bool>
<!-- Path to fast charging status file to detect whether an oem fast charger is active -->
<!-- <string name="config_oemFastChargerStatusPath" translatable="false"></string> -->
<!-- Path to fast charging status file to detect whether an oem fast charger is active -->
<string name="config_oemFastChargerStatusPath" translatable="false">/sys/class/power_supply/bms/fastcharge_mode</string>
<!-- Expected value from fast charging status file -->
<string name="config_oemFastChargerStatusValue" translatable="false">1</string>
<!-- Defines the sysfs attribute path used by the device to enable/disable DC dimming. -->
<!-- Defines the sysfs attribute path used by the device
to enable/disable DC dimming. -->
<string name="config_deviceDcDimmingSysfsNode">/sys/devices/platform/soc/soc:qcom,dsi-display-primary/dimlayer_exposure</string>
<!-- Defines the value used by the device sysfs node to enable DC dimming -->
<string name="config_deviceDcDimmingEnableValue">1</string>
<!-- Defines the value used by the device sysfs node
to enable DC dimming -->
<string name="config_deviceDcDimmingEnableValue">0</string>
</resources>

View File

@@ -11,6 +11,10 @@
limitations under the License.
-->
<resources>
<!-- Battery Health -->
<string name="config_batteryRemainingCapacityNode">/sys/class/power_supply/bms/charge_full</string>
<string name="config_batteryDesignCapacityNode">/sys/class/power_supply/bms/charge_full_design</string>
<!-- The number of vibration intensity levels supported by the device.
Note that this should correspond to the ability to vary the vibration amplitude, with
enough dynamic range to have at least as many distinct intensity levels as defined here.
@@ -41,4 +45,5 @@
<!-- Whether to display Cloned Apps page in Settings (Settings > Apps > Cloned Apps).-->
<bool name="config_cloned_apps_page_enabled">true</bool>
</resources>

View File

@@ -1,4 +1,4 @@
# Unpinned blobs from umi-user 13 TKQ1.221114.001 V816.0.3.0.TJBMIXM release-keys
# Unpinned blobs from umi-user 13 RKQ1.211001.001 V14.0.5.0.TJBMIXM release-keys
# ACDB
vendor/etc/acdbdata/Tutu/Tutu_Bluetooth_cal.acdb
@@ -52,7 +52,9 @@ vendor/lib/liba2dpoffload.so:vendor/lib/liba2dpoffload_umi.so;FIX_SONAME
vendor/lib/libaudio_log_utils.so
vendor/lib/libaudiocloudctrl.so
vendor/lib/libaudioconfigstore.so
vendor/lib/libaudioparsers.so
vendor/lib/libaudioroute_ext.so
vendor/lib/libhdmipassthru.so
vendor/lib/libresampler.so
vendor/lib/vendor.qti.hardware.audiohalext@1.0.so
@@ -109,28 +111,34 @@ vendor/lib64/camera/fdconfigpreviewlite.bin
vendor/lib64/camera/fdconfigvideo.bin
vendor/lib64/camera/fdconfigvideolite.bin
vendor/lib64/hw/camera.qcom.so
vendor/lib64/hw/com.qti.chi.override.so
vendor/lib64/com.qti.feature2.anchorsync.so
vendor/lib64/com.qti.feature2.demux.so
vendor/lib64/com.qti.feature2.frameselect.so
vendor/lib64/com.qti.feature2.fusion.so
vendor/lib64/com.qti.feature2.generic.so
vendor/lib64/com.qti.feature2.gs.so
vendor/lib64/com.qti.feature2.hdr.so
vendor/lib64/com.qti.feature2.memcpy.so
vendor/lib64/com.qti.feature2.mfsr.so
vendor/lib64/com.qti.feature2.qcfa.so
vendor/lib64/com.qti.feature2.rawhdr.so
vendor/lib64/com.qti.feature2.rawsupernight.so
vendor/lib64/com.qti.feature2.rt.so
vendor/lib64/com.qti.feature2.serializer.so
vendor/lib64/com.qti.feature2.softispprocess.so
vendor/lib64/com.qti.feature2.softispsupernight.so
vendor/lib64/com.qti.feature2.sr.so
vendor/lib64/com.qti.feature2.stub.so
vendor/lib64/com.qti.feature2.swmf.so
vendor/lib64/libMIAIHDRhvx_interface.so
vendor/lib64/libalAILDC.so
vendor/lib64/libalCFR.so
vendor/lib64/libalLDC.so
vendor/lib64/libalhLDC.so
vendor/lib64/libMIAIHDRhvx_interface.so;DISABLE_CHECKELF
vendor/lib64/libSNPE.so
vendor/lib64/libalAILDC.so;DISABLE_CHECKELF
vendor/lib64/libalLDC.so;DISABLE_CHECKELF
vendor/lib64/libalhLDC.so;DISABLE_CHECKELF
vendor/lib64/libarcdualcamsat.so
vendor/lib64/libarcmulticamsat.so
vendor/lib64/libarcsat.so
vendor/lib64/libarcsoft_beautyshot.so
vendor/lib64/libarcsoft_bodyslim.so
vendor/lib64/libarcsoft_distortion_correction.so
@@ -139,17 +147,20 @@ vendor/lib64/libarcsoft_dualcam_refocus_front.so
vendor/lib64/libarcsoft_dualcam_refocus_rear_t.so
vendor/lib64/libarcsoft_dualcam_refocus_rear_w.so
vendor/lib64/libarcsoft_hdr_detection.so
vendor/lib64/libarcsoft_hdrplus_hvx_stub.so
vendor/lib64/libarcsoft_hdrplus_hvx_stub.so;DISABLE_CHECKELF
vendor/lib64/libarcsoft_high_dynamic_range.so
vendor/lib64/libarcsoft_portrait_lighting.so
vendor/lib64/libarcsoft_portrait_lighting_c.so
vendor/lib64/libarcsoft_preview_deflicker.so
vendor/lib64/libarcsoft_super_night_raw.so
vendor/lib64/libarcsoft_super_night_raw.so;DISABLE_CHECKELF
vendor/lib64/libarcsoft_superportrait.so
vendor/lib64/libc++_shared.so
vendor/lib64/libcamera_dirty.so
vendor/lib64/libcamera_nn_stub.so
vendor/lib64/libcamera_scene.so
vendor/lib64/libcamerapostproc.so
vendor/lib64/libchilog.so
vendor/lib64/libcom.qti.chinodeutils.so
vendor/lib64/libcvp2.so
vendor/lib64/libcvp2_hfi.so
vendor/lib64/libcvp_common.so
@@ -160,15 +171,11 @@ vendor/lib64/libdualcam_video_optical_zoom.so
vendor/lib64/libflaw.so
vendor/lib64/libfocus.so
vendor/lib64/libft2vendor.so
vendor/lib64/libHalSuperSensorServer.so
vendor/lib64/libhta.so
vendor/lib64/libipebpsstriping.so
vendor/lib64/libmiai_deblur.so
vendor/lib64/libmialgoengine.so
vendor/lib64/libmialgo_ie_capture.so
vendor/lib64/libmialgo_ie_preview.so
vendor/lib64/libmialgo_image_colourkeeping.so
vendor/lib64/libmialgo_rfs.so
vendor/lib64/libmialgo_rfs.so;DISABLE_CHECKELF
vendor/lib64/libmialgo_sd.so
vendor/lib64/libmialgo_utils.so
vendor/lib64/libmialgo_video_colourkeeping.so
@@ -176,12 +183,13 @@ vendor/lib64/libmialgo_video_enhance.so
vendor/lib64/libmialgo_video_seg.so
vendor/lib64/libmibokeh_845_video.so
vendor/lib64/libmibokeh_855.so
vendor/lib64/libmpbase.so
vendor/lib64/libmulticam_image_optical_zoom.so
vendor/lib64/libmulticam_optical_zoom_control.so
vendor/lib64/libmulticam_video_optical_zoom.so
vendor/lib64/libnpu.so
vendor/lib64/libofflinelog.so
vendor/lib64/libos.so
vendor/lib64/librelight_only.so
vendor/lib64/libremosaic_wrapper.so
vendor/lib64/libremosaichvx_stub.so
vendor/lib64/libremosaiclib.so
@@ -193,16 +201,16 @@ vendor/lib64/libsnpe_dsp_domains_v2_system.so
vendor/lib64/libsns_registry_skel.so
vendor/lib64/libst_soft_isp_calc_exposure_shared.so
vendor/lib64/libst_soft_isp_shared.so
vendor/lib64/libSuperSensor.so
vendor/lib64/libSuperSensorCPU.so
vendor/lib64/libsymphony-cpu.so
vendor/lib64/libsynx.so
vendor/lib64/libthreadutils.so
vendor/lib64/libtriplecam_optical_zoom_control.so
vendor/lib64/libtriplecam_video_optical_zoom.so
vendor/lib64/libvideoBokeh.so
vendor/lib64/libvideofilter_only.so
vendor/lib64/libvidhance.so
vendor/lib64/libxmi_high_dynamic_range.so
vendor/lib64/vendor.qti.hardware.camera.postproc@1.0-service-impl.so
# Camera (CamX)
vendor/lib64/libcamxexternalformatutils.so
@@ -365,8 +373,8 @@ vendor/lib64/hw/fingerprint.goodix_fod.so:vendor/lib64/hw/fingerprint.goodix_fod
vendor/lib64/libgf_hal.so
# HotwordEnrollment
product/priv-app/HotwordEnrollmentOKGoogleHEXAGON_WIDEBAND/HotwordEnrollmentOKGoogleHEXAGON_WIDEBAND.apk
product/priv-app/HotwordEnrollmentXGoogleHEXAGON_WIDEBAND/HotwordEnrollmentXGoogleHEXAGON_WIDEBAND.apk
-product/priv-app/HotwordEnrollmentOKGoogleHEXAGON_WIDEBAND/HotwordEnrollmentOKGoogleHEXAGON_WIDEBAND.apk
-product/priv-app/HotwordEnrollmentXGoogleHEXAGON_WIDEBAND/HotwordEnrollmentXGoogleHEXAGON_WIDEBAND.apk
system_ext/etc/permissions/com.android.hotwordenrollment.common.util.xml
system_ext/framework/com.android.hotwordenrollment.common.util.jar

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2017 The LineageOS Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- The properties of a UDFPS sensor in pixels, in the order listed below: -->
<integer-array name="config_udfps_sensor_props" translatable="false" >
<!--
<item>sensorLocationX</item>
<item>sensorLocationY</item>
<item>sensorRadius</item>
-->
<item>540</item>
<item>1907</item>
<item>99</item>
</integer-array>
</resources>

View File

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

View File

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

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2017 The LineageOS Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- The properties of a UDFPS sensor in pixels, in the order listed below: -->
<integer-array name="config_udfps_sensor_props" translatable="false" >
<!--
<item>sensorLocationX</item>
<item>sensorLocationY</item>
<item>sensorRadius</item>
-->
<item>549</item>
<item>1925</item>
<item>99</item>
</integer-array>
</resources>

View File

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

View File

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

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2017 The LineageOS Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- The properties of a UDFPS sensor in pixels, in the order listed below: -->
<integer-array name="config_udfps_sensor_props" translatable="false" >
<!--
<item>sensorLocationX</item>
<item>sensorLocationY</item>
<item>sensorRadius</item>
-->
<item>549</item>
<item>1925</item>
<item>99</item>
</integer-array>
</resources>

1
sepolicy/vendor/system_server.te vendored Normal file
View File

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

1
sepolicy/vendor/zygote.te vendored Normal file
View File

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

View File

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

29
setup-makefiles.sh Executable file
View File

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

View File

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