Compare commits
278 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bba833cf13 | ||
|
|
87cd8a8b5b | ||
|
|
93ecc8b248 | ||
|
|
b83aa23489 | ||
|
|
97071f51e6 | ||
|
|
269181ab67 | ||
|
|
285f725a73 | ||
|
|
45b007139d | ||
|
|
23be56c831 | ||
|
|
1ab863d10e | ||
|
|
7b26811e23 | ||
|
|
e1b48f0353 | ||
|
|
675c164916 | ||
|
|
c1bb328c3e | ||
|
|
9597ab96ee | ||
|
|
2d40559065 | ||
|
|
7757c1e281 | ||
|
|
fce16e5c73 | ||
|
|
f0e82e9b44 | ||
|
|
53b77f8fd6 | ||
|
|
21cfe4d8fc | ||
|
|
5645183ac2 | ||
|
|
0883dbf803 | ||
|
|
80a7799d06 | ||
|
|
c9aa905be0 | ||
|
|
47be66e2a9 | ||
|
|
b255425762 | ||
|
|
588ad3037f | ||
|
|
9176cf4396 | ||
|
|
2350ef46a0 | ||
|
|
3871a0886b | ||
|
|
7f3d5daec7 | ||
|
|
0bde6a0203 | ||
|
|
508963b866 | ||
|
|
3aab763cf5 | ||
|
|
8c8fd7785e | ||
|
|
2cbea04f8a | ||
|
|
490534372f | ||
|
|
b56c46cc83 | ||
|
|
64f01485ed | ||
|
|
6559df72e5 | ||
|
|
8f7e6caa15 | ||
|
|
6bc2792c9b | ||
|
|
6f8cf0657e | ||
|
|
a82f7d709d | ||
|
|
656e642ff9 | ||
|
|
486071702c | ||
|
|
b3cc170036 | ||
|
|
37de36b2da | ||
|
|
aebaa8ef1c | ||
|
|
c003d5281c | ||
|
|
42b587c239 | ||
|
|
dc9730364d | ||
|
|
3e5643e053 | ||
|
|
24e5269b29 | ||
|
|
f9747ed8b8 | ||
|
|
7ae7168247 | ||
|
|
2fa92eabd6 | ||
|
|
8ed19bf0bc | ||
|
|
f19908d9c9 | ||
|
|
33a147ffcc | ||
|
|
8e9818ed41 | ||
|
|
8428bc5647 | ||
|
|
4c455881e5 | ||
|
|
e2931f888c | ||
|
|
9597a98894 | ||
|
|
b4d028fa26 | ||
|
|
dbf35ef9c8 | ||
|
|
4a91d632b9 | ||
|
|
ae7593b87a | ||
|
|
6940ed9b90 | ||
|
|
35596f162b | ||
|
|
6c07102cd2 | ||
|
|
aeb4f07d9e | ||
|
|
c36da4c3b1 | ||
|
|
e8b27e9e92 | ||
|
|
d253b473b8 | ||
|
|
acb581c0c0 | ||
|
|
b3a7b5f5a6 | ||
|
|
9b45bd6168 | ||
|
|
534f9f7fcc | ||
|
|
bd33596089 | ||
|
|
5a7395cdb1 | ||
|
|
714f25e0f4 | ||
|
|
b6580beb9a | ||
|
|
9b62cfd6c8 | ||
|
|
c6525e228f | ||
|
|
8e5b4072c9 | ||
|
|
a829eb912e | ||
|
|
30ca8a5f11 | ||
|
|
b1ae2d1628 | ||
|
|
a8514195b7 | ||
|
|
c2c037ceda | ||
|
|
e2123901be | ||
|
|
b0dfac7927 | ||
|
|
8a960eaecd | ||
|
|
f1d00a5720 | ||
|
|
bf6410fdc6 | ||
|
|
4dda766714 | ||
|
|
45db78e231 | ||
|
|
c39dd37c44 | ||
|
|
8d9a4ac624 | ||
|
|
13a97723a4 | ||
|
|
0ca7896ae3 | ||
|
|
b02f85e0dc | ||
|
|
3c7147ba26 | ||
|
|
322ba9c44a | ||
|
|
603d46e1ab | ||
|
|
95f317e68a | ||
|
|
8f71e729f7 | ||
|
|
b98b02aebf | ||
|
|
c121beea3c | ||
|
|
4ddd46f8d3 | ||
|
|
db38f499b8 | ||
|
|
c097aa01ba | ||
|
|
b28b5fd51d | ||
|
|
7da38a9c12 | ||
|
|
645a1b3dbe | ||
|
|
2b272b72c1 | ||
|
|
c84b313428 | ||
|
|
70fe51dcc3 | ||
|
|
c64d79af02 | ||
|
|
13700ee78b | ||
|
|
bad20562fb | ||
|
|
e2bfa25e01 | ||
|
|
57c7362682 | ||
|
|
19e2a5ab3b | ||
|
|
f051197fc6 | ||
|
|
a2e588557e | ||
|
|
a4df00734e | ||
|
|
ba57af2c58 | ||
|
|
daa24c2825 | ||
|
|
0d1fc8a2e3 | ||
|
|
4a6cf62fa7 | ||
|
|
6d9339ce7c | ||
|
|
3ccabc2a06 | ||
|
|
d2f5e33dff | ||
|
|
518ad01b2d | ||
|
|
6bbb9a9231 | ||
|
|
c46196f34c | ||
|
|
93515bd6cf | ||
|
|
59d6666ea8 | ||
|
|
5c21eb8921 | ||
|
|
c7656e6290 | ||
|
|
f105f6c501 | ||
|
|
485a5d9f14 | ||
|
|
ccbad365fd | ||
|
|
9286f09867 | ||
|
|
8610b8681e | ||
|
|
dd7c9609ec | ||
|
|
792e952f0f | ||
|
|
52a932044b | ||
|
|
084799fbe4 | ||
|
|
42e589355a | ||
|
|
ab853c821d | ||
|
|
53f9de110f | ||
|
|
933fd2e814 | ||
|
|
36837bf025 | ||
|
|
f122a18dae | ||
|
|
d6eb8d64ea | ||
|
|
cccfa74a18 | ||
|
|
d217dc7549 | ||
|
|
80d0cbe71a | ||
|
|
a89342742b | ||
|
|
4187437ce7 | ||
|
|
7edf5eccff | ||
|
|
7453ea17cf | ||
|
|
d7379ef77a | ||
|
|
4b24e43c42 | ||
|
|
d57335f185 | ||
|
|
e99242b226 | ||
|
|
2229f08815 | ||
|
|
a5ce4298a1 | ||
|
|
a72fc32c2e | ||
|
|
dc8a347687 | ||
|
|
2ed7b1e08e | ||
|
|
5d99aa3761 | ||
|
|
4d3d7d1a5a | ||
|
|
f2db59df5f | ||
|
|
c2c19d4103 | ||
|
|
cf9c0179dd | ||
|
|
11d4c0bbc4 | ||
|
|
4329310a6d | ||
|
|
8d2429bcf5 | ||
|
|
8c72cdc256 | ||
|
|
3254b0b998 | ||
|
|
f3605e89a4 | ||
|
|
9572494bf1 | ||
|
|
1e1f924fa1 | ||
|
|
e01e78c408 | ||
|
|
a407903eed | ||
|
|
f5e4371a7f | ||
|
|
0e09a44a2c | ||
|
|
5c2a49f05e | ||
|
|
5c612a45d8 | ||
|
|
28b7fbbc7f | ||
|
|
199238d971 | ||
|
|
022111fd5d | ||
|
|
6213d6ebf5 | ||
|
|
6558937dd6 | ||
|
|
e6a42c70e8 | ||
|
|
1bc813e46f | ||
|
|
0bb2f4916c | ||
|
|
9ded0719c8 | ||
|
|
893bddd28b | ||
|
|
fe45a92829 | ||
|
|
d53fab4127 | ||
|
|
63c67e45ba | ||
|
|
060914ed16 | ||
|
|
66c6186ff5 | ||
|
|
6908a6d66c | ||
|
|
d697ec7503 | ||
|
|
2d2c0833fe | ||
|
|
1650756195 | ||
|
|
41bb557145 | ||
|
|
ae15b2c0a4 | ||
|
|
57b7497699 | ||
|
|
2810dcf117 | ||
|
|
bdd55d3896 | ||
|
|
06c5fecaf8 | ||
|
|
2a943266b3 | ||
|
|
5d67ff3cd4 | ||
|
|
ae32235d4b | ||
|
|
f9eeaacf67 | ||
|
|
6ce96a5e61 | ||
|
|
407d743bd5 | ||
|
|
d0e78513ee | ||
|
|
1605d50a5d | ||
|
|
6c767ce374 | ||
|
|
fc179be7dc | ||
|
|
6d4e4bcf24 | ||
|
|
6d5dfe2612 | ||
|
|
43c91cd373 | ||
|
|
9dcddf4d06 | ||
|
|
cb8f989f32 | ||
|
|
087eb376cc | ||
|
|
eba96e191d | ||
|
|
d4828721cf | ||
|
|
e7cd05c266 | ||
|
|
6f1d76d781 | ||
|
|
0ae6746228 | ||
|
|
96a83cbe71 | ||
|
|
ee62b64217 | ||
|
|
dabf45b58c | ||
|
|
c95e5f57c5 | ||
|
|
c3a4466d97 | ||
|
|
8ed4ca9d5d | ||
|
|
8d6d6ddcee | ||
|
|
77ad293d2f | ||
|
|
1fcf03fad5 | ||
|
|
050ca79fa0 | ||
|
|
194b9ab923 | ||
|
|
921a54460d | ||
|
|
3bb275d8e7 | ||
|
|
1dfe38c7cb | ||
|
|
52a0bff2ef | ||
|
|
72dada0c4c | ||
|
|
2b2e4f1455 | ||
|
|
49106a1f42 | ||
|
|
08d39ee1c9 | ||
|
|
e0ca079412 | ||
|
|
aadffacfcf | ||
|
|
629583b946 | ||
|
|
bd4ee70c2e | ||
|
|
cd23f682dc | ||
|
|
733dcdc4d0 | ||
|
|
7ef0445510 | ||
|
|
a03b2d959e | ||
|
|
291564c5d2 | ||
|
|
fdac214ce8 | ||
|
|
45718b5282 | ||
|
|
df39af87df | ||
|
|
364effd2ac | ||
|
|
f5dbac551c | ||
|
|
ebff9b029f | ||
|
|
5b6cc27718 | ||
|
|
f989d3e54b | ||
|
|
b5389a984f |
@@ -7,6 +7,7 @@
|
||||
soong_namespace {
|
||||
imports: [
|
||||
"hardware/lineage/interfaces/power-libperfmgr",
|
||||
"hardware/qcom-caf/bootctrl",
|
||||
"hardware/qcom-caf/common/libqti-perfd-client",
|
||||
"hardware/xiaomi",
|
||||
],
|
||||
|
||||
34
Android.mk
Normal file
@@ -0,0 +1,34 @@
|
||||
#
|
||||
# Copyright (C) 2023-2024 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
ifneq ($(filter veux,$(TARGET_DEVICE)),)
|
||||
|
||||
include $(call all-makefiles-under,$(LOCAL_PATH))
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
# A/B builds require us to create the mount points at compile time.
|
||||
# Just creating it for all cases since it does not hurt.
|
||||
FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/firmware_mnt
|
||||
$(FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "Creating $(FIRMWARE_MOUNT_POINT)"
|
||||
@mkdir -p $(TARGET_OUT_VENDOR)/firmware_mnt
|
||||
|
||||
BT_FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/bt_firmware
|
||||
$(BT_FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "Creating $(BT_FIRMWARE_MOUNT_POINT)"
|
||||
@mkdir -p $(TARGET_OUT_VENDOR)/bt_firmware
|
||||
|
||||
DSP_MOUNT_POINT := $(TARGET_OUT_VENDOR)/dsp
|
||||
$(DSP_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "Creating $(DSP_MOUNT_POINT)"
|
||||
@mkdir -p $(TARGET_OUT_VENDOR)/dsp
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT)
|
||||
|
||||
endif
|
||||
@@ -7,3 +7,7 @@
|
||||
PRODUCT_MAKEFILES := \
|
||||
$(LOCAL_DIR)/lineage_veux.mk
|
||||
|
||||
COMMON_LUNCH_CHOICES := \
|
||||
lineage_veux-user \
|
||||
lineage_veux-userdebug \
|
||||
lineage_veux-eng
|
||||
|
||||
@@ -10,6 +10,7 @@ BUILD_BROKEN_DUP_RULES := true
|
||||
BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
|
||||
|
||||
# A/B
|
||||
AB_OTA_UPDATER := true
|
||||
AB_OTA_PARTITIONS := \
|
||||
boot \
|
||||
dtbo \
|
||||
@@ -26,15 +27,13 @@ AB_OTA_PARTITIONS := \
|
||||
TARGET_ARCH := arm64
|
||||
TARGET_ARCH_VARIANT := armv8-2a-dotprod
|
||||
TARGET_CPU_ABI := arm64-v8a
|
||||
TARGET_CPU_VARIANT := cortex-a76
|
||||
TARGET_CPU_VARIANT_RUNTIME := cortex-a76
|
||||
TARGET_CPU_VARIANT := cortex-a55
|
||||
|
||||
TARGET_2ND_ARCH := arm
|
||||
TARGET_2ND_ARCH_VARIANT := armv8-2a
|
||||
TARGET_2ND_CPU_ABI := armeabi-v7a
|
||||
TARGET_2ND_CPU_ABI2 := armeabi
|
||||
TARGET_2ND_CPU_VARIANT := cortex-a55
|
||||
TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a55
|
||||
|
||||
# Audio
|
||||
AUDIO_FEATURE_ENABLED_DLKM := true
|
||||
@@ -47,38 +46,41 @@ AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
|
||||
BOARD_SUPPORTS_OPENSOURCE_STHAL := true
|
||||
BOARD_SUPPORTS_SOUND_TRIGGER := true
|
||||
BOARD_USES_ALSA_AUDIO := true
|
||||
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := true
|
||||
|
||||
# Bootloader
|
||||
TARGET_BOOTLOADER_BOARD_NAME := veux
|
||||
TARGET_NO_BOOTLOADER := true
|
||||
|
||||
# Camera
|
||||
TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED := true
|
||||
|
||||
# Display
|
||||
TARGET_SCREEN_DENSITY := 440
|
||||
|
||||
# Filesystem
|
||||
TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/configs/config.fs
|
||||
TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs
|
||||
|
||||
# GNSS
|
||||
BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default
|
||||
LOC_HIDL_VERSION := 4.0
|
||||
|
||||
# HIDL
|
||||
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
|
||||
hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \
|
||||
hardware/xiaomi/vintf/xiaomi_framework_compatibility_matrix.xml \
|
||||
$(DEVICE_PATH)/configs/vintf/device_framework_matrix.xml
|
||||
$(DEVICE_PATH)/device_framework_matrix.xml
|
||||
|
||||
DEVICE_MANIFEST_FILE := \
|
||||
$(DEVICE_PATH)/configs/vintf/manifest.xml
|
||||
$(DEVICE_PATH)/manifest.xml
|
||||
|
||||
DEVICE_MATRIX_FILE := \
|
||||
$(DEVICE_PATH)/configs/vintf/compatibility_matrix.xml
|
||||
$(DEVICE_PATH)/compatibility_matrix.xml
|
||||
|
||||
ODM_MANIFEST_SKUS += \
|
||||
sn100
|
||||
|
||||
ODM_MANIFEST_SN100_FILES := \
|
||||
$(DEVICE_PATH)/configs/vintf/manifest_ese.xml
|
||||
$(DEVICE_PATH)/manifest_ese.xml
|
||||
|
||||
# Kernel
|
||||
BOARD_KERNEL_BASE := 0x00000000
|
||||
@@ -111,16 +113,14 @@ BOARD_KERNEL_CMDLINE := \
|
||||
firmware_class.path=/vendor/firmware
|
||||
|
||||
TARGET_KERNEL_CONFIG := veux_defconfig
|
||||
TARGET_KERNEL_SOURCE := kernel/xiaomi/veux
|
||||
TARGET_KERNEL_SOURCE := kernel/xiaomi/sm6375
|
||||
TARGET_KERNEL_NO_GCC := true
|
||||
|
||||
# Global LTO
|
||||
TARGET_GLOBAL_LTO := thin
|
||||
TARGET_GLOBAL_OPTIMIZATION := O3
|
||||
TARGET_GLOBAL_THINLTO := true
|
||||
# Lineage Health
|
||||
TARGET_HEALTH_CHARGING_CONTROL_SUPPORTS_BYPASS := false
|
||||
|
||||
# OTA assert
|
||||
TARGET_OTA_ASSERT_DEVICE := peux|veux
|
||||
TARGET_OTA_ASSERT_DEVICE := peux,veux
|
||||
|
||||
# Partitions
|
||||
BOARD_BOOTIMAGE_PARTITION_SIZE := 134217728
|
||||
@@ -187,7 +187,7 @@ VENDOR_SECURITY_PATCH := $(BOOT_SECURITY_PATCH)
|
||||
|
||||
# SELinux
|
||||
include device/qcom/sepolicy_vndr/SEPolicy.mk
|
||||
include device/lineage/sepolicy/libperfmgr/sepolicy.mk
|
||||
include vendor/xiaomi/miuicamera-veux/SEPolicy-veux.mk
|
||||
SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/private
|
||||
SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/public
|
||||
BOARD_VENDOR_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
cc_prebuilt_binary {
|
||||
name: "RemovePackagesVeux",
|
||||
overrides: [
|
||||
"AmbientSensePrebuilt",
|
||||
"arcore",
|
||||
"Chrome",
|
||||
"Chrome-Stub",
|
||||
"ConnMO",
|
||||
"ConnMetrics",
|
||||
"DCMO",
|
||||
"DevicePolicyPrebuilt",
|
||||
"DMService",
|
||||
"GCS",
|
||||
"GoogleTTS",
|
||||
"Maps",
|
||||
"MyVerizonServices",
|
||||
"OBDM_Permissions",
|
||||
"obdm_stub",
|
||||
"OdadPrebuilt",
|
||||
"OemDmTrigger",
|
||||
"OPScreenRecord",
|
||||
"Ornament",
|
||||
"PixelBuds",
|
||||
"PixelLiveWallpaperPrebuilt",
|
||||
"RecorderPrebuilt",
|
||||
"SafetyHubPrebuilt",
|
||||
"SCONE",
|
||||
"ScribePrebuilt",
|
||||
"Showcase",
|
||||
"SoundAmplifierPrebuilt",
|
||||
"SprintDM",
|
||||
"SprintHM",
|
||||
"Tycho",
|
||||
"USCCDM",
|
||||
"Via",
|
||||
"Videos",
|
||||
"VZWAPNLib",
|
||||
"VzwOmaTrigger",
|
||||
"YouTube",
|
||||
"YouTubeMusicPrebuilt",
|
||||
],
|
||||
strip: {
|
||||
none: true,
|
||||
},
|
||||
srcs: ["RemovePackagesVeux"],
|
||||
}
|
||||
49
RemovePackages/Android.mk
Normal file
@@ -0,0 +1,49 @@
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := RemovePackages
|
||||
LOCAL_MODULE_CLASS := APPS
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_OVERRIDES_PACKAGES := \
|
||||
AmbientSensePrebuilt \
|
||||
Aperture \
|
||||
arcore \
|
||||
Chrome \
|
||||
Chrome-Stub \
|
||||
ConnMO \
|
||||
ConnMetrics \
|
||||
DCMO \
|
||||
DevicePolicyPrebuilt \
|
||||
DMService \
|
||||
GCS \
|
||||
GoogleTTS \
|
||||
Maps \
|
||||
MyVerizonServices \
|
||||
OBDM_Permissions \
|
||||
obdm_stub \
|
||||
OdadPrebuilt \
|
||||
OemDmTrigger \
|
||||
OPScreenRecord \
|
||||
Ornament \
|
||||
PixelBuds \
|
||||
PixelLiveWallpaperPrebuilt \
|
||||
RecorderPrebuilt \
|
||||
SafetyHubPrebuilt \
|
||||
SCONE \
|
||||
ScribePrebuilt \
|
||||
Showcase \
|
||||
SoundAmplifierPrebuilt \
|
||||
SprintDM \
|
||||
SprintHM \
|
||||
Tycho \
|
||||
USCCDM \
|
||||
Via \
|
||||
Videos \
|
||||
VZWAPNLib \
|
||||
VzwOmaTrigger \
|
||||
YouTube \
|
||||
YouTubeMusicPrebuilt
|
||||
LOCAL_UNINSTALLABLE_MODULE := true
|
||||
LOCAL_CERTIFICATE := PRESIGNED
|
||||
LOCAL_SRC_FILES := /dev/null
|
||||
include $(BUILD_PREBUILT)
|
||||
367
audio/audio_effects.conf
Normal file
@@ -0,0 +1,367 @@
|
||||
# List of effect libraries to load. Each library element must contain a "path" element
|
||||
# giving the full path of the library .so file.
|
||||
# libraries {
|
||||
# <lib name> {
|
||||
# path <lib path>
|
||||
# }
|
||||
# }
|
||||
libraries {
|
||||
bundle {
|
||||
path /vendor/lib/soundfx/libbundlewrapper.so
|
||||
}
|
||||
reverb {
|
||||
path /vendor/lib/soundfx/libreverbwrapper.so
|
||||
}
|
||||
qcbassboost {
|
||||
path /vendor/lib/soundfx/libqcbassboost.so
|
||||
}
|
||||
qcvirt {
|
||||
path /vendor/lib/soundfx/libqcvirt.so
|
||||
}
|
||||
qcreverb {
|
||||
path /vendor/lib/soundfx/libqcreverb.so
|
||||
}
|
||||
visualizer_sw {
|
||||
path /vendor/lib/soundfx/libvisualizer.so
|
||||
}
|
||||
visualizer_hw {
|
||||
path /vendor/lib/soundfx/libqcomvisualizer.so
|
||||
}
|
||||
downmix {
|
||||
path /vendor/lib/soundfx/libdownmix.so
|
||||
}
|
||||
loudness_enhancer {
|
||||
path /vendor/lib/soundfx/libldnhncr.so
|
||||
}
|
||||
dynamics_processing {
|
||||
path /vendor/lib/soundfx/libdynproc.so
|
||||
}
|
||||
proxy {
|
||||
path /vendor/lib/soundfx/libeffectproxy.so
|
||||
}
|
||||
offload_bundle {
|
||||
path /vendor/lib/soundfx/libqcompostprocbundle.so
|
||||
}
|
||||
audio_pre_processing {
|
||||
path /vendor/lib/soundfx/libqcomvoiceprocessing.so
|
||||
}
|
||||
volume_listener {
|
||||
path /vendor/lib/soundfx/libvolumelistener.so
|
||||
}
|
||||
audiosphere {
|
||||
path /vendor/lib/soundfx/libasphere.so
|
||||
}
|
||||
shoebox {
|
||||
path /vendor/lib/soundfx/libshoebox.so
|
||||
}
|
||||
}
|
||||
|
||||
# Default pre-processing library. Add to audio_effect.conf "libraries" section if
|
||||
# audio HAL implements support for default software audio pre-processing effects
|
||||
#
|
||||
# pre_processing {
|
||||
# path /vendor/lib/soundfx/libaudiopreprocessing.so
|
||||
# }
|
||||
|
||||
# list of effects to load. Each effect element must contain a "library" and a "uuid" element.
|
||||
# The value of the "library" element must correspond to the name of one library element in the
|
||||
# "libraries" element.
|
||||
# The name of the effect element is indicative, only the value of the "uuid" element
|
||||
# designates the effect.
|
||||
# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the
|
||||
# generic effect type UUID.
|
||||
# effects {
|
||||
# <fx name> {
|
||||
# library <lib name>
|
||||
# uuid <effect uuid>
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
|
||||
effects {
|
||||
|
||||
# additions for the proxy implementation
|
||||
# Proxy implementation
|
||||
#effectname {
|
||||
#library proxy
|
||||
#uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
||||
|
||||
# SW implemetation of the effect. Added as a node under the proxy to
|
||||
# indicate this as a sub effect.
|
||||
#libsw {
|
||||
#library libSW
|
||||
#uuid yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
|
||||
#} End of SW effect
|
||||
|
||||
# HW implementation of the effect. Added as a node under the proxy to
|
||||
# indicate this as a sub effect.
|
||||
#libhw {
|
||||
#library libHW
|
||||
#uuid zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz
|
||||
#}End of HW effect
|
||||
#} End of effect proxy
|
||||
|
||||
bassboost {
|
||||
library proxy
|
||||
uuid 14804144-a5ee-4d24-aa88-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library qcbassboost
|
||||
uuid 23aca180-44bd-11e2-bcfd-0800200c9a66
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid 2c4a8c24-1581-487f-94f6-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
virtualizer {
|
||||
library proxy
|
||||
uuid d3467faa-acc7-4d34-acaf-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library qcvirt
|
||||
uuid e6c98a16-22a3-11e2-b87b-f23c91aec05e
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid 509a4498-561a-4bea-b3b1-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
equalizer {
|
||||
library proxy
|
||||
uuid c8e70ecd-48ca-456e-8a4f-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library bundle
|
||||
uuid ce772f20-847d-11df-bb17-0002a5d5c51b
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid a0dac280-401c-11e3-9379-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
volume {
|
||||
library bundle
|
||||
uuid 119341a0-8469-11df-81f9-0002a5d5c51b
|
||||
}
|
||||
reverb_env_aux {
|
||||
library proxy
|
||||
uuid 48404ac9-d202-4ccc-bf84-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library qcreverb
|
||||
uuid a8c1e5f3-293d-43cd-95ec-d5e26c02e217
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid 79a18026-18fd-4185-8233-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
reverb_env_ins {
|
||||
library proxy
|
||||
uuid b707403a-a1c1-4291-9573-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library qcreverb
|
||||
uuid 791fff8b-8129-4655-83a4-59bc61034c3a
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid eb64ea04-973b-43d2-8f5e-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
reverb_pre_aux {
|
||||
library proxy
|
||||
uuid 1b78f587-6d1c-422e-8b84-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library qcreverb
|
||||
uuid 53ef1db5-c0c0-445b-b060-e34d20ebb70a
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid 6987be09-b142-4b41-9056-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
reverb_pre_ins {
|
||||
library proxy
|
||||
uuid f3e178d2-ebcb-408e-8357-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library qcreverb
|
||||
uuid b08a0e38-22a5-11e2-b87b-f23c91aec05e
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid aa2bebf6-47cf-4613-9bca-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
visualizer {
|
||||
library proxy
|
||||
uuid 1d0a1a53-7d5d-48f2-8e71-27fbd10d842c
|
||||
|
||||
libsw {
|
||||
library visualizer_sw
|
||||
uuid d069d9e0-8329-11df-9168-0002a5d5c51b
|
||||
}
|
||||
|
||||
libhw {
|
||||
library visualizer_hw
|
||||
uuid 7a8044a0-1a71-11e3-a184-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
downmix {
|
||||
library downmix
|
||||
uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f
|
||||
}
|
||||
hw_acc {
|
||||
library offload_bundle
|
||||
uuid 7d1580bd-297f-4683-9239-e475b6d1d69f
|
||||
}
|
||||
loudness_enhancer {
|
||||
library loudness_enhancer
|
||||
uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c
|
||||
}
|
||||
dynamics_processing {
|
||||
library dynamics_processing
|
||||
uuid e0e6539b-1781-7261-676f-6d7573696340
|
||||
}
|
||||
aec {
|
||||
library audio_pre_processing
|
||||
uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
|
||||
}
|
||||
ns {
|
||||
library audio_pre_processing
|
||||
uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
|
||||
}
|
||||
music_helper {
|
||||
library volume_listener
|
||||
uuid 08b8b058-0590-11e5-ac71-0025b32654a0
|
||||
}
|
||||
ring_helper {
|
||||
library volume_listener
|
||||
uuid 0956df94-0590-11e5-bdbe-0025b32654a0
|
||||
}
|
||||
alarm_helper {
|
||||
library volume_listener
|
||||
uuid 09f303e2-0590-11e5-8fdb-0025b32654a0
|
||||
}
|
||||
# voice_helper is called when stream type is voice_call in VoIP usecase
|
||||
voice_helper {
|
||||
library volume_listener
|
||||
uuid 0ace5c08-0590-11e5-ae9e-0025b32654a0
|
||||
}
|
||||
notification_helper {
|
||||
library volume_listener
|
||||
uuid 0b776dde-0590-11e5-81ba-0025b32654a0
|
||||
}
|
||||
audiosphere {
|
||||
library audiosphere
|
||||
uuid 184e62ab-2d19-4364-9d1b-c0a40733866c
|
||||
}
|
||||
shoebox {
|
||||
library shoebox
|
||||
uuid 1eab784c-1a36-4b2a-b7fc-e34c44cab89e
|
||||
}
|
||||
}
|
||||
|
||||
# additional effect from vendor
|
||||
# UUID generated using version 1
|
||||
|
||||
output_session_processing {
|
||||
music {
|
||||
music_helper {
|
||||
}
|
||||
}
|
||||
ring {
|
||||
ring_helper {
|
||||
}
|
||||
}
|
||||
alarm {
|
||||
alarm_helper {
|
||||
}
|
||||
}
|
||||
# stream type voice_call is used for VoIP call
|
||||
voice_call {
|
||||
voice_helper {
|
||||
}
|
||||
}
|
||||
notification {
|
||||
notification_helper {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Added aec, ns effects for voice_communication, which are supported by the board
|
||||
|
||||
pre_processing {
|
||||
voice_communication {
|
||||
aec {
|
||||
}
|
||||
ns {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Default pre-processing effects. Add to audio_effect.conf "effects" section if
|
||||
# audio HAL implements support for them.
|
||||
#
|
||||
# agc {
|
||||
# library pre_processing
|
||||
# uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b
|
||||
# }
|
||||
# aec {
|
||||
# library pre_processing
|
||||
# uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b
|
||||
# }
|
||||
# ns {
|
||||
# library pre_processing
|
||||
# uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b
|
||||
# }
|
||||
|
||||
# Audio preprocessor configurations.
|
||||
# The pre processor configuration consists in a list of elements each describing
|
||||
# pre processor settings for a given input source. Valid input source names are:
|
||||
# "mic", "camcorder", "voice_recognition", "voice_communication"
|
||||
# Each input source element contains a list of effects elements. The name of the effect
|
||||
# element must be the name of one of the effects in the "effects" list of the file.
|
||||
# Each effect element may optionally contain a list of parameters and their
|
||||
# default value to apply when the pre processor effect is created.
|
||||
# A parameter is defined by a "param" element and a "value" element. Each of these elements
|
||||
# consists in one or more elements specifying a type followed by a value.
|
||||
# The types defined are: "int", "short", "float", "bool" and "string"
|
||||
# When both "param" and "value" are a single int, a simple form is allowed where just
|
||||
# the param and value pair is present in the parameter description
|
||||
# pre_processing {
|
||||
# <input source name> {
|
||||
# <fx name> {
|
||||
# <param 1 name> {
|
||||
# param {
|
||||
# int|short|float|bool|string <value>
|
||||
# [ int|short|float|bool|string <value> ]
|
||||
# ...
|
||||
# }
|
||||
# value {
|
||||
# int|short|float|bool|string <value>
|
||||
# [ int|short|float|bool|string <value> ]
|
||||
# ...
|
||||
# }
|
||||
# }
|
||||
# <param 2 name > {<param> <value>}
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
|
||||
#
|
||||
# TODO: add default audio pre processor configurations after debug and tuning phase
|
||||
#
|
||||
@@ -45,16 +45,6 @@
|
||||
<library name="volume_listener" path="libvolumelistener.so"/>
|
||||
<library name="audiosphere" path="libasphere.so"/>
|
||||
<library name="shoebox" path="libshoebox.so"/>
|
||||
<library name="misoundfx" path="libmisoundfx.so"/>
|
||||
<!--DOLBY DAP-->
|
||||
<library name="dap" path="libswdap.so"/>
|
||||
<!--DOLBY END-->
|
||||
<!--DOLBY GAME-->
|
||||
<library name="gamedap" path="libswgamedap.so"/>
|
||||
<!--DOLBY END-->
|
||||
<!--DOLBY VQE-->
|
||||
<library name="vqe" path="libswvqe.so"/>
|
||||
<!--DOLBY END-->
|
||||
</libraries>
|
||||
<effects>
|
||||
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
|
||||
@@ -104,27 +94,23 @@
|
||||
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
|
||||
<effect name="shoebox" library="shoebox" uuid="1eab784c-1a36-4b2a-b7fc-e34c44cab89e"/>
|
||||
<effect name="misoundfx" library="misoundfx" uuid="5b8e36a5-144a-4c38-b1d7-0002a5d5c51b"/>
|
||||
<!--DOLBY DAP-->
|
||||
<effect name="dap" library="dap" uuid="9d4921da-8225-4f29-aefa-39537a04bcaa"/>
|
||||
<!--DOLBY END-->
|
||||
<!--DOLBY GAME-->
|
||||
<effect name="gamedap" library="gamedap" uuid="3783c334-d3a0-4d13-874f-0032e5fb80e2"/>
|
||||
<!--DOLBY END-->
|
||||
<!--DOLBY VQE-->
|
||||
<effect name="vqe" library="vqe" uuid="64a0f614-7fa4-48b8-b081-d59dc954616f"/>
|
||||
<!--DOLBY END-->
|
||||
<effect name="spatializer" library="spatializer" uuid="cc4677de-ff72-11eb-9a03-0242ac130003"/>
|
||||
</effects>
|
||||
<postprocess>
|
||||
<stream type="music">
|
||||
<apply effect="music_helper"/>
|
||||
</stream>
|
||||
<stream type="ring">
|
||||
<apply effect="ring_helper"/>
|
||||
</stream>
|
||||
<stream type="alarm">
|
||||
<apply effect="alarm_helper"/>
|
||||
</stream>
|
||||
<stream type="voice_call">
|
||||
<apply effect="voice_helper"/>
|
||||
</stream>
|
||||
<stream type="notification">
|
||||
<apply effect="notification_helper"/>
|
||||
</stream>
|
||||
</postprocess>
|
||||
<preprocess>
|
||||
|
||||
@@ -62,7 +62,7 @@ outputs {
|
||||
}
|
||||
compress_passthrough {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING|AUDIO_OUTPUT_FLAG_COMPRESS_PASSTHROUGH
|
||||
formats AUDIO_FORMAT_AC3|AUDIO_FORMAT_E_AC3|AUDIO_FORMAT_E_AC3_JOC|AUDIO_FORMAT_DTS|AUDIO_FORMAT_DTS_HD|AUDIO_FORMAT_DSD
|
||||
formats AUDIO_FORMAT_DTS|AUDIO_FORMAT_DTS_HD|AUDIO_FORMAT_DSD
|
||||
sampling_rates 32000|44100|48000|88200|96000|176400|192000|352800
|
||||
bit_width 16
|
||||
app_type 69941
|
||||
|
||||
@@ -61,12 +61,7 @@ limitations under the License.
|
||||
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="raw" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPort>
|
||||
|
||||
<mixPort name="deep_buffer" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
|
||||
@@ -300,55 +295,55 @@ limitations under the License.
|
||||
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
|
||||
</devicePort>
|
||||
|
||||
</devicePorts>
|
||||
<!-- route declaration, i.e. list all available sources for a given sink -->
|
||||
<routes>
|
||||
<route type="mix" sink="Earpiece"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="Wired Headset"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="Wired Headphones"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="Line"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="HDMI"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,compress_passthrough,voip_rx"/>
|
||||
<route type="mix" sink="Proxy"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload"/>
|
||||
<route type="mix" sink="FM"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
|
||||
<route type="mix" sink="Telephony Tx"
|
||||
sources="voice_tx,incall_music_uplink"/>
|
||||
<route type="mix" sink="voice_rx"
|
||||
sources="Telephony Rx"/>
|
||||
<route type="mix" sink="primary input"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,Telephony Rx"/>
|
||||
<route type="mix" sink="usb_surround_sound"
|
||||
sources="USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="fast input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="quad mic"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="voip_tx"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic,Telephony Rx"/>
|
||||
<route type="mix" sink="record_24"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
|
||||
</routes>
|
||||
</devicePorts>
|
||||
<!-- route declaration, i.e. list all available sources for a given sink -->
|
||||
<routes>
|
||||
<route type="mix" sink="Earpiece"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="Wired Headset"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="Wired Headphones"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="Line"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
|
||||
<route type="mix" sink="HDMI"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,compress_passthrough,voip_rx"/>
|
||||
<route type="mix" sink="Proxy"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload"/>
|
||||
<route type="mix" sink="FM"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
|
||||
<route type="mix" sink="Telephony Tx"
|
||||
sources="voice_tx,incall_music_uplink"/>
|
||||
<route type="mix" sink="voice_rx"
|
||||
sources="Telephony Rx"/>
|
||||
<route type="mix" sink="primary input"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,Telephony Rx"/>
|
||||
<route type="mix" sink="usb_surround_sound"
|
||||
sources="USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="fast input"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="quad mic"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
|
||||
<route type="mix" sink="voip_tx"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic,Telephony Rx"/>
|
||||
<route type="mix" sink="record_24"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,USB Device In,USB Headset In"/>
|
||||
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
|
||||
</routes>
|
||||
|
||||
</module>
|
||||
|
||||
|
||||
11
bootctrl/Android.bp
Normal file
@@ -0,0 +1,11 @@
|
||||
//
|
||||
// Copyright (C) 2022 The Android Open Source Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
cc_library_shared {
|
||||
name: "android.hardware.boot@1.2-impl-qti",
|
||||
stem: "android.hardware.boot@1.0-impl-1.2-qti",
|
||||
defaults: ["android.hardware.boot@1.2-impl-qti_defaults"],
|
||||
static_libs: ["libgptutils.veux"],
|
||||
}
|
||||
@@ -3,6 +3,14 @@
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
-->
|
||||
<compatibility-matrix version="1.0" type="device">
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.frameworks.schedulerservice</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ISchedulingPolicyService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.frameworks.sensorservice</name>
|
||||
<version>1.0</version>
|
||||
@@ -1,20 +0,0 @@
|
||||
MultiCameraEnable=TRUE
|
||||
enable3ADebugData=FALSE
|
||||
enableMCTF=TRUE
|
||||
vsquality=6@30|5@30
|
||||
iseispreviewSupported=TRUE
|
||||
is3rdLightWeightSupported=TRUE
|
||||
vsquality=6@30|5@30
|
||||
iseispreviewSupported=TRUE
|
||||
isPhyicalMultiCameraSupported=TRUE
|
||||
overrideFlashTorchCurrent=375
|
||||
isColorEnhancementSupported=1
|
||||
numPCRsBeforeStreamOn=1
|
||||
enableBayerSAT=FALSE
|
||||
multiCameraSWFrameSyncInterval=0
|
||||
multiCameraHWSyncMask=0x1
|
||||
multiCameraFPSMatchMask=0x1
|
||||
multiCameraFrameSyncMask=0x1
|
||||
multiCameraExposureTimeMatch=FALSE
|
||||
enableTOFInterface=FALSE
|
||||
disableFocusIndication=1
|
||||
@@ -1,19 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2019 The Android Open Source Project
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<config>
|
||||
<component-override package="com.android.bluetooth" >
|
||||
<component class=".avrcpcontroller.AvrcpControllerService" enabled="true" />
|
||||
<component class=".hid.HidDeviceService" enabled="true" />
|
||||
<component class=".sap.SapService" enabled="true" />
|
||||
</component-override>
|
||||
</config>
|
||||
@@ -48,12 +48,6 @@
|
||||
<Limit name="measured-frame-rate-1280x720" range="3-6" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="2-3" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.av1-dav1d.decoder" type="video/av01" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="121-286" />
|
||||
<Limit name="measured-frame-rate-720x480" range="60-120" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="60-90" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="40-60" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="256-349" />
|
||||
</MediaCodec>
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
###########################################################################
|
||||
# Copyright (c) 2020 Qualcomm Technologies, Inc.
|
||||
# All Rights Reserved.
|
||||
# Confidential and Proprietary - Qualcomm Technologies, Inc.
|
||||
#
|
||||
# Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the following
|
||||
# disclaimer in the documentation and/or other materials provided
|
||||
# with the distribution.
|
||||
# * Neither the name of The Linux Foundation nor the names of its
|
||||
# contributors may be used to endorse or promote products derived
|
||||
# from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
|
||||
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
###########################################################################
|
||||
|
||||
PRIO=1,1,0,0,0,0,0,0
|
||||
#arch_timer, arm-pmu, arch_mem_timer
|
||||
IGNORED_IRQ=19,21,38,209,218
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
<permissions>
|
||||
<privapp-permissions package="com.google.android.euicc">
|
||||
<permission name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
<permission name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
|
||||
<permission name="android.permission.FOREGROUND_SERVICE"/>
|
||||
<permission name="android.permission.MODIFY_PHONE_STATE"/>
|
||||
<permission name="android.permission.INTERNET"/>
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
<permission name="android.permission.REBOOT"/>
|
||||
<permission name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<permission name="android.permission.VIBRATE"/>
|
||||
<permission name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"/>
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||
<permission name="com.android.permission.INSTALL_EXISTING_PACKAGES" />
|
||||
<permission name="com.android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"/>
|
||||
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
|
||||
<permission name="com.google.android.setupwizard.SETUP_COMPAT_SERVICE"/>
|
||||
<permission name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"/>
|
||||
</privapp-permissions>
|
||||
</permissions>
|
||||
@@ -4,6 +4,3 @@ ro.vendor.qti.va_odm.support=1
|
||||
# SKU properties
|
||||
ro.product.property_source_order=odm,product,vendor,system_ext,system
|
||||
import /odm/etc/build_${ro.boot.board_id}.prop
|
||||
|
||||
# Display
|
||||
vendor.display.vds_allow_hwc=false
|
||||
|
||||
@@ -16,32 +16,3 @@ persist.log.tag.OpenGLRenderer=S
|
||||
|
||||
# Declare use of spatial audio
|
||||
ro.audio.spatializer_enabled=true
|
||||
|
||||
# LMKD
|
||||
ro.lmk.kill_heaviest_task=true
|
||||
ro.lmk.thrashing_limit=50
|
||||
ro.lmk.thrashing_limit_decay=25
|
||||
ro.lmk.psi_complete_stall_ms=80
|
||||
ro.lmk.psi_partial_stall_ms=50
|
||||
|
||||
# Disable RescueParty due to high risk of data loss
|
||||
persist.sys.disable_rescue=true
|
||||
|
||||
# Battery Saving
|
||||
persist.radio.add_power_save=1
|
||||
pm.sleep_mode=1
|
||||
ro.ril.disable.power.collapse=0
|
||||
ro.ril.fast.dormancy.rule=1
|
||||
ro.ril.fast.dormancy.timeout=3
|
||||
ro.mot.eri.losalert.delay=100
|
||||
ro.vold.umsdirtyratio=20
|
||||
power.saving.mode=1
|
||||
|
||||
# Skia tracing
|
||||
debug.hwui.skia_tracing_enabled=false
|
||||
debug.hwui.skia_use_perfetto_track_events=false
|
||||
|
||||
# Blur
|
||||
ro.surface_flinger.supports_background_blur=1
|
||||
ro.sf.blurs_are_expensive=1
|
||||
persist.sysui.disableBlur=false
|
||||
|
||||
@@ -11,29 +11,3 @@ persist.log.tag.ACDB-LOADER=S
|
||||
persist.radio.is_vonr_enabled_0=true
|
||||
persist.radio.is_vonr_enabled_1=true
|
||||
persist.vendor.vonr_setting_support=1
|
||||
|
||||
# Ram Management
|
||||
ro.config.fha_enable=true
|
||||
ro.sys.fw.bg_apps_limit=32
|
||||
ro.config.dha_cached_max=16
|
||||
ro.config.dha_empty_max=42
|
||||
ro.config.dha_empty_init=32
|
||||
ro.config.dha_lmk_scale=0.545
|
||||
ro.config.dha_th_rate=2.3
|
||||
ro.config.sdha_apps_bg_max=64
|
||||
ro.config.sdha_apps_bg_min=8
|
||||
|
||||
# IMS Debugging
|
||||
persist.vendor.ims.disableADBLogs=1
|
||||
persist.vendor.ims.disableDebugLogs=1
|
||||
persist.vendor.ims.disableIMSLogs=1
|
||||
persist.vendor.ims.disableQXDMLogs=1
|
||||
|
||||
# Audio
|
||||
ro.audio.usb.period_us=20375
|
||||
af.resampler.quality=7
|
||||
ro.audio.resampler.psd.stopband=132
|
||||
ro.audio.resampler.psd.halflength=960
|
||||
ro.audio.resampler.psd.cutoff_percent=98
|
||||
ro.audio.resampler.psd.tbwcheat=0
|
||||
persist.bluetooth.sbc_hd_higher_bitrate=1
|
||||
|
||||
@@ -24,17 +24,3 @@ persist.vendor.data.mode=concurrent
|
||||
|
||||
# WFD
|
||||
persist.debug.wfd.enable=1
|
||||
|
||||
# Legit Touch Hax
|
||||
touch.size.scale=1
|
||||
touch.size.bias=0
|
||||
touch.size.isSummed=0
|
||||
touch.pressure.scale=0.001
|
||||
touch.distance.calibration=none
|
||||
touch.distance.scale=0
|
||||
touch.coverage.calibration=box
|
||||
touch.gestureMode=spots
|
||||
MultitouchSettleInterval=1ms
|
||||
MultitouchMinDistance=1px
|
||||
TapInterval=1ms
|
||||
TapSlop=1px
|
||||
|
||||
@@ -20,7 +20,7 @@ ro.audio.monitorRotation=true
|
||||
ro.config.vc_call_vol_steps=11
|
||||
ro.vendor.audio.sdk.fluencetype=fluence
|
||||
ro.vendor.audio.sdk.ssr=false
|
||||
vendor.audio.adm.buffering.ms=12
|
||||
vendor.audio.adm.buffering.ms=2
|
||||
vendor.audio.chk.cal.spk=2
|
||||
vendor.audio.chk.cal.us=2
|
||||
vendor.audio.dolby.ds2.enabled=false
|
||||
@@ -47,7 +47,7 @@ vendor.audio.feature.ext_hw_plugin.enable=false
|
||||
vendor.audio.feature.fluence.enable=true
|
||||
vendor.audio.feature.fm.enable=true
|
||||
vendor.audio.feature.hdmi_edid.enable=true
|
||||
vendor.audio.feature.hdmi_passthrough.enable=false
|
||||
vendor.audio.feature.hdmi_passthrough.enable=true
|
||||
vendor.audio.feature.hfp.enable=true
|
||||
vendor.audio.feature.hifi_audio.enable=false
|
||||
vendor.audio.feature.hwdep_cal.enable=false
|
||||
@@ -61,7 +61,7 @@ vendor.audio.feature.record_play_concurency.enable=false
|
||||
vendor.audio.feature.snd_mon.enable=true
|
||||
vendor.audio.feature.spkr_prot.enable=true
|
||||
vendor.audio.feature.src_trkn.enable=true
|
||||
vendor.audio.feature.ssrec.enable=false
|
||||
vendor.audio.feature.ssrec.enable=true
|
||||
vendor.audio.feature.usb_offload_burst_mode.enable=true
|
||||
vendor.audio.feature.usb_offload.enable=true
|
||||
vendor.audio.feature.usb_offload_sidetone_volume.enable=false
|
||||
@@ -73,7 +73,7 @@ vendor.audio.hal.output.suspend.supported=true
|
||||
vendor.audio_hal.period_multiplier=3
|
||||
vendor.audio_hal.period_size=192
|
||||
vendor.audio.hw.aac.encoder=true
|
||||
vendor.audio.offload.buffer.size.kb=256
|
||||
vendor.audio.offload.buffer.size.kb=32
|
||||
vendor.audio.offload.gapless.enabled=true
|
||||
vendor.audio.offload.multiaac.enable=true
|
||||
vendor.audio.offload.multiple.enabled=false
|
||||
@@ -86,6 +86,9 @@ vendor.audio.use.sw.mpegh.decoder=true
|
||||
vendor.audio.volume.headset.gain.depcal=true
|
||||
vendor.voice.path.for.pcm.voip=true
|
||||
|
||||
# Audio hardware
|
||||
ro.hardware.audio.primary=veux
|
||||
|
||||
# Bluetooth
|
||||
bluetooth.profile.a2dp.source.enabled=true
|
||||
bluetooth.profile.asha.central.enabled=false
|
||||
@@ -119,28 +122,19 @@ persist.vendor.btstack.enable.twsplussho=true
|
||||
# Camera
|
||||
camera.disable_zsl_mode=true
|
||||
vendor.camera.aux.packagelist=org.codeaurora.snapcam,com.android.camera
|
||||
persist.vendor.camera.logInfoMask=false
|
||||
persist.vendor.camera.perflock.enable=0
|
||||
|
||||
# Dalvik
|
||||
dalvik.vm.dex2oat64.enabled=true
|
||||
dalvik.vm.dex2oat-cpu-set=4,5,6,7
|
||||
dalvik.vm.dex2oat-threads=4
|
||||
dalvik.vm.image-dex2oat-cpu-set=4,5,6,7
|
||||
dalvik.vm.image-dex2oat-threads=4
|
||||
|
||||
# Display
|
||||
debug.sf.frame_rate_multiple_threshold=120
|
||||
ro.surface_flinger.enable_frame_rate_override=false
|
||||
ro.surface_flinger.force_hwc_copy_for_virtual_displays=true
|
||||
ro.surface_flinger.game_default_frame_rate_override=120
|
||||
ro.surface_flinger.has_wide_color_display=false
|
||||
ro.surface_flinger.max_frame_buffer_acquired_buffers=3
|
||||
ro.surface_flinger.max_virtual_display_dimension=4096
|
||||
ro.surface_flinger.protected_contents=true
|
||||
ro.surface_flinger.use_color_management=true
|
||||
ro.surface_flinger.set_display_power_timer_ms=800
|
||||
ro.surface_flinger.set_idle_timer_ms=3500
|
||||
ro.surface_flinger.set_touch_timer_ms=4000
|
||||
ro.surface_flinger.wcg_composition_dataspace=143261696
|
||||
ro.vendor.display.sensortype=2
|
||||
ro.vendor.display.svi=1
|
||||
@@ -167,7 +161,6 @@ vendor.display.svi.config=1
|
||||
vendor.display.svi.config_path=/vendor/etc/SVIConfig.xml
|
||||
vendor.display.target.version=3
|
||||
vendor.display.use_smooth_motion=1
|
||||
vendor.display.disable_partial_split=1
|
||||
|
||||
# DPM
|
||||
persist.vendor.dpmhalservice.enable=1
|
||||
@@ -181,7 +174,9 @@ ro.frp.pst=/dev/block/bootdevice/by-name/frp
|
||||
# Graphics
|
||||
debug.sf.auto_latch_unsignaled=0
|
||||
debug.sf.disable_backpressure=1
|
||||
debug.sf.disable_client_composition_cache=1
|
||||
debug.sf.enable_advanced_sf_phase_offset=1
|
||||
debug.sf.enable_gl_backpressure=0
|
||||
debug.sf.enable_transaction_tracing=false
|
||||
debug.sf.high_fps_early_gl_phase_offset_ns=-4000000
|
||||
debug.sf.high_fps_early_phase_offset_ns=-4000000
|
||||
@@ -200,22 +195,11 @@ vendor.gralloc.secure_preview_buffer_format=420_sp
|
||||
vendor.gralloc.secure_preview_only=1
|
||||
|
||||
# HWUI
|
||||
ro.hwui.render_ahead=5
|
||||
debug.hwui.use_hint_manager=true
|
||||
debug.hwui.target_cpu_time_percent=30
|
||||
ro.hwui.render_ahead=2
|
||||
|
||||
# Incremental FS
|
||||
ro.incremental.enable=true
|
||||
|
||||
# Logcat spam
|
||||
persist.log.tag.BackgroundInstallControlService=S
|
||||
persist.log.tag.HWUI=S
|
||||
persist.log.tag.ConnectivityService=S
|
||||
persist.log.tag.vendor.qti.bluetooth@1.0-ibs_handler=S
|
||||
persist.log.tag.vendor.qti.bluetooth@1.0-wake_lock=S
|
||||
persist.log.tag.AppOps=S
|
||||
persist.log.tag.FrameTracker=S
|
||||
|
||||
# Media
|
||||
debug.stagefright.c2inputsurface=-1
|
||||
vendor.media.target_variant=_blair
|
||||
@@ -223,7 +207,6 @@ vendor.netflix.bsp_rev=Q4350-32962-1
|
||||
|
||||
# Perf
|
||||
ro.vendor.extension_library=libqti-perfd-client.so
|
||||
vendor.perf.framepacing.enable=1
|
||||
|
||||
# Radio
|
||||
persist.dbg.ims_volte_enable=1
|
||||
@@ -244,7 +227,6 @@ persist.vendor.radio.rat_on=combine
|
||||
persist.vendor.radio.sib16_support=1
|
||||
ro.telephony.default_network=33,33
|
||||
persist.cust.tel.eons=1
|
||||
ro.telephony.block_binder_thread_on_incoming_calls=false
|
||||
|
||||
# Sensors
|
||||
persist.vendor.sensors.enable.bypass_worker=true
|
||||
@@ -260,8 +242,6 @@ ro.soc.manufacturer=QTI
|
||||
ro.soc.model=SM6375
|
||||
|
||||
# USB
|
||||
ro.usb.uvc.disable_video_encode_flag=true
|
||||
ro.usb.uvc.enabled=true
|
||||
sys.usb.mtp.batchcancel=1
|
||||
vendor.usb.controller=4e00000.dwc3
|
||||
vendor.usb.diag.func.name=ffs
|
||||
@@ -271,8 +251,7 @@ vendor.usb.rmnet.func.name=gsi
|
||||
vendor.usb.rmnet.inst.name=rmnet
|
||||
vendor.usb.rndis.func.name=gsi
|
||||
vendor.usb.use_ffs_mtp=1
|
||||
vendor.usb.use_gadget_hal=1
|
||||
vendor.usb.uvc.payload_transfer_size=1024
|
||||
vendor.usb.use_gadget_hal=0
|
||||
|
||||
# WiFi
|
||||
wifi.aware.interface=wifi-aware0
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
libadsprpc.so
|
||||
libcdsprpc.so
|
||||
libsdsprpc.so
|
||||
libfastcvopt.so
|
||||
liblistensoundmodel2.so
|
||||
libOpenCL.so
|
||||
|
||||
libmialgoengine.so 64
|
||||
@@ -1,33 +0,0 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!--
|
||||
Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following
|
||||
disclaimer in the documentation and/or other materials provided
|
||||
with the distribution.
|
||||
* Neither the name of The Linux Foundation nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
|
||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
-->
|
||||
<StcLibraries>
|
||||
<Library>
|
||||
<Name>libsnapdragoncolor-qdcm.so</Name>
|
||||
<ProcessingOrder>1</ProcessingOrder>
|
||||
</Library>
|
||||
</StcLibraries>
|
||||
@@ -1,578 +0,0 @@
|
||||
{
|
||||
"Attributes": [
|
||||
{
|
||||
"Name": "LowCapacityCPUs",
|
||||
"Controller": "cpuset",
|
||||
"File": "background/cpus"
|
||||
},
|
||||
{
|
||||
"Name": "HighCapacityCPUs",
|
||||
"Controller": "cpuset",
|
||||
"File": "foreground/cpus"
|
||||
},
|
||||
{
|
||||
"Name": "MaxCapacityCPUs",
|
||||
"Controller": "cpuset",
|
||||
"File": "top-app/cpus"
|
||||
},
|
||||
{
|
||||
"Name": "AudioAppCapacityCPUs",
|
||||
"Controller": "cpuset",
|
||||
"File": "audio-app/cpus"
|
||||
},
|
||||
|
||||
{
|
||||
"Name": "MemLimit",
|
||||
"Controller": "memory",
|
||||
"File": "memory.limit_in_bytes"
|
||||
},
|
||||
{
|
||||
"Name": "MemSoftLimit",
|
||||
"Controller": "memory",
|
||||
"File": "memory.soft_limit_in_bytes"
|
||||
},
|
||||
{
|
||||
"Name": "MemSwappiness",
|
||||
"Controller": "memory",
|
||||
"File": "memory.swappiness"
|
||||
},
|
||||
{
|
||||
"Name": "UClampMin",
|
||||
"Controller": "cpu",
|
||||
"File": "cpu.uclamp.min"
|
||||
},
|
||||
{
|
||||
"Name": "UClampMax",
|
||||
"Controller": "cpu",
|
||||
"File": "cpu.uclamp.max"
|
||||
}
|
||||
],
|
||||
|
||||
"Profiles": [
|
||||
{
|
||||
"Name": "HighEnergySaving",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpu",
|
||||
"Path": "background"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "NormalPerformance",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpu",
|
||||
"Path": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "HighPerformance",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpu",
|
||||
"Path": "foreground"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "MaxPerformance",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpu",
|
||||
"Path": "top-app"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "RealtimePerformance",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpu",
|
||||
"Path": "rt"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "AudioAppPerformance",
|
||||
"Actions" : [
|
||||
{
|
||||
"Name" : "JoinCgroup",
|
||||
"Params" :
|
||||
{
|
||||
"Controller": "cpu",
|
||||
"Path": "audio-app"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "CameraServicePerformance",
|
||||
"Actions" : [
|
||||
{
|
||||
"Name" : "JoinCgroup",
|
||||
"Params" :
|
||||
{
|
||||
"Controller": "cpu",
|
||||
"Path": "camera-daemon"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "VrKernelCapacity",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpuset",
|
||||
"Path": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "VrServiceCapacityLow",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpuset",
|
||||
"Path": "system/background"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "VrServiceCapacityNormal",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpuset",
|
||||
"Path": "system"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "VrServiceCapacityHigh",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpuset",
|
||||
"Path": "system/performance"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "VrProcessCapacityLow",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpuset",
|
||||
"Path": "application/background"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "VrProcessCapacityNormal",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpuset",
|
||||
"Path": "application"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "VrProcessCapacityHigh",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpuset",
|
||||
"Path": "application/performance"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"Name": "ProcessCapacityLow",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpuset",
|
||||
"Path": "background"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "ProcessCapacityNormal",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpuset",
|
||||
"Path": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "ProcessCapacityHigh",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpuset",
|
||||
"Path": "foreground"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "ProcessCapacityMax",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpuset",
|
||||
"Path": "top-app"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"Name": "ServiceCapacityLow",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpuset",
|
||||
"Path": "system-background"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "ServiceCapacityRestricted",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpuset",
|
||||
"Path": "restricted"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"Name": "CameraServiceCapacity",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "cpuset",
|
||||
"Path": "camera-daemon"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "AudioAppCapacity",
|
||||
"Actions" : [
|
||||
{
|
||||
"Name" : "JoinCgroup",
|
||||
"Params" :
|
||||
{
|
||||
"Controller": "cpuset",
|
||||
"Path": "audio-app"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"Name": "BlkIOForeground",
|
||||
"Actions" : [
|
||||
{
|
||||
"Name" : "JoinCgroup",
|
||||
"Params" :
|
||||
{
|
||||
"Controller": "blkio",
|
||||
"Path": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "BlkIOBackground",
|
||||
"Actions" : [
|
||||
{
|
||||
"Name" : "JoinCgroup",
|
||||
"Params" :
|
||||
{
|
||||
"Controller": "blkio",
|
||||
"Path": "bg"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"Name": "LowIoPriority",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "blkio",
|
||||
"Path": "background"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "NormalIoPriority",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "blkio",
|
||||
"Path": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "HighIoPriority",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "blkio",
|
||||
"Path": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "MaxIoPriority",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "blkio",
|
||||
"Path": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"Name": "TimerSlackHigh",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "SetTimerSlack",
|
||||
"Params":
|
||||
{
|
||||
"Slack": "40000000"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "TimerSlackNormal",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "SetTimerSlack",
|
||||
"Params":
|
||||
{
|
||||
"Slack": "50000"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"Name": "PerfBoost",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "SetClamps",
|
||||
"Params":
|
||||
{
|
||||
"Boost": "50%",
|
||||
"Clamp": "0"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PerfClamp",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "SetClamps",
|
||||
"Params":
|
||||
{
|
||||
"Boost": "0",
|
||||
"Clamp": "30%"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"Name": "LowMemoryUsage",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "SetAttribute",
|
||||
"Params":
|
||||
{
|
||||
"Name": "MemSoftLimit",
|
||||
"Value": "16MB"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "SetAttribute",
|
||||
"Params":
|
||||
{
|
||||
"Name": "MemSwappiness",
|
||||
"Value": "150"
|
||||
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "HighMemoryUsage",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "SetAttribute",
|
||||
"Params":
|
||||
{
|
||||
"Name": "MemSoftLimit",
|
||||
"Value": "512MB"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "SetAttribute",
|
||||
"Params":
|
||||
{
|
||||
"Name": "MemSwappiness",
|
||||
"Value": "100"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "SystemMemoryProcess",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "JoinCgroup",
|
||||
"Params":
|
||||
{
|
||||
"Controller": "memory",
|
||||
"Path": "system"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"AggregateProfiles": [
|
||||
{
|
||||
"Name": "SCHED_SP_DEFAULT",
|
||||
"Profiles": [ "TimerSlackNormal" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_SP_BACKGROUND",
|
||||
"Profiles": [ "HighEnergySaving", "LowIoPriority", "TimerSlackHigh" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_SP_FOREGROUND",
|
||||
"Profiles": [ "HighPerformance", "HighIoPriority", "TimerSlackNormal" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_SP_TOP_APP",
|
||||
"Profiles": [ "MaxPerformance", "MaxIoPriority", "TimerSlackNormal" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_SP_RT_APP",
|
||||
"Profiles": [ "RealtimePerformance", "MaxIoPriority", "TimerSlackNormal" ]
|
||||
},
|
||||
{
|
||||
"Name": "CPUSET_SP_DEFAULT",
|
||||
"Profiles": [ "TimerSlackNormal" ]
|
||||
},
|
||||
{
|
||||
"Name": "CPUSET_SP_BACKGROUND",
|
||||
"Profiles": [ "HighEnergySaving", "ProcessCapacityLow", "LowIoPriority", "TimerSlackHigh" ]
|
||||
},
|
||||
{
|
||||
"Name": "CPUSET_SP_FOREGROUND",
|
||||
"Profiles": [ "HighPerformance", "ProcessCapacityHigh", "HighIoPriority", "TimerSlackNormal" ]
|
||||
},
|
||||
{
|
||||
"Name": "CPUSET_SP_TOP_APP",
|
||||
"Profiles": [ "MaxPerformance", "ProcessCapacityMax", "MaxIoPriority", "TimerSlackNormal" ]
|
||||
},
|
||||
{
|
||||
"Name": "CPUSET_SP_SYSTEM",
|
||||
"Profiles": [ "ServiceCapacityLow", "TimerSlackNormal" ]
|
||||
},
|
||||
{
|
||||
"Name": "CPUSET_SP_RESTRICTED",
|
||||
"Profiles": [ "ServiceCapacityRestricted", "TimerSlackNormal" ]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,212 +0,0 @@
|
||||
<!--
|
||||
Copyright (C) 2023-2024 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<compatibility-matrix version="2.0" type="framework">
|
||||
<hal format="aidl" optional="true">
|
||||
<name>vendor.lineage.health</name>
|
||||
<version>2</version>
|
||||
<interface>
|
||||
<name>IChargingControl</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>vendor.lineage.health</name>
|
||||
<version>2</version>
|
||||
<interface>
|
||||
<name>IFastCharge</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.goodix.hardware.biometrics.fingerprint</name>
|
||||
<version>2.0-1</version>
|
||||
<interface>
|
||||
<name>IGoodixFingerprintDaemon</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IGoodixFingerprintDaemonExt</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.qti.hardware.radio.qcriNvOpt</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IqcriNvOpt</name>
|
||||
<instance>qcrinvopt0</instance>
|
||||
<instance>qcrinvopt1</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.silead.hardware.fingerprintext</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ISileadFingerprint</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.xiaomi.hardware.mlipay</name>
|
||||
<version>1.0-1</version>
|
||||
<interface>
|
||||
<name>IMlipayService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.boot</name>
|
||||
<version>1</version>
|
||||
<interface>
|
||||
<name>IBootControl</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.drm</name>
|
||||
<version>1</version>
|
||||
<interface>
|
||||
<name>IDrmFactory</name>
|
||||
<instance>clearkey</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.ir</name>
|
||||
<version>1</version>
|
||||
<interface>
|
||||
<name>IConsumerIr</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.biometrics.fingerprint</name>
|
||||
<version>2.3</version>
|
||||
<interface>
|
||||
<name>IBiometricsFingerprint</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.bluetooth.audio</name>
|
||||
<version>4</version>
|
||||
<interface>
|
||||
<name>IBluetoothAudioProviderFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.boot</name>
|
||||
<version>1.2</version>
|
||||
<interface>
|
||||
<name>IBootControl</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.health</name>
|
||||
<version>3</version>
|
||||
<interface>
|
||||
<name>IHealth</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.light</name>
|
||||
<version>2</version>
|
||||
<interface>
|
||||
<name>ILights</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.sensors</name>
|
||||
<version>2</version>
|
||||
<interface>
|
||||
<name>ISensors</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.power</name>
|
||||
<version>5</version>
|
||||
<interface>
|
||||
<name>IPower</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.memtrack</name>
|
||||
<version>1</version>
|
||||
<interface>
|
||||
<name>IMemtrack</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.usb</name>
|
||||
<version>1</version>
|
||||
<interface>
|
||||
<name>IUsb</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.thermal</name>
|
||||
<version>1</version>
|
||||
<interface>
|
||||
<name>IThermal</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.vibrator</name>
|
||||
<version>2</version>
|
||||
<interface>
|
||||
<name>IVibrator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.wifi.hostapd</name>
|
||||
<version>2</version>
|
||||
<interface>
|
||||
<name>IHostapd</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.wifi.supplicant</name>
|
||||
<version>3</version>
|
||||
<interface>
|
||||
<name>ISupplicant</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.dolby.hardware.dms</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IDms</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.wifi</name>
|
||||
<version>1-2</version>
|
||||
<interface>
|
||||
<name>IWifi</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>vendor.google.google_battery</name>
|
||||
<version>1</version>
|
||||
<interface>
|
||||
<name>IGoogleBattery</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</compatibility-matrix>
|
||||
125
device.mk
@@ -36,12 +36,6 @@ PRODUCT_PACKAGES += \
|
||||
PRODUCT_AAPT_CONFIG := normal
|
||||
PRODUCT_AAPT_PREF_CONFIG := xxhdpi
|
||||
|
||||
# ART
|
||||
ART_BUILD_TARGET_NDEBUG := true
|
||||
ART_BUILD_TARGET_DEBUG := false
|
||||
ART_BUILD_HOST_NDEBUG := true
|
||||
ART_BUILD_HOST_DEBUG := false
|
||||
|
||||
# Audio
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@6.0-impl \
|
||||
@@ -80,7 +74,6 @@ PRODUCT_COPY_FILES += \
|
||||
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/audio,$(TARGET_COPY_OUT_VENDOR)/etc/audio/$(AUDIO_SKU_DIR))
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/audio/dax-default.xml:$(TARGET_COPY_OUT_VENDOR)/etc/dolby/dax-default.xml \
|
||||
$(AUDIO_HAL_DIR)/configs/holi/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
@@ -97,8 +90,9 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
# Boot control
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.boot-service.qti \
|
||||
android.hardware.boot-service.qti.recovery
|
||||
android.hardware.boot@1.2-impl-qti \
|
||||
android.hardware.boot@1.2-impl-qti.recovery \
|
||||
android.hardware.boot@1.2-service
|
||||
|
||||
# Camera
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -106,15 +100,9 @@ PRODUCT_PACKAGES += \
|
||||
android.hardware.camera.provider@2.4-service_64
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.qti.hardware.camera.device@1.0.vendor \
|
||||
vendor.qti.hardware.camera.postproc@1.0.vendor
|
||||
|
||||
# Camera Health
|
||||
$(call soong_config_set,camera,override_format_from_reserved,true)
|
||||
|
||||
# Camx overrides
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/camxoverridesettings.txt:$(TARGET_COPY_OUT_VENDOR)/etc/camera/camxoverridesettings.txt
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libpiex_shim
|
||||
|
||||
@@ -122,23 +110,13 @@ PRODUCT_PACKAGES += \
|
||||
liblz4.vendor \
|
||||
libpng.vendor
|
||||
|
||||
# Configstore
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.qti.hardware.capabilityconfigstore@1.0 \
|
||||
vendor.qti.hardware.capabilityconfigstore@1.0.vendor
|
||||
|
||||
# DebugFS
|
||||
PRODUCT_SET_DEBUGFS_RESTRICTIONS := true
|
||||
|
||||
# Device-specific settings
|
||||
PRODUCT_PACKAGES += \
|
||||
XiaomiDolby \
|
||||
XiaomiParts
|
||||
|
||||
# Device as Webcam
|
||||
PRODUCT_PACKAGES += \
|
||||
DeviceAsWebcam
|
||||
|
||||
# Display
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.qti.hardware.display.composer-service
|
||||
@@ -163,17 +141,11 @@ PRODUCT_PACKAGES += \
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/display_id_4630947081618265473.xml:$(TARGET_COPY_OUT_VENDOR)/etc/displayconfig/display_id_4630947081618265473.xml
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/snapdragon_color_libs_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/snapdragon_color_libs_config.xml
|
||||
|
||||
# DRM
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.drm-service.clearkey
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.drm-service.clearkey \
|
||||
android.hardware.drm@1.3.vendor \
|
||||
libcrypto_shim \
|
||||
libcrypto_shim.vendor
|
||||
|
||||
|
||||
# Fastbootd
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -243,14 +215,11 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
# IR
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.ir-service.lineage
|
||||
|
||||
# IRQ
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/msm_irqbalance.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance.conf
|
||||
android.hardware.ir@1.0-impl \
|
||||
android.hardware.ir@1.0-service
|
||||
|
||||
# Kernel
|
||||
PRODUCT_ENABLE_UFFD_GC := true
|
||||
OVERRIDE_ENABLE_UFFD_GC := false
|
||||
|
||||
# Keymaster
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -258,21 +227,26 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
# Light
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.light-service.lineage
|
||||
|
||||
# Lineage health
|
||||
$(call soong_config_set,lineage_health,charging_control_supports_bypass,false)
|
||||
android.hardware.light-service.xiaomi
|
||||
|
||||
# Media
|
||||
PRODUCT_PACKAGES += \
|
||||
libOmxAacEnc \
|
||||
libOmxAmrEnc \
|
||||
libOmxCore \
|
||||
libOmxEvrcEnc \
|
||||
libOmxG711Enc \
|
||||
libOmxQcelp13Enc \
|
||||
libavservices_minijail \
|
||||
libavservices_minijail.vendor \
|
||||
libcodec2_hidl@1.0.vendor \
|
||||
libcodec2_vndk.vendor
|
||||
|
||||
libcodec2_vndk.vendor \
|
||||
libmm-omxcore \
|
||||
libstagefright_softomx.vendor \
|
||||
libstagefrighthw
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libstagefright_softomx_plugin.vendor \
|
||||
libstagefright_foundation-v33
|
||||
libstagefright_softomx_plugin.vendor
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/media/media_codecs_blair.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_blair.xml \
|
||||
@@ -330,10 +304,7 @@ PRODUCT_ENFORCE_RRO_TARGETS := *
|
||||
PRODUCT_PACKAGES += \
|
||||
CarrierConfigOverlayCOMMON \
|
||||
DialerOverlayCOMMON \
|
||||
TelephonyOverlayCOMMON \
|
||||
ApertureOverlay \
|
||||
ApertureQRScannerOverlay \
|
||||
ApertureIconOverlay
|
||||
TelephonyOverlayCOMMON
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
FrameworkOverlayVEUX \
|
||||
@@ -350,30 +321,20 @@ PRODUCT_PACKAGES += \
|
||||
SettingsProviderOverlay2201116PG \
|
||||
SettingsProviderOverlay2201116PI
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
EuiccOverlay2201116SR \
|
||||
SettingsOverlay2201116SR
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/overlay/config-odm.xml:$(TARGET_COPY_OUT_ODM)/overlay/config/config.xml \
|
||||
$(LOCAL_PATH)/overlay/config-vendor.xml:$(TARGET_COPY_OUT_VENDOR)/overlay/config/config.xml
|
||||
|
||||
# Component overrides
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml
|
||||
|
||||
# Partitions
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor_bt_firmware_mountpoint \
|
||||
vendor_dsp_mountpoint \
|
||||
vendor_firmware_mnt_mountpoint
|
||||
|
||||
PRODUCT_USE_DYNAMIC_PARTITIONS := true
|
||||
|
||||
# Perf
|
||||
PRODUCT_PACKAGES += \
|
||||
libqti-perfd-client
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
system/core/libprocessgroup/profiles/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
|
||||
|
||||
# Permissions
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
|
||||
@@ -395,7 +356,6 @@ PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml \
|
||||
frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
|
||||
frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \
|
||||
frameworks/native/data/etc/android.hardware.telephony.euicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.euicc.xml \
|
||||
frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \
|
||||
frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \
|
||||
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
|
||||
@@ -409,7 +369,6 @@ PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
|
||||
frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml \
|
||||
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
|
||||
frameworks/native/data/etc/android.software.ipsec_tunnel_migration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnel_migration.xml \
|
||||
frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \
|
||||
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \
|
||||
frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
|
||||
@@ -417,9 +376,6 @@ PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml \
|
||||
frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/privapp-permissions-euicc.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-euicc.xml
|
||||
|
||||
# Power
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.power-service.lineage-libperfmgr
|
||||
@@ -428,12 +384,7 @@ PRODUCT_PACKAGES += \
|
||||
libssl.vendor
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json \
|
||||
$(LOCAL_PATH)/configs/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
|
||||
|
||||
# Public libraries
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt
|
||||
$(LOCAL_PATH)/configs/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
|
||||
|
||||
# Protobuf
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -517,10 +468,8 @@ PRODUCT_BOOT_JARS += \
|
||||
xiaomi-telephony-stub
|
||||
|
||||
# Thermal
|
||||
ifeq ($(TARGET_USE_QTI_THERMAL_SERVICE),true)
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.thermal-service.qti
|
||||
endif
|
||||
|
||||
# Update engine
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -530,24 +479,18 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
# USB
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.usb-service.qti \
|
||||
android.hardware.usb.gadget-service.qti
|
||||
android.hardware.usb-service.qti
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
init.qcom.usb.rc \
|
||||
init.qcom.usb.sh \
|
||||
usb_compositions.conf
|
||||
init.qcom.usb.sh
|
||||
|
||||
# Vendor service manager
|
||||
PRODUCT_PACKAGES += \
|
||||
vndservicemanager
|
||||
|
||||
# Vibrator
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.qti.hardware.vibrator.service
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
vendor/qcom/opensource/vibrator/excluded-input-devices.xml:$(TARGET_COPY_OUT_VENDOR)/etc/excluded-input-devices.xml
|
||||
$(call inherit-product, vendor/qcom/opensource/vibrator/vibrator-vendor-product.mk)
|
||||
|
||||
# WiFi
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -573,4 +516,10 @@ $(call inherit-product, vendor/xiaomi/veux/veux-vendor.mk)
|
||||
|
||||
# Remove unwanted packages
|
||||
PRODUCT_PACKAGES += \
|
||||
RemovePackagesVeux
|
||||
RemovePackages
|
||||
|
||||
# AGC CAMERA
|
||||
$(call inherit-product, vendor/xiaomi/AGC-Camera/config.mk)
|
||||
|
||||
# MiuiCamera
|
||||
$(call inherit-product, vendor/xiaomi/miuicamera-veux/MiuiCamera-veux.mk)
|
||||
|
||||
50
device_framework_matrix.xml
Normal file
@@ -0,0 +1,50 @@
|
||||
<!--
|
||||
Copyright (C) 2023-2024 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<compatibility-matrix version="2.0" type="framework">
|
||||
<hal format="aidl" optional="true">
|
||||
<name>vendor.lineage.health</name>
|
||||
<interface>
|
||||
<name>IChargingControl</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.goodix.hardware.biometrics.fingerprint</name>
|
||||
<version>2.0-1</version>
|
||||
<interface>
|
||||
<name>IGoodixFingerprintDaemon</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IGoodixFingerprintDaemonExt</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.qti.hardware.radio.qcriNvOpt</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IqcriNvOpt</name>
|
||||
<instance>qcrinvopt0</instance>
|
||||
<instance>qcrinvopt1</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.silead.hardware.fingerprintext</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ISileadFingerprint</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.xiaomi.hardware.mlipay</name>
|
||||
<version>1.0-1</version>
|
||||
<interface>
|
||||
<name>IMlipayService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</compatibility-matrix>
|
||||
@@ -1,26 +0,0 @@
|
||||
[
|
||||
{
|
||||
"repository": "Xiaomi-Development/device_xiaomi_camera",
|
||||
"target_path": "device/xiaomi/camera",
|
||||
"remote": "github-non-los",
|
||||
"branch": "aosp-15"
|
||||
},
|
||||
{
|
||||
"repository": "hardware_xiaomi",
|
||||
"target_path": "hardware/xiaomi"
|
||||
},
|
||||
{
|
||||
"repository": "kernel_xiaomi_veux",
|
||||
"target_path": "kernel/xiaomi/veux"
|
||||
},
|
||||
{
|
||||
"repository": "vendor_xiaomi_veux",
|
||||
"target_path": "vendor/xiaomi/veux"
|
||||
},
|
||||
{
|
||||
"repository": "xiaomi-development/vendor_xiaomi_camera",
|
||||
"target_path": "vendor/xiaomi/camera",
|
||||
"remote": "gitlab",
|
||||
"branch": "aosp-15"
|
||||
}
|
||||
]
|
||||
@@ -1,87 +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.main import (
|
||||
ExtractUtils,
|
||||
ExtractUtilsModule,
|
||||
)
|
||||
|
||||
namespace_imports = [
|
||||
'device/xiaomi/veux',
|
||||
'hardware/qcom-caf/sm8350',
|
||||
'hardware/qcom-caf/wlan',
|
||||
'hardware/xiaomi',
|
||||
'vendor/qcom/opensource/commonsys/display',
|
||||
'vendor/qcom/opensource/commonsys-intf/display',
|
||||
'vendor/qcom/opensource/dataservices',
|
||||
'vendor/qcom/opensource/display',
|
||||
]
|
||||
|
||||
|
||||
def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
|
||||
return f'{lib}_{partition}' if partition == 'vendor' else None
|
||||
|
||||
blob_fixups: blob_fixups_user_type = {
|
||||
'odm/etc/build_*.prop': blob_fixup()
|
||||
.regex_replace(r'.*marketname.*\n', r'')
|
||||
.regex_replace(r'cert', r'model'),
|
||||
|
||||
'system_ext/etc/init/wfdservice.rc': blob_fixup()
|
||||
.regex_replace(r'^(?!service)(.*)wfdservice$', r'\g<1>wfdservice64'),
|
||||
|
||||
'system_ext/lib64/libwfdnative.so': blob_fixup()
|
||||
.remove_needed('android.hidl.base@1.0.so'),
|
||||
|
||||
'vendor/etc/camera/camxoverridesettings.txt': blob_fixup()
|
||||
.regex_replace(r'0x10080', r'0')
|
||||
.regex_replace(r'0x1F', r'0x0'),
|
||||
|
||||
'vendor/etc/init/init.batterysecret.rc': blob_fixup()
|
||||
.regex_replace(r'on charger', r'on property:init.svc.vendor.charger=running'),
|
||||
|
||||
'vendor/etc/libnfc-pn557.conf': blob_fixup()
|
||||
.call(lambda file_path, content:
|
||||
content if "NXP RF" in content
|
||||
else content + '\n' + open(f"{SRC}/vendor/libnfc-nxp_RF.conf").read()),
|
||||
|
||||
'vendor/lib64/android.hardware.secure_element@1.0-impl.so': blob_fixup()
|
||||
.remove_needed('android.hidl.base@1.0.so'),
|
||||
|
||||
'vendor/lib64/camera/components/com.qti.node.mialgocontrol.so': blob_fixup()
|
||||
.add_needed('libpiex_shim.so'),
|
||||
|
||||
('vendor/lib64/libwvhidl.so', 'vendor/lib64/mediadrm/libwvdrmengine.so'): blob_fixup()
|
||||
.add_needed('libcrypto_shim.so'),
|
||||
|
||||
('vendor/lib64/libdlbdsservice.so',
|
||||
'vendor/lib/libstagefright_soft_ac4dec.so',
|
||||
'vendor/lib/libstagefright_soft_ddpdec.so'): blob_fixup()
|
||||
.replace_needed('libstagefright_foundation.so', 'libstagefright_foundation-v33.so'),
|
||||
|
||||
'vendor/etc/libnfc-sn100.conf': blob_fixup()
|
||||
.regex_replace(r'(DEFAULT_ISODEP_ROUTE.*?)0x01', r'\g<1>0xC0')
|
||||
.regex_replace(r'(DEFAULT_SYS_CODE_ROUTE.*?)0x00', r'\g<1>0xC0')
|
||||
.regex_replace(r'(DEFAULT_OFFHOST_ROUTE.*?)0x01', r'\g<1>0xC0')
|
||||
.regex_replace(r'(OFFHOST_ROUTE_ESE.*?)01', r'\g<1>C0')
|
||||
.regex_replace(r'$', r'\nDEFAULT_NFCF_ROUTE=0xC0'),
|
||||
}
|
||||
|
||||
|
||||
module = ExtractUtilsModule(
|
||||
'veux',
|
||||
'xiaomi',
|
||||
blob_fixups=blob_fixups,
|
||||
namespace_imports=namespace_imports,
|
||||
)
|
||||
|
||||
if __name__ == '__main__':
|
||||
utils = ExtractUtils.device(module)
|
||||
utils.run()
|
||||
124
extract-files.sh
Executable file
@@ -0,0 +1,124 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
|
||||
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
DEVICE=veux
|
||||
VENDOR=xiaomi
|
||||
|
||||
# Load extract_utils and do some sanity checks
|
||||
MY_DIR="${BASH_SOURCE%/*}"
|
||||
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
|
||||
|
||||
ANDROID_ROOT="${MY_DIR}/../../.."
|
||||
|
||||
# If XML files don't have comments before the XML header, use this flag
|
||||
# Can still be used with broken XML files by using blob_fixup
|
||||
export TARGET_DISABLE_XML_FIXING=true
|
||||
|
||||
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
|
||||
if [ ! -f "${HELPER}" ]; then
|
||||
echo "Unable to find helper script at ${HELPER}"
|
||||
exit 1
|
||||
fi
|
||||
source "${HELPER}"
|
||||
|
||||
# Default to sanitizing the vendor folder before extraction
|
||||
CLEAN_VENDOR=true
|
||||
|
||||
ONLY_FIRMWARE=
|
||||
KANG=
|
||||
SECTION=
|
||||
|
||||
while [ "${#}" -gt 0 ]; do
|
||||
case "${1}" in
|
||||
--only-firmware)
|
||||
ONLY_FIRMWARE=true
|
||||
;;
|
||||
-n | --no-cleanup)
|
||||
CLEAN_VENDOR=false
|
||||
;;
|
||||
-k | --kang)
|
||||
KANG="--kang"
|
||||
;;
|
||||
-s | --section)
|
||||
SECTION="${2}"
|
||||
shift
|
||||
CLEAN_VENDOR=false
|
||||
;;
|
||||
*)
|
||||
SRC="${1}"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "${SRC}" ]; then
|
||||
SRC="adb"
|
||||
fi
|
||||
|
||||
function blob_fixup() {
|
||||
case "${1}" in
|
||||
odm/etc/build_*.prop)
|
||||
[ "$2" = "" ] && return 0
|
||||
sed -i "/marketname/d" "${2}"
|
||||
sed -i "s/cert/model/" "${2}"
|
||||
;;
|
||||
system_ext/etc/init/wfdservice.rc)
|
||||
[ "$2" = "" ] && return 0
|
||||
sed -i "/^service/! s/wfdservice$/wfdservice64/g" "${2}"
|
||||
;;
|
||||
system_ext/lib64/libwfdnative.so)
|
||||
[ "$2" = "" ] && return 0
|
||||
"${PATCHELF}" --remove-needed "android.hidl.base@1.0.so" "${2}"
|
||||
;;
|
||||
vendor/etc/camera/camxoverridesettings.txt)
|
||||
[ "$2" = "" ] && return 0
|
||||
sed -i "s/0x10080/0/g" "${2}"
|
||||
sed -i "s/0x1F/0x0/g" "${2}"
|
||||
;;
|
||||
vendor/etc/init/init.batterysecret.rc)
|
||||
[ "$2" = "" ] && return 0
|
||||
sed -i "s/on charger/on property:init.svc.vendor.charger=running/g" "${2}"
|
||||
;;
|
||||
vendor/etc/libnfc-pn557.conf)
|
||||
[ "$2" = "" ] && return 0
|
||||
grep -q "NXP RF" "${2}" || cat "${SRC}/vendor/libnfc-nxp_RF.conf" >> "${2}"
|
||||
;;
|
||||
vendor/lib/hw/audio.primary.veux.so)
|
||||
[ "$2" = "" ] && return 0
|
||||
"${PATCHELF}" --replace-needed "liba2dpoffload.so" "liba2dpoffload_veux.so" "${2}"
|
||||
;;
|
||||
vendor/lib64/android.hardware.secure_element@1.0-impl.so)
|
||||
[ "$2" = "" ] && return 0
|
||||
"${PATCHELF}" --remove-needed "android.hidl.base@1.0.so" "${2}"
|
||||
;;
|
||||
vendor/lib64/camera/components/com.qti.node.mialgocontrol.so)
|
||||
[ "$2" = "" ] && return 0
|
||||
llvm-strip --strip-debug "${2}"
|
||||
grep -q "libpiex_shim.so" "${2}" || "${PATCHELF}" --add-needed "libpiex_shim.so" "${2}"
|
||||
;;
|
||||
*)
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
function blob_fixup_dry() {
|
||||
blob_fixup "$1" ""
|
||||
}
|
||||
|
||||
# Initialize the helper
|
||||
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
|
||||
|
||||
if [ -z "${ONLY_FIRMWARE}" ]; then
|
||||
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
|
||||
fi
|
||||
|
||||
"${MY_DIR}/setup-makefiles.sh"
|
||||
@@ -2,3 +2,19 @@ GNSS_CFLAGS = [
|
||||
"-Werror",
|
||||
"-Wno-undefined-bool-conversion",
|
||||
]
|
||||
|
||||
/* Activate the following for debug purposes only,
|
||||
comment out for production */
|
||||
GNSS_SANITIZE_DIAG = {
|
||||
/*
|
||||
diag: {
|
||||
cfi: true,
|
||||
misc_undefined: [
|
||||
"bounds",
|
||||
"null",
|
||||
"unreachable",
|
||||
"integer",
|
||||
],
|
||||
},
|
||||
*/
|
||||
}
|
||||
|
||||
28
gps/Android.mk
Normal file
@@ -0,0 +1,28 @@
|
||||
ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),)
|
||||
|
||||
# Set required flags
|
||||
GNSS_CFLAGS := \
|
||||
-Werror \
|
||||
-Wno-undefined-bool-conversion
|
||||
|
||||
GNSS_HIDL_VERSION = 2.1
|
||||
|
||||
GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += msm8937
|
||||
GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += msm8953
|
||||
GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += msm8998
|
||||
GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += apq8098_latv
|
||||
GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += sdm710
|
||||
GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += qcs605
|
||||
GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += sdm845
|
||||
GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST += sdm660
|
||||
|
||||
ifneq (,$(filter $(GNSS_HIDL_LEGACY_MEASURMENTS_TARGET_LIST),$(TARGET_BOARD_PLATFORM)))
|
||||
GNSS_HIDL_LEGACY_MEASURMENTS = true
|
||||
endif
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
include $(call all-makefiles-under,$(LOCAL_PATH))
|
||||
|
||||
GNSS_SANITIZE_DIAG := cfi bounds null unreachable integer address
|
||||
|
||||
endif # ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),)
|
||||
50
gps/CleanSpec.mk
Normal file
@@ -0,0 +1,50 @@
|
||||
# Copyright (C) 2007 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
# If you don't need to do a full clean build but would like to touch
|
||||
# a file or delete some intermediate files, add a clean step to the end
|
||||
# of the list. These steps will only be run once, if they haven't been
|
||||
# run before.
|
||||
#
|
||||
# E.g.:
|
||||
# $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
|
||||
# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
|
||||
#
|
||||
# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
|
||||
# files that are missing or have been moved.
|
||||
#
|
||||
# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
|
||||
# Use $(OUT_DIR) to refer to the "out" directory.
|
||||
#
|
||||
# If you need to re-do something that's already mentioned, just copy
|
||||
# the command and add it to the bottom of the list. E.g., if a change
|
||||
# that you made last week required touching a file and a change you
|
||||
# made today requires touching the same file, just copy the old
|
||||
# touch step and add it to the end of the list.
|
||||
#
|
||||
# ************************************************
|
||||
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
|
||||
# ************************************************
|
||||
|
||||
# For example:
|
||||
#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
|
||||
#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
|
||||
#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
|
||||
#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
|
||||
|
||||
# ************************************************
|
||||
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
|
||||
# ************************************************
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libloc_api*)
|
||||
@@ -1,96 +0,0 @@
|
||||
cc_library_shared {
|
||||
name: "android.hardware.gnss@2.1-impl-qti",
|
||||
vendor: true,
|
||||
relative_install_path: "hw",
|
||||
srcs: [
|
||||
"AGnss.cpp",
|
||||
"Gnss.cpp",
|
||||
"AGnssRil.cpp",
|
||||
"GnssMeasurement.cpp",
|
||||
"GnssConfiguration.cpp",
|
||||
"GnssBatching.cpp",
|
||||
"GnssGeofencing.cpp",
|
||||
"GnssNi.cpp",
|
||||
"GnssDebug.cpp",
|
||||
"GnssAntennaInfo.cpp",
|
||||
"MeasurementCorrections.cpp",
|
||||
"GnssVisibilityControl.cpp",
|
||||
] + [
|
||||
"location_api/GnssAPIClient.cpp",
|
||||
"location_api/MeasurementAPIClient.cpp",
|
||||
"location_api/GeofenceAPIClient.cpp",
|
||||
"location_api/BatchingAPIClient.cpp",
|
||||
"location_api/LocationUtil.cpp",
|
||||
],
|
||||
|
||||
local_include_dirs: ["location_api"],
|
||||
|
||||
header_libs: [
|
||||
"libgps.utils_headers",
|
||||
"libloc_core_headers",
|
||||
"libloc_pla_headers",
|
||||
"liblocation_api_headers",
|
||||
"liblocbatterylistener_headers",
|
||||
],
|
||||
|
||||
shared_libs: [
|
||||
"liblog",
|
||||
"libhidlbase",
|
||||
"libcutils",
|
||||
"libutils",
|
||||
"android.hardware.gnss@1.0",
|
||||
"android.hardware.gnss@1.1",
|
||||
"android.hardware.gnss@2.0",
|
||||
"android.hardware.gnss@2.1",
|
||||
"android.hardware.gnss.measurement_corrections@1.0",
|
||||
"android.hardware.gnss.measurement_corrections@1.1",
|
||||
"android.hardware.gnss.visibility_control@1.0",
|
||||
"android.hardware.health@1.0",
|
||||
"android.hardware.health@2.0",
|
||||
"android.hardware.health@2.1",
|
||||
"android.hardware.power@1.2",
|
||||
"libbase",
|
||||
] + [
|
||||
"libloc_core",
|
||||
"libgps.utils",
|
||||
"libdl",
|
||||
"liblocation_api",
|
||||
],
|
||||
|
||||
cflags: GNSS_CFLAGS,
|
||||
static_libs: ["liblocbatterylistener"] + ["libhealthhalutils"],
|
||||
}
|
||||
|
||||
cc_binary {
|
||||
name: "android.hardware.gnss@2.1-service-qti",
|
||||
vintf_fragments: ["android.hardware.gnss@2.1-service-qti.xml"],
|
||||
vendor: true,
|
||||
relative_install_path: "hw",
|
||||
init_rc: ["android.hardware.gnss@2.1-service-qti.rc"],
|
||||
srcs: ["service.cpp"],
|
||||
|
||||
header_libs: [
|
||||
"libgps.utils_headers",
|
||||
"libloc_core_headers",
|
||||
"libloc_pla_headers",
|
||||
"liblocation_api_headers",
|
||||
],
|
||||
|
||||
shared_libs: [
|
||||
"liblog",
|
||||
"libcutils",
|
||||
"libdl",
|
||||
"libbase",
|
||||
"libutils",
|
||||
"libgps.utils",
|
||||
"libqti_vndfwk_detect",
|
||||
] + [
|
||||
"libhidlbase",
|
||||
"android.hardware.gnss@1.0",
|
||||
"android.hardware.gnss@1.1",
|
||||
"android.hardware.gnss@2.0",
|
||||
"android.hardware.gnss@2.1",
|
||||
],
|
||||
|
||||
cflags: GNSS_CFLAGS + ["-DLOC_HIDL_VERSION=\"4.0\""],
|
||||
}
|
||||
115
gps/android/2.1/Android.mk
Normal file
@@ -0,0 +1,115 @@
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.gnss@2.1-impl-qti
|
||||
# activate the following line for debug purposes only, comment out for production
|
||||
#LOCAL_SANITIZE_DIAG += $(GNSS_SANITIZE_DIAG)
|
||||
LOCAL_VENDOR_MODULE := true
|
||||
LOCAL_MODULE_RELATIVE_PATH := hw
|
||||
LOCAL_SRC_FILES := \
|
||||
AGnss.cpp \
|
||||
Gnss.cpp \
|
||||
AGnssRil.cpp \
|
||||
GnssMeasurement.cpp \
|
||||
GnssConfiguration.cpp \
|
||||
GnssBatching.cpp \
|
||||
GnssGeofencing.cpp \
|
||||
GnssNi.cpp \
|
||||
GnssDebug.cpp \
|
||||
GnssAntennaInfo.cpp \
|
||||
MeasurementCorrections.cpp \
|
||||
GnssVisibilityControl.cpp
|
||||
|
||||
LOCAL_SRC_FILES += \
|
||||
location_api/GnssAPIClient.cpp \
|
||||
location_api/MeasurementAPIClient.cpp \
|
||||
location_api/GeofenceAPIClient.cpp \
|
||||
location_api/BatchingAPIClient.cpp \
|
||||
location_api/LocationUtil.cpp \
|
||||
|
||||
ifeq ($(GNSS_HIDL_LEGACY_MEASURMENTS),true)
|
||||
LOCAL_CFLAGS += \
|
||||
-DGNSS_HIDL_LEGACY_MEASURMENTS
|
||||
endif
|
||||
|
||||
LOCAL_C_INCLUDES:= \
|
||||
$(LOCAL_PATH)/location_api
|
||||
|
||||
LOCAL_HEADER_LIBRARIES := \
|
||||
libgps.utils_headers \
|
||||
libloc_core_headers \
|
||||
libloc_pla_headers \
|
||||
liblocation_api_headers \
|
||||
liblocbatterylistener_headers
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
liblog \
|
||||
libhidlbase \
|
||||
libcutils \
|
||||
libutils \
|
||||
android.hardware.gnss@1.0 \
|
||||
android.hardware.gnss@1.1 \
|
||||
android.hardware.gnss@2.0 \
|
||||
android.hardware.gnss@2.1 \
|
||||
android.hardware.gnss.measurement_corrections@1.0 \
|
||||
android.hardware.gnss.measurement_corrections@1.1 \
|
||||
android.hardware.gnss.visibility_control@1.0 \
|
||||
android.hardware.health@1.0 \
|
||||
android.hardware.health@2.0 \
|
||||
android.hardware.health@2.1 \
|
||||
android.hardware.power@1.2 \
|
||||
libbase
|
||||
|
||||
LOCAL_SHARED_LIBRARIES += \
|
||||
libloc_core \
|
||||
libgps.utils \
|
||||
libdl \
|
||||
liblocation_api \
|
||||
|
||||
LOCAL_CFLAGS += $(GNSS_CFLAGS)
|
||||
LOCAL_STATIC_LIBRARIES := liblocbatterylistener
|
||||
LOCAL_STATIC_LIBRARIES += libhealthhalutils
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.gnss@2.1-service-qti
|
||||
|
||||
# activate the following line for debug purposes only, comment out for production
|
||||
#LOCAL_SANITIZE_DIAG += $(GNSS_SANITIZE_DIAG)
|
||||
LOCAL_VINTF_FRAGMENTS := android.hardware.gnss@2.1-service-qti.xml
|
||||
LOCAL_VENDOR_MODULE := true
|
||||
LOCAL_MODULE_RELATIVE_PATH := hw
|
||||
LOCAL_INIT_RC := android.hardware.gnss@2.1-service-qti.rc
|
||||
LOCAL_SRC_FILES := \
|
||||
service.cpp \
|
||||
|
||||
LOCAL_HEADER_LIBRARIES := \
|
||||
libgps.utils_headers \
|
||||
libloc_core_headers \
|
||||
libloc_pla_headers \
|
||||
liblocation_api_headers
|
||||
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
liblog \
|
||||
libcutils \
|
||||
libdl \
|
||||
libbase \
|
||||
libutils \
|
||||
libgps.utils \
|
||||
libqti_vndfwk_detect \
|
||||
|
||||
LOCAL_SHARED_LIBRARIES += \
|
||||
libhidlbase \
|
||||
android.hardware.gnss@1.0 \
|
||||
android.hardware.gnss@1.1 \
|
||||
android.hardware.gnss@2.0 \
|
||||
android.hardware.gnss@2.1 \
|
||||
|
||||
LOCAL_CFLAGS += $(GNSS_CFLAGS)
|
||||
|
||||
ifneq ($(LOC_HIDL_VERSION),)
|
||||
LOCAL_CFLAGS += -DLOC_HIDL_VERSION='"$(LOC_HIDL_VERSION)"'
|
||||
endif
|
||||
|
||||
include $(BUILD_EXECUTABLE)
|
||||
2
gps/android/Android.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
include $(call all-subdir-makefiles)
|
||||
@@ -33,6 +33,5 @@ cc_library_static {
|
||||
cc_library_headers {
|
||||
|
||||
name: "liblocbatterylistener_headers",
|
||||
vendor: true,
|
||||
export_include_dirs: ["."],
|
||||
}
|
||||
|
||||
@@ -141,11 +141,8 @@ public:
|
||||
unordered_set<KEY>* goneKeys, unordered_set<VAL>* goneVals) {
|
||||
for (auto key : keys) {
|
||||
auto iter = mMap.find(key);
|
||||
if (iter != mMap.end()) {
|
||||
KEY goneKey = iter->first;
|
||||
if (trimOrRemove(iter, rVals, goneVals) && nullptr != goneKeys) {
|
||||
goneKeys->insert(goneKey);
|
||||
}
|
||||
if (iter != mMap.end() && trimOrRemove(iter, rVals, goneVals) && nullptr != goneKeys) {
|
||||
goneKeys->insert(iter->first);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
22
gpt-utils/Android.bp
Normal file
@@ -0,0 +1,22 @@
|
||||
//
|
||||
// Copyright (C) 2022 The Android Open Source Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
cc_library {
|
||||
name: "libgptutils.veux",
|
||||
cflags: ["-D_BSG_FRAMEWORK_KERNEL_HEADERS"],
|
||||
export_include_dirs: ["."],
|
||||
header_libs: ["qti_kernel_headers"],
|
||||
recovery_available: true,
|
||||
shared_libs: [
|
||||
"libcutils",
|
||||
"liblog",
|
||||
"libz",
|
||||
],
|
||||
srcs: [
|
||||
"gpt-utils.cpp",
|
||||
"recovery-ufs-bsg.cpp",
|
||||
],
|
||||
vendor: true,
|
||||
}
|
||||
1520
gpt-utils/gpt-utils.cpp
Normal file
195
gpt-utils/gpt-utils.h
Normal file
@@ -0,0 +1,195 @@
|
||||
/*
|
||||
* Copyright (c) 2013,2016,2020 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are
|
||||
* met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above
|
||||
* copyright notice, this list of conditions and the following
|
||||
* disclaimer in the documentation and/or other materials provided
|
||||
* with the distribution.
|
||||
* * Neither the name of The Linux Foundation nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef __GPT_UTILS_H__
|
||||
#define __GPT_UTILS_H__
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include <map>
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
/******************************************************************************
|
||||
* GPT HEADER DEFINES
|
||||
******************************************************************************/
|
||||
#define GPT_SIGNATURE "EFI PART"
|
||||
#define HEADER_SIZE_OFFSET 12
|
||||
#define HEADER_CRC_OFFSET 16
|
||||
#define PRIMARY_HEADER_OFFSET 24
|
||||
#define BACKUP_HEADER_OFFSET 32
|
||||
#define FIRST_USABLE_LBA_OFFSET 40
|
||||
#define LAST_USABLE_LBA_OFFSET 48
|
||||
#define PENTRIES_OFFSET 72
|
||||
#define PARTITION_COUNT_OFFSET 80
|
||||
#define PENTRY_SIZE_OFFSET 84
|
||||
#define PARTITION_CRC_OFFSET 88
|
||||
|
||||
#define TYPE_GUID_OFFSET 0
|
||||
#define TYPE_GUID_SIZE 16
|
||||
#define PTN_ENTRY_SIZE 128
|
||||
#define UNIQUE_GUID_OFFSET 16
|
||||
#define FIRST_LBA_OFFSET 32
|
||||
#define LAST_LBA_OFFSET 40
|
||||
#define ATTRIBUTE_FLAG_OFFSET 48
|
||||
#define PARTITION_NAME_OFFSET 56
|
||||
#define MAX_GPT_NAME_SIZE 72
|
||||
|
||||
/******************************************************************************
|
||||
* AB RELATED DEFINES
|
||||
******************************************************************************/
|
||||
//Bit 48 onwords in the attribute field are the ones where we are allowed to
|
||||
//store our AB attributes.
|
||||
#define AB_FLAG_OFFSET (ATTRIBUTE_FLAG_OFFSET + 6)
|
||||
#define GPT_DISK_INIT_MAGIC 0xABCD
|
||||
#define AB_PARTITION_ATTR_SLOT_ACTIVE (0x1<<2)
|
||||
#define AB_PARTITION_ATTR_BOOT_SUCCESSFUL (0x1<<6)
|
||||
#define AB_PARTITION_ATTR_UNBOOTABLE (0x1<<7)
|
||||
#define AB_SLOT_ACTIVE_VAL 0x3F
|
||||
#define AB_SLOT_INACTIVE_VAL 0x0
|
||||
#define AB_SLOT_ACTIVE 1
|
||||
#define AB_SLOT_INACTIVE 0
|
||||
#define AB_SLOT_A_SUFFIX "_a"
|
||||
#define AB_SLOT_B_SUFFIX "_b"
|
||||
#define PTN_XBL "xbl"
|
||||
#define PTN_XBL_CFG "xbl_config"
|
||||
#define PTN_MULTIIMGOEM "multiimgoem"
|
||||
#define PTN_MULTIIMGQTI "multiimgqti"
|
||||
#define PTN_SWAP_LIST PTN_XBL, PTN_XBL_CFG, PTN_MULTIIMGOEM, PTN_MULTIIMGQTI, "sbl1", "rpm", "tz", "aboot", "abl", "hyp", "lksecapp", "keymaster", "cmnlib", "cmnlib32", "cmnlib64", "pmic", "apdp", "devcfg", "hosd", "keystore", "msadp", "mdtp", "mdtpsecapp", "dsp", "aop", "qupfw", "vbmeta", "vbmeta_system", "dtbo", "imagefv", "ImageFv", "vm-bootsys", "shrm", "cpucp", "uefi", "aop_config", "uefisecapp", "featenabler", "vendor_boot"
|
||||
#define AB_PTN_LIST PTN_SWAP_LIST, "boot", "product", "system", "system_ext", "vendor", "odm", "modem", "bluetooth"
|
||||
#define BOOT_DEV_DIR "/dev/block/bootdevice/by-name"
|
||||
|
||||
/******************************************************************************
|
||||
* HELPER MACROS
|
||||
******************************************************************************/
|
||||
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
|
||||
/******************************************************************************
|
||||
* TYPES
|
||||
******************************************************************************/
|
||||
enum boot_update_stage {
|
||||
UPDATE_MAIN = 1,
|
||||
UPDATE_BACKUP,
|
||||
UPDATE_FINALIZE
|
||||
};
|
||||
|
||||
enum gpt_instance {
|
||||
PRIMARY_GPT = 0,
|
||||
SECONDARY_GPT
|
||||
};
|
||||
|
||||
enum boot_chain {
|
||||
NORMAL_BOOT = 0,
|
||||
BACKUP_BOOT
|
||||
};
|
||||
|
||||
struct gpt_disk {
|
||||
//GPT primary header
|
||||
uint8_t *hdr;
|
||||
//primary header crc
|
||||
uint32_t hdr_crc;
|
||||
//GPT backup header
|
||||
uint8_t *hdr_bak;
|
||||
//backup header crc
|
||||
uint32_t hdr_bak_crc;
|
||||
//Partition entries array
|
||||
uint8_t *pentry_arr;
|
||||
//Partition entries array for backup table
|
||||
uint8_t *pentry_arr_bak;
|
||||
//Size of the pentry array
|
||||
uint32_t pentry_arr_size;
|
||||
//Size of each element in the pentry array
|
||||
uint32_t pentry_size;
|
||||
//CRC of the partition entry array
|
||||
uint32_t pentry_arr_crc;
|
||||
//CRC of the backup partition entry array
|
||||
uint32_t pentry_arr_bak_crc;
|
||||
//Path to block dev representing the disk
|
||||
char devpath[PATH_MAX];
|
||||
//Block size of disk
|
||||
uint32_t block_size;
|
||||
uint32_t is_initialized;
|
||||
};
|
||||
|
||||
/******************************************************************************
|
||||
* FUNCTION PROTOTYPES
|
||||
******************************************************************************/
|
||||
int prepare_boot_update(enum boot_update_stage stage);
|
||||
//GPT disk methods
|
||||
struct gpt_disk* gpt_disk_alloc();
|
||||
//Free previously allocated gpt_disk struct
|
||||
void gpt_disk_free(struct gpt_disk *disk);
|
||||
//Get the details of the disk holding the partition whose name
|
||||
//is passed in via dev
|
||||
int gpt_disk_get_disk_info(const char *dev, struct gpt_disk *disk);
|
||||
|
||||
//Get pointer to partition entry from a allocated gpt_disk structure
|
||||
uint8_t* gpt_disk_get_pentry(struct gpt_disk *disk,
|
||||
const char *partname,
|
||||
enum gpt_instance instance);
|
||||
|
||||
//Update the crc fields of the modified disk structure
|
||||
int gpt_disk_update_crc(struct gpt_disk *disk);
|
||||
|
||||
//Write the contents of struct gpt_disk back to the actual disk
|
||||
int gpt_disk_commit(struct gpt_disk *disk);
|
||||
|
||||
//Return if the current device is UFS based or not
|
||||
int gpt_utils_is_ufs_device();
|
||||
|
||||
//Swtich betwieen using either the primary or the backup
|
||||
//boot LUN for boot. This is required since UFS boot partitions
|
||||
//cannot have a backup GPT which is what we use for failsafe
|
||||
//updates of the other 'critical' partitions. This function will
|
||||
//not be invoked for emmc targets and on UFS targets is only required
|
||||
//to be invoked for XBL.
|
||||
//
|
||||
//The algorithm to do this is as follows:
|
||||
//- Find the real block device(eg: /dev/block/sdb) that corresponds
|
||||
// to the /dev/block/bootdevice/by-name/xbl(bak) symlink
|
||||
//
|
||||
//- Once we have the block device 'node' name(sdb in the above example)
|
||||
// use this node to to locate the scsi generic device that represents
|
||||
// it by checking the file /sys/block/sdb/device/scsi_generic/sgY
|
||||
//
|
||||
//- Once we locate sgY we call the query ioctl on /dev/sgy to switch
|
||||
//the boot lun to either LUNA or LUNB
|
||||
int gpt_utils_set_xbl_boot_partition(enum boot_chain chain);
|
||||
|
||||
//Given a vector of partition names as a input and a reference to a map,
|
||||
//populate the map to indicate which physical disk each of the partitions
|
||||
//sits on. The key in the map is the path to the block device where the
|
||||
//partiton lies and the value is a vector of strings indicating which of
|
||||
//the passed in partiton names sits on that device.
|
||||
int gpt_utils_get_partition_map(std::vector<std::string>& partition_list,
|
||||
std::map<std::string,std::vector<std::string>>& partition_map);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* __GPT_UTILS_H__ */
|
||||
255
gpt-utils/recovery-ufs-bsg.cpp
Normal file
@@ -0,0 +1,255 @@
|
||||
/*
|
||||
* Copyright (c) 2020 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are
|
||||
* met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above
|
||||
* copyright notice, this list of conditions and the following
|
||||
* disclaimer in the documentation and/or other materials provided
|
||||
* with the distribution.
|
||||
* * Neither the name of The Linux Foundation nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
|
||||
#define LOG_TAG "recovery_ufs"
|
||||
|
||||
#include "recovery-ufs-bsg.h"
|
||||
|
||||
#ifndef _BSG_FRAMEWORK_KERNEL_HEADERS
|
||||
#ifndef _GENERIC_KERNEL_HEADERS
|
||||
#include <scsi/ufs/ioctl.h>
|
||||
#include <scsi/ufs/ufs.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//Size of the buffer that needs to be passed to the UFS ioctl
|
||||
#define UFS_ATTR_DATA_SIZE 32
|
||||
|
||||
#ifdef _BSG_FRAMEWORK_KERNEL_HEADERS
|
||||
static int get_ufs_bsg_dev(void)
|
||||
{
|
||||
DIR *dir;
|
||||
struct dirent *ent;
|
||||
int ret = -ENODEV;
|
||||
|
||||
if ((dir = opendir ("/dev")) != NULL) {
|
||||
/* read all the files and directories within directory */
|
||||
while ((ent = readdir(dir)) != NULL) {
|
||||
if (!strcmp(ent->d_name, "ufs-bsg") ||
|
||||
!strcmp(ent->d_name, "ufs-bsg0")) {
|
||||
snprintf(ufs_bsg_dev, FNAME_SZ, "/dev/%s", ent->d_name);
|
||||
ret = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ret)
|
||||
ALOGE("could not find the ufs-bsg dev\n");
|
||||
closedir (dir);
|
||||
} else {
|
||||
/* could not open directory */
|
||||
ALOGE("could not open /dev (error no: %d)\n", errno);
|
||||
ret = -EINVAL;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ufs_bsg_dev_open(void)
|
||||
{
|
||||
int ret;
|
||||
if (!fd_ufs_bsg) {
|
||||
fd_ufs_bsg = open(ufs_bsg_dev, O_RDWR);
|
||||
ret = errno;
|
||||
if (fd_ufs_bsg < 0) {
|
||||
ALOGE("Unable to open %s (error no: %d)",
|
||||
ufs_bsg_dev, errno);
|
||||
fd_ufs_bsg = 0;
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ufs_bsg_dev_close(void)
|
||||
{
|
||||
if (fd_ufs_bsg) {
|
||||
close(fd_ufs_bsg);
|
||||
fd_ufs_bsg = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static int ufs_bsg_ioctl(int fd, struct ufs_bsg_request *req,
|
||||
struct ufs_bsg_reply *rsp, __u8 *buf, __u32 buf_len,
|
||||
enum bsg_ioctl_dir dir)
|
||||
{
|
||||
int ret;
|
||||
struct sg_io_v4 sg_io{};
|
||||
|
||||
sg_io.guard = 'Q';
|
||||
sg_io.protocol = BSG_PROTOCOL_SCSI;
|
||||
sg_io.subprotocol = BSG_SUB_PROTOCOL_SCSI_TRANSPORT;
|
||||
sg_io.request_len = sizeof(*req);
|
||||
sg_io.request = (__u64)req;
|
||||
sg_io.response = (__u64)rsp;
|
||||
sg_io.max_response_len = sizeof(*rsp);
|
||||
if (dir == BSG_IOCTL_DIR_FROM_DEV) {
|
||||
sg_io.din_xfer_len = buf_len;
|
||||
sg_io.din_xferp = (__u64)(buf);
|
||||
} else {
|
||||
sg_io.dout_xfer_len = buf_len;
|
||||
sg_io.dout_xferp = (__u64)(buf);
|
||||
}
|
||||
|
||||
ret = ioctl(fd, SG_IO, &sg_io);
|
||||
if (ret)
|
||||
ALOGE("%s: Error from sg_io ioctl (return value: %d, error no: %d, reply result from LLD: %d\n)",
|
||||
__func__, ret, errno, rsp->result);
|
||||
|
||||
if (sg_io.info || rsp->result) {
|
||||
ALOGE("%s: Error from sg_io info (check sg info: device_status: 0x%x, transport_status: 0x%x, driver_status: 0x%x, reply result from LLD: %d\n)",
|
||||
__func__, sg_io.device_status, sg_io.transport_status,
|
||||
sg_io.driver_status, rsp->result);
|
||||
ret = -EAGAIN;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void compose_ufs_bsg_query_req(struct ufs_bsg_request *req, __u8 func,
|
||||
__u8 opcode, __u8 idn, __u8 index, __u8 sel,
|
||||
__u16 length)
|
||||
{
|
||||
struct utp_upiu_header *hdr = &req->upiu_req.header;
|
||||
struct utp_upiu_query *qr = &req->upiu_req.qr;
|
||||
|
||||
req->msgcode = UTP_UPIU_QUERY_REQ;
|
||||
hdr->dword_0 = DWORD(UTP_UPIU_QUERY_REQ, 0, 0, 0);
|
||||
hdr->dword_1 = DWORD(0, func, 0, 0);
|
||||
hdr->dword_2 = DWORD(0, 0, length >> 8, (__u8)length);
|
||||
qr->opcode = opcode;
|
||||
qr->idn = idn;
|
||||
qr->index = index;
|
||||
qr->selector = sel;
|
||||
qr->length = htobe16(length);
|
||||
}
|
||||
|
||||
|
||||
static int ufs_query_attr(int fd, __u32 value,
|
||||
__u8 func, __u8 opcode, __u8 idn,
|
||||
__u8 index, __u8 sel)
|
||||
{
|
||||
struct ufs_bsg_request req{};
|
||||
struct ufs_bsg_reply rsp{};
|
||||
enum bsg_ioctl_dir dir = BSG_IOCTL_DIR_FROM_DEV;
|
||||
int ret = 0;
|
||||
|
||||
if (opcode == QUERY_REQ_OP_WRITE_DESC || opcode == QUERY_REQ_OP_WRITE_ATTR)
|
||||
dir = BSG_IOCTL_DIR_TO_DEV;
|
||||
|
||||
req.upiu_req.qr.value = htobe32(value);
|
||||
|
||||
compose_ufs_bsg_query_req(&req, func, opcode, idn, index, sel, 0);
|
||||
|
||||
ret = ufs_bsg_ioctl(fd, &req, &rsp, 0, 0, dir);
|
||||
if (ret)
|
||||
ALOGE("%s: Error from ufs_bsg_ioctl (return value: %d, error no: %d\n)",
|
||||
__func__, ret, errno);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int32_t set_boot_lun(char *sg_dev __unused,uint8_t lun_id)
|
||||
{
|
||||
int32_t ret;
|
||||
__u32 boot_lun_id = lun_id;
|
||||
|
||||
ret = get_ufs_bsg_dev();
|
||||
if (ret)
|
||||
return ret;
|
||||
ALOGV("Found the ufs bsg dev: %s\n", ufs_bsg_dev);
|
||||
|
||||
ret = ufs_bsg_dev_open();
|
||||
if (ret)
|
||||
return ret;
|
||||
ALOGV("Opened ufs bsg dev: %s\n", ufs_bsg_dev);
|
||||
|
||||
ret = ufs_query_attr(fd_ufs_bsg, boot_lun_id, QUERY_REQ_FUNC_STD_WRITE,
|
||||
QUERY_REQ_OP_WRITE_ATTR, QUERY_ATTR_IDN_BOOT_LU_EN, 0, 0);
|
||||
if (ret) {
|
||||
ALOGE("Error requesting ufs attr idn %d via query ioctl (return value: %d, error no: %d)",
|
||||
QUERY_ATTR_IDN_BOOT_LU_EN, ret, errno);
|
||||
goto out;
|
||||
}
|
||||
out:
|
||||
ufs_bsg_dev_close();
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef _BSG_FRAMEWORK_KERNEL_HEADERS
|
||||
int32_t set_boot_lun(char *sg_dev, uint8_t boot_lun_id)
|
||||
{
|
||||
#ifndef _GENERIC_KERNEL_HEADERS
|
||||
int fd = -1;
|
||||
int rc;
|
||||
struct ufs_ioctl_query_data *data = NULL;
|
||||
size_t ioctl_data_size = sizeof(struct ufs_ioctl_query_data) + UFS_ATTR_DATA_SIZE;
|
||||
|
||||
data = (struct ufs_ioctl_query_data*)malloc(ioctl_data_size);
|
||||
if (!data) {
|
||||
fprintf(stderr, "%s: Failed to alloc query data struct\n",
|
||||
__func__);
|
||||
goto error;
|
||||
}
|
||||
memset(data, 0, ioctl_data_size);
|
||||
data->opcode = UPIU_QUERY_OPCODE_WRITE_ATTR;
|
||||
data->idn = QUERY_ATTR_IDN_BOOT_LU_EN;
|
||||
data->buf_size = UFS_ATTR_DATA_SIZE;
|
||||
data->buffer[0] = boot_lun_id;
|
||||
fd = open(sg_dev, O_RDWR);
|
||||
if (fd < 0) {
|
||||
fprintf(stderr, "%s: Failed to open %s(%s)\n",
|
||||
__func__,
|
||||
sg_dev,
|
||||
strerror(errno));
|
||||
goto error;
|
||||
}
|
||||
rc = ioctl(fd, UFS_IOCTL_QUERY, data);
|
||||
if (rc) {
|
||||
fprintf(stderr, "%s: UFS query ioctl failed(%s)\n",
|
||||
__func__,
|
||||
strerror(errno));
|
||||
goto error;
|
||||
}
|
||||
close(fd);
|
||||
free(data);
|
||||
return 0;
|
||||
error:
|
||||
if (fd >= 0)
|
||||
close(fd);
|
||||
if (data)
|
||||
free(data);
|
||||
return -1;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
131
gpt-utils/recovery-ufs-bsg.h
Normal file
@@ -0,0 +1,131 @@
|
||||
#ifndef __RECOVERY_UFS_BSG_H__
|
||||
#define __RECOVERY_UFS_BSG_H__
|
||||
|
||||
/*
|
||||
* Copyright (c) 2020 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are
|
||||
* met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above
|
||||
* copyright notice, this list of conditions and the following
|
||||
* disclaimer in the documentation and/or other materials provided
|
||||
* with the distribution.
|
||||
* * Neither the name of The Linux Foundation nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
|
||||
#include <linux/bsg.h>
|
||||
#include <scsi/scsi_bsg_ufs.h>
|
||||
#include <endian.h>
|
||||
#include <dirent.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
|
||||
#ifdef ANDROID
|
||||
#include "cutils/log.h"
|
||||
#endif
|
||||
|
||||
#ifdef OE
|
||||
#include <syslog.h>
|
||||
#define LOGI(...) syslog(LOG_NOTICE, "INFO:" __VA_ARGS__)
|
||||
#define LOGV(...) syslog(LOG_NOTICE,"VERB:" __VA_ARGS__)
|
||||
#define LOGD(...) syslog(LOG_DEBUG,"DBG:" __VA_ARGS__)
|
||||
#define LOGE(...) syslog(LOG_ERR,"ERR:" __VA_ARGS__)
|
||||
#define LOGW(...) syslog(LOG_WARNING,"WRN:" __VA_ARGS__)
|
||||
#define strlcat(d,s,l) snprintf(d+strlen(d),l,"%s",s)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#define FNAME_SZ 64
|
||||
|
||||
#define SG_IO 0x2285
|
||||
|
||||
#define DWORD(b3, b2, b1, b0) htobe32((b3 << 24) | (b2 << 16) |\
|
||||
(b1 << 8) | b0)
|
||||
|
||||
/* UFS BSG device nodes */
|
||||
char ufs_bsg_dev[FNAME_SZ] = "/dev/ufs-bsg";
|
||||
|
||||
int fd_ufs_bsg;
|
||||
|
||||
int32_t set_ufs_lun(uint8_t lun_id);
|
||||
|
||||
#ifdef _BSG_FRAMEWORK_KERNEL_HEADERS
|
||||
/* UPIU Transaction Codes */
|
||||
enum {
|
||||
UTP_UPIU_NOP_OUT = 0x00,
|
||||
UTP_UPIU_COMMAND = 0x01,
|
||||
UTP_UPIU_DATA_OUT = 0x02,
|
||||
UTP_UPIU_TASK_REQ = 0x04,
|
||||
UTP_UPIU_QUERY_REQ = 0x16,
|
||||
};
|
||||
|
||||
/* UPIU Query Function field */
|
||||
enum {
|
||||
QUERY_REQ_FUNC_STD_READ = 0x01,
|
||||
QUERY_REQ_FUNC_STD_WRITE = 0x81,
|
||||
};
|
||||
|
||||
enum query_req_opcode {
|
||||
QUERY_REQ_OP_READ_DESC = 0x1,
|
||||
QUERY_REQ_OP_WRITE_DESC = 0x2,
|
||||
QUERY_REQ_OP_READ_ATTR = 0x3,
|
||||
QUERY_REQ_OP_WRITE_ATTR = 0x4,
|
||||
QUERY_REQ_OP_READ_FLAG = 0x5,
|
||||
QUERY_REQ_OP_SET_FLAG = 0x6,
|
||||
QUERY_REQ_OP_CLEAR_FLAG = 0x7,
|
||||
QUERY_REQ_OP_TOGGLE_FLAG = 0x8,
|
||||
};
|
||||
|
||||
enum query_desc_idn {
|
||||
QUERY_DESC_IDN_DEVICE = 0x0,
|
||||
QUERY_DESC_IDN_UNIT = 0x2,
|
||||
QUERY_DESC_IDN_GEOMETRY = 0x7,
|
||||
};
|
||||
|
||||
enum query_desc_size {
|
||||
QUERY_DESC_SIZE_DEVICE = 0x40,
|
||||
QUERY_DESC_SIZE_GEOMETRY = 0x48,
|
||||
QUERY_DESC_SIZE_UNIT = 0x23,
|
||||
};
|
||||
|
||||
enum bsg_ioctl_dir {
|
||||
BSG_IOCTL_DIR_TO_DEV,
|
||||
BSG_IOCTL_DIR_FROM_DEV,
|
||||
};
|
||||
|
||||
enum query_attr_idn {
|
||||
QUERY_ATTR_IDN_BOOT_LU_EN = 0x00,
|
||||
QUERY_ATTR_IDN_RESERVED = 0x01,
|
||||
QUERY_ATTR_IDN_POWER_MODE = 0x02,
|
||||
QUERY_ATTR_IDN_ACTIVE_ICC_LVL = 0x03,
|
||||
};
|
||||
#endif /* _BSG_FRAMEWORK_KERNEL_HEADERS */
|
||||
|
||||
#endif /* __RECOVERY_UFS_BSG_H__ */
|
||||
10
lineage.dependencies
Normal file
@@ -0,0 +1,10 @@
|
||||
[
|
||||
{
|
||||
"repository": "android_hardware_xiaomi",
|
||||
"target_path": "hardware/xiaomi"
|
||||
},
|
||||
{
|
||||
"repository": "android_kernel_xiaomi_sm6375",
|
||||
"target_path": "kernel/xiaomi/sm6375"
|
||||
}
|
||||
]
|
||||
@@ -14,15 +14,15 @@ $(call inherit-product, $(LOCAL_PATH)/device.mk)
|
||||
# Inherit some common Lineage stuff.
|
||||
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
|
||||
|
||||
# EvolutionX flags
|
||||
BUILD_BCR := true
|
||||
EVO_BUILD_TYPE := Official
|
||||
TARGET_USES_MINI_GAPPS := true
|
||||
|
||||
# Boot animation
|
||||
TARGET_SCREEN_HEIGHT := 2400
|
||||
TARGET_SCREEN_WIDTH := 1080
|
||||
|
||||
# Evolution flags
|
||||
EVO_BUILD_TYPE := Official
|
||||
WITH_GMS := true
|
||||
|
||||
PRODUCT_BRAND := Redmi
|
||||
PRODUCT_DEVICE := veux
|
||||
PRODUCT_MANUFACTURER := Xiaomi
|
||||
@@ -33,9 +33,6 @@ PRODUCT_SYSTEM_NAME := veux_global
|
||||
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi
|
||||
|
||||
PRODUCT_BUILD_PROP_OVERRIDES += \
|
||||
BuildDesc="veux_global-user 13 TKQ1.221114.001 V816.0.12.0.TKCMIXM release-keys" \
|
||||
BuildFingerprint=Redmi/veux_global/veux:13/TKQ1.221114.001/V816.0.12.0.TKCMIXM:user/release-keys \
|
||||
DeviceProduct=$(PRODUCT_DEVICE)
|
||||
BuildDesc="veux_global-user 13 TKQ1.221114.001 V816.0.9.0.TKCMIXM release-keys" \
|
||||
|
||||
# Camera
|
||||
include device/xiaomi/camera/miuicamera.mk
|
||||
BuildFingerprint=Redmi/veux_global/veux:13/TKQ1.221114.001/V816.0.9.0.TKCMIXM:user/release-keys
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Copyright (C) 2019-2020 The Linux Foundation
|
||||
SPDX-License-Identifier: BSD-3-Clause
|
||||
-->
|
||||
<manifest version="1.0" type="device" target-level="6">
|
||||
<manifest version="1.0" type="device" target-level="5">
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
@@ -28,11 +28,22 @@
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IGatekeeper/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.ir</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IConsumerIr/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.keymaster</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@4.1::IKeymasterDevice/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.media.omx</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IOmx/default</fqname>
|
||||
<fqname>@1.0::IOmxStore/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.radio</name>
|
||||
<transport>hwbinder</transport>
|
||||
@@ -59,7 +70,7 @@
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.tetheroffload.control</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.1::IOffloadControl/default</fqname>
|
||||
<fqname>@1.0::IOffloadControl/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>com.qualcomm.qti.dpm.api</name>
|
||||
@@ -260,12 +271,5 @@
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::ISileadFingerprint/default</fqname>
|
||||
</hal>
|
||||
<hal format="aidl">
|
||||
<name>vendor.google.google_battery</name>
|
||||
<interface>
|
||||
<name>IGoogleBattery</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<kernel target-level="5"/>
|
||||
</manifest>
|
||||
@@ -1,10 +0,0 @@
|
||||
//
|
||||
// Copyright (C) 2023 Paranoid Android
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "ApertureIconOverlay",
|
||||
product_specific: true,
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.lineageos.aperture.overlay.icon">
|
||||
|
||||
<overlay
|
||||
android:isStatic="true"
|
||||
android:priority="800"
|
||||
android:targetPackage="org.lineageos.aperture" />
|
||||
</manifest>
|
||||
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 59 KiB |
@@ -1,11 +0,0 @@
|
||||
//
|
||||
// Copyright (C) 2024 The LineageOS Project
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "ApertureOverlay",
|
||||
sdk_version: "current",
|
||||
product_specific: true,
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 The PixelExperience Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.lineageos.aperture.overlay">
|
||||
|
||||
<overlay
|
||||
android:isStatic="true"
|
||||
android:priority="800"
|
||||
android:targetPackage="org.lineageos.aperture" />
|
||||
</manifest>
|
||||
@@ -1,40 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2022 The Android Open Source Project
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<!-- An array of triplets made of (camera ID, qualities, framerates).
|
||||
These video modes will be added to the available
|
||||
quality/framerate combinations of a camera device.
|
||||
Make sure the device is able to handle those configurations
|
||||
and maintain a stable framerate at any condition.
|
||||
Note that you can't add video qualities that aren't
|
||||
exposed by the camera, only new framerates.
|
||||
Valid values of resolution are:
|
||||
- "sd" (480p)
|
||||
- "hd" (720p)
|
||||
- "fhd" (1080p)
|
||||
- "uhd" (2160p)
|
||||
Valid values of framerate are:
|
||||
- "24"
|
||||
- "30"
|
||||
- "60"
|
||||
- "120"
|
||||
Example:
|
||||
<string-array name="config_additionalVideoConfigurations">
|
||||
<item>0</item> <item>sd|hd|fhd</item> <item>60|120</item>
|
||||
<item>1</item> <item>sd|hd|fhd</item> <item>60</item>
|
||||
</string-array>
|
||||
-->
|
||||
<string-array name="config_additionalVideoConfigurations">
|
||||
<item>0</item> <item>sd|hd|fhd|uhd</item> <item>30|60</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
@@ -1,12 +0,0 @@
|
||||
//
|
||||
// Copyright (C) 2024 The LineageOS Project
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "ApertureQRScannerOverlay",
|
||||
sdk_version: "current",
|
||||
resource_dirs: ["res"],
|
||||
system_ext_specific: true,
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2022 The Android Open Source Project
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.qrscanner.overlay">
|
||||
|
||||
<application android:hasCode="false" />
|
||||
<overlay
|
||||
android:targetPackage="android"
|
||||
android:isStatic="true"
|
||||
android:priority="1"/>
|
||||
</manifest>
|
||||
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/**
|
||||
* Copyright (c) 2009, The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
-->
|
||||
|
||||
<!-- These resources are around just to allow their values to be customized
|
||||
for different hardware and product builds. Do not translate. -->
|
||||
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
|
||||
<!-- Default component for QR code scanner -->
|
||||
<string name="config_defaultQrCodeComponent">org.lineageos.aperture/.QrScannerActivity</string>
|
||||
|
||||
</resources>
|
||||
@@ -1,9 +0,0 @@
|
||||
//
|
||||
// Copyright (C) 2024 The LineageOS Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "EuiccOverlay2201116SR",
|
||||
vendor: true,
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
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.euicc.s88008ba1">
|
||||
<overlay
|
||||
android:requiredSystemPropertyName="ro.boot.board_id"
|
||||
android:requiredSystemPropertyValue="S88008BA1"
|
||||
android:targetPackage="com.google.android.euicc" />
|
||||
</manifest>
|
||||
@@ -1,14 +0,0 @@
|
||||
<?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">
|
||||
<string name="sim_slot_mappings_json">
|
||||
{\"sim-slot-mappings\": [{
|
||||
\"devices\": [\"veux\"],
|
||||
\"esim-slot-ids\": [1],
|
||||
\"psim-slot-ids\": [0]
|
||||
}]}
|
||||
</string>
|
||||
</resources>
|
||||
@@ -5,6 +5,118 @@
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- 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>5186</item>
|
||||
<item>4333</item>
|
||||
<item>3666</item>
|
||||
<item>2999</item>
|
||||
<item>2759</item>
|
||||
<item>2519</item>
|
||||
<item>2279</item>
|
||||
<item>2039</item>
|
||||
<item>1799</item>
|
||||
<item>799</item>
|
||||
<item>527</item>
|
||||
<item>499</item>
|
||||
<item>470</item>
|
||||
<item>517</item>
|
||||
<item>565</item>
|
||||
<item>612</item>
|
||||
<item>660</item>
|
||||
<item>708</item>
|
||||
<item>742</item>
|
||||
<item>636</item>
|
||||
<item>582</item>
|
||||
<item>549</item>
|
||||
<item>369</item>
|
||||
<item>294</item>
|
||||
<item>269</item>
|
||||
<item>220</item>
|
||||
<item>220</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>525</item>
|
||||
<item>683</item>
|
||||
<item>666</item>
|
||||
<item>650</item>
|
||||
<item>640</item>
|
||||
<item>630</item>
|
||||
<item>620</item>
|
||||
<item>610</item>
|
||||
<item>600</item>
|
||||
<item>500</item>
|
||||
<item>500</item>
|
||||
<item>440</item>
|
||||
<item>385</item>
|
||||
<item>382</item>
|
||||
<item>379</item>
|
||||
<item>376</item>
|
||||
<item>373</item>
|
||||
<item>371</item>
|
||||
<item>367</item>
|
||||
<item>387</item>
|
||||
<item>397</item>
|
||||
<item>403</item>
|
||||
<item>380</item>
|
||||
<item>345</item>
|
||||
<item>333</item>
|
||||
<item>283</item>
|
||||
<item>283</item>
|
||||
</integer-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>3</item>
|
||||
<item>4</item>
|
||||
<item>5</item>
|
||||
<item>6</item>
|
||||
<item>7</item>
|
||||
<item>8</item>
|
||||
<item>9</item>
|
||||
<item>10</item>
|
||||
<item>20</item>
|
||||
<item>30</item>
|
||||
<item>40</item>
|
||||
<item>50</item>
|
||||
<item>60</item>
|
||||
<item>70</item>
|
||||
<item>80</item>
|
||||
<item>90</item>
|
||||
<item>100</item>
|
||||
<item>200</item>
|
||||
<item>300</item>
|
||||
<item>400</item>
|
||||
<item>500</item>
|
||||
<item>1000</item>
|
||||
<item>2000</item>
|
||||
<item>3000</item>
|
||||
<item>4000</item>
|
||||
</integer-array>
|
||||
|
||||
<!-- Flag indicating whether we should enable the automatic brightness.
|
||||
Software implementation will be used if config_hardware_auto_brightness_available is not set -->
|
||||
<bool name="config_automatic_brightness_available">true</bool>
|
||||
@@ -317,7 +429,7 @@
|
||||
<!-- Screen brightness used to dim the screen while dozing in a very low power state.
|
||||
May be less than the minimum allowed brightness setting
|
||||
that can be set by the user. -->
|
||||
<integer name="config_screenBrightnessDoze">55</integer>
|
||||
<item name="config_screenBrightnessDozeFloat" format="float" type="dimen">0.00342131</item>
|
||||
|
||||
<!-- Minimum screen brightness setting allowed by power manager.
|
||||
The user is forbidden from setting the brightness below this level. -->
|
||||
@@ -355,13 +467,6 @@
|
||||
<!-- Shutdown if the battery temperature exceeds (this value * 0.1) Celsius. -->
|
||||
<integer name="config_shutdownBatteryTemperature">550</integer>
|
||||
|
||||
<!-- Whether device has turbo power charging support -->
|
||||
<bool name="config_hasTurboPowerCharger">true</bool>
|
||||
|
||||
<!-- Path to fast charging status file to detect whether an oem fast charger is active -->
|
||||
<!-- For Turbo : -->
|
||||
<string name="config_oemFastChargerStatusPath" translatable="false">/sys/class/qcom-battery/fastcharge_mode</string>
|
||||
|
||||
<!-- set to false if we need to show user confirmation
|
||||
when alpha identifier is not provided by the UICC -->
|
||||
<bool name="config_stkNoAlphaUsrCnf">false</bool>
|
||||
@@ -444,18 +549,5 @@
|
||||
<!-- The maximum range of gamma adjustment possible using the screen
|
||||
auto-brightness adjustment setting. -->
|
||||
<fraction name="config_autoBrightnessAdjustmentMaxGamma">150%</fraction>
|
||||
|
||||
<!-- Enables or disables fading edges when marquee is enabled in TextView.
|
||||
Off by default, since the framebuffer readback used to implement the
|
||||
fading edges is prohibitively expensive on most GPU's. -->
|
||||
<bool name="config_ui_enableFadingMarquee">true</bool>
|
||||
|
||||
<!-- Flag indicating whether the surface flinger is inefficient
|
||||
at performing a blur. Used by parts of the UI to turn off
|
||||
the blur effect where it isn't worth the performance hit.
|
||||
As of Honeycomb, blurring is not supported anymore. -->
|
||||
<bool name="config_sf_slowBlur">false</bool>
|
||||
|
||||
<!-- Whether the new Auto Selection Network UI should be shown -->
|
||||
<bool name="config_enableNewAutoSelectNetworkUI">true</bool>
|
||||
</resources>
|
||||
|
||||
@@ -39,9 +39,9 @@
|
||||
<!-- Defines the actions shown in advanced reboot submenu -->
|
||||
<string-array name="config_restartActionsList">
|
||||
<item>restart</item>
|
||||
<item>restart_systemui</item>
|
||||
<item>restart_recovery</item>
|
||||
<item>restart_bootloader</item>
|
||||
<item>restart_fastboot</item>
|
||||
</string-array>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
//
|
||||
// Copyright (C) 2024 The LineageOS Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "SettingsOverlay2201116SR",
|
||||
vendor: true,
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
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.s88008ba1">
|
||||
<overlay
|
||||
android:requiredSystemPropertyName="ro.boot.board_id"
|
||||
android:requiredSystemPropertyValue="S88008BA1"
|
||||
android:targetPackage="com.android.settings" />
|
||||
</manifest>
|
||||
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 50 KiB |
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2023-2024 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- Default for Settings.Global.DEVICE_NAME $1=MODEL-->
|
||||
<string name="def_device_name_simple" translatable="false">Redmi Note 11 Pro 5G</string>
|
||||
|
||||
</resources>
|
||||
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 92 KiB |
@@ -43,10 +43,4 @@
|
||||
<!-- Show battery cycle count -->
|
||||
<bool name="config_show_battery_cycle_count" translatable="false">true</bool>
|
||||
|
||||
<!-- Whether to show a preference item for regulatory information in About phone -->
|
||||
<bool name="config_show_regulatory_info">true</bool>
|
||||
|
||||
<!-- Android version screen, build maintainer -->
|
||||
<string name="build_maintainer_summary" translatable="false">PrathamK07 (Rex)</string>
|
||||
<string name="build_maintainer_donate_url" translatable="false">https://paypal.me/PrathamKalra</string>
|
||||
</resources>
|
||||
|
||||
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 92 KiB |
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2023-2025 The LineageOS Project
|
||||
Copyright (C) 2023-2024 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
@@ -77,9 +77,4 @@
|
||||
<!-- Doze: does this device support STATE_DOZE_SUSPEND? -->
|
||||
<bool name="doze_suspend_display_state_supported">false</bool>
|
||||
|
||||
<!-- Whether to play turbulence noise after clicking the play button -->
|
||||
<bool name="config_turbulenceNoise">false</bool>
|
||||
|
||||
<!-- The CPU temperature divider, if needed -->
|
||||
<integer name="config_cpuTempDivider" translatable="false">1000</integer>
|
||||
</resources>
|
||||
|
||||
@@ -55,7 +55,4 @@
|
||||
range string like '1-6,11'. -->
|
||||
<string name="config_wifiSoftap2gChannelList" translatable="false" />
|
||||
|
||||
<!-- Indicate the driver support NL80211_REG_CHANGED event. -->
|
||||
<bool translatable="false" name="config_wifiDriverSupportedNl80211RegChangedEvent">false</bool>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -7,6 +7,4 @@
|
||||
<overlay package="com.android.settings.overlay.veux" mutable="false" enabled="true" />
|
||||
<overlay package="com.android.systemui.overlay.veux" mutable="false" enabled="true" />
|
||||
<overlay package="com.android.wifi.resources.overlay.veux" mutable="false" enabled="true" />
|
||||
<overlay package="com.android.settings.overlay.s88008ba1" mutable="false" enabled="true" />
|
||||
<overlay package="com.android.euicc.s88008ba1" mutable="false" enabled="true" />
|
||||
</config>
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2023-24 Paranoid Android
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- Dolby Atmos -->
|
||||
<string-array name="dolby_profile_entries">
|
||||
<item>@string/dolby_profile_dynamic</item>
|
||||
<item>@string/dolby_profile_video</item>
|
||||
<item>@string/dolby_profile_music</item>
|
||||
<item>@string/dolby_profile_game</item>
|
||||
<item>@string/dolby_profile_voice</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="dolby_profile_values">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>8</item>
|
||||
<item>9</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
@@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2023-24 Paranoid Android
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
|
||||
<!-- Dolby profiles -->
|
||||
<string name="dolby_profile_dynamic">Dynamic</string>
|
||||
<string name="dolby_profile_video">Movie/Video</string>
|
||||
<string name="dolby_profile_music">Music</string>
|
||||
<string name="dolby_profile_game">Game</string>
|
||||
<string name="dolby_profile_voice">Voice</string>
|
||||
</resources>
|
||||
@@ -1,8 +0,0 @@
|
||||
[
|
||||
"/dev/video0",
|
||||
"/dev/video1",
|
||||
"/dev/video2",
|
||||
"/dev/video3",
|
||||
"/dev/video32",
|
||||
"/dev/video33"
|
||||
]
|
||||
@@ -17,15 +17,4 @@ android_app {
|
||||
static_libs: [
|
||||
"org.lineageos.settings.resources",
|
||||
],
|
||||
|
||||
required: [
|
||||
"privapp_whitelist_org.lineageos.settings.xml",
|
||||
],
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "privapp_whitelist_org.lineageos.settings.xml",
|
||||
src: "permissions/privapp_whitelist_org.lineageos.settings.xml",
|
||||
sub_dir: "permissions",
|
||||
system_ext_specific: true,
|
||||
}
|
||||
|
||||
@@ -16,26 +16,19 @@
|
||||
limitations under the License.
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="org.lineageos.settings"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0"
|
||||
android:sharedUserId="android.uid.system">
|
||||
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.GET_TASKS" />
|
||||
<uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" />
|
||||
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
|
||||
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="24"
|
||||
android:targetSdkVersion="30"/>
|
||||
|
||||
<application
|
||||
android:label="@string/app_title"
|
||||
android:label="@string/device_settings_app_name"
|
||||
android:persistent="true"
|
||||
android:defaultToDeviceProtectedStorage="true"
|
||||
android:directBootAware="true"
|
||||
@@ -47,21 +40,6 @@
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<provider
|
||||
android:name="androidx.startup.InitializationProvider"
|
||||
android:authorities="${applicationId}.androidx-startup"
|
||||
tools:replace="android:authorities"/>
|
||||
|
||||
<receiver
|
||||
android:name=".Startup"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||
<action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<activity
|
||||
android:name=".dirac.DiracActivity"
|
||||
android:label="@string/dirac_title"
|
||||
@@ -69,24 +47,25 @@
|
||||
<intent-filter>
|
||||
<action android:name="com.android.settings.action.IA_SETTINGS" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
<meta-data
|
||||
android:name="com.android.settings.category"
|
||||
android:value="com.android.settings.category.ia.sound" />
|
||||
<meta-data
|
||||
android:name="com.android.settings.summary"
|
||||
android:resource="@string/dirac_summary" />
|
||||
</activity>
|
||||
</activity>
|
||||
|
||||
<service
|
||||
android:name=".dirac.DiracTileService"
|
||||
android:icon="@drawable/ic_qs_dirac"
|
||||
android:label="@string/dirac_title"
|
||||
android:exported="true"
|
||||
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
|
||||
<intent-filter>
|
||||
<action android:name="android.service.quicksettings.action.QS_TILE"/>
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<service
|
||||
android:name=".dirac.DiracTileService"
|
||||
android:icon="@drawable/ic_qs_dirac"
|
||||
android:label="@string/dirac_title"
|
||||
android:exported="true"
|
||||
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
|
||||
<intent-filter>
|
||||
<action android:name="android.service.quicksettings.action.QS_TILE"/>
|
||||
</intent-filter>
|
||||
</service>
|
||||
<activity
|
||||
android:name=".thermal.ThermalActivity"
|
||||
android:label="@string/thermal_title">
|
||||
@@ -95,10 +74,13 @@
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="com.android.settings.category"
|
||||
android:value="com.android.settings.category.ia.battery" />
|
||||
android:value="com.android.settings.category.ia.system" />
|
||||
<meta-data
|
||||
android:name="com.android.settings.summary"
|
||||
android:resource="@string/thermal_summary" />
|
||||
<meta-data
|
||||
android:name="com.android.settings.icon"
|
||||
android:resource="@drawable/ic_thermal_settings" />
|
||||
</activity>
|
||||
|
||||
<service
|
||||
@@ -141,48 +123,5 @@
|
||||
android:permission="RefreshService">
|
||||
</service>
|
||||
|
||||
<!-- Display Saturation activity -->
|
||||
<activity
|
||||
android:name=".saturation.SaturationActivity"
|
||||
android:label="@string/saturation_title"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="com.android.settings.action.IA_SETTINGS" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="com.android.settings.category"
|
||||
android:value="com.android.settings.category.ia.display" />
|
||||
<meta-data
|
||||
android:name="com.android.settings.summary"
|
||||
android:resource="@string/saturation_summary" />
|
||||
</activity>
|
||||
|
||||
<!-- Display Saturation tile service -->
|
||||
<service
|
||||
android:name=".saturation.SaturationTileService"
|
||||
android:label="@string/saturation_title"
|
||||
android:icon="@drawable/ic_saturation_tile"
|
||||
android:exported="true"
|
||||
android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
|
||||
<intent-filter>
|
||||
<action android:name="android.service.quicksettings.action.QS_TILE" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<activity
|
||||
android:name=".touchsampling.TouchSamplingSettingsActivity"
|
||||
android:label="@string/htsr_enable_title"
|
||||
android:theme="@style/Theme.SubSettingsBase"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="com.android.settings.action.IA_SETTINGS" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="com.android.settings.category"
|
||||
android:value="com.android.settings.category.ia.display" />
|
||||
<meta-data
|
||||
android:name="com.android.settings.summary"
|
||||
android:resource="@string/htsr_enable_summary" />
|
||||
</activity>
|
||||
</application>
|
||||
</manifest>
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
<permissions>
|
||||
<privapp-permissions package="org.lineageos.settings">
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||
</privapp-permissions>
|
||||
</permissions>
|
||||
|
Before Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 215 KiB |
|
Before Width: | Height: | Size: 1.0 MiB |