Compare commits
224 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
473ebb96a1 | ||
|
|
9715421f6e | ||
| 0707562c00 | |||
| 39efba2edd | |||
|
|
3fcae52b0a | ||
|
|
09f43d6001 | ||
| d5a994bdc5 | |||
|
|
201291bfc9 | ||
| 034ac1079d | |||
|
|
9125b266de | ||
| bfadd7d266 | |||
|
|
669eb46866 | ||
| 2c07ac12c0 | |||
|
|
a25679d72a | ||
|
|
bd0b1b7941 | ||
|
|
980d7febe9 | ||
|
|
e34ff0e2a7 | ||
|
|
0010c27c4a | ||
|
|
c4f971ec87 | ||
|
|
f93a5d52e1 | ||
|
|
6e5f817739 | ||
|
|
1d735d0872 | ||
|
|
b801a6b8b2 | ||
|
|
894d30bbef | ||
|
|
41a872811c | ||
|
|
edc447fd7b | ||
|
|
395a63520d | ||
|
|
8befda51e0 | ||
|
|
73f2acf17f | ||
|
|
b64a3e951e | ||
|
|
6f7260280c | ||
|
|
95d22e6bf2 | ||
|
|
272c106d68 | ||
|
|
773fac066d | ||
|
|
5781ef8115 | ||
|
|
8c42dfd953 | ||
|
|
af403b5823 | ||
|
|
9704538881 | ||
|
|
7dcbdaa73a | ||
|
|
413af0bee7 | ||
|
|
052f879ef6 | ||
|
|
19821df6ee | ||
|
|
e44b3a9c8a | ||
|
|
8680d4be01 | ||
|
|
5f5100a913 | ||
|
|
fefeb46771 | ||
|
|
ebd8579556 | ||
|
|
1f078645f2 | ||
|
|
c88cc1999c | ||
|
|
46d07feae0 | ||
|
|
5009a88468 | ||
|
|
8f2a63026f | ||
|
|
f71c31e31b | ||
|
|
3e58111767 | ||
|
|
8cb9e7008f | ||
|
|
c211986115 | ||
|
|
95f8dc87f3 | ||
|
|
b31cd93b6c | ||
|
|
685e14155e | ||
|
|
ee9b65058d | ||
|
|
7361a73bc2 | ||
|
|
7fbeab1ea7 | ||
|
|
eccd5dbf19 | ||
|
|
38e5b7324a | ||
|
|
97ab63eeaa | ||
|
|
380477f8f8 | ||
|
|
0b254bbd2b | ||
|
|
414743f07b | ||
|
|
507fa416c8 | ||
|
|
81736c6087 | ||
|
|
29bc7e71cd | ||
|
|
2d84a63b78 | ||
|
|
0b07d11514 | ||
|
|
d2fb878dd9 | ||
|
|
f50bf26060 | ||
|
|
0c0a4f9ac9 | ||
|
|
57c8e617b7 | ||
|
|
90feee0b35 | ||
|
|
543d19abc8 | ||
|
|
29de0e31b7 | ||
|
|
b8391fffe6 | ||
|
|
d6e09a3e9f | ||
|
|
11cef7303a | ||
|
|
17ec43386b | ||
|
|
7f929d83c4 | ||
|
|
830fca7128 | ||
|
|
c4d66b47ef | ||
|
|
e636dfcfa8 | ||
|
|
ab241df13b | ||
|
|
912585ff23 | ||
|
|
047aaf09e5 | ||
|
|
64875490d9 | ||
|
|
eff2895d43 | ||
|
|
6f92fef31f | ||
|
|
803e7fa0a6 | ||
|
|
036aca6ea5 | ||
|
|
1e837a2a3d | ||
|
|
c3d3d2bc0a | ||
|
|
46fd4d38a8 | ||
|
|
43439b05dc | ||
|
|
e5c3623a47 | ||
|
|
e1a302b2bc | ||
|
|
be70a26aee | ||
|
|
2f9a706f39 | ||
|
|
c9b38b0863 | ||
|
|
cf51e84158 | ||
|
|
651431f0b0 | ||
|
|
7e2d10966f | ||
|
|
560aefb5bc | ||
|
|
05d169ef0a | ||
|
|
a6ce1112f7 | ||
|
|
b65405eba5 | ||
|
|
7e0bb23c24 | ||
|
|
0cea7e83bd | ||
|
|
67c573ad9c | ||
|
|
80f13f2829 | ||
|
|
3450c611ab | ||
|
|
9b520bb5a9 | ||
|
|
8537a433c0 | ||
|
|
cdfcf05df0 | ||
|
|
9f4e866fb1 | ||
|
|
8ea4d1ca13 | ||
|
|
edb241c473 | ||
|
|
4f3862d5ab | ||
|
|
4174bbf96b | ||
|
|
395010c444 | ||
|
|
8e523059a3 | ||
|
|
c04912d9b9 | ||
|
|
54da1294fc | ||
|
|
23744a50f1 | ||
|
|
44f6d482a8 | ||
|
|
a8ac825418 | ||
|
|
56db5b07da | ||
|
|
278a26bae3 | ||
|
|
05b465d220 | ||
|
|
da0ce8678c | ||
|
|
c00172018c | ||
|
|
aaa01b7e93 | ||
|
|
fafca19555 | ||
|
|
35ded5e9fd | ||
|
|
00efe8aced | ||
|
|
e5f4940875 | ||
|
|
15b00d5e4d | ||
|
|
0eb9e604da | ||
|
|
70f6ff0aa3 | ||
|
|
ba83c3672f | ||
|
|
e6d1e1e2cd | ||
|
|
c230766fc2 | ||
|
|
3d0165b663 | ||
|
|
ec7cb030a1 | ||
|
|
10ca2544ae | ||
|
|
ec0edc2784 | ||
|
|
30f85a4dd0 | ||
|
|
f880b60ce1 | ||
|
|
40683a1aa2 | ||
|
|
009fc35027 | ||
|
|
4acb6de674 | ||
|
|
d47e6132ae | ||
|
|
22e01746f6 | ||
|
|
7ff2c8c099 | ||
|
|
f345bd0090 | ||
|
|
cdfd91e4ed | ||
|
|
d2c4ea2b8a | ||
|
|
78ebbce81e | ||
|
|
4772101d1d | ||
|
|
0d0285a168 | ||
|
|
adcae35d79 | ||
|
|
365be1d9a1 | ||
|
|
432d2a9af3 | ||
|
|
d17c81f690 | ||
|
|
3fbde85eff | ||
|
|
30974d06d1 | ||
|
|
5ec6e5c994 | ||
|
|
644b46bac7 | ||
|
|
f0cf4bfbba | ||
|
|
4a5b44b207 | ||
|
|
8ad4b7ac3f | ||
|
|
47cd35be9d | ||
|
|
fb611ba114 | ||
|
|
c218b7e36f | ||
|
|
21a9da907e | ||
|
|
e626817d3b | ||
|
|
00b2d743c2 | ||
|
|
1073f729b3 | ||
|
|
2a578d889b | ||
|
|
5cbc41bf8c | ||
|
|
34e6069a0b | ||
|
|
644cef6a2e | ||
|
|
8e03263971 | ||
|
|
65f357591b | ||
|
|
aabe2a26c0 | ||
|
|
2aab37fdce | ||
|
|
cc006dd119 | ||
|
|
3466ef5f3d | ||
|
|
4c9fbd57a5 | ||
|
|
3b4aeaf3d3 | ||
|
|
152b552d98 | ||
|
|
8e14390d0f | ||
|
|
550f179c07 | ||
|
|
2113a2bb3f | ||
|
|
faf03a310b | ||
|
|
b94192e809 | ||
|
|
64d6e1c379 | ||
|
|
be86e6d7f0 | ||
|
|
525d190bf9 | ||
|
|
0b4beac54d | ||
|
|
e09c86039d | ||
|
|
6ed68f9c25 | ||
|
|
388feef39e | ||
|
|
a0c51443c7 | ||
|
|
42a45c3744 | ||
|
|
49ae8b638c | ||
|
|
7e35d5340a | ||
|
|
5f85246a9d | ||
|
|
153c342e08 | ||
|
|
0e002b4757 | ||
|
|
af610db219 | ||
|
|
2014446a1f | ||
|
|
b87562aff6 | ||
|
|
f0e395a0c8 | ||
|
|
9785cd736e | ||
|
|
66bef0e9be | ||
|
|
8aeb010923 | ||
| 97a92a9082 |
@@ -6,6 +6,7 @@
|
||||
|
||||
soong_namespace {
|
||||
imports: [
|
||||
"bootable/deprecated-ota",
|
||||
"hardware/google/interfaces",
|
||||
"hardware/google/pixel",
|
||||
"hardware/xiaomi",
|
||||
|
||||
34
Android.mk
34
Android.mk
@@ -1,34 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2021-2024 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
ifeq ($(TARGET_DEVICE),raphael)
|
||||
|
||||
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
|
||||
@@ -5,9 +5,4 @@
|
||||
#
|
||||
|
||||
PRODUCT_MAKEFILES := \
|
||||
$(LOCAL_DIR)/evolution_raphael.mk
|
||||
|
||||
COMMON_LUNCH_CHOICES := \
|
||||
evolution_raphael-user \
|
||||
evolution_raphael-userdebug \
|
||||
evolution_raphael-eng
|
||||
$(LOCAL_DIR)/lineage_raphael.mk
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
#
|
||||
# Copyright (C) 2021-2022 The LineageOS Project
|
||||
# Copyright (C) 2019-2025 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
DEVICE_PATH := device/xiaomi/raphael
|
||||
|
||||
# ANT+
|
||||
BOARD_ANT_WIRELESS_DEVICE := "qualcomm-hidl"
|
||||
|
||||
# Architecture
|
||||
TARGET_ARCH := arm64
|
||||
TARGET_ARCH_VARIANT := armv8-2a-dotprod
|
||||
@@ -16,21 +13,23 @@ TARGET_CPU_ABI := arm64-v8a
|
||||
TARGET_CPU_VARIANT := cortex-a76
|
||||
TARGET_CPU_VARIANT_RUNTIME := cortex-a76
|
||||
|
||||
ifeq (,$(filter %_64,$(TARGET_PRODUCT)))
|
||||
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-a76
|
||||
TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a76
|
||||
endif
|
||||
|
||||
# Assert
|
||||
TARGET_OTA_ASSERT_DEVICE := raphael,raphaelin
|
||||
|
||||
# Audio
|
||||
AUDIO_FEATURE_ENABLED_EXT_AMPLIFIER := true
|
||||
AUDIO_FEATURE_ENABLED_GEF_SUPPORT := true
|
||||
AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
|
||||
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
|
||||
BOARD_SUPPORTS_SOUND_TRIGGER := true
|
||||
BOARD_USES_ALSA_AUDIO := true
|
||||
|
||||
# Bootloader
|
||||
TARGET_BOOTLOADER_BOARD_NAME := msmnile
|
||||
@@ -45,46 +44,27 @@ BUILD_BROKEN_ENFORCE_SYSPROP_OWNER := true
|
||||
TARGET_HAS_HDR_DISPLAY := true
|
||||
TARGET_HAS_WIDE_COLOR_DISPLAY := true
|
||||
|
||||
# Camera
|
||||
TARGET_CAMERA_USES_NEWER_HIDL_OVERRIDE_FORMAT := true
|
||||
TARGET_INCLUDES_MIUI_CAMERA := true
|
||||
MALLOC_SVELTE := true
|
||||
MALLOC_SVELTE_FOR_LIBC32 := true
|
||||
|
||||
# Display
|
||||
TARGET_DISABLED_UBWC := true
|
||||
TARGET_GRALLOC_HANDLE_HAS_RESERVED_SIZE := true
|
||||
TARGET_SCREEN_DENSITY := 440
|
||||
TARGET_USES_COLOR_METADATA := true
|
||||
TARGET_USES_DISPLAY_RENDER_INTENTS := true
|
||||
TARGET_USES_DRM_PP := true
|
||||
TARGET_USES_GRALLOC4 := true
|
||||
TARGET_USES_HWC2 := true
|
||||
|
||||
# Filesystem
|
||||
TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs
|
||||
|
||||
# Fingerprint
|
||||
TARGET_INPUTDISPATCHER_SKIP_EVENT_KEY := 338
|
||||
TARGET_SURFACEFLINGER_UDFPS_LIB := //$(DEVICE_PATH):libudfps_extension.xiaomi_raphael
|
||||
TARGET_USES_FOD_ZPOS := true
|
||||
|
||||
# FM
|
||||
BOARD_HAVE_QCOM_FM := true
|
||||
|
||||
# HIDL
|
||||
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
|
||||
vendor/evolution/config/device_framework_matrix.xml
|
||||
$(DEVICE_PATH)/hidl/framework_compatibility_matrix.xml \
|
||||
hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \
|
||||
hardware/xiaomi/vintf/xiaomi_framework_compatibility_matrix.xml
|
||||
DEVICE_MANIFEST_FILE := $(DEVICE_PATH)/hidl/manifest.xml
|
||||
DEVICE_MATRIX_FILE := $(DEVICE_PATH)/hidl/compatibility_matrix.xml
|
||||
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := $(DEVICE_PATH)/hidl/framework_compatibility_matrix.xml
|
||||
ODM_MANIFEST_SKUS += nfc
|
||||
ODM_MANIFEST_NFC_FILES := $(DEVICE_PATH)/hidl/manifest_nfc.xml
|
||||
|
||||
# Init
|
||||
TARGET_INIT_VENDOR_LIB := //$(DEVICE_PATH):init_xiaomi_raphael
|
||||
TARGET_RECOVERY_DEVICE_MODULES ?= init_xiaomi_raphael
|
||||
|
||||
# Kernel
|
||||
BOARD_KERNEL_BASE := 0x00000000
|
||||
BOARD_KERNEL_CMDLINE += console=null
|
||||
@@ -101,25 +81,10 @@ BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb
|
||||
BOARD_KERNEL_PAGESIZE := 4096
|
||||
BOARD_KERNEL_SEPARATED_DTBO := true
|
||||
BOARD_RAMDISK_USE_LZ4 := true
|
||||
TARGET_KERNEL_CLANG_VERSION := boolx-clang
|
||||
TARGET_KERNEL_CLANG_PATH := $(shell pwd)/prebuilts/clang/host/linux-x86/$(TARGET_KERNEL_CLANG_VERSION)
|
||||
TARGET_KERNEL_CLANG_COMPILE := true
|
||||
TARGET_KERNEL_CROSS_COMPILE_PREFIX := $(TARGET_KERNEL_CLANG_PATH)/bin/aarch64-linux-gnu-
|
||||
TARGET_KERNEL_CROSS_COMPILE_ARM32_PREFIX := $(TARGET_KERNEL_CLANG_PATH)/bin/arm-linux-gnueabi-
|
||||
TARGET_KERNEL_ADDITIONAL_FLAGS := LLVM=1 LLVM_IAS=1
|
||||
KERNEL_SUPPORTS_LLVM_TOOLS := true
|
||||
KERNEL_LD := LD=ld.lld
|
||||
TARGET_KERNEL_SOURCE := kernel/xiaomi/raphael
|
||||
TARGET_KERNEL_CONFIG := raphael_defconfig
|
||||
|
||||
# Lineage Health
|
||||
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_PATH := /sys/class/power_supply/battery/input_suspend
|
||||
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_ENABLED := 0
|
||||
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_DISABLED := 1
|
||||
TARGET_HEALTH_CHARGING_CONTROL_SUPPORTS_BYPASS := false
|
||||
|
||||
# Media
|
||||
TARGET_DISABLED_UBWC := true
|
||||
TARGET_USES_ION := true
|
||||
|
||||
# Partitions
|
||||
@@ -170,6 +135,7 @@ TARGET_BOARD_PLATFORM := msmnile
|
||||
|
||||
# Properties
|
||||
TARGET_ODM_PROP += $(DEVICE_PATH)/odm.prop
|
||||
TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop
|
||||
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
|
||||
TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/system_ext.prop
|
||||
TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
|
||||
@@ -177,7 +143,7 @@ TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
|
||||
# Recovery
|
||||
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
|
||||
BOARD_INCLUDE_RECOVERY_DTBO := true
|
||||
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.qcom
|
||||
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/init/fstab.qcom
|
||||
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
|
||||
TARGET_RECOVERY_UI_MARGIN_HEIGHT := 120
|
||||
|
||||
@@ -188,7 +154,7 @@ TARGET_RELEASETOOLS_EXTENSIONS := $(DEVICE_PATH)
|
||||
ENABLE_VENDOR_RIL_SERVICE := true
|
||||
|
||||
# Security patch level
|
||||
VENDOR_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH)
|
||||
VENDOR_SECURITY_PATCH := 2025-05-05
|
||||
|
||||
# Sepolicy
|
||||
include device/qcom/sepolicy_vndr/SEPolicy.mk
|
||||
|
||||
@@ -1,27 +1,13 @@
|
||||
//
|
||||
// Copyright (C) 2020 The LineageOS Project
|
||||
// Copyright (C) 2024 LibreMobileOS Foundation
|
||||
//
|
||||
// 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
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
// 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.
|
||||
|
||||
cc_library_shared {
|
||||
name: "libshim_megvii",
|
||||
|
||||
proprietary: true,
|
||||
srcs: ["megvii_shim.cpp"],
|
||||
cc_library_static {
|
||||
name: "libcameraservice_extension.raphael",
|
||||
srcs: ["CameraProviderExtension.cpp"],
|
||||
include_dirs: [
|
||||
"frameworks/av/services/camera/libcameraservice/common"
|
||||
],
|
||||
}
|
||||
|
||||
cc_library_shared {
|
||||
name: "libwatermark_shim",
|
||||
srcs: ["libwatermark_shim.c"],
|
||||
vendor: true,
|
||||
}
|
||||
78
camera/CameraProviderExtension.cpp
Normal file
78
camera/CameraProviderExtension.cpp
Normal file
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* Copyright (C) 2024 LibreMobileOS Foundation
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include "CameraProviderExtension.h"
|
||||
|
||||
#include <fstream>
|
||||
|
||||
#define TORCH_BRIGHTNESS "brightness"
|
||||
#define TORCH_MAX_BRIGHTNESS "max_brightness"
|
||||
#define TOGGLE_SWITCH "/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:switch_2/brightness"
|
||||
|
||||
static std::string kTorchLedPaths[] = {
|
||||
"/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_0",
|
||||
"/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_1",
|
||||
};
|
||||
|
||||
/**
|
||||
* Write value to path and close file.
|
||||
*/
|
||||
template <typename T>
|
||||
static void set(const std::string& path, const T& value) {
|
||||
std::ofstream file(path);
|
||||
file << value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Read value from the path and close file.
|
||||
*/
|
||||
template <typename T>
|
||||
static T get(const std::string& path, const T& def) {
|
||||
std::ifstream file(path);
|
||||
T result;
|
||||
|
||||
file >> result;
|
||||
return file.fail() ? def : result;
|
||||
}
|
||||
|
||||
bool supportsTorchStrengthControlExt() {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool supportsSetTorchModeExt() {
|
||||
return false;
|
||||
}
|
||||
|
||||
int32_t getTorchDefaultStrengthLevelExt() {
|
||||
return 80;
|
||||
}
|
||||
|
||||
int32_t getTorchMaxStrengthLevelExt() {
|
||||
// 200 (out of 500) is a sane max brightness
|
||||
return 200;
|
||||
}
|
||||
|
||||
int32_t getTorchStrengthLevelExt() {
|
||||
// We write same value in the both LEDs,
|
||||
// so get from one.
|
||||
auto node = kTorchLedPaths[0] + "/" + TORCH_BRIGHTNESS;
|
||||
return get(node, 0);
|
||||
}
|
||||
|
||||
void setTorchStrengthLevelExt(int32_t torchStrength, bool enabled) {
|
||||
set(TOGGLE_SWITCH, 0);
|
||||
for (auto& path : kTorchLedPaths) {
|
||||
auto node = path + "/" + TORCH_BRIGHTNESS;
|
||||
set(node, torchStrength);
|
||||
}
|
||||
if (enabled)
|
||||
set(TOGGLE_SWITCH, 255);
|
||||
}
|
||||
|
||||
void setTorchModeExt(bool enabled) {
|
||||
int32_t strength = getTorchDefaultStrengthLevelExt();
|
||||
setTorchStrengthLevelExt(enabled ? strength : 0, enabled);
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
void _ZN4piex19GetPreviewImageDataEPNS_15StreamInterfaceEPNS_16PreviewImageDataE() {}
|
||||
@@ -1,19 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2020 The LineageOS Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
namespace android {
|
||||
extern "C" void mg_facepp() {}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--- Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. -->
|
||||
<!--- Copyright (c) 2018-2019, 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 -->
|
||||
@@ -43,7 +43,17 @@
|
||||
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
|
||||
<library name="volume_listener" path="libvolumelistener.so"/>
|
||||
<library name="audiosphere" path="libasphere.so"/>
|
||||
<library name="shoebox" path="libshoebox.so"/>
|
||||
<library name="v4a_re" path="libv4a_re.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">
|
||||
@@ -90,7 +100,17 @@
|
||||
<effect name="voice_helper" library="volume_listener" uuid="0ace5c08-0590-11e5-ae9e-0025b32654a0"/>
|
||||
<effect name="notification_helper" library="volume_listener" uuid="0b776dde-0590-11e5-81ba-0025b32654a0"/>
|
||||
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
|
||||
<effect name="shoebox" library="shoebox" uuid="1eab784c-1a36-4b2a-b7fc-e34c44cab89e"/>
|
||||
<effect name="v4a_standard_re" library="v4a_re" uuid="90380da3-8536-4744-a6a3-5731970e640f"/>
|
||||
<!--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-->
|
||||
</effects>
|
||||
<postprocess>
|
||||
<stream type="music">
|
||||
|
||||
@@ -33,7 +33,7 @@ outputs {
|
||||
app_type 69943
|
||||
}
|
||||
voip_rx {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX
|
||||
flags AUDIO_OUTPUT_FLAG_VOIP_RX
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
sampling_rates 8000|16000|32000|48000
|
||||
bit_width 16
|
||||
|
||||
@@ -29,7 +29,6 @@
|
||||
<device name="SND_DEVICE_OUT_SPEAKER" acdb_id="10011"/>
|
||||
<device name="SND_DEVICE_OUT_SPEAKER_REVERSE" acdb_id="10011"/>
|
||||
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" acdb_id="124"/>
|
||||
<device name="SND_DEVICE_OUT_GAME_SPEAKER" acdb_id="10024"/>
|
||||
<device name="SND_DEVICE_IN_VOICE_REC_QMIC_FLUENCE" acdb_id="131"/>
|
||||
<device name="SND_DEVICE_IN_VOICE_REC_TMIC" acdb_id="131"/>
|
||||
<device name="SND_DEVICE_IN_VOICE_REC_MIC" acdb_id="132"/>
|
||||
@@ -54,10 +53,8 @@
|
||||
<device name="SND_DEVICE_IN_USB_HEADSET_MIC" acdb_id="10009"/>
|
||||
<device name="SND_DEVICE_IN_HEADSET_MIC" acdb_id="10008"/>
|
||||
<device name="SND_DEVICE_OUT_HEADPHONES" acdb_id="10012"/>
|
||||
<device name="SND_DEVICE_OUT_GAME_HEADPHONES" acdb_id="10022"/>
|
||||
<device name="SND_DEVICE_OUT_HEADPHONES_44_1" acdb_id="10012"/>
|
||||
<device name="SND_DEVICE_OUT_USB_HEADSET" acdb_id="10012"/>
|
||||
<device name="SND_DEVICE_OUT_GAME_USB_HEADSET" acdb_id="10022"/>
|
||||
<device name="SND_DEVICE_OUT_USB_HEADPHONES" acdb_id="10012"/>
|
||||
<device name="SND_DEVICE_OUT_BT_A2DP" acdb_id="10012"/>
|
||||
<device name="SND_DEVICE_IN_USB_REALIME_LOOPBACK_MIC" acdb_id="10019"/>
|
||||
@@ -69,7 +66,6 @@
|
||||
<device name="SND_DEVICE_IN_SPEAKER_TMIC_AEC_NS" module_id="0x10F35" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
|
||||
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" module_id="0x10F34" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
|
||||
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
|
||||
<device name="SND_DEVICE_IN_GAME_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
|
||||
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
|
||||
@@ -78,7 +74,6 @@
|
||||
<device name="SND_DEVICE_IN_SPEAKER_TMIC_AEC_NS" module_id="0x10F35" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
|
||||
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" module_id="0x10F34" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
|
||||
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
|
||||
<device name="SND_DEVICE_IN_GAME_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
|
||||
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
|
||||
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
|
||||
@@ -145,7 +140,6 @@
|
||||
</gain_db_to_level_mapping>
|
||||
<backend_names>
|
||||
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
|
||||
<device name="SND_DEVICE_OUT_GAME_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
|
||||
<device name="SND_DEVICE_OUT_BT_SCO_WB" backend="bt-sco-wb" interface="SLIMBUS_7_RX"/>
|
||||
<device name="SND_DEVICE_OUT_BT_SCO" backend="bt-sco" interface="SLIMBUS_7_RX"/>
|
||||
<device name="SND_DEVICE_OUT_BT_A2DP" backend="bt-a2dp" interface="SLIMBUS_7_RX"/>
|
||||
@@ -153,7 +147,6 @@
|
||||
<device name="SND_DEVICE_OUT_ANC_HEADSET" backend="headphones" interface="SLIMBUS_6_RX"/>
|
||||
<device name="SND_DEVICE_OUT_ANC_FB_HEADSET" backend="headphones" interface="SLIMBUS_6_RX"/>
|
||||
<device name="SND_DEVICE_OUT_SPEAKER" backend="speaker" interface="QUAT_MI2S_RX"/>
|
||||
<device name="SND_DEVICE_OUT_GAME_SPEAKER" backend="speaker" interface="QUAT_MI2S_RX"/>
|
||||
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES" backend="speaker-and-headphones" interface="QUAT_MI2S_RX-and-SLIMBUS_6_RX"/>
|
||||
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="QUAT_MI2S_RX-and-SLIMBUS_6_RX"/>
|
||||
<device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET" backend="speaker-and-headphones" interface="QUAT_MI2S_RX-and-SLIMBUS_6_RX"/>
|
||||
@@ -282,12 +275,6 @@
|
||||
<mic_info mic_device_id="builtin_mic_2"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
</snd_dev>
|
||||
<snd_dev in_snd_device="SND_DEVICE_IN_GAME_SPEAKER_DMIC_AEC_NS">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
<mic_info mic_device_id="builtin_mic_2"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
</snd_dev>
|
||||
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_SPEAKER_MIC">
|
||||
<mic_info mic_device_id="builtin_mic_1"
|
||||
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
|
||||
|
||||
@@ -74,8 +74,6 @@
|
||||
<mixPort name="hifi_playback" role="source" />
|
||||
<mixPort name="compress_passthrough" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING">
|
||||
<profile name="" format="dynamic"
|
||||
samplingRates="dynamic" channelMasks="dynamic"/>
|
||||
</mixPort>
|
||||
<mixPort name="direct_pcm" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT">
|
||||
@@ -142,7 +140,7 @@
|
||||
samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voip_rx" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_VOIP_RX">
|
||||
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
|
||||
1857
configs/audio/dax-default.xml
Normal file
1857
configs/audio/dax-default.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,41 +0,0 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- Copyright (c) 2015-2016, 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, -->
|
||||
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
|
||||
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
|
||||
<mixer>
|
||||
<ctl name="COMP1 Switch" value="0" />
|
||||
<ctl name="COMP2 Switch" value="0" />
|
||||
<ctl name="HPHL Volume" value="16" />
|
||||
<ctl name="HPHR Volume" value="16" />
|
||||
|
||||
<path name="voice-headphones">
|
||||
<path name="headphones" />
|
||||
<ctl name="COMP1 Switch" value="0" />
|
||||
<ctl name="COMP2 Switch" value="0" />
|
||||
<ctl name="HPHL Volume" value="20" />
|
||||
<ctl name="HPHR Volume" value="20" />
|
||||
</path>
|
||||
|
||||
</mixer>
|
||||
@@ -1,685 +0,0 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!-- Be careful to write the static overlay xml -->
|
||||
<!-- 1. do not create the new path name here, the new path name should -->
|
||||
<!-- be created in common mixer path xml -->
|
||||
<!-- 2. the new path name should not contain the nested path, and should be -->
|
||||
<!-- defined follow after default ctrl -->
|
||||
<!-- 3. the default ctl here will override that in common mixer path xml -->
|
||||
<!-- 4. the first level path will replace the path in common mixer path xml -->
|
||||
<!-- 5. the max nested path can't exceed 10 -->
|
||||
|
||||
<mixer>
|
||||
<ctl name="QUAT_MI2S_RX_Voice Mixer VoiceMMode1" value="0" />
|
||||
<ctl name="QUAT_MI2S_RX_Voice Mixer VoiceMMode2" value="0" />
|
||||
<ctl name="QUAT_MI2S_RX_Voice Mixer Voip" value="0" />
|
||||
<ctl name="ADC1 Volume" value="8" />
|
||||
<ctl name="ADC2 Volume" value="8" />
|
||||
<ctl name="ADC3 Volume" value="8" />
|
||||
<ctl name="ADC4 Volume" value="8" />
|
||||
<ctl name="TFA Profile" value="speaker" />
|
||||
<ctl name="QUAT_MI2S_RX Channels" value="Two" />
|
||||
<ctl name="QUAT_MI2S_TX Channels" value="Two" />
|
||||
<ctl name="QUAT_MI2S_RX Format" value="S24_LE" />
|
||||
<ctl name="QUAT_MI2S_RX SampleRate" value="KHZ_48" />
|
||||
<ctl name="QUATERNARY_MI2S_RX_VI_FB_MUX" value="ZERO" />
|
||||
<ctl name="QUAT_MI2S_TX Channels" value="Two" />
|
||||
<ctl name="QUAT_MI2S_TX Format" value="S24_LE" />
|
||||
<ctl name="QUAT_MI2S_RX SampleRate" value="KHZ_48" />
|
||||
<ctl name="QUAT_MI2S_TX SampleRate" value="KHZ_48" />
|
||||
<ctl name="External AMIC2 Mux" value="Dual_ADC" />
|
||||
<ctl name="COMP1 Switch" value="0" />
|
||||
<ctl name="COMP2 Switch" value="0" />
|
||||
<ctl name="HPHL Volume" value="20" />
|
||||
<ctl name="HPHR Volume" value="20" />
|
||||
|
||||
<path name="deep-buffer-playback speaker">
|
||||
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia1" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="low-latency-playback speaker">
|
||||
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia5" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="audio-ull-playback speaker">
|
||||
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia8" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback speaker">
|
||||
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia4" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback2 speaker">
|
||||
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia7" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback3 speaker">
|
||||
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia10" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback4 speaker">
|
||||
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia11" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback5 speaker">
|
||||
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia12" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback6 speaker">
|
||||
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia13" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback7 speaker">
|
||||
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia14" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback8 speaker">
|
||||
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia15" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback9 speaker">
|
||||
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia16" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="deep-buffer-playback speaker-protected">
|
||||
<path name="deep-buffer-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="deep-buffer-playback speaker-and-display-port">
|
||||
<path name="deep-buffer-playback display-port" />
|
||||
<path name="deep-buffer-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="deep-buffer-playback speaker-and-usb-headphones">
|
||||
<path name="deep-buffer-playback usb-headphones" />
|
||||
<path name="deep-buffer-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="deep-buffer-playback speaker-and-headphones">
|
||||
<path name="deep-buffer-playback headphones" />
|
||||
<path name="deep-buffer-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="deep-buffer-playback speaker-and-bt-sco">
|
||||
<path name="deep-buffer-playback bt-sco" />
|
||||
<path name="deep-buffer-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="deep-buffer-playback speaker-and-bt-sco-wb">
|
||||
<path name="deep-buffer-playback bt-sco-wb" />
|
||||
<path name="deep-buffer-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="deep-buffer-playback speaker-and-bt-a2dp">
|
||||
<path name="deep-buffer-playback bt-a2dp" />
|
||||
<path name="deep-buffer-playback speaker" />
|
||||
</path>
|
||||
|
||||
|
||||
<path name="low-latency-playback speaker-protected">
|
||||
<path name="low-latency-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="low-latency-playback speaker-and-bt-sco">
|
||||
<path name="low-latency-playback bt-sco" />
|
||||
<path name="low-latency-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="low-latency-playback speaker-and-bt-sco-wb">
|
||||
<path name="low-latency-playback bt-sco-wb" />
|
||||
<path name="low-latency-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="low-latency-playback speaker-and-bt-a2dp">
|
||||
<path name="low-latency-playback bt-a2dp" />
|
||||
<path name="low-latency-playback speaker" />
|
||||
</path>
|
||||
|
||||
|
||||
<path name="low-latency-playback speaker-and-display-port">
|
||||
<path name="low-latency-playback display-port" />
|
||||
<path name="low-latency-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="low-latency-playback speaker-and-usb-headphones">
|
||||
<path name="low-latency-playback usb-headphones" />
|
||||
<path name="low-latency-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="low-latency-playback speaker-and-headphones">
|
||||
<path name="low-latency-playback headphones" />
|
||||
<path name="low-latency-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="audio-ull-playback speaker-protected">
|
||||
<path name="audio-ull-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="audio-ull-playback speaker-and-headphones">
|
||||
<path name="audio-ull-playback speaker" />
|
||||
<path name="audio-ull-playback headphones" />
|
||||
</path>
|
||||
|
||||
<path name="audio-ull-playback speaker-and-bt-sco">
|
||||
<path name="audio-ull-playback bt-sco" />
|
||||
<path name="audio-ull-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="audio-ull-playback speaker-and-bt-a2dp">
|
||||
<path name="audio-ull-playback bt-a2dp" />
|
||||
<path name="audio-ull-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="audio-ull-playback speaker-and-bt-sco-wb">
|
||||
<path name="audio-ull-playback bt-sco-wb" />
|
||||
<path name="audio-ull-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="audio-ull-playback speaker-and-display-port">
|
||||
<path name="audio-ull-playback display-port" />
|
||||
<path name="audio-ull-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback speaker-protected">
|
||||
<path name="compress-offload-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback speaker-and-display-port">
|
||||
<path name="compress-offload-playback display-port" />
|
||||
<path name="compress-offload-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback speaker-and-bt-sco">
|
||||
<path name="compress-offload-playback bt-sco" />
|
||||
<path name="compress-offload-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback speaker-and-bt-a2dp">
|
||||
<path name="compress-offload-playback bt-a2dp" />
|
||||
<path name="compress-offload-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback speaker-and-bt-sco-wb">
|
||||
<path name="compress-offload-playback bt-sco-wb" />
|
||||
<path name="compress-offload-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback speaker-and-usb-headphones">
|
||||
<path name="compress-offload-playback usb-headphones" />
|
||||
<path name="compress-offload-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback speaker-and-headphones">
|
||||
<path name="compress-offload-playback headphones" />
|
||||
<path name="compress-offload-playback speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback2 speaker-and-display-port">
|
||||
<path name="compress-offload-playback2 display-port" />
|
||||
<path name="compress-offload-playback2 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback2 speaker-and-bt-sco">
|
||||
<path name="compress-offload-playback2 bt-sco" />
|
||||
<path name="compress-offload-playback2 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback2 speaker-and-bt-sco-wb">
|
||||
<path name="compress-offload-playback2 bt-sco-wb" />
|
||||
<path name="compress-offload-playback2 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback2 speaker-and-bt-a2dp">
|
||||
<path name="compress-offload-playback2 bt-a2dp" />
|
||||
<path name="compress-offload-playback2 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback2 speaker-and-usb-headphones">
|
||||
<path name="compress-offload-playback2 usb-headphones" />
|
||||
<path name="compress-offload-playback2 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback2 speaker-and-headphones">
|
||||
<path name="compress-offload-playback2 headphones" />
|
||||
<path name="compress-offload-playback2 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback3 speaker-and-display-port">
|
||||
<path name="compress-offload-playback3 display-port" />
|
||||
<path name="compress-offload-playback3 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback3 speaker-and-bt-sco">
|
||||
<path name="compress-offload-playback3 bt-sco" />
|
||||
<path name="compress-offload-playback3 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback3 speaker-and-bt-sco-wb">
|
||||
<path name="compress-offload-playback3 bt-sco-wb" />
|
||||
<path name="compress-offload-playback3 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback3 speaker-and-bt-a2dp">
|
||||
<path name="compress-offload-playback3 bt-a2dp" />
|
||||
<path name="compress-offload-playback3 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback3 speaker-and-usb-headphones">
|
||||
<path name="compress-offload-playback3 usb-headphones" />
|
||||
<path name="compress-offload-playback3 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback3 speaker-and-headphones">
|
||||
<path name="compress-offload-playback3 headphones" />
|
||||
<path name="compress-offload-playback3 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback4 speaker-and-display-port">
|
||||
<path name="compress-offload-playback4 display-port" />
|
||||
<path name="compress-offload-playback4 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback4 speaker-and-usb-headphones">
|
||||
<path name="compress-offload-playback4 usb-headphones" />
|
||||
<path name="compress-offload-playback4 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback4 speaker-and-headphones">
|
||||
<path name="compress-offload-playback4 headphones" />
|
||||
<path name="compress-offload-playback4 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback4 speaker-and-bt-sco">
|
||||
<path name="compress-offload-playback4 bt-sco" />
|
||||
<path name="compress-offload-playback4 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback4 speaker-and-bt-sco-wb">
|
||||
<path name="compress-offload-playback4 bt-sco-wb" />
|
||||
<path name="compress-offload-playback4 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback4 speaker-and-bt-a2dp">
|
||||
<path name="compress-offload-playback4 bt-a2dp" />
|
||||
<path name="compress-offload-playback4 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback5 speaker-and-display-port">
|
||||
<path name="compress-offload-playback5 display-port" />
|
||||
<path name="compress-offload-playback5 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback5 speaker-and-bt-sco">
|
||||
<path name="compress-offload-playback5 bt-sco" />
|
||||
<path name="compress-offload-playback5 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback5 speaker-and-bt-sco-wb">
|
||||
<path name="compress-offload-playback5 bt-sco-wb" />
|
||||
<path name="compress-offload-playback5 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback5 speaker-and-bt-a2dp">
|
||||
<path name="compress-offload-playback5 bt-a2dp" />
|
||||
<path name="compress-offload-playback5 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback5 speaker-and-usb-headphones">
|
||||
<path name="compress-offload-playback5 usb-headphones" />
|
||||
<path name="compress-offload-playback5 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback5 speaker-and-headphones">
|
||||
<path name="compress-offload-playback5 headphones" />
|
||||
<path name="compress-offload-playback5 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback6 speaker-and-display-port">
|
||||
<path name="compress-offload-playback6 display-port" />
|
||||
<path name="compress-offload-playback6 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback6 speaker-and-bt-sco">
|
||||
<path name="compress-offload-playback6 bt-sco" />
|
||||
<path name="compress-offload-playback6 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback6 speaker-and-bt-sco-wb">
|
||||
<path name="compress-offload-playback6 bt-sco-wb" />
|
||||
<path name="compress-offload-playback6 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback6 speaker-and-bt-a2dp">
|
||||
<path name="compress-offload-playback6 bt-a2dp" />
|
||||
<path name="compress-offload-playback6 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback6 speaker-and-usb-headphones">
|
||||
<path name="compress-offload-playback6 usb-headphones" />
|
||||
<path name="compress-offload-playback6 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback6 speaker-and-headphones">
|
||||
<path name="compress-offload-playback6 headphones" />
|
||||
<path name="compress-offload-playback6 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback7 speaker-and-display-port">
|
||||
<path name="compress-offload-playback7 display-port" />
|
||||
<path name="compress-offload-playback7 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback7 speaker-and-bt-sco">
|
||||
<path name="compress-offload-playback7 bt-sco" />
|
||||
<path name="compress-offload-playback7 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback7 speaker-and-bt-sco-wb">
|
||||
<path name="compress-offload-playback7 bt-sco-wb" />
|
||||
<path name="compress-offload-playback7 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback7 speaker-and-bt-a2dp">
|
||||
<path name="compress-offload-playback7 bt-a2dp" />
|
||||
<path name="compress-offload-playback7 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback7 speaker-and-usb-headphones">
|
||||
<path name="compress-offload-playback7 usb-headphones" />
|
||||
<path name="compress-offload-playback7 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback7 speaker-and-headphones">
|
||||
<path name="compress-offload-playback7 headphones" />
|
||||
<path name="compress-offload-playback7 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback8 speaker-and-display-port">
|
||||
<path name="compress-offload-playback8 display-port" />
|
||||
<path name="compress-offload-playback8 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback8 speaker-and-bt-sco">
|
||||
<path name="compress-offload-playback8 bt-sco" />
|
||||
<path name="compress-offload-playback8 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback8 speaker-and-bt-sco-wb">
|
||||
<path name="compress-offload-playback8 bt-sco-wb" />
|
||||
<path name="compress-offload-playback8 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback8 speaker-and-bt-a2dp">
|
||||
<path name="compress-offload-playback8 bt-a2dp" />
|
||||
<path name="compress-offload-playback8 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback8 speaker-and-usb-headphones">
|
||||
<path name="compress-offload-playback8 usb-headphones" />
|
||||
<path name="compress-offload-playback8 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback8 speaker-and-headphones">
|
||||
<path name="compress-offload-playback8 headphones" />
|
||||
<path name="compress-offload-playback8 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback9 speaker-and-display-port">
|
||||
<path name="compress-offload-playback9 display-port" />
|
||||
<path name="compress-offload-playback9 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback9 speaker-and-bt-sco">
|
||||
<path name="compress-offload-playback9 bt-sco" />
|
||||
<path name="compress-offload-playback9 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback9 speaker-and-bt-sco-wb">
|
||||
<path name="compress-offload-playback9 bt-sco-wb" />
|
||||
<path name="compress-offload-playback9 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback9 speaker-and-bt-a2dp">
|
||||
<path name="compress-offload-playback9 bt-a2dp" />
|
||||
<path name="compress-offload-playback9 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback9 speaker-and-usb-headphones">
|
||||
<path name="compress-offload-playback9 usb-headphones" />
|
||||
<path name="compress-offload-playback9 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="compress-offload-playback9 speaker-and-headphones">
|
||||
<path name="compress-offload-playback9 headphones" />
|
||||
<path name="compress-offload-playback9 speaker" />
|
||||
</path>
|
||||
|
||||
<path name="echo-reference-voip speaker">
|
||||
<ctl name="EC Reference Channels" value="One"/>
|
||||
<ctl name="AUDIO_REF_EC_UL10 MUX" value="QUAT_MI2S_RX" />
|
||||
</path>
|
||||
|
||||
<path name="echo-reference speaker">
|
||||
<ctl name="EC Reference Channels" value="One"/>
|
||||
<ctl name="AUDIO_REF_EC_UL1 MUX" value="QUAT_MI2S_RX" />
|
||||
</path>
|
||||
|
||||
<path name="voicemmode1-call speaker">
|
||||
<ctl name="VOC_EXT_EC MUX" value="QUAT_MI2S_RX" />
|
||||
<ctl name="QUAT_MI2S_RX_Voice Mixer VoiceMMode1" value="1" />
|
||||
<ctl name="VoiceMMode1_Tx Mixer SLIM_0_TX_MMode1" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="voicemmode2-call speaker">
|
||||
<ctl name="VOC_EXT_EC MUX" value="QUAT_MI2S_RX" />
|
||||
<ctl name="QUAT_MI2S_RX_Voice Mixer VoiceMMode2" value="1" />
|
||||
<ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
|
||||
</path>
|
||||
|
||||
<path name="ultrasound-proximity">
|
||||
<ctl name="Ultrasound Enable" value="On"/>
|
||||
<ctl name="Ultrasound Mode" value="616"/>
|
||||
</path>
|
||||
|
||||
<path name="ultrasound-output">
|
||||
<ctl name="Ultrasound Enable" value="On" />
|
||||
<ctl name="SLIM RX7 MUX" value="AIF2_PB" />
|
||||
<ctl name="CDC_IF RX7 MUX" value="SLIM RX7" />
|
||||
<ctl name="RX INT0_2 MUX" value="RX7" />
|
||||
<ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
|
||||
<ctl name="EAR SPKR PA Gain" value="G_6_DB" />
|
||||
</path>
|
||||
|
||||
<path name="ultrasound-input">
|
||||
<ctl name="AIF2_CAP Mixer SLIM TX4" value="1" />
|
||||
<ctl name="CDC_IF TX4 MUX" value="DEC4" />
|
||||
<ctl name="ADC MUX4" value="AMIC" />
|
||||
<ctl name="AMIC MUX4" value="ADC1" />
|
||||
<ctl name="ADC1 Volume" value="8" />
|
||||
</path>
|
||||
|
||||
<!-- for mius start -->
|
||||
<path name="mi_ultrasound-proximity">
|
||||
<ctl name="MI_Ultrasound Enable" value="On"/>
|
||||
<ctl name="MI_Ultrasound Mode" value="618"/>
|
||||
</path>
|
||||
|
||||
<path name="mi_ultrasound-output">
|
||||
<ctl name="MI_Ultrasound Enable" value="On" />
|
||||
<ctl name="SLIM RX7 MUX" value="AIF2_PB" />
|
||||
<ctl name="CDC_IF RX7 MUX" value="SLIM RX7" />
|
||||
<ctl name="RX INT0_2 MUX" value="RX7" />
|
||||
<ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
|
||||
<ctl name="EAR SPKR PA Gain" value="G_6_DB" />
|
||||
</path>
|
||||
|
||||
<path name="mi_ultrasound-input">
|
||||
<ctl name="AIF2_CAP Mixer SLIM TX4" value="1" />
|
||||
<ctl name="CDC_IF TX4 MUX" value="DEC4" />
|
||||
<ctl name="ADC MUX4" value="AMIC" />
|
||||
<ctl name="AMIC MUX4" value="ADC1" />
|
||||
<ctl name="ADC1 Volume" value="8" />
|
||||
</path>
|
||||
<!-- for mius end -->
|
||||
|
||||
<path name="spkr-vi-record">
|
||||
<ctl name="QUATERNARY_MI2S_RX_VI_FB_MUX" value="QUAT_MI2S_TX" />
|
||||
</path>
|
||||
|
||||
<path name="speaker">
|
||||
<ctl name="TFA Profile" value="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-protected">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="voice-speaker-protected">
|
||||
<path name="speaker" />
|
||||
</path>
|
||||
|
||||
<path name="handset">
|
||||
<ctl name="SLIM RX0 MUX" value="AIF1_PB" />
|
||||
<ctl name="CDC_IF RX0 MUX" value="SLIM RX0" />
|
||||
<ctl name="SLIM_0_RX Channels" value="One" />
|
||||
<ctl name="RX INT0_1 MIX1 INP0" value="RX0" />
|
||||
<ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
|
||||
<ctl name="EAR SPKR PA Gain" value="G_6_DB" />
|
||||
</path>
|
||||
|
||||
<path name="handset-mic">
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
|
||||
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
|
||||
<ctl name="ADC MUX7" value="AMIC" />
|
||||
<ctl name="AMIC MUX7" value="ADC3" />
|
||||
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
|
||||
<ctl name="ADC MUX8" value="AMIC" />
|
||||
<ctl name="AMIC MUX8" value="ADC1" />
|
||||
<ctl name="SLIM_0_TX Channels" value="Two" />
|
||||
<ctl name="ADC3 Volume" value="5" />
|
||||
<ctl name="ADC1 Volume" value="5" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-mic">
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX6" value="1"/>
|
||||
<ctl name="SLIM_0_TX Channels" value="One" />
|
||||
<ctl name="CDC_IF TX6 MUX" value="DEC6" />
|
||||
<ctl name="ADC MUX6" value="AMIC" />
|
||||
<ctl name="AMIC MUX6" value="ADC1" />
|
||||
<ctl name="ADC1 Volume" value="5" />
|
||||
</path>
|
||||
|
||||
<!-- Dual MIC devices -->
|
||||
<path name="handset-dmic-endfire">
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
|
||||
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
|
||||
<ctl name="ADC MUX7" value="AMIC" />
|
||||
<ctl name="AMIC MUX7" value="ADC3" />
|
||||
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
|
||||
<ctl name="ADC MUX8" value="AMIC" />
|
||||
<ctl name="AMIC MUX8" value="ADC1" />
|
||||
<ctl name="SLIM_0_TX Channels" value="Two" />
|
||||
<ctl name="ADC3 Volume" value="12" />
|
||||
<ctl name="ADC1 Volume" value="12" />
|
||||
</path>
|
||||
|
||||
<path name="speaker-dmic-endfire">
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
|
||||
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
|
||||
<ctl name="ADC MUX7" value="AMIC" />
|
||||
<ctl name="AMIC MUX7" value="ADC3" />
|
||||
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
|
||||
<ctl name="ADC MUX8" value="AMIC" />
|
||||
<ctl name="AMIC MUX8" value="ADC1" />
|
||||
<ctl name="SLIM_0_TX Channels" value="Two" />
|
||||
<ctl name="ADC3 Volume" value="10" />
|
||||
<ctl name="ADC1 Volume" value="10" />
|
||||
</path>
|
||||
|
||||
<path name="voice-headphones">
|
||||
<path name="headphones" />
|
||||
<ctl name="COMP1 Switch" value="0" />
|
||||
<ctl name="COMP2 Switch" value="0" />
|
||||
<ctl name="HPHL Volume" value="20" />
|
||||
<ctl name="HPHR Volume" value="20" />
|
||||
</path>
|
||||
|
||||
<path name="sidetone-headphones">
|
||||
</path>
|
||||
|
||||
<path name="camcorder-dmic">
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
|
||||
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
|
||||
<ctl name="ADC MUX7" value="AMIC" />
|
||||
<ctl name="AMIC MUX7" value="ADC3" />
|
||||
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
|
||||
<ctl name="ADC MUX8" value="AMIC" />
|
||||
<ctl name="AMIC MUX8" value="ADC1" />
|
||||
<ctl name="SLIM_0_TX Channels" value="Two" />
|
||||
<ctl name="ADC3 Volume" value="4" />
|
||||
<ctl name="ADC1 Volume" value="4" />
|
||||
</path>
|
||||
|
||||
<path name="handset-dmic-music">
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
|
||||
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
|
||||
<ctl name="ADC MUX7" value="AMIC" />
|
||||
<ctl name="AMIC MUX7" value="ADC3" />
|
||||
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
|
||||
<ctl name="ADC MUX8" value="AMIC" />
|
||||
<ctl name="AMIC MUX8" value="ADC1" />
|
||||
<ctl name="SLIM_0_TX Channels" value="Two" />
|
||||
<ctl name="ADC3 Volume" value="4" />
|
||||
<ctl name="ADC1 Volume" value="4" />
|
||||
</path>
|
||||
|
||||
<path name="handset-dmic-voice">
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
|
||||
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
|
||||
<ctl name="ADC MUX7" value="AMIC" />
|
||||
<ctl name="AMIC MUX7" value="ADC3" />
|
||||
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
|
||||
<ctl name="ADC MUX8" value="AMIC" />
|
||||
<ctl name="AMIC MUX8" value="ADC1" />
|
||||
<ctl name="SLIM_0_TX Channels" value="Two" />
|
||||
<ctl name="ADC3 Volume" value="4" />
|
||||
<ctl name="ADC1 Volume" value="4" />
|
||||
</path>
|
||||
|
||||
<path name="handset-dmic-interview">
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
|
||||
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
|
||||
<ctl name="ADC MUX7" value="AMIC" />
|
||||
<ctl name="AMIC MUX7" value="ADC3" />
|
||||
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
|
||||
<ctl name="ADC MUX8" value="AMIC" />
|
||||
<ctl name="AMIC MUX8" value="ADC1" />
|
||||
<ctl name="SLIM_0_TX Channels" value="Two" />
|
||||
<ctl name="ADC3 Volume" value="6" />
|
||||
<ctl name="ADC1 Volume" value="6" />
|
||||
</path>
|
||||
|
||||
<path name="handset-dmic-hd">
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
|
||||
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
|
||||
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
|
||||
<ctl name="ADC MUX7" value="AMIC" />
|
||||
<ctl name="AMIC MUX7" value="ADC3" />
|
||||
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
|
||||
<ctl name="ADC MUX8" value="AMIC" />
|
||||
<ctl name="AMIC MUX8" value="ADC1" />
|
||||
<ctl name="SLIM_0_TX Channels" value="Two" />
|
||||
<ctl name="ADC3 Volume" value="4" />
|
||||
<ctl name="ADC1 Volume" value="4" />
|
||||
</path>
|
||||
</mixer>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -86,27 +86,75 @@
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "GPUMaxFreq",
|
||||
"Path": "/sys/class/kgsl/kgsl-3d0/devfreq/max_freq",
|
||||
"Name": "Dex2oatUClampMaxBoost",
|
||||
"Path": "/dev/cpuctl/dex2oat/cpu.uclamp.max",
|
||||
"Values": [
|
||||
"770000000",
|
||||
"715000000",
|
||||
"615000000"
|
||||
"40",
|
||||
"60"
|
||||
],
|
||||
"DefaultIndex": 0,
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "TAUClampBoost",
|
||||
"Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
|
||||
"Values": [
|
||||
"0",
|
||||
"30"
|
||||
],
|
||||
"DefaultIndex": 0,
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "TAUClampLatency",
|
||||
"Path": "/dev/cpuctl/top-app/cpu.uclamp.latency_sensitive",
|
||||
"Values": [
|
||||
"1",
|
||||
"0"
|
||||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "FGUClampBoost",
|
||||
"Path": "/dev/cpuctl/foreground/cpu.uclamp.min",
|
||||
"Values": [
|
||||
"0",
|
||||
"20"
|
||||
],
|
||||
"DefaultIndex": 0,
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "MLUclampBoost",
|
||||
"Path": "/dev/cpuctl/nnapi-hal/cpu.uclamp.min",
|
||||
"Values": [
|
||||
"0",
|
||||
"75"
|
||||
],
|
||||
"DefaultIndex": 0,
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "GPUMaxFreq",
|
||||
"Path": "/sys/class/kgsl/kgsl-3d0/max_pwrlevel",
|
||||
"Values": [
|
||||
"0",
|
||||
"1",
|
||||
"2"
|
||||
],
|
||||
"DefaultIndex": 0,
|
||||
"ResetOnInit": true
|
||||
},
|
||||
{
|
||||
"Name": "GPUMinFreq",
|
||||
"Path": "/sys/class/kgsl/kgsl-3d0/devfreq/min_freq",
|
||||
"Path": "/sys/class/kgsl/kgsl-3d0/min_pwrlevel",
|
||||
"Values": [
|
||||
"770000000",
|
||||
"715000000",
|
||||
"615000000",
|
||||
"515000000",
|
||||
"345000000",
|
||||
"270000000",
|
||||
"150000000"
|
||||
"0",
|
||||
"1",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6"
|
||||
],
|
||||
"ResetOnInit": true
|
||||
},
|
||||
@@ -320,34 +368,46 @@
|
||||
"Value": "SUSTAINED_PERFORMANCE"
|
||||
},
|
||||
{
|
||||
"PowerHint": "INTERACTION",
|
||||
"Node": "CPUBWHystTriggerCount",
|
||||
"PowerHint": "SUSTAINED_PERFORMANCE",
|
||||
"Node": "CPUBigClusterMaxFreq",
|
||||
"Duration": 0,
|
||||
"Value": "0"
|
||||
"Value": "1401600"
|
||||
},
|
||||
{
|
||||
"PowerHint": "SUSTAINED_PERFORMANCE",
|
||||
"Node": "CPUBigPlusClusterMaxFreq",
|
||||
"Duration": 0,
|
||||
"Value": "1401600"
|
||||
},
|
||||
{
|
||||
"PowerHint": "SUSTAINED_PERFORMANCE",
|
||||
"Node": "CPULittleClusterMaxFreq",
|
||||
"Duration": 200,
|
||||
"Value": "1113600"
|
||||
},
|
||||
{
|
||||
"PowerHint": "SUSTAINED_PERFORMANCE",
|
||||
"Node": "GPUMaxFreq",
|
||||
"Duration": 0,
|
||||
"Value": "2"
|
||||
},
|
||||
{
|
||||
"PowerHint": "INTERACTION",
|
||||
"Node": "CPUBWHystLength",
|
||||
"Duration": 0,
|
||||
"Value": "0"
|
||||
"Node": "TAUClampBoost",
|
||||
"Duration": 5000,
|
||||
"Value": "30"
|
||||
},
|
||||
{
|
||||
"PowerHint": "INTERACTION",
|
||||
"Node": "CPUBWHistMemory",
|
||||
"Duration": 0,
|
||||
"Value": "0"
|
||||
"Node": "TAUClampLatency",
|
||||
"Duration": 5000,
|
||||
"Value": "1"
|
||||
},
|
||||
{
|
||||
"PowerHint": "INTERACTION",
|
||||
"Node": "CPUBWMinFreq",
|
||||
"Duration": 0,
|
||||
"Value": "9155"
|
||||
},
|
||||
{
|
||||
"PowerHint": "INTERACTION",
|
||||
"Node": "LLCCBWMinFreq",
|
||||
"Duration": 0,
|
||||
"Value": "2597"
|
||||
"Node": "FGUClampBoost",
|
||||
"Duration": 3000,
|
||||
"Value": "20"
|
||||
},
|
||||
{
|
||||
"PowerHint": "INTERACTION",
|
||||
@@ -445,12 +505,41 @@
|
||||
"Duration": 3000,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Node": "Dex2oatUClampMaxBoost",
|
||||
"Duration": 3000,
|
||||
"Value": "60"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Node": "TAUClampBoost",
|
||||
"Duration": 3000,
|
||||
"Value": "30"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Node": "TAUClampLatency",
|
||||
"Duration": 3000,
|
||||
"Value": "1"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Node": "FGUClampBoost",
|
||||
"Duration": 3000,
|
||||
"Value": "20"
|
||||
},
|
||||
{
|
||||
"PowerHint": "AUDIO_LAUNCH",
|
||||
"Node": "PMQoSCpuDmaLatency",
|
||||
"Duration": 2000,
|
||||
"Value": "2c"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
"Type": "DoHint",
|
||||
"Value": "LAUNCH_EXTEND"
|
||||
},
|
||||
{
|
||||
"PowerHint": "AUDIO_STREAMING_LOW_LATENCY",
|
||||
"Node": "PowerHALAudioState",
|
||||
@@ -473,19 +562,13 @@
|
||||
"PowerHint": "EXPENSIVE_RENDERING",
|
||||
"Node": "GPUMinFreq",
|
||||
"Duration": 0,
|
||||
"Value": "345000000"
|
||||
"Value": "1"
|
||||
},
|
||||
{
|
||||
"PowerHint": "EXPENSIVE_RENDERING",
|
||||
"Node": "GPUMaxFreq",
|
||||
"Duration": 0,
|
||||
"Value": "615000000"
|
||||
},
|
||||
{
|
||||
"PowerHint": "ML_ACC",
|
||||
"Node": "PMQoSCpuDmaLatency",
|
||||
"Duration": 2000,
|
||||
"Value": "2c"
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "DISPLAY_UPDATE_IMMINENT",
|
||||
@@ -494,130 +577,16 @@
|
||||
"Value": "1"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_50",
|
||||
"Node": "CPULittleClusterMaxFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "844800"
|
||||
"PowerHint": "ML_ACC",
|
||||
"Node": "MLUclampBoost",
|
||||
"Duration": 2000,
|
||||
"Value": "75"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_50",
|
||||
"Node": "CPULittleClusterMinFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "576000"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_60",
|
||||
"Node": "CPULittleClusterMaxFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "1036800"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_60",
|
||||
"Node": "CPULittleClusterMinFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "576000"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_70",
|
||||
"Node": "CPULittleClusterMaxFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "1209600"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_80",
|
||||
"Node": "CPULittleClusterMaxFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "1382400"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_90",
|
||||
"Node": "CPULittleClusterMaxFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "1555200"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_CPU_50",
|
||||
"Node": "CPUBigClusterMaxFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "1171200"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_CPU_50",
|
||||
"Node": "CPUBigClusterMinFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_CPU_50",
|
||||
"Node": "CPUBigPlusClusterMaxFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "1401600"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_CPU_50",
|
||||
"Node": "CPUBigPlusClusterMinFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_CPU_60",
|
||||
"Node": "CPUBigClusterMaxFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "1497600"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_CPU_60",
|
||||
"Node": "CPUBigClusterMinFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_CPU_60",
|
||||
"Node": "CPUBigPlusClusterMaxFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "1708800"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_CPU_60",
|
||||
"Node": "CPUBigPlusClusterMinFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "0"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_CPU_70",
|
||||
"Node": "CPUBigClusterMaxFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "1708800"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_CPU_70",
|
||||
"Node": "CPUBigPlusClusterMaxFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "2015999"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_CPU_80",
|
||||
"Node": "CPUBigClusterMaxFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "1920000"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_CPU_80",
|
||||
"Node": "CPUBigPlusClusterMaxFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "2227200"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_CPU_90",
|
||||
"Node": "CPUBigClusterMaxFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "2131200"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LOW_POWER_CPU_90",
|
||||
"Node": "CPUBigPlusClusterMaxFreq",
|
||||
"Duration": 3600000,
|
||||
"Value": "2534400"
|
||||
"PowerHint": "ML_ACC",
|
||||
"Node": "PMQoSCpuDmaLatency",
|
||||
"Duration": 2000,
|
||||
"Value": "2c"
|
||||
},
|
||||
{
|
||||
"PowerHint": "Flipendo",
|
||||
@@ -636,11 +605,6 @@
|
||||
"Node": "CPUBigClusterMaxFreq",
|
||||
"Duration": 0,
|
||||
"Value": "2016000"
|
||||
},
|
||||
{
|
||||
"PowerHint": "DISPLAY_INACTIVE",
|
||||
"Type": "EndHint",
|
||||
"Value": "DISPLAY_UPDATE_IMMINENT"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,71 +1,40 @@
|
||||
[SS-SKIN-HIGH-CPU7]
|
||||
algo_type ss
|
||||
sampling 2000
|
||||
sensor sdm-therm
|
||||
device cpu7
|
||||
set_point 40000
|
||||
set_point_clr 39000
|
||||
device_max_limit 2131200
|
||||
time_constant 0
|
||||
|
||||
[SS-SKIN-MID-CPU7]
|
||||
algo_type ss
|
||||
sampling 2000
|
||||
sensor sdm-therm
|
||||
device cpu7
|
||||
set_point 42000
|
||||
set_point_clr 41000
|
||||
device_max_limit 1804800
|
||||
time_constant 0
|
||||
|
||||
[SS-SKIN-LOW-CPU7]
|
||||
algo_type ss
|
||||
sampling 2000
|
||||
sensor sdm-therm
|
||||
device cpu7
|
||||
set_point 44000
|
||||
set_point_clr 43000
|
||||
device_max_limit 1401600
|
||||
time_constant 0
|
||||
|
||||
[HOT-SKIN-VIRTUAL]
|
||||
algo_type virtual
|
||||
trip_sensor sdm-therm
|
||||
sensors gpuss-0-usr cpuss-0-usr
|
||||
list_cnt 2
|
||||
weights 1 -1
|
||||
set_point 41000
|
||||
set_point_clr 39000
|
||||
sampling 1000
|
||||
math 0
|
||||
|
||||
[VIRTUAL-SS-GPU-SKIN]
|
||||
algo_type ss
|
||||
sensor HOT-SKIN-VIRTUAL
|
||||
device gpu
|
||||
sampling 1000
|
||||
set_point 8000
|
||||
set_point_clr 2000
|
||||
device_max_limit 427000000
|
||||
[SS-SKIN-GPU]
|
||||
algo_type ss
|
||||
sampling 2000
|
||||
sensor sdm-therm
|
||||
device gpu
|
||||
set_point 54000
|
||||
set_point_clr 52000
|
||||
device_max_limit 615000000
|
||||
time_constant 0
|
||||
|
||||
[SKIN-MONITOR]
|
||||
algo_type monitor
|
||||
sampling 1000
|
||||
sensor sdm-therm
|
||||
thresholds 46000 47000 48000 58000
|
||||
thresholds_clr 44000 46000 47000 57000
|
||||
actions cpu0+cpu7+gpu cpu0+cpu7+gpu cpu0+cpu7+gpu shutdown
|
||||
action_info 1113600+1286400+427000000 940800+1056000+345000000 672000+825600+257000000 1
|
||||
algo_type monitor
|
||||
sampling 2000
|
||||
sensor sdm-therm
|
||||
thresholds 48000 50000 52000 54000 57000
|
||||
thresholds_clr 47000 49000 51000 53000 56000
|
||||
actions cpu7 cpu4+cpu7 cpu4+cpu7 cpu4+cpu7 cpu4+cpu7
|
||||
action_info 2841600 2323200+2745600 1804800+1804800 1708800+1708800 1612800+1612800
|
||||
|
||||
[BATTERY-SKIN-VIRTUAL]
|
||||
algo_type virtual
|
||||
trip_sensor quiet_therm
|
||||
sensors quiet_therm battery
|
||||
set_point 37000
|
||||
set_point_clr 29000
|
||||
sampling 1000
|
||||
weights
|
||||
math 2
|
||||
|
||||
[BATTERY-MONITOR]
|
||||
algo_type monitor
|
||||
sampling 1000
|
||||
sensor sdm-therm
|
||||
thresholds 37000 38500 39000 40500 43000 44000 45500 46000
|
||||
thresholds_clr 36000 37500 38000 39500 42000 43000 44500 45000
|
||||
actions battery battery battery battery battery battery battery battery
|
||||
action_info 1 2 3 4 5 6 7 8
|
||||
|
||||
algo_type monitor
|
||||
sampling 2000
|
||||
sensor BATTERY-SKIN-VIRTUAL
|
||||
thresholds 38000 40000 42000 44000 46000 48000 50000 55000
|
||||
thresholds_clr 30000 38000 40000 42000 44000 46000 48000 50000
|
||||
actions battery battery battery battery battery battery battery battery
|
||||
action_info 8 9 10 12 13 14 15 16
|
||||
|
||||
[NPU-MONITOR]
|
||||
algo_type monitor
|
||||
|
||||
@@ -233,22 +233,6 @@
|
||||
}
|
||||
],
|
||||
"CoolingDevices":[
|
||||
{
|
||||
"Name":"thermal-cpufreq-0",
|
||||
"Type":"CPU"
|
||||
},
|
||||
{
|
||||
"Name":"thermal-cpufreq-4",
|
||||
"Type":"CPU"
|
||||
},
|
||||
{
|
||||
"Name":"thermal-cpufreq-7",
|
||||
"Type":"CPU"
|
||||
},
|
||||
{
|
||||
"Name":"thermal-devfreq-0",
|
||||
"Type":"GPU"
|
||||
},
|
||||
{
|
||||
"Name":"npu",
|
||||
"Type":"NPU"
|
||||
@@ -258,4 +242,4 @@
|
||||
"Type":"BATTERY"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,458 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2012-2020 The Linux Foundation. All rights reserved.
|
||||
Not a contribution.
|
||||
Copyright (C) 2012-2013 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.
|
||||
-->
|
||||
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
<!DOCTYPE MediaCodecs [
|
||||
<!ELEMENT Include EMPTY>
|
||||
<!ATTLIST Include href CDATA #REQUIRED>
|
||||
<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
|
||||
<!ELEMENT Decoders (MediaCodec|Include)*>
|
||||
<!ELEMENT Encoders (MediaCodec|Include)*>
|
||||
<!ELEMENT MediaCodec (Type|Quirk|Include)*>
|
||||
<!ATTLIST MediaCodec name CDATA #REQUIRED>
|
||||
<!ATTLIST MediaCodec type CDATA>
|
||||
<!ELEMENT Type EMPTY>
|
||||
<!ATTLIST Type name CDATA #REQUIRED>
|
||||
<!ELEMENT Quirk EMPTY>
|
||||
<!ATTLIST Quirk name CDATA #REQUIRED>
|
||||
]>
|
||||
|
||||
There's a simple and a complex syntax to declare the availability of a
|
||||
media codec:
|
||||
|
||||
A codec that properly follows the OpenMax spec and therefore doesn't have any
|
||||
quirks and that only supports a single content type can be declared like so:
|
||||
|
||||
<MediaCodec name="OMX.foo.bar" type="something/interesting" />
|
||||
|
||||
If a codec has quirks OR supports multiple content types, the following syntax
|
||||
can be used:
|
||||
|
||||
<MediaCodec name="OMX.foo.bar" >
|
||||
<Type name="something/interesting" />
|
||||
<Type name="something/else" />
|
||||
...
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Quirk name="output-buffers-are-unreadable" />
|
||||
</MediaCodec>
|
||||
|
||||
Only the three quirks included above are recognized at this point:
|
||||
|
||||
"requires-allocate-on-input-ports"
|
||||
must be advertised if the component does not properly support specification
|
||||
of input buffers using the OMX_UseBuffer(...) API but instead requires
|
||||
OMX_AllocateBuffer to be used.
|
||||
|
||||
"requires-allocate-on-output-ports"
|
||||
must be advertised if the component does not properly support specification
|
||||
of output buffers using the OMX_UseBuffer(...) API but instead requires
|
||||
OMX_AllocateBuffer to be used.
|
||||
|
||||
"output-buffers-are-unreadable"
|
||||
must be advertised if the emitted output buffers of a decoder component
|
||||
are not readable, i.e. use a custom format even though abusing one of
|
||||
the official OMX colorspace constants.
|
||||
Clients of such decoders will not be able to access the decoded data,
|
||||
naturally making the component much less useful. The only use for
|
||||
a component with this quirk is to render the output to the screen.
|
||||
Audio decoders MUST NOT advertise this quirk.
|
||||
Video decoders that advertise this quirk must be accompanied by a
|
||||
corresponding color space converter for thumbnail extraction,
|
||||
matching surfaceflinger support that can render the custom format to
|
||||
a texture and possibly other code, so just DON'T USE THIS QUIRK.
|
||||
|
||||
|
||||
-->
|
||||
|
||||
<!--
|
||||
Non-Secure decoder capabilities
|
||||
(MB is defined as 16x16)
|
||||
_____________________________________________________________________
|
||||
| Codec | W H fps Mbps MB/s Max MB/s|
|
||||
|_____________|_____________________________________________________|
|
||||
| h264 | 1920 1088 480 220 3916800 3916800 |
|
||||
| | 3820 2160 120 220 3888000 |
|
||||
| | 4096 2160 96 220 3317760 |
|
||||
| | 4096 2304 60 220 2211840 |
|
||||
| | 7680 4320 30 220 3888000 |
|
||||
| | 8192 4320 24 220 3317760 |
|
||||
| hevc | 1920 1088 480 220 3916800 3916800 |
|
||||
| | 3820 2160 120 220 3888000 |
|
||||
| | 4096 2160 96 220 3317760 |
|
||||
| | 4096 2304 60 220 2211840 |
|
||||
| | 7680 4320 30 220 3888000 |
|
||||
| | 8192 4320 24 220 3317760 |
|
||||
| mpeg4-sw | 1920 1088 30 40 244800 244800 |
|
||||
| vp8 | 1280 720 240 100 864000 1036800 |
|
||||
| | 1920 1088 120 100 979200 |
|
||||
| | 3840 2160 30 100 972000 |
|
||||
| | 4096 2160 30 100 1036800 |
|
||||
| | 4096 2304 24 100 884736 |
|
||||
| vp9 | 1920 1088 480 220 3916800 3916800 |
|
||||
| | 3820 2160 120 220 3888000 |
|
||||
| | 4096 2160 96 220 3317760 |
|
||||
| | 4096 2304 60 220 2211840 |
|
||||
| | 7680 4320 30 220 3888000 |
|
||||
| | 8192 4320 24 220 3317760 |
|
||||
| h263-sw | 864 480 30 16 48600 48600 |
|
||||
| mpeg2 | 1920 1088 30 40 244800 244800 |
|
||||
|_____________|_____________________________________________________|
|
||||
|
||||
Secure decoder capabilities
|
||||
(MB is defined as 16x16)
|
||||
__________________________________________________________________
|
||||
| Codec | W H fps Mbps MB/s Max MB/s|
|
||||
|__________|_____________________________________________________|
|
||||
| h264 | 1280 720 60 40 216000 2073600 |
|
||||
| | 1920 1088 60 40 489600 |
|
||||
| | 3840 2160 60 40 1944000 |
|
||||
| | 4096 2160 60 40 2073600 |
|
||||
| | 4096 2304 30 40 1105920 |
|
||||
| hevc | 1280 720 60 40 216000 2073600 |
|
||||
| | 1920 1088 60 40 489600 |
|
||||
| | 3840 2160 60 40 1944000 |
|
||||
| | 4096 2160 60 40 2073600 |
|
||||
| | 4096 2304 30 40 1105920 |
|
||||
| vp9 | 1280 720 60 40 216000 2073600 |
|
||||
| | 1920 1088 60 40 489600 |
|
||||
| | 3840 2160 60 40 1944000 |
|
||||
| | 4096 2160 60 40 2073600 |
|
||||
| | 4096 2304 30 40 1105920 |
|
||||
| mpeg2 | 1920 1088 30 40 244800 244800 |
|
||||
|__________|_____________________________________________________|
|
||||
|
||||
Non-Secure encoder capabilities (Secure not supported)
|
||||
(MB is defined as 16x16)
|
||||
__________________________________________________________________
|
||||
| Codec | W H fps Mbps MB/s Max MB/s|
|
||||
|__________|_____________________________________________________|
|
||||
| h264 | 1280 720 480 160 1728000 1958400 |
|
||||
| | 1920 1088 240 160 1958400 |
|
||||
| | 3840 2160 60 160 1944000 |
|
||||
| | 4096 2160 48 160 1658880 |
|
||||
| | 4096 2304 30 160 1105920 |
|
||||
| hevc | 1280 720 480 160 1728000 1958400 |
|
||||
| | 1920 1088 240 160 1958400 |
|
||||
| | 3840 2160 60 160 1944000 |
|
||||
| | 4096 2160 48 160 1658880 |
|
||||
| | 4096 2304 30 160 1105920 |
|
||||
| mpeg4-sw | 1280 720 30 4 108000 108000 |
|
||||
| vp8 | 1280 720 240 40 864000 1036800 |
|
||||
| | 1920 1088 120 40 979200 |
|
||||
| | 3840 2160 30 40 972000 |
|
||||
| | 4096 2160 30 40 1036800 |
|
||||
| | 4096 2304 24 40 884736 |
|
||||
| h263-sw | 864 480 30 2 48600 48600 |
|
||||
|__________|_____________________________________________________|
|
||||
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.
|
||||
-->
|
||||
|
||||
<MediaCodecs>
|
||||
<Include href="media_codecs_google_c2_audio.xml" />
|
||||
<Include href="media_codecs_google_c2_telephony.xml" />
|
||||
<Include href="media_codecs_c2.xml" />
|
||||
<Settings>
|
||||
<Setting name="max-video-encoder-input-buffers" value="11" />
|
||||
<Domain name="telephony" enabled="true" />
|
||||
</Settings>
|
||||
<Encoders>
|
||||
<!-- Video Hardware -->
|
||||
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Quirk name="requires-loaded-to-idle-after-allocation" />
|
||||
<Limit name="size" min="96x96" max="4096x2304" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="1958400" />
|
||||
<Limit name="bitrate" range="1-160000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-4096x2304" value="56" />
|
||||
<Limit name="performance-point-4096x2160" value="60" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-1920x1080" value="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Quirk name="requires-loaded-to-idle-after-allocation" />
|
||||
<Limit name="size" min="96x96" max="4096x2304" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="1036800" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-240" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-4096x2304" value="24" />
|
||||
<Limit name="performance-point-4096x2160" value="30" />
|
||||
<Limit name="performance-point-3840x2160" value="30" />
|
||||
<Limit name="performance-point-1920x1080" value="120" />
|
||||
<Limit name="performance-point-1280x720" value="240" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Quirk name="requires-loaded-to-idle-after-allocation" />
|
||||
<Limit name="size" min="96x96" max="4096x2304" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="1958400" />
|
||||
<Limit name="bitrate" range="1-160000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="quality" range="0-100" default="80" />
|
||||
<Limit name="performance-point-4096x2304" value="56" />
|
||||
<Limit name="performance-point-4096x2160" value="60" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Limit name="performance-point-1920x1080" value="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Quirk name="requires-loaded-to-idle-after-allocation" />
|
||||
<Limit name="size" min="96x96" max="512x512" />
|
||||
<Limit name="frame-rate" range="1-20" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="quality" range="0-100" default="80" />
|
||||
<Limit name="performance-point-512x512" value="480" />
|
||||
<Feature name="bitrate-modes" value="CQ" />
|
||||
</MediaCodec>
|
||||
<!-- Video Software -->
|
||||
<MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Quirk name="requires-loaded-to-idle-after-allocation" />
|
||||
<Limit name="size" min="96x96" max="864x480" />
|
||||
<Limit name="alignment" value="4x4" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="48600" />
|
||||
<Limit name="bitrate" range="1-2000000" />
|
||||
<Limit name="frame-rate" range="1-30" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-720x480" value="30" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Quirk name="requires-loaded-to-idle-after-allocation" />
|
||||
<Limit name="size" min="96x96" max="1280x720" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="108000" />
|
||||
<Limit name="bitrate" range="1-4000000" />
|
||||
<Limit name="frame-rate" range="1-30" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1280x720" value="30" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Attribute name="software-codec" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
<Decoders>
|
||||
<!-- Video Hardware -->
|
||||
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="96x96" max="8192x4320" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="3916800" />
|
||||
<Limit name="bitrate" range="1-220000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-4096x2304" value="60" />
|
||||
<Limit name="performance-point-4096x2160" value="96" />
|
||||
<Limit name="performance-point-3840x2160" value="120" />
|
||||
<Limit name="performance-point-1920x1088" range="480" />
|
||||
<Limit name="performance-point-1920x1088" range="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="96x96" max="4096x2304" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="2073600" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-4096x2160" value="60" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.decoder.mpeg2" type="video/mpeg2" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="96x96" max="1920x1088" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="244800" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-30" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="30" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.decoder.mpeg2.secure" type="video/mpeg2" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="96x96" max="1920x1088" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="244800" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-30" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-1920x1080" value="30" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="96x96" max="4096x2304" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="1036800" />
|
||||
<Limit name="bitrate" range="1-100000000" />
|
||||
<Limit name="frame-rate" range="1-240" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-4096x2304" value="24" />
|
||||
<Limit name="performance-point-4096x2160" value="30" />
|
||||
<Limit name="performance-point-3840x2160" value="30" />
|
||||
<Limit name="performance-point-1920x1080" value="120" />
|
||||
<Limit name="performance-point-1280x720" value="240" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="96x96" max="8192x4320" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="3916800" />
|
||||
<Limit name="bitrate" range="1-220000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="concurrent-instances" max="6" />
|
||||
<Limit name="performance-point-4096x2304" value="60" />
|
||||
<Limit name="performance-point-4096x2160" value="96" />
|
||||
<Limit name="performance-point-3840x2160" value="120" />
|
||||
<Limit name="performance-point-1920x1088" range="480" />
|
||||
<Limit name="performance-point-1920x1088" range="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.decoder.vp9.secure" type="video/x-vnd.on2.vp9" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="96x96" max="4096x2304" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="2073600" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-4096x2160" value="60" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="96x96" max="8192x4320" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="3916800" />
|
||||
<Limit name="bitrate" range="1-220000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-4096x2304" value="60" />
|
||||
<Limit name="performance-point-4096x2160" value="96" />
|
||||
<Limit name="performance-point-3840x2160" value="120" />
|
||||
<Limit name="performance-point-1920x1088" range="480" />
|
||||
<Limit name="performance-point-1920x1088" range="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.decoder.hevc.secure" type="video/hevc" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="96x96" max="4096x2304" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="2073600" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-4096x2160" value="60" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
</MediaCodec>
|
||||
<!-- Video Software -->
|
||||
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" >
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="96x96" max="864x480" />
|
||||
<Limit name="alignment" value="4x4" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="48600" />
|
||||
<Limit name="bitrate" range="1-16000000" />
|
||||
<Limit name="frame-rate" range="1-30" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-720x480" value="30" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es">
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="size" min="96x96" max="1920x1088" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="36" max="244800" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-30" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="30" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
<Include href="media_codecs_google_c2_video.xml" />
|
||||
</MediaCodecs>
|
||||
|
||||
@@ -104,6 +104,7 @@
|
||||
<Limit name="performance-point-1920x1088" range="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc">
|
||||
<Alias name="OMX.qcom.video.decoder.avc.low_latency" />
|
||||
@@ -123,6 +124,7 @@
|
||||
<Limit name="performance-point-1920x1088" range="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.avc.decoder.secure" type="video/avc" >
|
||||
<Alias name="OMX.qcom.video.decoder.avc.secure" />
|
||||
@@ -139,6 +141,7 @@
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" >
|
||||
<Alias name="OMX.qcom.video.decoder.hevc" />
|
||||
@@ -157,6 +160,26 @@
|
||||
<Limit name="performance-point-1920x1088" range="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" >
|
||||
<Alias name="OMX.qcom.video.decoder.hevc.low_latency" />
|
||||
<Limit name="size" min="96x96" max="4096x4096" />
|
||||
<Limit name="block-count" range="36-36864" /> <!--max-spatial: 4096x2304 -->
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" range="1-1958400" />
|
||||
<Limit name="bitrate" range="1-110000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="low-latency" />
|
||||
<Limit name="performance-point-4096x2304" value="60" />
|
||||
<Limit name="performance-point-4096x2160" value="96" />
|
||||
<Limit name="performance-point-3840x2160" value="120" />
|
||||
<Limit name="performance-point-1920x1088" range="480" />
|
||||
<Limit name="performance-point-1920x1088" range="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
<Feature name="adaptive-playback" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder.secure" type="video/hevc" >
|
||||
<Alias name="OMX.qcom.video.decoder.hevc.secure" />
|
||||
@@ -173,6 +196,7 @@
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.vp8.decoder" type="video/x-vnd.on2.vp8" >
|
||||
<Alias name="OMX.qcom.video.decoder.vp8" />
|
||||
@@ -190,6 +214,7 @@
|
||||
<Limit name="performance-point-1920x1080" value="120" />
|
||||
<Limit name="performance-point-1280x720" value="240" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" >
|
||||
<Alias name="OMX.qcom.video.decoder.vp9" />
|
||||
@@ -208,6 +233,7 @@
|
||||
<Limit name="performance-point-1920x1088" range="240" />
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
|
||||
<Alias name="OMX.qcom.video.decoder.vp9.secure" />
|
||||
@@ -224,6 +250,7 @@
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
|
||||
@@ -237,6 +264,7 @@
|
||||
<Limit name="blocks-per-second" min="24" max="2073600" />
|
||||
<Limit name="bitrate" range="1-160000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="complexity" range="0-100" default="100" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-4096x2304" value="56" />
|
||||
<Limit name="performance-point-4096x2160" value="60" />
|
||||
@@ -245,6 +273,16 @@
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR" />
|
||||
<Feature name="intra-refresh" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<!-- Video Quality control -->
|
||||
<!-- QP bounding supported, and it uses vendor extensions -->
|
||||
<Feature name="qp-bounds" />
|
||||
<Mapping kind="vq" name="video-qp-b-max" value="vendor.qti-ext-enc-qp-range.qp-b-max" />
|
||||
<Mapping kind="vq" name="video-qp-b-min" value="vendor.qti-ext-enc-qp-range.qp-b-min" />
|
||||
<Mapping kind="vq" name="video-qp-i-max" value="vendor.qti-ext-enc-qp-range.qp-i-max" />
|
||||
<Mapping kind="vq" name="video-qp-i-min" value="vendor.qti-ext-enc-qp-range.qp-i-min" />
|
||||
<Mapping kind="vq" name="video-qp-p-max" value="vendor.qti-ext-enc-qp-range.qp-p-max" />
|
||||
<Mapping kind="vq" name="video-qp-p-min" value="vendor.qti-ext-enc-qp-range.qp-p-min" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
|
||||
<Alias name="OMX.qcom.video.encoder.hevc" />
|
||||
@@ -255,6 +293,7 @@
|
||||
<Limit name="blocks-per-second" min="24" max="2073600" />
|
||||
<Limit name="bitrate" range="1-160000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="complexity" range="0-100" default="100" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-4096x2304" value="56" />
|
||||
<Limit name="performance-point-4096x2160" value="60" />
|
||||
@@ -263,6 +302,16 @@
|
||||
<Limit name="performance-point-1280x720" value="480" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR" />
|
||||
<Feature name="intra-refresh" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
<!-- Video Quality control -->
|
||||
<!-- QP bounding supported, and it uses vendor extensions -->
|
||||
<Feature name="qp-bounds" />
|
||||
<Mapping kind="vq" name="video-qp-b-max" value="vendor.qti-ext-enc-qp-range.qp-b-max" />
|
||||
<Mapping kind="vq" name="video-qp-b-min" value="vendor.qti-ext-enc-qp-range.qp-b-min" />
|
||||
<Mapping kind="vq" name="video-qp-i-max" value="vendor.qti-ext-enc-qp-range.qp-i-max" />
|
||||
<Mapping kind="vq" name="video-qp-i-min" value="vendor.qti-ext-enc-qp-range.qp-i-min" />
|
||||
<Mapping kind="vq" name="video-qp-p-max" value="vendor.qti-ext-enc-qp-range.qp-p-max" />
|
||||
<Mapping kind="vq" name="video-qp-p-min" value="vendor.qti-ext-enc-qp-range.qp-p-min" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc">
|
||||
<Limit name="size" min="96x96" max="512x512" />
|
||||
@@ -271,6 +320,7 @@
|
||||
<Limit name="blocks-per-second" min="24" max="2073600" />
|
||||
<Limit name="bitrate" range="1-160000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="complexity" range="0-100" default="100" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="quality" range="0-100" default="80" />
|
||||
<Limit name="performance-point-512x512" value="480" />
|
||||
@@ -279,8 +329,11 @@
|
||||
<MediaCodec name="c2.qti.heic.encoder" type="image/vnd.android.heic">
|
||||
<Limit name="size" min="96x96" max="8192x8192" />
|
||||
<Limit name="block-count" range="1024-138240" /> <!--max-spatial: 8192x4320 -->
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Limit name="blocks-per-second" min="24" max="2073600" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="complexity" range="0-100" default="100" />
|
||||
<Limit name="concurrent-instances" max="6" />
|
||||
<Limit name="quality" range="0-100" default="80" />
|
||||
<Limit name="performance-point-8192x4320" value="3" />
|
||||
@@ -289,6 +342,7 @@
|
||||
<Limit name="performance-point-1920x1080" value="30" />
|
||||
<Limit name="performance-point-1280x720" value="80" />
|
||||
<Limit name="performance-point-1280x720" value="60" />
|
||||
<Limit name="performance-point-720x480" value="240" />
|
||||
<Feature name="bitrate-modes" value="CQ" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.vp8.encoder" type="video/x-vnd.on2.vp8">
|
||||
@@ -300,6 +354,7 @@
|
||||
<Limit name="blocks-per-second" min="24" max="1036800" />
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-240" />
|
||||
<Limit name="complexity" range="0-100" default="100" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-4096x2304" value="24" />
|
||||
<Limit name="performance-point-4096x2160" value="30" />
|
||||
@@ -307,6 +362,7 @@
|
||||
<Limit name="performance-point-1920x1080" value="120" />
|
||||
<Limit name="performance-point-1280x720" value="240" />
|
||||
<Feature name="intra-refresh" />
|
||||
<Feature name="can-swap-width-height" value="1" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
</Included>
|
||||
</Included>
|
||||
@@ -1,185 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
|
||||
|
||||
Not a Contribution.
|
||||
|
||||
Copyright 2015 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.
|
||||
u 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.
|
||||
-->
|
||||
|
||||
<MediaCodecs>
|
||||
<Encoders>
|
||||
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="238-238" />
|
||||
<Limit name="measured-frame-rate-720x480" range="277-287" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="200-204" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="116-118" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="226-226" />
|
||||
<Limit name="measured-frame-rate-720x480" range="336-339" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="183-194" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="91-104" />
|
||||
<Limit name="measured-frame-rate-3840x2160" range="37-40" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="340-400" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="303-303" />
|
||||
<Limit name="measured-frame-rate-352x288" range="259-259" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="299-299" />
|
||||
<Limit name="measured-frame-rate-352x288" range="245-245" />
|
||||
<Limit name="measured-frame-rate-640x480" range="148-148" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="363-484" />
|
||||
<Limit name="measured-frame-rate-640x360" range="250-280" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="123-125" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="16-40" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="106-234" />
|
||||
<Limit name="measured-frame-rate-720x480" range="64-140" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="26-56" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="20-44" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="22-35" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="287-459" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="151-208" />
|
||||
<Limit name="measured-frame-rate-720x480" range="61-84" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="41-57" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="28-39" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="251-350" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="228-318" />
|
||||
<Limit name="measured-frame-rate-640x360" range="150-233" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="43-61" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="19-27" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.av1.encoder" type="video/av01" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="121-286" />
|
||||
<Limit name="measured-frame-rate-720x480" range="49-110" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="19-41" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="20-30" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="109-109" />
|
||||
<Limit name="measured-frame-rate-640x360" range="61-61" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="20-20" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
<Decoders>
|
||||
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="960-1268" />
|
||||
<Limit name="measured-frame-rate-720x480" range="857-1104" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="312-316" />
|
||||
<Limit name="measured-frame-rate-1920x1088" range="246-250" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="784-1700" />
|
||||
<Limit name="measured-frame-rate-640x360" range="500-527" />
|
||||
<Limit name="measured-frame-rate-720x480" range="1046-1157" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="290-641" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="316-318" />
|
||||
<Limit name="measured-frame-rate-3840x2160" range="148-149" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="268-418" />
|
||||
<Limit name="measured-frame-rate-352x288" range="273-561" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="409-410" />
|
||||
<Limit name="measured-frame-rate-480x360" range="436-524" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="240-292" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="337-337" />
|
||||
<Limit name="measured-frame-rate-640x360" range="330-750" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="337-337" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="248-248" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="1103-1262" />
|
||||
<Limit name="measured-frame-rate-320x180" range="533-543" />
|
||||
<Limit name="measured-frame-rate-640x360" range="347-783" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="579-594" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="496-518" />
|
||||
<Limit name="measured-frame-rate-3840x2160" range="139-139" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="220-630" />
|
||||
<Limit name="measured-frame-rate-720x480" range="250-513" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="200-420" />
|
||||
<Limit name="measured-frame-rate-1920x1088" range="189-301" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="196-269" />
|
||||
<Limit name="measured-frame-rate-720x480" range="56-77" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="21-33" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="12-17" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="179-245" />
|
||||
<Limit name="measured-frame-rate-640x360" range="120-164" />
|
||||
<Limit name="measured-frame-rate-720x480" range="111-152" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="61-83" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="36-49" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="460-626" />
|
||||
<Limit name="measured-frame-rate-640x360" range="222-302" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="107-145" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="31-43" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.av1.decoder" type="video/av01" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="186-426" />
|
||||
<Limit name="measured-frame-rate-720x480" range="102-228" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="52-116" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="20-30" />
|
||||
</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.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="415-575" />
|
||||
<Limit name="measured-frame-rate-640x360" range="200-450" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="44-60" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="28-38" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="436-2502" />
|
||||
<Limit name="measured-frame-rate-352x288" range="324-769" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="401-545" />
|
||||
<Limit name="measured-frame-rate-480x360" range="300-2000" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="210-550" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
</MediaCodecs>
|
||||
166
configs/media/media_codecs_performance_c2.xml
Normal file
166
configs/media/media_codecs_performance_c2.xml
Normal file
@@ -0,0 +1,166 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 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.
|
||||
-->
|
||||
|
||||
<MediaCodecs>
|
||||
<Encoders>
|
||||
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="669-693" /> <!-- N=64 v97%=1.5 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="331-331" /> <!-- N=64 v97%=1.1 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="123-123" /> <!-- N=64 v97%=1.1 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="83-83" /> <!-- N=64 v97%=1.1 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="49-49" /> <!-- N=64 v97%=1.1 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="484-484" /> <!-- N=62 v97%=1.3 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="294-294" /> <!-- N=64 v97%=1.4 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="160-160" /> <!-- N=64 v97%=1.6 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="84-84" /> <!-- N=62 v97%=1.7 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="51-51" /> <!-- N=64 v97%=1.1 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="500-504" /> <!-- N=64 v97%=1.1 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="292-292" /> <!-- N=64 v97%=1.4 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="161-163" /> <!-- N=64 v97%=1.6 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="83-83" /> <!-- N=64 v97%=1.6 -->
|
||||
<Limit name="measured-frame-rate-3840x2160" range="40-40" /> <!-- N=64 v97%=1.1 -->
|
||||
</MediaCodec>
|
||||
<!-- MANUALLY ENTERED -->
|
||||
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="377-419" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="692-695" /> <!-- N=64 v97%=1.5 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="593-593" /> <!-- N=64 v97%=1.2 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="200-200" /> <!-- N=64 v97%=1.2 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="58-58" /> <!-- N=64 v97%=1.2 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="24-24" /> <!-- N=64 v97%=1.2 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="518-547" /> <!-- N=64 v97%=1.2 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="351-351" /> <!-- N=64 v97%=1.3 -->
|
||||
<!-- measured 97%:100-171 med:108 SLOW -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="108-131" /> <!-- N=64 v97%=1.3 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="61-61" /> <!-- N=64 v97%=1.2 -->
|
||||
</MediaCodec>
|
||||
<!-- MANUALLY ENTERED -->
|
||||
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="294-297" />
|
||||
<Limit name="measured-frame-rate-640x360" range="89-90" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="22-22" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.av1.encoder" type="video/av01" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="121-286" />
|
||||
<Limit name="measured-frame-rate-720x480" range="49-110" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="19-41" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="20-30" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
<Decoders>
|
||||
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="2000-2008" /> <!-- N=129 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-352x288" range="1404-1404" /> <!-- N=128 v98%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="734-734" /> <!-- N=132 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="146-146" /> <!-- N=132 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="48-50" /> <!-- N=132 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="23-24" /> <!-- N=131 v98%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="1469-1469" /> <!-- N=130 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="1240-1240" /> <!-- N=130 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="741-741" /> <!-- N=130 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="369-369" /> <!-- N=130 v98%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="1469-1469" /> <!-- N=130 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="1240-1240" /> <!-- N=130 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="741-741" /> <!-- N=130 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="369-369" /> <!-- N=130 v98%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="708-710" /> <!-- N=128 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="354-354" /> <!-- N=128 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="314-314" /> <!-- N=128 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="118-119" /> <!-- N=128 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="62-64" /> <!-- N=128 v98%=1.1 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="1172-1172" /> <!-- N=128 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="1241-1241" /> <!-- N=128 v98%=1.2 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="1214-1214" /> <!-- N=128 v98%=1.2 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="866-866" /> <!-- N=128 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="587-587" /> <!-- N=128 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-3840x2160" range="167-167" /> <!-- N=128 v98%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="1172-1172" /> <!-- N=128 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="1241-1241" /> <!-- N=128 v98%=1.2 -->
|
||||
<Limit name="measured-frame-rate-720x480" range="1214-1214" /> <!-- N=128 v98%=1.2 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="866-866" /> <!-- N=128 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="587-587" /> <!-- N=128 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-3840x2160" range="167-167" /> <!-- N=128 v98%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="2334-2334" /> <!-- N=128 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-480x360" range="1303-1954" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="368-552" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="1227-1227" /> <!-- N=128 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="472-472" /> <!-- N=128 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="113-113" /> <!-- N=128 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="46-46" /> <!-- N=128 v98%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="1383-1383" /> <!-- N=128 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="1170-1170" /> <!-- N=128 v98%=1.1 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="597-597" /> <!-- N=128 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="251-252" /> <!-- N=128 v98%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.android.av1.decoder" type="video/av01" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="186-426" />
|
||||
<Limit name="measured-frame-rate-720x480" range="102-228" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="52-116" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="20-30" />
|
||||
</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.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="986-991" /> <!-- N=128 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="322-322" /> <!-- N=128 v98%=1.3 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="97-97" /> <!-- N=128 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="56-57" /> <!-- N=128 v98%=1.0 -->
|
||||
</MediaCodec>
|
||||
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="1342-1342" /> <!-- N=128 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-640x360" range="1043-1043" /> <!-- N=128 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-1280x720" range="468-468" /> <!-- N=128 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-1920x1080" range="298-298" /> <!-- N=128 v98%=1.0 -->
|
||||
<Limit name="measured-frame-rate-3840x2160" range="71-71" /> <!-- N=128 v98%=1.0 -->
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
</MediaCodecs>
|
||||
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright (C) 2015-2020 The Linux Foundation. All rights reserved.
|
||||
Not a contribution.
|
||||
Copyright (C) 2012 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.
|
||||
-->
|
||||
<Included>
|
||||
<Decoders>
|
||||
<MediaCodec name="OMX.google.opus.decoder" type="audio/opus" update="true" rank="100"/>
|
||||
<!-- SimpleOMXComponet based software decoder-->
|
||||
</Decoders>
|
||||
</Included>
|
||||
@@ -57,9 +57,6 @@
|
||||
<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxHFRFrameWidth CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxHFRFrameHeight CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxHFRMode CDATA #REQUIRED>
|
||||
<!ELEMENT AudioEncoderCap EMPTY>
|
||||
<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma|lpcm) #REQUIRED>
|
||||
<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
|
||||
@@ -75,16 +72,6 @@
|
||||
<!ELEMENT AudioDecoderCap EMPTY>
|
||||
<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
|
||||
<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
|
||||
<!ELEMENT VideoEditorCap EMPTY>
|
||||
<!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED>
|
||||
<!ELEMENT ExportVideoProfile EMPTY>
|
||||
<!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED>
|
||||
<!ATTLIST ExportVideoProfile profile CDATA #REQUIRED>
|
||||
<!ATTLIST ExportVideoProfile level CDATA #REQUIRED>
|
||||
]>
|
||||
<!--
|
||||
This file is used to declare the multimedia profiles and capabilities
|
||||
@@ -2189,33 +2176,25 @@
|
||||
minBitRate="64000" maxBitRate="42000000"
|
||||
minFrameWidth="176" maxFrameWidth="4096"
|
||||
minFrameHeight="144" maxFrameHeight="2160"
|
||||
minFrameRate="15" maxFrameRate="30"
|
||||
maxHFRFrameWidth="1920" maxHFRFrameHeight="1080"
|
||||
maxHFRMode="120" />
|
||||
minFrameRate="15" maxFrameRate="30" />
|
||||
|
||||
<VideoEncoderCap name="h263" enabled="true"
|
||||
minBitRate="64000" maxBitRate="2000000"
|
||||
minFrameWidth="176" maxFrameWidth="800"
|
||||
minFrameHeight="144" maxFrameHeight="480"
|
||||
minFrameRate="15" maxFrameRate="30"
|
||||
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
|
||||
maxHFRMode="0" />
|
||||
minFrameRate="15" maxFrameRate="30" />
|
||||
|
||||
<VideoEncoderCap name="m4v" enabled="true"
|
||||
minBitRate="64000" maxBitRate="20000000"
|
||||
minFrameWidth="176" maxFrameWidth="1280"
|
||||
minFrameHeight="144" maxFrameHeight="720"
|
||||
minFrameRate="15" maxFrameRate="30"
|
||||
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
|
||||
maxHFRMode="0" />
|
||||
|
||||
minFrameRate="15" maxFrameRate="30" />
|
||||
|
||||
<VideoEncoderCap name="hevc" enabled="true"
|
||||
minBitRate="64000" maxBitRate="100000000"
|
||||
minFrameWidth="176" maxFrameWidth="4096"
|
||||
minFrameHeight="144" maxFrameHeight="2160"
|
||||
minFrameRate="15" maxFrameRate="30"
|
||||
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
|
||||
maxHFRMode="0" />
|
||||
minFrameRate="15" maxFrameRate="30" />
|
||||
|
||||
<AudioEncoderCap name="aac" enabled="true"
|
||||
minBitRate="8000" maxBitRate="96000"
|
||||
@@ -2256,39 +2235,4 @@
|
||||
-->
|
||||
<VideoDecoderCap name="wmv" enabled="true"/>
|
||||
<AudioDecoderCap name="wma" enabled="true"/>
|
||||
|
||||
<!--
|
||||
The VideoEditor Capability configuration:
|
||||
- maxInputFrameWidth: maximum video width of imported video clip.
|
||||
- maxInputFrameHeight: maximum video height of imported video clip.
|
||||
- maxOutputFrameWidth: maximum video width of exported video clip.
|
||||
- maxOutputFrameHeight: maximum video height of exported video clip.
|
||||
- maxPrefetchYUVFrames: maximum prefetch YUV frames for encoder,
|
||||
used to limit the amount of memory for prefetched YUV frames.
|
||||
For this platform, it allows maximum 30MB(3MB per 1080p frame x 10
|
||||
frames) memory.
|
||||
-->
|
||||
<VideoEditorCap maxInputFrameWidth="1920"
|
||||
maxInputFrameHeight="1088" maxOutputFrameWidth="1920"
|
||||
maxOutputFrameHeight="1088" maxPrefetchYUVFrames="10"/>
|
||||
<!--
|
||||
The VideoEditor Export codec profile and level values
|
||||
correspond to the values in OMX_Video.h.
|
||||
E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline
|
||||
and level 4096 means OMX_VIDEO_AVCLevel41.
|
||||
Please note that the values are in decimal.
|
||||
These values are for video encoder.
|
||||
-->
|
||||
<!--
|
||||
Codec = h.264, Baseline profile, level 4.0
|
||||
-->
|
||||
<ExportVideoProfile name="h264" profile= "1" level="2048"/>
|
||||
<!--
|
||||
Codec = h.263, Baseline profile, level 70
|
||||
-->
|
||||
<ExportVideoProfile name="h263" profile= "1" level="128"/>
|
||||
<!--
|
||||
Codec = mpeg4, Simple profile, level 5
|
||||
-->
|
||||
<ExportVideoProfile name="m4v" profile= "1" level="128"/>
|
||||
</MediaSettings>
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
service vendor.sensors-hal-1-0 /vendor/bin/hw/android.hardware.sensors@1.0-service
|
||||
interface android.hardware.sensors@1.0::ISensors default
|
||||
class hal
|
||||
user system
|
||||
group system wakelock uhid context_hub input
|
||||
task_profiles ServiceCapacityLow
|
||||
capabilities BLOCK_SUSPEND
|
||||
rlimit rtprio 10 10
|
||||
208
device.mk
208
device.mk
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2021-2022 The LineageOS Project
|
||||
# Copyright (C) 2019-2025 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
@@ -16,6 +16,10 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
|
||||
# Add common definitions for Qualcomm
|
||||
$(call inherit-product, hardware/qcom-caf/common/common.mk)
|
||||
|
||||
# Get Qcom components
|
||||
TARGET_EXCLUDE_QCOM_SEPOLICY := true
|
||||
TARGET_BOARD_PLATFORM := msmnile
|
||||
|
||||
# AAPT
|
||||
PRODUCT_AAPT_CONFIG := normal
|
||||
PRODUCT_AAPT_PREF_CONFIG := xxhdpi
|
||||
@@ -23,7 +27,6 @@ PRODUCT_AAPT_PREF_CONFIG := xxhdpi
|
||||
# Overlays
|
||||
PRODUCT_PACKAGES += \
|
||||
CarrierConfigOverlay \
|
||||
DeviceAsWebcamRaphael \
|
||||
FaceUnlockServiceOverlay \
|
||||
FrameworksResRaphael \
|
||||
SettingsProviderOverlayGlobal \
|
||||
@@ -39,9 +42,10 @@ PRODUCT_ENFORCE_RRO_TARGETS := *
|
||||
# Soong namespaces
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
$(LOCAL_PATH) \
|
||||
vendor/qcom/opensource/usb/etc \
|
||||
bootable/deprecated-ota \
|
||||
hardware/google/interfaces \
|
||||
hardware/google/pixel \
|
||||
hardware/qcom-caf/common/libqti-perfd-client \
|
||||
hardware/xiaomi
|
||||
|
||||
# IncrementalFS
|
||||
@@ -51,8 +55,7 @@ PRODUCT_PROPERTY_OVERRIDES += \
|
||||
# Vendor init
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/etc/init/android.hardware.drm@1.3-service.widevine.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.drm@1.3-service.widevine.rc \
|
||||
$(LOCAL_PATH)/configs/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc \
|
||||
$(LOCAL_PATH)/configs/services/android.hardware.sensors@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.sensors@1.0-service.rc
|
||||
$(LOCAL_PATH)/configs/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc
|
||||
|
||||
# Permissions
|
||||
PRODUCT_COPY_FILES += \
|
||||
@@ -89,6 +92,7 @@ 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.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.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.ipsec_tunnel_migration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnel_migration.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-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
|
||||
frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \
|
||||
@@ -101,10 +105,6 @@ PRODUCT_PROPERTY_OVERRIDES += \
|
||||
suspend.short_suspend_backoff_enabled=true \
|
||||
suspend.max_sleep_time_millis=40000
|
||||
|
||||
# ANT+
|
||||
PRODUCT_PACKAGES += \
|
||||
AntHalService-Soong
|
||||
|
||||
# Audio
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@7.0-impl \
|
||||
@@ -113,10 +113,12 @@ PRODUCT_PACKAGES += \
|
||||
android.hardware.audio.service \
|
||||
android.hardware.bluetooth.audio@2.1-impl \
|
||||
android.hardware.soundtrigger@2.2-impl \
|
||||
audio.primary.msmnile \
|
||||
audio.bluetooth.default \
|
||||
audio.primary.default \
|
||||
audio.r_submix.default \
|
||||
audio.usb.default \
|
||||
audio_amplifier.msmnile \
|
||||
libaudioroute.vendor \
|
||||
libaudiopreprocessing \
|
||||
libbatterylistener \
|
||||
@@ -138,11 +140,17 @@ PRODUCT_PACKAGES += \
|
||||
libtinycompress \
|
||||
libvisualizer \
|
||||
libvolumelistener \
|
||||
liba2dpoffload \
|
||||
libhdmiedid \
|
||||
libhfp \
|
||||
tinymix
|
||||
|
||||
$(call soong_config_set_bool,android_hardware_audio,skip_speaker_layout_channel_mask_field,true)
|
||||
|
||||
# Audio configs
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/configs/audio/,$(TARGET_COPY_OUT_VENDOR)/etc)
|
||||
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/configs/audio/,$(TARGET_COPY_OUT_VENDOR)/etc) \
|
||||
$(LOCAL_PATH)/configs/audio/dax-default.xml:$(TARGET_COPY_OUT_VENDOR)/etc/dolby/dax-default.xml
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
|
||||
@@ -157,11 +165,6 @@ PRODUCT_PACKAGES += \
|
||||
vendor.qti.hardware.btconfigstore@1.0.vendor \
|
||||
vendor.qti.hardware.btconfigstore@2.0.vendor
|
||||
|
||||
# Blur
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
|
||||
ro.sf.blurs_are_expensive=1 \
|
||||
ro.surface_flinger.supports_background_blur=1
|
||||
|
||||
# Board
|
||||
PRODUCT_USES_QCOM_HARDWARE := true
|
||||
PRODUCT_BOARD_PLATFORM := msmnile
|
||||
@@ -176,12 +179,17 @@ PRODUCT_PACKAGES += \
|
||||
libcamera2ndk_vendor \
|
||||
libdng_sdk.vendor \
|
||||
libgui_vendor \
|
||||
libshim_megvii \
|
||||
libMegviiFacepp-0.5.2 \
|
||||
libmegface \
|
||||
libstdc++_vendor \
|
||||
vendor.qti.hardware.camera.device@1.0.vendor \
|
||||
vendor.qti.hardware.camera.postproc@1.0.vendor \
|
||||
vendor.xiaomi.hardware.motor@1.0.vendor
|
||||
|
||||
$(call soong_config_set_bool,camera,override_format_from_reserved,true)
|
||||
$(call soong_config_set,camera,package_name,com.android.camera)
|
||||
$(call soong_config_set,libcameraservice,ext_lib,libcameraservice_extension.raphael)
|
||||
|
||||
# MiuiCamera
|
||||
$(call inherit-product-if-exists, vendor/xiaomi/miuicamera/config.mk)
|
||||
|
||||
@@ -191,22 +199,28 @@ PRODUCT_COPY_FILES += \
|
||||
# Display
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.graphics.composer@2.4-service \
|
||||
gralloc.qcom \
|
||||
hwcomposer.qcom
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.graphics.mapper@3.0-impl-qti-display \
|
||||
android.hardware.graphics.mapper@4.0-impl-qti-display \
|
||||
vendor.qti.hardware.memtrack-service \
|
||||
gralloc.msmnile \
|
||||
hwcomposer.msmnile \
|
||||
libtinyxml \
|
||||
vendor.qti.hardware.display.allocator-service
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.qti.hardware.memtrack-service
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libdisplayconfig.qti \
|
||||
libdisplayconfig.system.qti \
|
||||
libgui_vendor \
|
||||
libqdMetaData \
|
||||
libqdMetaData.system \
|
||||
libvulkan \
|
||||
libtinyxml \
|
||||
vendor.display.config@1.11.vendor \
|
||||
vendor.display.config@1.5 \
|
||||
vendor.display.config@2.0 \
|
||||
vendor.display.config@2.0.vendor \
|
||||
vendor.qti.hardware.display.allocator-service \
|
||||
vendor.qti.hardware.display.allocator@1.0.vendor \
|
||||
vendor.qti.hardware.display.allocator@3.0.vendor \
|
||||
vendor.qti.hardware.display.allocator@4.0.vendor \
|
||||
@@ -218,6 +232,9 @@ PRODUCT_PACKAGES += \
|
||||
vendor.qti.hardware.display.mapper@4.0.vendor \
|
||||
vendor.qti.hardware.display.mapperextensions@1.1.vendor
|
||||
|
||||
$(call soong_config_set,qtidisplay,gralloc_handle_has_reserved_size,true)
|
||||
$(call soong_config_set,qtimedia,disabled_ubwc,true)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
disable_configstore
|
||||
|
||||
@@ -242,13 +259,15 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
# Fingerprint
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.biometrics.fingerprint@2.3-service.xiaomi_raphael
|
||||
android.hardware.biometrics.fingerprint-service.xiaomi \
|
||||
vendor.goodix.hardware.biometrics.fingerprint@2.1.vendor \
|
||||
libudfpshandler
|
||||
|
||||
$(call soong_config_set,surfaceflinger,udfps_lib,//hardware/xiaomi:libudfps_extension.xiaomi)
|
||||
|
||||
# FM
|
||||
PRODUCT_PACKAGES += \
|
||||
FM2 \
|
||||
libqcomfm_jni \
|
||||
qcom.fmradio
|
||||
FM2
|
||||
|
||||
# Gatekeeper
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -305,6 +324,26 @@ PRODUCT_COPY_FILES += \
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/etc/msm_irqbalance.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance.conf
|
||||
|
||||
# Init
|
||||
PRODUCT_PACKAGES += \
|
||||
fstab.qcom \
|
||||
fstab.qcom.ramdisk \
|
||||
fstab.qcom.vendor_ramdisk \
|
||||
fstab.zram
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
init.power.rc \
|
||||
init.qcom.rc \
|
||||
init.qcom.sh \
|
||||
init.qcom.usb.rc \
|
||||
init.qcom.usb.sh \
|
||||
init.recovery.qcom.rc \
|
||||
init.target.rc \
|
||||
init.xiaomi.rc \
|
||||
ueventd.qcom.rc
|
||||
|
||||
$(call soong_config_set,libinit,vendor_init_lib,//$(LOCAL_PATH):init_xiaomi_raphael)
|
||||
|
||||
# Keylayout
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/keylayout/gpio-keys.kl:$(TARGET_COPY_OUT_SYSTEM)/usr/keylayout/gpio-keys.kl \
|
||||
@@ -314,12 +353,6 @@ PRODUCT_COPY_FILES += \
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.keymaster@4.1.vendor
|
||||
|
||||
# LMK tuning
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.lmk.filecache_min_kb=153600 \
|
||||
ro.lmk.kill_timeout_ms=50 \
|
||||
ro.lmk.stall_limit_critical=40
|
||||
|
||||
# Lights
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.light@2.0-service.xiaomi_raphael
|
||||
@@ -328,9 +361,10 @@ PRODUCT_PACKAGES += \
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.lineage.health-service.default
|
||||
|
||||
# Livedisplay
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.lineage.livedisplay@2.1-service.raphael
|
||||
$(call soong_config_set,lineage_health,charging_control_charging_disabled,1)
|
||||
$(call soong_config_set,lineage_health,charging_control_charging_enabled,0)
|
||||
$(call soong_config_set,lineage_health,charging_control_charging_path,/sys/class/power_supply/battery/input_suspend)
|
||||
$(call soong_config_set_bool,lineage_health,charging_control_supports_bypass,false)
|
||||
|
||||
# Logging
|
||||
SPAMMY_LOG_TAGS := \
|
||||
@@ -359,18 +393,25 @@ PRODUCT_PACKAGES += \
|
||||
libavservices_minijail.vendor \
|
||||
libavservices_minijail_vendor \
|
||||
libcodec2_hidl@1.0.vendor \
|
||||
libcodec2_vndk.vendor
|
||||
libcodec2_soft_common.vendor \
|
||||
libcodec2_vndk.vendor \
|
||||
libsfplugin_ccodec_utils.vendor \
|
||||
libstagefright_foundation-v33
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
|
||||
$(LOCAL_PATH)/configs/media/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
|
||||
$(LOCAL_PATH)/configs/media/media_codecs_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor.xml \
|
||||
$(LOCAL_PATH)/configs/media/media_codecs_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml \
|
||||
$(LOCAL_PATH)/configs/media/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \
|
||||
$(LOCAL_PATH)/configs/media/media_codecs_performance_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml \
|
||||
$(LOCAL_PATH)/configs/media/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \
|
||||
$(LOCAL_PATH)/configs/media/media_profiles.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml \
|
||||
$(LOCAL_PATH)/configs/media/media_profiles_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml
|
||||
|
||||
# Properties
|
||||
PRODUCT_SYSTEM_EXT_PROPERTIES += \
|
||||
media.settings.xml=/vendor/etc/media_profiles_vendor.xml \
|
||||
media.stagefright.thumbnail.prefer_hw_codecs=true \
|
||||
ro.media.recorder-max-base-layer-fps=60
|
||||
|
||||
# Media Codecs
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_c2_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_audio.xml \
|
||||
@@ -403,7 +444,6 @@ PRODUCT_PACKAGES += \
|
||||
android.hardware.nfc@1.2-service \
|
||||
com.android.nfc_extras \
|
||||
libchrome.vendor \
|
||||
NfcNci \
|
||||
SecureElement \
|
||||
Tag
|
||||
|
||||
@@ -421,25 +461,6 @@ PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_nfc/android.hardware.se.omapi.uicc.xml \
|
||||
frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_nfc/com.android.nfc_extras.xml
|
||||
|
||||
# OMX
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.media.omx@1.0-service \
|
||||
libc2dcolorconvert \
|
||||
libcodec2_hidl@1.0.vendor \
|
||||
libcodec2_vndk.vendor \
|
||||
libmm-omxcore \
|
||||
libOmxAacEnc \
|
||||
libOmxAmrEnc \
|
||||
libOmxCore \
|
||||
libOmxEvrcEnc \
|
||||
libOmxG711Enc \
|
||||
libOmxQcelp13Enc \
|
||||
libOmxVdec \
|
||||
libOmxVenc \
|
||||
libstagefrighthw \
|
||||
libstagefright_omx.vendor \
|
||||
libstagefright_softomx_plugin.vendor
|
||||
|
||||
# QDCM
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/etc/qdcm_calib_data_samsung_ea8076_fhd_cmd_dsi_panel.xml:$(TARGET_COPY_OUT_VENDOR)/etc/qdcm_calib_data_samsung_ea8076_fhd_cmd_dsi_panel.xml \
|
||||
@@ -447,19 +468,30 @@ PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/etc/sdr_config.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/sdr_config.cfg \
|
||||
$(LOCAL_PATH)/configs/etc/hdr_config.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/hdr_config.cfg
|
||||
|
||||
|
||||
|
||||
# Partitions
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor_bt_firmware_mountpoint \
|
||||
vendor_dsp_mountpoint \
|
||||
vendor_firmware_mnt_mountpoint
|
||||
|
||||
PRODUCT_USE_DYNAMIC_PARTITIONS := true
|
||||
|
||||
# Parts
|
||||
PRODUCT_PACKAGES += \
|
||||
DSPVolumeSynchronizer \
|
||||
XiaomiDolby \
|
||||
XiaomiParts
|
||||
|
||||
# Powerstats
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.power.stats@1.0-service.raphael
|
||||
|
||||
# Partitions
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor_bt_firmware_mountpoint \
|
||||
vendor_dsp_mountpoint \
|
||||
vendor_firmware_mnt_mountpoint
|
||||
|
||||
# Perf
|
||||
PRODUCT_PACKAGES += \
|
||||
libqti-perfd-client
|
||||
@@ -473,10 +505,10 @@ PRODUCT_PACKAGES += \
|
||||
PRODUCT_PACKAGES += \
|
||||
sendhint
|
||||
|
||||
# Enable adpf cpu hint session for SurfaceFlinger and HWUI
|
||||
# Enable Hint maneger for SurfaceFlinger and HWUI
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
|
||||
debug.sf.enable_adpf_cpu_hint=true \
|
||||
debug.hwui.use_hint_manager=true
|
||||
debug.hwui.use_hint_manager=true \
|
||||
debug.hwui.target_cpu_time_percent=30
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/etc/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
|
||||
@@ -508,14 +540,9 @@ PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/permissions/telephony_system-ext_privapp-permissions-qti.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/telephony_system-ext-privapp-permissions-qti.xml
|
||||
|
||||
# Quick Tap
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
PRODUCT_SYSTEM_EXT_PROPERTIES += \
|
||||
persist.columbus.model=tap7cls_coral.tflite
|
||||
|
||||
# RCS
|
||||
PRODUCT_PACKAGES += \
|
||||
PresencePolling \
|
||||
RcsService
|
||||
|
||||
# RIL
|
||||
PRODUCT_PACKAGES += \
|
||||
libprotobuf-cpp-full \
|
||||
@@ -529,22 +556,9 @@ PRODUCT_PACKAGES += \
|
||||
android.hardware.radio.config@1.2.vendor \
|
||||
android.hardware.radio.deprecated@1.0.vendor
|
||||
|
||||
# Rootdir
|
||||
# Recovery
|
||||
PRODUCT_PACKAGES += \
|
||||
fstab.qcom_ramdisk \
|
||||
fstab.qcom \
|
||||
fstab.zram
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
init.power.rc \
|
||||
init.qcom.rc \
|
||||
init.qcom.sh \
|
||||
init.qcom.usb.rc \
|
||||
init.qcom.usb.sh \
|
||||
init.recovery.qcom.rc \
|
||||
init.target.rc \
|
||||
init.xiaomi.rc \
|
||||
ueventd.qcom.rc
|
||||
init_xiaomi_raphael.recovery
|
||||
|
||||
# Seccomp
|
||||
PRODUCT_COPY_FILES += \
|
||||
@@ -572,8 +586,7 @@ PRODUCT_COPY_FILES += \
|
||||
|
||||
# Shim
|
||||
PRODUCT_PACKAGES += \
|
||||
libpiex_shim \
|
||||
libwatermark_shim
|
||||
libpiex_shim
|
||||
|
||||
# Task Profiles
|
||||
PRODUCT_COPY_FILES += \
|
||||
@@ -617,11 +630,15 @@ PRODUCT_COPY_FILES += \
|
||||
PRODUCT_PACKAGES += \
|
||||
libtinyxml2
|
||||
|
||||
# Update
|
||||
AB_OTA_UPDATER := false
|
||||
|
||||
# UFFD GC
|
||||
OVERRIDE_ENABLE_UFFD_GC := false
|
||||
|
||||
# USB
|
||||
PRODUCT_PACKAGES += \
|
||||
usb_compositions.conf \
|
||||
android.hardware.usb@1.3-service.dual_role_usb \
|
||||
android.hardware.usb.gadget@1.2-service-qti
|
||||
android.hardware.usb@1.0-service
|
||||
|
||||
# Vendor service manager
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -635,6 +652,7 @@ $(call inherit-product, packages/apps/ViPER4AndroidFX/config.mk)
|
||||
|
||||
# VNDK
|
||||
PRODUCT_PACKAGES += \
|
||||
libcrypto-v33 \
|
||||
libutilscallstack.vendor:64 \
|
||||
libnetutils.vendor:64 \
|
||||
libsqlite.vendor:64 \
|
||||
@@ -668,8 +686,18 @@ PRODUCT_COPY_FILES += \
|
||||
|
||||
# WiFi Display
|
||||
PRODUCT_PACKAGES += \
|
||||
libavservices_minijail \
|
||||
libnl \
|
||||
libpng.vendor
|
||||
|
||||
PRODUCT_BOOT_JARS += \
|
||||
WfdCommon
|
||||
|
||||
PRODUCT_SYSTEM_EXT_PROPERTIES += \
|
||||
debug.sf.enable_hwc_vds=0 \
|
||||
persist.debug.wfd.enable=1 \
|
||||
persist.sys.wfd.virtual=0
|
||||
|
||||
# Enable zygote critical window.
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
zygote.critical_window.minute=10
|
||||
|
||||
@@ -1,21 +1,23 @@
|
||||
[
|
||||
{
|
||||
"repository": "onettboots/bool-x_xiaomi_raphael",
|
||||
"target_path": "kernel/xiaomi/raphael",
|
||||
"remote": "github",
|
||||
"branch": "dev/DSPcassOcd"
|
||||
},
|
||||
{
|
||||
"repository": "vendor_xiaomi_raphael",
|
||||
"target_path": "vendor/xiaomi/raphael"
|
||||
},
|
||||
{
|
||||
"repository": "evo-x/vendor_xiaomi_miuicamera",
|
||||
"target_path": "vendor/xiaomi/miuicamera",
|
||||
"remote": "bb"
|
||||
},
|
||||
{
|
||||
"repository": "packages_apps_ViPER4AndroidFX",
|
||||
"target_path": "packages/apps/ViPER4AndroidFX"
|
||||
}
|
||||
{
|
||||
"repository": "vendor_xiaomi_raphael",
|
||||
"target_path": "vendor/xiaomi/raphael"
|
||||
},
|
||||
{
|
||||
"repository": "kernel_xiaomi_raphael",
|
||||
"target_path": "kernel/xiaomi/raphael"
|
||||
},
|
||||
{
|
||||
"repository": "hardware_xiaomi",
|
||||
"target_path": "hardware/xiaomi"
|
||||
},
|
||||
{
|
||||
"repository": "packages_apps_ViPER4AndroidFX",
|
||||
"target_path": "packages/apps/ViPER4AndroidFX"
|
||||
},
|
||||
{
|
||||
"repository": "EvoX/vendor_xiaomi_miuicamera",
|
||||
"target_path": "vendor/xiaomi/miuicamera",
|
||||
"remote": "gitlab"
|
||||
}
|
||||
]
|
||||
|
||||
97
extract-files.py
Executable file
97
extract-files.py
Executable file
@@ -0,0 +1,97 @@
|
||||
#!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2024 The LineageOS Project
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
from extract_utils.fixups_blob import (
|
||||
blob_fixup,
|
||||
blob_fixups_user_type,
|
||||
)
|
||||
from extract_utils.fixups_lib import (
|
||||
lib_fixups,
|
||||
lib_fixups_user_type,
|
||||
)
|
||||
from extract_utils.main import (
|
||||
ExtractUtils,
|
||||
ExtractUtilsModule,
|
||||
)
|
||||
|
||||
namespace_imports = [
|
||||
"device/xiaomi/raphael",
|
||||
"hardware/qcom-caf/sm8150",
|
||||
"hardware/qcom-caf/wlan",
|
||||
"hardware/xiaomi",
|
||||
"vendor/qcom/opensource/dataservices",
|
||||
"vendor/qcom/opensource/commonsys-intf/display",
|
||||
"vendor/qcom/opensource/commonsys/display",
|
||||
"vendor/qcom/opensource/display",
|
||||
]
|
||||
|
||||
|
||||
def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
|
||||
return f'{lib}_{partition}' if partition == 'vendor' else None
|
||||
|
||||
|
||||
lib_fixups: lib_fixups_user_type = {
|
||||
**lib_fixups,
|
||||
(
|
||||
'com.qualcomm.qti.dpm.api@1.0',
|
||||
'vendor.qti.hardware.fm@1.0',
|
||||
'libmmosal',
|
||||
'vendor.qti.hardware.wifidisplaysession@1.0',
|
||||
'vendor.qti.imsrtpservice@3.0',
|
||||
): lib_fixup_vendor_suffix,
|
||||
}
|
||||
|
||||
blob_fixups: blob_fixups_user_type = {
|
||||
'vendor/lib64/camera/components/com.qti.node.watermark.so': blob_fixup()
|
||||
.add_needed('libpiex_shim.so'),
|
||||
(
|
||||
'vendor/lib64/libalAILDC.so',
|
||||
'vendor/lib64/libalLDC.so',
|
||||
'vendor/lib64/libalhLDC.so'): blob_fixup()
|
||||
.clear_symbol_version('AHardwareBuffer_allocate')
|
||||
.clear_symbol_version('AHardwareBuffer_describe')
|
||||
.clear_symbol_version('AHardwareBuffer_lock')
|
||||
.clear_symbol_version('AHardwareBuffer_release')
|
||||
.clear_symbol_version('AHardwareBuffer_unlock'),
|
||||
(
|
||||
'vendor/lib64/libarcsoft_dualcam_refocus_front.so',
|
||||
'vendor/lib64/libarcsoft_dualcam_refocus_rear_t.so',
|
||||
'vendor/lib64/libarcsoft_dualcam_refocus_rear_w.so'
|
||||
): blob_fixup()
|
||||
.clear_symbol_version('remote_handle_close')
|
||||
.clear_symbol_version('remote_handle_invoke')
|
||||
.clear_symbol_version('remote_handle_open')
|
||||
.clear_symbol_version('remote_register_buf_attr')
|
||||
.clear_symbol_version('remote_register_buf'),
|
||||
(
|
||||
'vendor/etc/wfdconfig.xml'
|
||||
): blob_fixup()
|
||||
.regex_replace('<AudioStreamInSuspend>0</AudioStreamInSuspend>', '<AudioStreamInSuspend>1</AudioStreamInSuspend>')
|
||||
.regex_replace('<HID>0</HID>', '<HID>1</HID>'),
|
||||
(
|
||||
'vendor/lib64/libwvhidl.so',
|
||||
'vendor/lib/mediadrm/libwvdrmengine.so',
|
||||
'vendor/lib64/mediadrm/libwvdrmengine.so'
|
||||
): blob_fixup()
|
||||
.add_needed('libcrypto_shim.so'),
|
||||
(
|
||||
'vendor/lib/libaudioroute_ext.so',
|
||||
): blob_fixup()
|
||||
.replace_needed('libaudioroute.so', 'libaudioroute-v34.so'),
|
||||
} # fmt: skip
|
||||
|
||||
module = ExtractUtilsModule(
|
||||
'raphael',
|
||||
'xiaomi',
|
||||
blob_fixups=blob_fixups,
|
||||
lib_fixups=lib_fixups,
|
||||
namespace_imports=namespace_imports,
|
||||
)
|
||||
|
||||
if __name__ == '__main__':
|
||||
utils = ExtractUtils.device(module)
|
||||
utils.run()
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (C) 2016 The CyanogenMod Project
|
||||
# Copyright (C) 2017-2021 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
DEVICE=raphael
|
||||
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}/../../.."
|
||||
|
||||
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
|
||||
|
||||
SECTION=
|
||||
KANG=
|
||||
|
||||
while [ "${#}" -gt 0 ]; do
|
||||
case "${1}" in
|
||||
-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
|
||||
vendor/lib64/hw/camera.qcom.so)
|
||||
"${PATCHELF}" --remove-needed "libMegviiFacepp-0.5.2.so" "${2}"
|
||||
"${PATCHELF}" --remove-needed "libmegface.so" "${2}"
|
||||
"${PATCHELF}" --add-needed "libshim_megvii.so" "${2}"
|
||||
;;
|
||||
vendor/lib64/camera/components/com.qti.node.watermark.so)
|
||||
"${PATCHELF}" --add-needed "libwatermark_shim.so" "${2}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Initialize the helper
|
||||
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" true "${CLEAN_VENDOR}"
|
||||
|
||||
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" \
|
||||
"${KANG}" --section "${SECTION}"
|
||||
|
||||
"${MY_DIR}/setup-makefiles.sh"
|
||||
@@ -1,59 +0,0 @@
|
||||
//
|
||||
// Copyright (C) 2017-2020 The LineageOS Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
cc_binary {
|
||||
name: "android.hardware.biometrics.fingerprint@2.3-service.xiaomi_raphael",
|
||||
relative_install_path: "hw",
|
||||
defaults: ["hidl_defaults"],
|
||||
init_rc: ["android.hardware.biometrics.fingerprint@2.3-service.xiaomi_raphael.rc"],
|
||||
vintf_fragments: ["android.hardware.biometrics.fingerprint@2.3-service.xiaomi_raphael.xml"],
|
||||
srcs: ["service.cpp", "BiometricsFingerprint.cpp"],
|
||||
shared_libs: [
|
||||
"libbase",
|
||||
"libhardware",
|
||||
"libhidlbase",
|
||||
"liblog",
|
||||
"libutils",
|
||||
"libcutils",
|
||||
"android.hardware.biometrics.fingerprint@2.1",
|
||||
"android.hardware.biometrics.fingerprint@2.2",
|
||||
"android.hardware.biometrics.fingerprint@2.3",
|
||||
"vendor.goodix.hardware.biometrics.fingerprint@2.1",
|
||||
"vendor.xiaomi.hardware.fingerprintextension@1.0",
|
||||
"android.hardware.power-V1-ndk",
|
||||
"pixel-power-ext-V1-ndk",
|
||||
"libbinder_ndk",
|
||||
],
|
||||
proprietary: true,
|
||||
lto: {
|
||||
thin: true,
|
||||
},
|
||||
whole_program_vtables: true,
|
||||
}
|
||||
|
||||
cc_library_static {
|
||||
name: "libudfps_extension.xiaomi_raphael",
|
||||
srcs: ["UdfpsExtension.cpp"],
|
||||
include_dirs: [
|
||||
"frameworks/native/services/surfaceflinger/CompositionEngine/include"
|
||||
],
|
||||
header_libs: [
|
||||
"generated_kernel_headers",
|
||||
],
|
||||
lto: {
|
||||
thin: true,
|
||||
},
|
||||
whole_program_vtables: true,
|
||||
}
|
||||
@@ -1,595 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2017 The Android Open Source Project
|
||||
* Copyright (C) 2018-2020 The LineageOS Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#define LOG_TAG "android.hardware.biometrics.fingerprint@2.3-service.xiaomi_raphael"
|
||||
|
||||
#include "BiometricsFingerprint.h"
|
||||
|
||||
#include <android/binder_manager.h>
|
||||
#include <android-base/strings.h>
|
||||
#include <cutils/properties.h>
|
||||
#include <hardware/hardware.h>
|
||||
#include <hardware/hw_auth_token.h>
|
||||
#include <inttypes.h>
|
||||
#include <poll.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <fstream>
|
||||
#include <thread>
|
||||
|
||||
#include <aidl/android/hardware/power/IPower.h>
|
||||
#include <aidl/google/hardware/power/extension/pixel/IPowerExt.h>
|
||||
|
||||
using ::aidl::android::hardware::power::IPower;
|
||||
using ::aidl::google::hardware::power::extension::pixel::IPowerExt;
|
||||
|
||||
#define COMMAND_NIT 10
|
||||
#define PARAM_NIT_FOD 1
|
||||
#define PARAM_NIT_NONE 0
|
||||
|
||||
#define FOD_STATUS_PATH "/sys/devices/virtual/touch/tp_dev/fod_status"
|
||||
#define FOD_STATUS_ON 1
|
||||
#define FOD_STATUS_OFF 0
|
||||
|
||||
#define FOD_UI_PATH "/sys/devices/platform/soc/soc:qcom,dsi-display-primary/fod_ui"
|
||||
|
||||
namespace {
|
||||
|
||||
template <typename T>
|
||||
static void set(const std::string& path, const T& value) {
|
||||
std::ofstream file(path);
|
||||
file << value;
|
||||
}
|
||||
|
||||
static bool readBool(int fd) {
|
||||
char c;
|
||||
int rc;
|
||||
|
||||
rc = lseek(fd, 0, SEEK_SET);
|
||||
if (rc) {
|
||||
ALOGE("failed to seek fd, err: %d", rc);
|
||||
return false;
|
||||
}
|
||||
|
||||
rc = read(fd, &c, sizeof(char));
|
||||
if (rc != 1) {
|
||||
ALOGE("failed to read bool from fd, err: %d", rc);
|
||||
return false;
|
||||
}
|
||||
|
||||
return c != '0';
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace biometrics {
|
||||
namespace fingerprint {
|
||||
namespace V2_3 {
|
||||
namespace implementation {
|
||||
|
||||
// Supported fingerprint HAL version
|
||||
static const uint16_t kVersion = HARDWARE_MODULE_API_VERSION(2, 1);
|
||||
constexpr char kBoostHint[] = "LAUNCH";
|
||||
constexpr int32_t kBoostDurationMs = 2000;
|
||||
|
||||
using RequestStatus = android::hardware::biometrics::fingerprint::V2_1::RequestStatus;
|
||||
|
||||
BiometricsFingerprint* BiometricsFingerprint::sInstance = nullptr;
|
||||
|
||||
BiometricsFingerprint::BiometricsFingerprint() : mClientCallback(nullptr), mDevice(nullptr), mBoostHintIsSupported(false), mBoostHintSupportIsChecked(false), mPowerHalExtAidl(nullptr) {
|
||||
sInstance = this; // keep track of the most recent instance
|
||||
mDevice = openHal();
|
||||
if (!mDevice) {
|
||||
ALOGE("Can't open HAL module");
|
||||
}
|
||||
|
||||
std::thread([this]() {
|
||||
int fd = open(FOD_UI_PATH, O_RDONLY);
|
||||
if (fd < 0) {
|
||||
ALOGE("failed to open fd, err: %d", fd);
|
||||
return;
|
||||
}
|
||||
|
||||
struct pollfd fodUiPoll = {
|
||||
.fd = fd,
|
||||
.events = POLLERR | POLLPRI,
|
||||
.revents = 0,
|
||||
};
|
||||
|
||||
while (true) {
|
||||
int rc = poll(&fodUiPoll, 1, -1);
|
||||
if (rc < 0) {
|
||||
ALOGE("failed to poll fd, err: %d", rc);
|
||||
continue;
|
||||
}
|
||||
|
||||
bool fingerDown = readBool(fd);
|
||||
ALOGI("fod_ui status: %d", fingerDown);
|
||||
extCmd(COMMAND_NIT, fingerDown ? PARAM_NIT_FOD : PARAM_NIT_NONE);
|
||||
if (!fingerDown) {
|
||||
set(FOD_STATUS_PATH, FOD_STATUS_OFF);
|
||||
}
|
||||
}
|
||||
}).detach();
|
||||
}
|
||||
|
||||
|
||||
int32_t BiometricsFingerprint::connectPowerHalExt() {
|
||||
if (mPowerHalExtAidl) {
|
||||
return android::NO_ERROR;
|
||||
}
|
||||
const std::string kInstance = std::string(IPower::descriptor) + "/default";
|
||||
ndk::SpAIBinder pwBinder = ndk::SpAIBinder(AServiceManager_getService(kInstance.c_str()));
|
||||
ndk::SpAIBinder pwExtBinder;
|
||||
AIBinder_getExtension(pwBinder.get(), pwExtBinder.getR());
|
||||
mPowerHalExtAidl = IPowerExt::fromBinder(pwExtBinder);
|
||||
if (!mPowerHalExtAidl) {
|
||||
ALOGE("failed to connect power HAL extension");
|
||||
return -EINVAL;
|
||||
}
|
||||
ALOGI("connect power HAL extension successfully");
|
||||
return android::NO_ERROR;
|
||||
}
|
||||
|
||||
int32_t BiometricsFingerprint::checkPowerHalExtBoostSupport(const std::string &boost) {
|
||||
if (boost.empty() || connectPowerHalExt() != android::NO_ERROR) {
|
||||
return -EINVAL;
|
||||
}
|
||||
bool isSupported = false;
|
||||
auto ret = mPowerHalExtAidl->isBoostSupported(boost.c_str(), &isSupported);
|
||||
if (!ret.isOk()) {
|
||||
ALOGE("failed to check power HAL extension hint: boost=%s", boost.c_str());
|
||||
if (ret.getExceptionCode() == EX_TRANSACTION_FAILED) {
|
||||
/*
|
||||
* PowerHAL service may crash due to some reasons, this could end up
|
||||
* binder transaction failure. Set nullptr here to trigger re-connection.
|
||||
*/
|
||||
ALOGE("binder transaction failed for power HAL extension hint");
|
||||
mPowerHalExtAidl = nullptr;
|
||||
return -ENOTCONN;
|
||||
}
|
||||
return -EINVAL;
|
||||
}
|
||||
if (!isSupported) {
|
||||
ALOGW("power HAL extension hint is not supported: boost=%s", boost.c_str());
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
ALOGI("power HAL extension hint is supported: boost=%s", boost.c_str());
|
||||
return android::NO_ERROR;
|
||||
}
|
||||
|
||||
int32_t BiometricsFingerprint::sendPowerHalExtBoost(const std::string &boost,
|
||||
int32_t durationMs) {
|
||||
if (boost.empty() || connectPowerHalExt() != android::NO_ERROR) {
|
||||
return -EINVAL;
|
||||
}
|
||||
auto ret = mPowerHalExtAidl->setBoost(boost.c_str(), durationMs);
|
||||
if (!ret.isOk()) {
|
||||
ALOGE("failed to send power HAL extension hint: boost=%s, duration=%d", boost.c_str(),
|
||||
durationMs);
|
||||
if (ret.getExceptionCode() == EX_TRANSACTION_FAILED) {
|
||||
/*
|
||||
* PowerHAL service may crash due to some reasons, this could end up
|
||||
* binder transaction failure. Set nullptr here to trigger re-connection.
|
||||
*/
|
||||
ALOGE("binder transaction failed for power HAL extension hint");
|
||||
mPowerHalExtAidl = nullptr;
|
||||
return -ENOTCONN;
|
||||
}
|
||||
return -EINVAL;
|
||||
}
|
||||
return android::NO_ERROR;
|
||||
}
|
||||
|
||||
int32_t BiometricsFingerprint::isBoostHintSupported() {
|
||||
int32_t ret = android::NO_ERROR;
|
||||
if (mBoostHintSupportIsChecked) {
|
||||
ret = mBoostHintIsSupported ? android::NO_ERROR : -EOPNOTSUPP;
|
||||
return ret;
|
||||
}
|
||||
ret = checkPowerHalExtBoostSupport(kBoostHint);
|
||||
if (ret == android::NO_ERROR) {
|
||||
mBoostHintIsSupported = true;
|
||||
mBoostHintSupportIsChecked = true;
|
||||
ALOGI("Boost hint is supported");
|
||||
} else if (ret == -EOPNOTSUPP) {
|
||||
mBoostHintSupportIsChecked = true;
|
||||
ALOGI("Boost hint is unsupported");
|
||||
} else {
|
||||
ALOGW("Failed to check the support of boost hint, ret %d", ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int32_t BiometricsFingerprint::sendAuthenticatedBoostHint() {
|
||||
int32_t ret = isBoostHintSupported();
|
||||
if (ret != android::NO_ERROR) {
|
||||
return ret;
|
||||
}
|
||||
ret = sendPowerHalExtBoost(kBoostHint, kBoostDurationMs);
|
||||
return ret;
|
||||
}
|
||||
|
||||
BiometricsFingerprint::~BiometricsFingerprint() {
|
||||
ALOGV("~BiometricsFingerprint()");
|
||||
if (mDevice == nullptr) {
|
||||
ALOGE("No valid device");
|
||||
return;
|
||||
}
|
||||
int err;
|
||||
if (0 != (err = mDevice->common.close(reinterpret_cast<hw_device_t*>(mDevice)))) {
|
||||
ALOGE("Can't close fingerprint module, error: %d", err);
|
||||
return;
|
||||
}
|
||||
mDevice = nullptr;
|
||||
}
|
||||
|
||||
Return<RequestStatus> BiometricsFingerprint::ErrorFilter(int32_t error) {
|
||||
switch (error) {
|
||||
case 0:
|
||||
return RequestStatus::SYS_OK;
|
||||
case -2:
|
||||
return RequestStatus::SYS_ENOENT;
|
||||
case -4:
|
||||
return RequestStatus::SYS_EINTR;
|
||||
case -5:
|
||||
return RequestStatus::SYS_EIO;
|
||||
case -11:
|
||||
return RequestStatus::SYS_EAGAIN;
|
||||
case -12:
|
||||
return RequestStatus::SYS_ENOMEM;
|
||||
case -13:
|
||||
return RequestStatus::SYS_EACCES;
|
||||
case -14:
|
||||
return RequestStatus::SYS_EFAULT;
|
||||
case -16:
|
||||
return RequestStatus::SYS_EBUSY;
|
||||
case -22:
|
||||
return RequestStatus::SYS_EINVAL;
|
||||
case -28:
|
||||
return RequestStatus::SYS_ENOSPC;
|
||||
case -110:
|
||||
return RequestStatus::SYS_ETIMEDOUT;
|
||||
default:
|
||||
ALOGE("An unknown error returned from fingerprint vendor library: %d", error);
|
||||
return RequestStatus::SYS_UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
||||
// Translate from errors returned by traditional HAL (see fingerprint.h) to
|
||||
// HIDL-compliant FingerprintError.
|
||||
FingerprintError BiometricsFingerprint::VendorErrorFilter(int32_t error, int32_t* vendorCode) {
|
||||
*vendorCode = 0;
|
||||
switch (error) {
|
||||
case FINGERPRINT_ERROR_HW_UNAVAILABLE:
|
||||
return FingerprintError::ERROR_HW_UNAVAILABLE;
|
||||
case FINGERPRINT_ERROR_UNABLE_TO_PROCESS:
|
||||
return FingerprintError::ERROR_UNABLE_TO_PROCESS;
|
||||
case FINGERPRINT_ERROR_TIMEOUT:
|
||||
return FingerprintError::ERROR_TIMEOUT;
|
||||
case FINGERPRINT_ERROR_NO_SPACE:
|
||||
return FingerprintError::ERROR_NO_SPACE;
|
||||
case FINGERPRINT_ERROR_CANCELED:
|
||||
return FingerprintError::ERROR_CANCELED;
|
||||
case FINGERPRINT_ERROR_UNABLE_TO_REMOVE:
|
||||
return FingerprintError::ERROR_UNABLE_TO_REMOVE;
|
||||
case FINGERPRINT_ERROR_LOCKOUT:
|
||||
return FingerprintError::ERROR_LOCKOUT;
|
||||
default:
|
||||
if (error >= FINGERPRINT_ERROR_VENDOR_BASE) {
|
||||
// vendor specific code.
|
||||
*vendorCode = error - FINGERPRINT_ERROR_VENDOR_BASE;
|
||||
return FingerprintError::ERROR_VENDOR;
|
||||
}
|
||||
}
|
||||
ALOGE("Unknown error from fingerprint vendor library: %d", error);
|
||||
return FingerprintError::ERROR_UNABLE_TO_PROCESS;
|
||||
}
|
||||
|
||||
// Translate acquired messages returned by traditional HAL (see fingerprint.h)
|
||||
// to HIDL-compliant FingerprintAcquiredInfo.
|
||||
FingerprintAcquiredInfo BiometricsFingerprint::VendorAcquiredFilter(int32_t info,
|
||||
int32_t* vendorCode) {
|
||||
*vendorCode = 0;
|
||||
switch (info) {
|
||||
case FINGERPRINT_ACQUIRED_GOOD:
|
||||
return FingerprintAcquiredInfo::ACQUIRED_GOOD;
|
||||
case FINGERPRINT_ACQUIRED_PARTIAL:
|
||||
return FingerprintAcquiredInfo::ACQUIRED_PARTIAL;
|
||||
case FINGERPRINT_ACQUIRED_INSUFFICIENT:
|
||||
return FingerprintAcquiredInfo::ACQUIRED_INSUFFICIENT;
|
||||
case FINGERPRINT_ACQUIRED_IMAGER_DIRTY:
|
||||
return FingerprintAcquiredInfo::ACQUIRED_IMAGER_DIRTY;
|
||||
case FINGERPRINT_ACQUIRED_TOO_SLOW:
|
||||
return FingerprintAcquiredInfo::ACQUIRED_TOO_SLOW;
|
||||
case FINGERPRINT_ACQUIRED_TOO_FAST:
|
||||
return FingerprintAcquiredInfo::ACQUIRED_TOO_FAST;
|
||||
default:
|
||||
if (info >= FINGERPRINT_ACQUIRED_VENDOR_BASE) {
|
||||
// vendor specific code.
|
||||
*vendorCode = info - FINGERPRINT_ACQUIRED_VENDOR_BASE;
|
||||
return FingerprintAcquiredInfo::ACQUIRED_GOOD;
|
||||
}
|
||||
}
|
||||
ALOGE("Unknown acquiredmsg from fingerprint vendor library: %d", info);
|
||||
return FingerprintAcquiredInfo::ACQUIRED_INSUFFICIENT;
|
||||
}
|
||||
|
||||
Return<uint64_t> BiometricsFingerprint::setNotify(
|
||||
const sp<IBiometricsFingerprintClientCallback>& clientCallback) {
|
||||
std::lock_guard<std::mutex> lock(mClientCallbackMutex);
|
||||
mClientCallback = clientCallback;
|
||||
// This is here because HAL 2.1 doesn't have a way to propagate a
|
||||
// unique token for its driver. Subsequent versions should send a unique
|
||||
// token for each call to setNotify(). This is fine as long as there's only
|
||||
// one fingerprint device on the platform.
|
||||
return reinterpret_cast<uint64_t>(mDevice);
|
||||
}
|
||||
|
||||
Return<uint64_t> BiometricsFingerprint::preEnroll() {
|
||||
return mDevice->pre_enroll(mDevice);
|
||||
}
|
||||
|
||||
Return<RequestStatus> BiometricsFingerprint::enroll(const hidl_array<uint8_t, 69>& hat,
|
||||
uint32_t gid, uint32_t timeoutSec) {
|
||||
const hw_auth_token_t* authToken = reinterpret_cast<const hw_auth_token_t*>(hat.data());
|
||||
return ErrorFilter(mDevice->enroll(mDevice, authToken, gid, timeoutSec));
|
||||
}
|
||||
|
||||
Return<RequestStatus> BiometricsFingerprint::postEnroll() {
|
||||
return ErrorFilter(mDevice->cancel(mDevice));
|
||||
}
|
||||
|
||||
Return<uint64_t> BiometricsFingerprint::getAuthenticatorId() {
|
||||
return mDevice->get_authenticator_id(mDevice);
|
||||
}
|
||||
|
||||
Return<RequestStatus> BiometricsFingerprint::cancel() {
|
||||
return ErrorFilter(mDevice->cancel(mDevice));
|
||||
}
|
||||
|
||||
Return<RequestStatus> BiometricsFingerprint::enumerate() {
|
||||
return ErrorFilter(mDevice->enumerate(mDevice));
|
||||
}
|
||||
|
||||
Return<RequestStatus> BiometricsFingerprint::remove(uint32_t gid, uint32_t fid) {
|
||||
return ErrorFilter(mDevice->remove(mDevice, gid, fid));
|
||||
}
|
||||
|
||||
Return<RequestStatus> BiometricsFingerprint::setActiveGroup(uint32_t gid,
|
||||
const hidl_string& storePath) {
|
||||
if (storePath.size() >= PATH_MAX || storePath.size() <= 0) {
|
||||
ALOGE("Bad path length: %zd", storePath.size());
|
||||
return RequestStatus::SYS_EINVAL;
|
||||
}
|
||||
std::string mutableStorePath = storePath;
|
||||
if (android::base::StartsWith(mutableStorePath, "/data/system/users/")) {
|
||||
mutableStorePath = "/data/vendor_de/";
|
||||
mutableStorePath +=
|
||||
static_cast<std::string>(storePath).substr(strlen("/data/system/users/"));
|
||||
}
|
||||
if (access(mutableStorePath.c_str(), W_OK)) {
|
||||
return RequestStatus::SYS_EINVAL;
|
||||
}
|
||||
|
||||
return ErrorFilter(mDevice->set_active_group(mDevice, gid, mutableStorePath.c_str()));
|
||||
}
|
||||
|
||||
Return<RequestStatus> BiometricsFingerprint::authenticate(uint64_t operationId, uint32_t gid) {
|
||||
return ErrorFilter(mDevice->authenticate(mDevice, operationId, gid));
|
||||
}
|
||||
|
||||
IBiometricsFingerprint* BiometricsFingerprint::getInstance() {
|
||||
if (!sInstance) {
|
||||
sInstance = new BiometricsFingerprint();
|
||||
}
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
void setFpVendorProp(const char* fp_vendor) {
|
||||
property_set("persist.vendor.sys.fp.vendor", fp_vendor);
|
||||
}
|
||||
|
||||
fingerprint_device_t* getDeviceForVendor(const char* class_name) {
|
||||
const hw_module_t* hw_module = nullptr;
|
||||
int err;
|
||||
|
||||
err = hw_get_module_by_class(FINGERPRINT_HARDWARE_MODULE_ID, class_name, &hw_module);
|
||||
if (err) {
|
||||
ALOGE("Failed to get fingerprint module: class %s, error %d", class_name, err);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (hw_module == nullptr) {
|
||||
ALOGE("No valid fingerprint module: class %s", class_name);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
fingerprint_module_t const* fp_module = reinterpret_cast<const fingerprint_module_t*>(hw_module);
|
||||
|
||||
if (fp_module->common.methods->open == nullptr) {
|
||||
ALOGE("No valid open method: class %s", class_name);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
hw_device_t* device = nullptr;
|
||||
|
||||
err = fp_module->common.methods->open(hw_module, nullptr, &device);
|
||||
if (err) {
|
||||
ALOGE("Can't open fingerprint methods, class %s, error: %d", class_name, err);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (kVersion != device->version) {
|
||||
ALOGE("Wrong fingerprint version: expected %d, got %d", kVersion, device->version);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
fingerprint_device_t* fp_device = reinterpret_cast<fingerprint_device_t*>(device);
|
||||
|
||||
ALOGI("Loaded fingerprint module: class %s", class_name);
|
||||
return fp_device;
|
||||
}
|
||||
|
||||
fingerprint_device_t* getFingerprintDevice() {
|
||||
fingerprint_device_t* fp_device;
|
||||
|
||||
fp_device = getDeviceForVendor("goodix_fod");
|
||||
if (fp_device == nullptr) {
|
||||
ALOGE("Failed to load goodix_fod fingerprint module");
|
||||
} else {
|
||||
setFpVendorProp("goodix_fod");
|
||||
return fp_device;
|
||||
}
|
||||
|
||||
setFpVendorProp("none");
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
fingerprint_device_t* BiometricsFingerprint::openHal() {
|
||||
int err;
|
||||
|
||||
fingerprint_device_t* fp_device;
|
||||
fp_device = getFingerprintDevice();
|
||||
if (fp_device == nullptr) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (0 != (err = fp_device->set_notify(fp_device, BiometricsFingerprint::notify))) {
|
||||
ALOGE("Can't register fingerprint module callback, error: %d", err);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return fp_device;
|
||||
}
|
||||
|
||||
void BiometricsFingerprint::notify(const fingerprint_msg_t* msg) {
|
||||
BiometricsFingerprint* thisPtr =
|
||||
static_cast<BiometricsFingerprint*>(BiometricsFingerprint::getInstance());
|
||||
std::lock_guard<std::mutex> lock(thisPtr->mClientCallbackMutex);
|
||||
if (thisPtr == nullptr || thisPtr->mClientCallback == nullptr) {
|
||||
ALOGE("Receiving callbacks before the client callback is registered.");
|
||||
return;
|
||||
}
|
||||
const uint64_t devId = reinterpret_cast<uint64_t>(thisPtr->mDevice);
|
||||
switch (msg->type) {
|
||||
case FINGERPRINT_ERROR: {
|
||||
int32_t vendorCode = 0;
|
||||
FingerprintError result = VendorErrorFilter(msg->data.error, &vendorCode);
|
||||
ALOGD("onError(%d)", result);
|
||||
if (!thisPtr->mClientCallback->onError(devId, result, vendorCode).isOk()) {
|
||||
ALOGE("failed to invoke fingerprint onError callback");
|
||||
}
|
||||
} break;
|
||||
case FINGERPRINT_ACQUIRED: {
|
||||
int32_t vendorCode = 0;
|
||||
FingerprintAcquiredInfo result =
|
||||
VendorAcquiredFilter(msg->data.acquired.acquired_info, &vendorCode);
|
||||
ALOGD("onAcquired(%d)", result);
|
||||
if (!thisPtr->mClientCallback->onAcquired(devId, result, vendorCode).isOk()) {
|
||||
ALOGE("failed to invoke fingerprint onAcquired callback");
|
||||
}
|
||||
} break;
|
||||
case FINGERPRINT_TEMPLATE_ENROLLING:
|
||||
ALOGD("onEnrollResult(fid=%d, gid=%d, rem=%d)", msg->data.enroll.finger.fid,
|
||||
msg->data.enroll.finger.gid, msg->data.enroll.samples_remaining);
|
||||
if (!thisPtr->mClientCallback
|
||||
->onEnrollResult(devId, msg->data.enroll.finger.fid,
|
||||
msg->data.enroll.finger.gid,
|
||||
msg->data.enroll.samples_remaining)
|
||||
.isOk()) {
|
||||
ALOGE("failed to invoke fingerprint onEnrollResult callback");
|
||||
}
|
||||
break;
|
||||
case FINGERPRINT_TEMPLATE_REMOVED:
|
||||
ALOGD("onRemove(fid=%d, gid=%d, rem=%d)", msg->data.removed.finger.fid,
|
||||
msg->data.removed.finger.gid, msg->data.removed.remaining_templates);
|
||||
if (!thisPtr->mClientCallback
|
||||
->onRemoved(devId, msg->data.removed.finger.fid, msg->data.removed.finger.gid,
|
||||
msg->data.removed.remaining_templates)
|
||||
.isOk()) {
|
||||
ALOGE("failed to invoke fingerprint onRemoved callback");
|
||||
}
|
||||
break;
|
||||
case FINGERPRINT_AUTHENTICATED:
|
||||
if (msg->data.authenticated.finger.fid != 0) {
|
||||
ALOGD("onAuthenticated(fid=%d, gid=%d)", msg->data.authenticated.finger.fid,
|
||||
msg->data.authenticated.finger.gid);
|
||||
const uint8_t* hat = reinterpret_cast<const uint8_t*>(&msg->data.authenticated.hat);
|
||||
const hidl_vec<uint8_t> token(
|
||||
std::vector<uint8_t>(hat, hat + sizeof(msg->data.authenticated.hat)));
|
||||
if (!thisPtr->mClientCallback
|
||||
->onAuthenticated(devId, msg->data.authenticated.finger.fid,
|
||||
msg->data.authenticated.finger.gid, token)
|
||||
.isOk()) {
|
||||
ALOGE("failed to invoke fingerprint onAuthenticated callback");
|
||||
} else {
|
||||
if (thisPtr->sendAuthenticatedBoostHint() != android::NO_ERROR) {
|
||||
ALOGE("failed to send authenticated boost");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Not a recognized fingerprint
|
||||
if (!thisPtr->mClientCallback
|
||||
->onAuthenticated(devId, msg->data.authenticated.finger.fid,
|
||||
msg->data.authenticated.finger.gid, hidl_vec<uint8_t>())
|
||||
.isOk()) {
|
||||
ALOGE("failed to invoke fingerprint onAuthenticated callback");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FINGERPRINT_TEMPLATE_ENUMERATING:
|
||||
ALOGD("onEnumerate(fid=%d, gid=%d, rem=%d)", msg->data.enumerated.finger.fid,
|
||||
msg->data.enumerated.finger.gid, msg->data.enumerated.remaining_templates);
|
||||
if (!thisPtr->mClientCallback
|
||||
->onEnumerate(devId, msg->data.enumerated.finger.fid,
|
||||
msg->data.enumerated.finger.gid,
|
||||
msg->data.enumerated.remaining_templates)
|
||||
.isOk()) {
|
||||
ALOGE("failed to invoke fingerprint onEnumerate callback");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Return<int32_t> BiometricsFingerprint::extCmd(int32_t cmd, int32_t param) {
|
||||
return mDevice->extCmd(mDevice, cmd, param);
|
||||
}
|
||||
|
||||
Return<bool> BiometricsFingerprint::isUdfps(uint32_t /* sensorId */) {
|
||||
return true;
|
||||
}
|
||||
|
||||
Return<void> BiometricsFingerprint::onFingerDown(uint32_t /* x */, uint32_t /* y */,
|
||||
float /* minor */, float /* major */) {
|
||||
set(FOD_STATUS_PATH, FOD_STATUS_ON);
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<void> BiometricsFingerprint::onFingerUp() {
|
||||
return Void();
|
||||
}
|
||||
|
||||
} // namespace implementation
|
||||
} // namespace V2_3
|
||||
} // namespace fingerprint
|
||||
} // namespace biometrics
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
@@ -1,126 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2017 The Android Open Source Project
|
||||
* Copyright (C) 2020 The LineageOS Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef ANDROID_HARDWARE_BIOMETRICS_FINGERPRINT_V2_3_BIOMETRICSFINGERPRINT_H
|
||||
#define ANDROID_HARDWARE_BIOMETRICS_FINGERPRINT_V2_3_BIOMETRICSFINGERPRINT_H
|
||||
|
||||
#include <android/hardware/biometrics/fingerprint/2.3/IBiometricsFingerprint.h>
|
||||
#include <android/log.h>
|
||||
#include <hardware/hardware.h>
|
||||
#include <hidl/MQDescriptor.h>
|
||||
#include <hidl/Status.h>
|
||||
#include <log/log.h>
|
||||
#include <vendor/xiaomi/hardware/fingerprintextension/1.0/IXiaomiFingerprint.h>
|
||||
|
||||
#include "fingerprint.h"
|
||||
|
||||
namespace aidl {
|
||||
namespace google {
|
||||
namespace hardware {
|
||||
namespace power {
|
||||
namespace extension {
|
||||
namespace pixel {
|
||||
|
||||
class IPowerExt;
|
||||
|
||||
} // namespace pixel
|
||||
} // namespace extension
|
||||
} // namespace power
|
||||
} // namespace hardware
|
||||
} // namespace google
|
||||
} // namespace aidl
|
||||
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace biometrics {
|
||||
namespace fingerprint {
|
||||
namespace V2_3 {
|
||||
namespace implementation {
|
||||
|
||||
using ::android::sp;
|
||||
using ::android::hardware::hidl_string;
|
||||
using ::android::hardware::hidl_vec;
|
||||
using ::android::hardware::Return;
|
||||
using ::android::hardware::Void;
|
||||
using ::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo;
|
||||
using ::android::hardware::biometrics::fingerprint::V2_1::FingerprintError;
|
||||
using ::android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprintClientCallback;
|
||||
using ::android::hardware::biometrics::fingerprint::V2_1::RequestStatus;
|
||||
using ::android::hardware::biometrics::fingerprint::V2_3::IBiometricsFingerprint;
|
||||
|
||||
using ::vendor::xiaomi::hardware::fingerprintextension::V1_0::IXiaomiFingerprint;
|
||||
|
||||
struct BiometricsFingerprint : public IBiometricsFingerprint, public IXiaomiFingerprint {
|
||||
BiometricsFingerprint();
|
||||
~BiometricsFingerprint();
|
||||
|
||||
status_t registerAsSystemService();
|
||||
|
||||
// Method to wrap legacy HAL with BiometricsFingerprint class
|
||||
static IBiometricsFingerprint* getInstance();
|
||||
|
||||
// Methods from ::android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprint follow.
|
||||
Return<uint64_t> setNotify(
|
||||
const sp<IBiometricsFingerprintClientCallback>& clientCallback) override;
|
||||
Return<uint64_t> preEnroll() override;
|
||||
Return<RequestStatus> enroll(const hidl_array<uint8_t, 69>& hat, uint32_t gid,
|
||||
uint32_t timeoutSec) override;
|
||||
Return<RequestStatus> postEnroll() override;
|
||||
Return<uint64_t> getAuthenticatorId() override;
|
||||
Return<RequestStatus> cancel() override;
|
||||
Return<RequestStatus> enumerate() override;
|
||||
Return<RequestStatus> remove(uint32_t gid, uint32_t fid) override;
|
||||
Return<RequestStatus> setActiveGroup(uint32_t gid, const hidl_string& storePath) override;
|
||||
Return<RequestStatus> authenticate(uint64_t operationId, uint32_t gid) override;
|
||||
|
||||
Return<int32_t> extCmd(int32_t cmd, int32_t param) override;
|
||||
|
||||
static fingerprint_device_t* openHal();
|
||||
int32_t connectPowerHalExt();
|
||||
int32_t checkPowerHalExtBoostSupport(const std::string &boost);
|
||||
int32_t sendPowerHalExtBoost(const std::string &boost, int32_t durationMs);
|
||||
int32_t isBoostHintSupported();
|
||||
int32_t sendAuthenticatedBoostHint();
|
||||
static void notify(
|
||||
const fingerprint_msg_t* msg); /* Static callback for legacy HAL implementation */
|
||||
static Return<RequestStatus> ErrorFilter(int32_t error);
|
||||
static FingerprintError VendorErrorFilter(int32_t error, int32_t* vendorCode);
|
||||
static FingerprintAcquiredInfo VendorAcquiredFilter(int32_t error, int32_t* vendorCode);
|
||||
static BiometricsFingerprint* sInstance;
|
||||
|
||||
std::mutex mClientCallbackMutex;
|
||||
sp<IBiometricsFingerprintClientCallback> mClientCallback;
|
||||
fingerprint_device_t* mDevice;
|
||||
|
||||
bool mBoostHintIsSupported;
|
||||
bool mBoostHintSupportIsChecked;
|
||||
std::shared_ptr<aidl::google::hardware::power::extension::pixel::IPowerExt> mPowerHalExtAidl;
|
||||
|
||||
// Methods from ::android::hardware::biometrics::fingerprint::V2_3::IBiometricsFingerprint follow.
|
||||
Return<bool> isUdfps(uint32_t sensorId) override;
|
||||
Return<void> onFingerDown(uint32_t x, uint32_t y, float minor, float major) override;
|
||||
Return<void> onFingerUp() override;
|
||||
};
|
||||
|
||||
} // namespace implementation
|
||||
} // namespace V2_3
|
||||
} // namespace fingerprint
|
||||
} // namespace biometrics
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
|
||||
#endif // ANDROID_HARDWARE_BIOMETRICS_FINGERPRINT_V2_3_BIOMETRICSFINGERPRINT_H
|
||||
@@ -1,31 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2020 The LineageOS Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include <drm/sde_drm.h>
|
||||
#include <compositionengine/UdfpsExtension.h>
|
||||
|
||||
uint32_t getUdfpsZOrder(uint32_t z, bool touched) {
|
||||
if (touched) {
|
||||
z |= FOD_PRESSED_LAYER_ZORDER;
|
||||
}
|
||||
|
||||
return z;
|
||||
}
|
||||
|
||||
uint64_t getUdfpsUsageBits(uint64_t usageBits, bool) {
|
||||
return usageBits;
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
service vendor.fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.3-service.xiaomi_raphael
|
||||
class late_start
|
||||
user system
|
||||
group system input uhid
|
||||
task_profiles ProcessCapacityHigh HighPerformance
|
||||
priority -20
|
||||
|
||||
on init
|
||||
chmod 0666 /dev/goodix_fp
|
||||
chown system system /dev/goodix_fp
|
||||
chmod 0664 /dev/fortsense_fp
|
||||
chown system system /dev/fortsense_fp
|
||||
|
||||
on boot
|
||||
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display-primary/fod_ui
|
||||
chown system system /sys/devices/virtual/touch/tp_dev/fod_status
|
||||
chmod 0660 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/fod_ui
|
||||
chmod 0660 /sys/devices/virtual/touch/tp_dev/fod_status
|
||||
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/irq
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/irq_enable
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/wakeup_enable
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/hw_reset
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/device_prepare
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/fingerdown_wait
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/vendor
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/simulate_irq
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/finger_irq
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/power_cfg
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/irq
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/wakeup_enable
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/hw_reset
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/device_prepare
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/vendor
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/simulate_irq
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/finger_irq
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/power_cfg
|
||||
|
||||
chmod 0666 /dev/input/event2
|
||||
|
||||
on post-fs-data
|
||||
mkdir /data/vendor/fpc 0770 system system
|
||||
mkdir /data/vendor/goodix 0770 system system
|
||||
mkdir /data/vendor/fpdump 0770 system system
|
||||
mkdir /data/vendor/fortsense 0770 system system
|
||||
mkdir /mnt/vendor/persist/goodix 0770 system system
|
||||
mkdir /mnt/vendor/persist/fpc 0770 system system
|
||||
@@ -1,12 +0,0 @@
|
||||
<manifest version="1.0" type="device">
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.biometrics.fingerprint</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.3::IBiometricsFingerprint/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.xiaomi.hardware.fingerprintextension</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IXiaomiFingerprint/default</fqname>
|
||||
</hal>
|
||||
</manifest>
|
||||
@@ -1,282 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2014 The Android Open Source Project
|
||||
* Copyright (C) 2020 The LineageOS Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef ANDROID_INCLUDE_HARDWARE_FINGERPRINT_H
|
||||
#define ANDROID_INCLUDE_HARDWARE_FINGERPRINT_H
|
||||
|
||||
#include <hardware/hardware.h>
|
||||
#include <hardware/hw_auth_token.h>
|
||||
|
||||
#define FINGERPRINT_MODULE_API_VERSION_1_0 HARDWARE_MODULE_API_VERSION(1, 0)
|
||||
#define FINGERPRINT_MODULE_API_VERSION_2_0 HARDWARE_MODULE_API_VERSION(2, 0)
|
||||
#define FINGERPRINT_MODULE_API_VERSION_2_1 HARDWARE_MODULE_API_VERSION(2, 1)
|
||||
#define FINGERPRINT_MODULE_API_VERSION_3_0 HARDWARE_MODULE_API_VERSION(3, 0)
|
||||
#define FINGERPRINT_HARDWARE_MODULE_ID "fingerprint"
|
||||
|
||||
typedef enum fingerprint_msg_type {
|
||||
FINGERPRINT_ERROR = -1,
|
||||
FINGERPRINT_ACQUIRED = 1,
|
||||
FINGERPRINT_TEMPLATE_ENROLLING = 3,
|
||||
FINGERPRINT_TEMPLATE_REMOVED = 4,
|
||||
FINGERPRINT_AUTHENTICATED = 5,
|
||||
FINGERPRINT_TEMPLATE_ENUMERATING = 6,
|
||||
} fingerprint_msg_type_t;
|
||||
|
||||
/*
|
||||
* Fingerprint errors are meant to tell the framework to terminate the current operation and ask
|
||||
* for the user to correct the situation. These will almost always result in messaging and user
|
||||
* interaction to correct the problem.
|
||||
*
|
||||
* For example, FINGERPRINT_ERROR_CANCELED should follow any acquisition message that results in
|
||||
* a situation where the current operation can't continue without user interaction. For example,
|
||||
* if the sensor is dirty during enrollment and no further enrollment progress can be made,
|
||||
* send FINGERPRINT_ACQUIRED_IMAGER_DIRTY followed by FINGERPRINT_ERROR_CANCELED.
|
||||
*/
|
||||
typedef enum fingerprint_error {
|
||||
FINGERPRINT_ERROR_HW_UNAVAILABLE = 1, /* The hardware has an error that can't be resolved. */
|
||||
FINGERPRINT_ERROR_UNABLE_TO_PROCESS = 2, /* Bad data; operation can't continue */
|
||||
FINGERPRINT_ERROR_TIMEOUT = 3, /* The operation has timed out waiting for user input. */
|
||||
FINGERPRINT_ERROR_NO_SPACE = 4, /* No space available to store a template */
|
||||
FINGERPRINT_ERROR_CANCELED = 5, /* The current operation can't proceed. See above. */
|
||||
FINGERPRINT_ERROR_UNABLE_TO_REMOVE = 6, /* fingerprint with given id can't be removed */
|
||||
FINGERPRINT_ERROR_LOCKOUT = 7, /* the fingerprint hardware is in lockout due to too many attempts */
|
||||
FINGERPRINT_ERROR_VENDOR_BASE = 1000 /* vendor-specific error messages start here */
|
||||
} fingerprint_error_t;
|
||||
|
||||
/*
|
||||
* Fingerprint acquisition info is meant as feedback for the current operation. Anything but
|
||||
* FINGERPRINT_ACQUIRED_GOOD will be shown to the user as feedback on how to take action on the
|
||||
* current operation. For example, FINGERPRINT_ACQUIRED_IMAGER_DIRTY can be used to tell the user
|
||||
* to clean the sensor. If this will cause the current operation to fail, an additional
|
||||
* FINGERPRINT_ERROR_CANCELED can be sent to stop the operation in progress (e.g. enrollment).
|
||||
* In general, these messages will result in a "Try again" message.
|
||||
*/
|
||||
typedef enum fingerprint_acquired_info {
|
||||
FINGERPRINT_ACQUIRED_GOOD = 0,
|
||||
FINGERPRINT_ACQUIRED_PARTIAL = 1, /* sensor needs more data, i.e. longer swipe. */
|
||||
FINGERPRINT_ACQUIRED_INSUFFICIENT = 2, /* image doesn't contain enough detail for recognition*/
|
||||
FINGERPRINT_ACQUIRED_IMAGER_DIRTY = 3, /* sensor needs to be cleaned */
|
||||
FINGERPRINT_ACQUIRED_TOO_SLOW = 4, /* mostly swipe-type sensors; not enough data collected */
|
||||
FINGERPRINT_ACQUIRED_TOO_FAST = 5, /* for swipe and area sensors; tell user to slow down*/
|
||||
FINGERPRINT_ACQUIRED_DETECTED = 6, /* when the finger is first detected. Used to optimize wakeup.
|
||||
Should be followed by one of the above messages */
|
||||
FINGERPRINT_ACQUIRED_VENDOR_BASE = 1000 /* vendor-specific acquisition messages start here */
|
||||
} fingerprint_acquired_info_t;
|
||||
|
||||
typedef struct fingerprint_finger_id {
|
||||
uint32_t gid;
|
||||
uint32_t fid;
|
||||
} fingerprint_finger_id_t;
|
||||
|
||||
typedef struct fingerprint_enroll {
|
||||
fingerprint_finger_id_t finger;
|
||||
/* samples_remaining goes from N (no data collected, but N scans needed)
|
||||
* to 0 (no more data is needed to build a template). */
|
||||
uint32_t samples_remaining;
|
||||
uint64_t msg; /* Vendor specific message. Used for user guidance */
|
||||
} fingerprint_enroll_t;
|
||||
|
||||
typedef struct fingerprint_iterator {
|
||||
fingerprint_finger_id_t finger;
|
||||
uint32_t remaining_templates;
|
||||
} fingerprint_iterator_t;
|
||||
|
||||
typedef fingerprint_iterator_t fingerprint_enumerated_t;
|
||||
typedef fingerprint_iterator_t fingerprint_removed_t;
|
||||
|
||||
typedef struct fingerprint_acquired {
|
||||
fingerprint_acquired_info_t acquired_info; /* information about the image */
|
||||
} fingerprint_acquired_t;
|
||||
|
||||
typedef struct fingerprint_authenticated {
|
||||
fingerprint_finger_id_t finger;
|
||||
hw_auth_token_t hat;
|
||||
} fingerprint_authenticated_t;
|
||||
|
||||
typedef struct fingerprint_msg {
|
||||
fingerprint_msg_type_t type;
|
||||
union {
|
||||
fingerprint_error_t error;
|
||||
fingerprint_enroll_t enroll;
|
||||
fingerprint_enumerated_t enumerated;
|
||||
fingerprint_removed_t removed;
|
||||
fingerprint_acquired_t acquired;
|
||||
fingerprint_authenticated_t authenticated;
|
||||
} data;
|
||||
} fingerprint_msg_t;
|
||||
|
||||
/* Callback function type */
|
||||
typedef void (*fingerprint_notify_t)(const fingerprint_msg_t* msg);
|
||||
|
||||
/* Synchronous operation */
|
||||
typedef struct fingerprint_device {
|
||||
/**
|
||||
* Common methods of the fingerprint device. This *must* be the first member
|
||||
* of fingerprint_device as users of this structure will cast a hw_device_t
|
||||
* to fingerprint_device pointer in contexts where it's known
|
||||
* the hw_device_t references a fingerprint_device.
|
||||
*/
|
||||
struct hw_device_t common;
|
||||
|
||||
/*
|
||||
* Client provided callback function to receive notifications.
|
||||
* Do not set by hand, use the function above instead.
|
||||
*/
|
||||
fingerprint_notify_t notify;
|
||||
|
||||
/*
|
||||
* Set notification callback:
|
||||
* Registers a user function that would receive notifications from the HAL
|
||||
* The call will block if the HAL state machine is in busy state until HAL
|
||||
* leaves the busy state.
|
||||
*
|
||||
* Function return: 0 if callback function is successfuly registered
|
||||
* or a negative number in case of error, generally from the errno.h set.
|
||||
*/
|
||||
int (*set_notify)(struct fingerprint_device* dev, fingerprint_notify_t notify);
|
||||
|
||||
/*
|
||||
* Fingerprint pre-enroll enroll request:
|
||||
* Generates a unique token to upper layers to indicate the start of an enrollment transaction.
|
||||
* This token will be wrapped by security for verification and passed to enroll() for
|
||||
* verification before enrollment will be allowed. This is to ensure adding a new fingerprint
|
||||
* template was preceded by some kind of credential confirmation (e.g. device password).
|
||||
*
|
||||
* Function return: 0 if function failed
|
||||
* otherwise, a uint64_t of token
|
||||
*/
|
||||
uint64_t (*pre_enroll)(struct fingerprint_device* dev);
|
||||
|
||||
/*
|
||||
* Fingerprint enroll request:
|
||||
* Switches the HAL state machine to collect and store a new fingerprint
|
||||
* template. Switches back as soon as enroll is complete
|
||||
* (fingerprint_msg.type == FINGERPRINT_TEMPLATE_ENROLLING &&
|
||||
* fingerprint_msg.data.enroll.samples_remaining == 0)
|
||||
* or after timeout_sec seconds.
|
||||
* The fingerprint template will be assigned to the group gid. User has a choice
|
||||
* to supply the gid or set it to 0 in which case a unique group id will be generated.
|
||||
*
|
||||
* Function return: 0 if enrollment process can be successfully started
|
||||
* or a negative number in case of error, generally from the errno.h set.
|
||||
* A notify() function may be called indicating the error condition.
|
||||
*/
|
||||
int (*enroll)(struct fingerprint_device* dev, const hw_auth_token_t* hat, uint32_t gid,
|
||||
uint32_t timeout_sec);
|
||||
|
||||
/*
|
||||
* Finishes the enroll operation and invalidates the pre_enroll() generated challenge.
|
||||
* This will be called at the end of a multi-finger enrollment session to indicate
|
||||
* that no more fingers will be added.
|
||||
*
|
||||
* Function return: 0 if the request is accepted
|
||||
* or a negative number in case of error, generally from the errno.h set.
|
||||
*/
|
||||
int (*post_enroll)(struct fingerprint_device* dev);
|
||||
|
||||
/*
|
||||
* get_authenticator_id:
|
||||
* Returns a token associated with the current fingerprint set. This value will
|
||||
* change whenever a new fingerprint is enrolled, thus creating a new fingerprint
|
||||
* set.
|
||||
*
|
||||
* Function return: current authenticator id or 0 if function failed.
|
||||
*/
|
||||
uint64_t (*get_authenticator_id)(struct fingerprint_device* dev);
|
||||
|
||||
/*
|
||||
* Cancel pending enroll or authenticate, sending FINGERPRINT_ERROR_CANCELED
|
||||
* to all running clients. Switches the HAL state machine back to the idle state.
|
||||
* Unlike enroll_done() doesn't invalidate the pre_enroll() challenge.
|
||||
*
|
||||
* Function return: 0 if cancel request is accepted
|
||||
* or a negative number in case of error, generally from the errno.h set.
|
||||
*/
|
||||
int (*cancel)(struct fingerprint_device* dev);
|
||||
|
||||
/*
|
||||
* Enumerate all the fingerprint templates found in the directory set by
|
||||
* set_active_group()
|
||||
* For each template found a notify() will be called with:
|
||||
* fingerprint_msg.type == FINGERPRINT_TEMPLATE_ENUMERATED
|
||||
* fingerprint_msg.data.enumerated.finger indicating a template id
|
||||
* fingerprint_msg.data.enumerated.remaining_templates indicating how many more
|
||||
* enumeration messages to expect.
|
||||
* Note: If there are no fingerprints, then this should return 0 and the first fingerprint
|
||||
* enumerated should have fingerid=0 and remaining=0
|
||||
* Function return: 0 if enumerate request is accepted
|
||||
* or a negative number in case of error, generally from the errno.h set.
|
||||
*/
|
||||
int (*enumerate)(struct fingerprint_device* dev);
|
||||
|
||||
/*
|
||||
* Fingerprint remove request:
|
||||
* Deletes a fingerprint template.
|
||||
* Works only within the path set by set_active_group().
|
||||
* The fid parameter can be used as a widcard:
|
||||
* * fid == 0 -- delete all the templates in the group.
|
||||
* * fid != 0 -- delete this specific template from the group.
|
||||
* For each template found a notify() will be called with:
|
||||
* fingerprint_msg.type == FINGERPRINT_TEMPLATE_REMOVED
|
||||
* fingerprint_msg.data.removed.finger indicating a template id deleted
|
||||
* fingerprint_msg.data.removed.remaining_templates indicating how many more
|
||||
* templates will be deleted by this operation.
|
||||
*
|
||||
* Function return: 0 if fingerprint template(s) can be successfully deleted
|
||||
* or a negative number in case of error, generally from the errno.h set.
|
||||
*/
|
||||
int (*remove)(struct fingerprint_device* dev, uint32_t gid, uint32_t fid);
|
||||
|
||||
/*
|
||||
* Restricts the HAL operation to a set of fingerprints belonging to a
|
||||
* group provided.
|
||||
* The caller must provide a path to a storage location within the user's
|
||||
* data directory.
|
||||
*
|
||||
* Function return: 0 on success
|
||||
* or a negative number in case of error, generally from the errno.h set.
|
||||
*/
|
||||
int (*set_active_group)(struct fingerprint_device* dev, uint32_t gid, const char* store_path);
|
||||
|
||||
/*
|
||||
* Authenticates an operation identifed by operation_id
|
||||
*
|
||||
* Function return: 0 on success
|
||||
* or a negative number in case of error, generally from the errno.h set.
|
||||
*/
|
||||
int (*authenticate)(struct fingerprint_device* dev, uint64_t operation_id, uint32_t gid);
|
||||
|
||||
/**
|
||||
* Call a Xiaomi fingerprint extension command.
|
||||
*/
|
||||
int (*extCmd)(struct fingerprint_device* dev, int32_t cmd, int32_t param);
|
||||
|
||||
/* Reserved for backward binary compatibility */
|
||||
void* reserved[4];
|
||||
} fingerprint_device_t;
|
||||
|
||||
typedef struct fingerprint_module {
|
||||
/**
|
||||
* Common methods of the fingerprint module. This *must* be the first member
|
||||
* of fingerprint_module as users of this structure will cast a hw_module_t
|
||||
* to fingerprint_module pointer in contexts where it's known
|
||||
* the hw_module_t references a fingerprint_module.
|
||||
*/
|
||||
struct hw_module_t common;
|
||||
} fingerprint_module_t;
|
||||
|
||||
#endif /* ANDROID_INCLUDE_HARDWARE_FINGERPRINT_H */
|
||||
@@ -1,78 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2017 The Android Open Source Project
|
||||
* Copyright (C) 2020 The LineageOS Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#define LOG_TAG "android.hardware.biometrics.fingerprint@2.3-service.xiaomi_raphael"
|
||||
|
||||
#include <android/log.h>
|
||||
#include <hidl/HidlTransportSupport.h>
|
||||
|
||||
#include "BiometricsFingerprint.h"
|
||||
|
||||
// libhwbinder:
|
||||
using android::hardware::configureRpcThreadpool;
|
||||
using android::hardware::joinRpcThreadpool;
|
||||
|
||||
// Generated HIDL files
|
||||
using android::hardware::biometrics::fingerprint::V2_3::IBiometricsFingerprint;
|
||||
using android::hardware::biometrics::fingerprint::V2_3::implementation::BiometricsFingerprint;
|
||||
|
||||
using android::status_t;
|
||||
|
||||
status_t BiometricsFingerprint::registerAsSystemService() {
|
||||
status_t ret = 0;
|
||||
|
||||
ret = IBiometricsFingerprint::registerAsService();
|
||||
if (ret != 0) {
|
||||
ALOGE("Failed to register IBiometricsFingerprint (%d)", ret);
|
||||
goto fail;
|
||||
} else {
|
||||
ALOGI("Successfully registered IBiometricsFingerprint");
|
||||
}
|
||||
|
||||
ret = IXiaomiFingerprint::registerAsService();
|
||||
if (ret != 0) {
|
||||
ALOGE("Failed to register IXiaomiFingerprint (%d)", ret);
|
||||
goto fail;
|
||||
} else {
|
||||
ALOGI("Successfully registered IXiaomiFingerprint");
|
||||
}
|
||||
|
||||
fail:
|
||||
return ret;
|
||||
}
|
||||
|
||||
int main() {
|
||||
android::sp<IBiometricsFingerprint> service = BiometricsFingerprint::getInstance();
|
||||
|
||||
if (service == nullptr) {
|
||||
ALOGE("Instance of BiometricsFingerprint is null");
|
||||
return 1;
|
||||
}
|
||||
|
||||
android::hardware::setMinSchedulerPolicy(service, SCHED_RR, -20);
|
||||
configureRpcThreadpool(1, true /*callerWillJoin*/);
|
||||
|
||||
status_t status = service->registerAsService();
|
||||
if (status != android::OK) {
|
||||
ALOGE("Cannot register service for Fingerprint HAL(%d).", status);
|
||||
return 1;
|
||||
}
|
||||
|
||||
joinRpcThreadpool();
|
||||
|
||||
return 0; // should never get here
|
||||
}
|
||||
@@ -23,6 +23,14 @@
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.biometrics.fingerprint</name>
|
||||
<version>4</version>
|
||||
<interface>
|
||||
<name>IFingerprint</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.bluetooth.audio</name>
|
||||
<version>4</version>
|
||||
@@ -71,6 +79,22 @@
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.light</name>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>ILight</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.power.stats</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IPowerStats</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.power</name>
|
||||
<version>5</version>
|
||||
@@ -199,9 +223,17 @@
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.health.storage</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IStorage</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>android.hardware.health</name>
|
||||
<version>1</version>
|
||||
<version>3</version>
|
||||
<interface>
|
||||
<name>IHealth</name>
|
||||
<instance>default</instance>
|
||||
@@ -558,4 +590,12 @@
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>vendor.dolby.hardware.dms</name>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IDms</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</compatibility-matrix>
|
||||
|
||||
@@ -26,7 +26,6 @@ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
-->
|
||||
<manifest version="2.0" type="device" target-level="5">
|
||||
<kernel target-level="4"/>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
@@ -47,12 +46,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.2::ISoundTriggerHw/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>vendor.display.color</name>
|
||||
<transport>hwbinder</transport>
|
||||
@@ -78,11 +71,21 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@4.1::IKeymasterDevice/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.media.c2</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IComponentStore/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.gatekeeper</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IGatekeeper/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.light</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.0::ILight/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.sensors</name>
|
||||
<transport>hwbinder</transport>
|
||||
@@ -242,7 +245,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.tetheroffload.control</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IOffloadControl/default</fqname>
|
||||
<fqname>@1.1::IOffloadControl/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>com.dsi.ant</name>
|
||||
|
||||
@@ -2,14 +2,8 @@ prebuilt_etc {
|
||||
name: "fstab.qcom",
|
||||
src: "fstab.qcom",
|
||||
vendor: true,
|
||||
required: ["fstab.qcom_ramdisk"],
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "fstab.qcom_ramdisk",
|
||||
src: "fstab.qcom",
|
||||
filename_from_src: true,
|
||||
ramdisk: true,
|
||||
ramdisk_available: true,
|
||||
vendor_ramdisk_available: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
@@ -22,14 +16,14 @@ prebuilt_etc {
|
||||
name: "init.power.rc",
|
||||
src: "init.power.rc",
|
||||
vendor: true,
|
||||
sub_dir: "init/hw",
|
||||
relative_install_path: "init/hw",
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "init.qcom.rc",
|
||||
src: "init.qcom.rc",
|
||||
vendor: true,
|
||||
sub_dir: "init/hw",
|
||||
relative_install_path: "init/hw",
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
@@ -38,10 +32,23 @@ prebuilt_etc {
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "init.qcom.usb.rc",
|
||||
src: "init.qcom.usb.rc",
|
||||
vendor: true,
|
||||
relative_install_path: "init/hw",
|
||||
}
|
||||
|
||||
sh_binary {
|
||||
name: "init.qcom.usb.sh",
|
||||
src: "init.qcom.usb.sh",
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "init.recovery.qcom.rc",
|
||||
src: "init.recovery.qcom.rc",
|
||||
sub_dir: "init",
|
||||
relative_install_path: "init",
|
||||
recovery: true,
|
||||
}
|
||||
|
||||
@@ -49,14 +56,14 @@ prebuilt_etc {
|
||||
name: "init.target.rc",
|
||||
src: "init.target.rc",
|
||||
vendor: true,
|
||||
sub_dir: "init/hw",
|
||||
relative_install_path: "init/hw",
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "init.xiaomi.rc",
|
||||
src: "init.xiaomi.rc",
|
||||
vendor: true,
|
||||
sub_dir: "init/hw",
|
||||
relative_install_path: "init/hw",
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
@@ -64,4 +71,4 @@ prebuilt_etc {
|
||||
filename: "ueventd.rc",
|
||||
src: "ueventd.qcom.rc",
|
||||
vendor: true,
|
||||
}
|
||||
}
|
||||
@@ -33,23 +33,18 @@
|
||||
# Currently we dont have e2fsck compiled. So fs check would failed.
|
||||
|
||||
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||
system /system ext4 ro,barrier=1 wait,logical,first_stage_mount
|
||||
system /system erofs ro wait,logical,first_stage_mount
|
||||
vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount
|
||||
vendor /vendor erofs ro wait,logical,first_stage_mount
|
||||
|
||||
system_ext /system_ext ext4 ro,barrier=1,discard wait,logical,first_stage_mount
|
||||
system_ext /system_ext erofs ro wait,logical,first_stage_mount
|
||||
product /product ext4 ro,barrier=1,discard wait,logical,first_stage_mount
|
||||
product /product erofs ro wait,logical,first_stage_mount
|
||||
odm /odm ext4 ro,barrier=1,discard wait,logical,first_stage_mount
|
||||
odm /odm erofs ro wait,logical,first_stage_mount
|
||||
system_ext /system_ext erofs ro wait,logical,first_stage_mount
|
||||
product /product erofs ro wait,logical,first_stage_mount
|
||||
odm /odm erofs ro wait,logical,first_stage_mount
|
||||
|
||||
/dev/block/by-name/vbmeta /vbmeta emmc defaults first_stage_mount
|
||||
|
||||
/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,noatime,nodev,barrier=1 wait
|
||||
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=journal,commit=1 wait,formattable,check,first_stage_mount
|
||||
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,background_gc=sync,reserve_root=32768,resgid=1065,fsync_mode=strict,inlinecrypt,gc_merge,atgc,checkpoint_merge,compress_algorithm=lz4,compress_extension=apk,compress_extension=apex,compress_extension=so latemount,wait,check,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,keydirectory=/metadata/vold/metadata_encryption,fscompress,quota,reservedsize=128M
|
||||
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=journal,commit=1 wait,formattable,check,first_stage_mount
|
||||
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,background_gc=sync,reserve_root=32768,resgid=1065,fsync_mode=strict,gc_merge,atgc,checkpoint_merge,compress_algorithm=lz4,compress_extension=apk,compress_extension=apex,compress_extension=so latemount,wait,check,formattable,fscompress,quota,reservedsize=128M
|
||||
/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=0,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
|
||||
/dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait
|
||||
/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait
|
||||
@@ -1,4 +1,4 @@
|
||||
# Android fstab file.
|
||||
|
||||
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||
/dev/block/zram0 none swap defaults zramsize=2147483648,max_comp_streams=8,zram_backingdev_size=512M
|
||||
/dev/block/zram0 none swap defaults zramsize=2147483648,zram_backingdev_size=512M
|
||||
@@ -124,3 +124,18 @@ on property:vendor.setup.power=1
|
||||
on boot
|
||||
# Enable suspend to idle mode to reduce latency during suspend/resume
|
||||
write /sys/power/mem_sleep "s2idle"
|
||||
|
||||
# Thermal HAL needed
|
||||
on enable-thermal-hal
|
||||
|
||||
# Permission
|
||||
chown root system /dev/thermal/cdev-by-name/battery/cur_state
|
||||
chmod 660 /dev/thermal/cdev-by-name/battery/cur_state
|
||||
|
||||
# Enable State of Charge (SOC)
|
||||
write /dev/thermal/tz-by-name/soc/mode "enabled"
|
||||
|
||||
on charger
|
||||
start vendor.thermal.symlinks
|
||||
start vendor.thermal-engine
|
||||
trigger enable-thermal-hal
|
||||
@@ -140,9 +140,6 @@ on boot
|
||||
mkdir /mnt/vendor/persist/iar_db 0770 system system
|
||||
mkdir /mnt/vendor/spunvm 0770 system system
|
||||
|
||||
#Create WIGIG socket area
|
||||
mkdir /dev/socket/wigig 0770 wifi wifi
|
||||
|
||||
setprop wifi.interface wlan0
|
||||
|
||||
#Remove SUID bit for iproute2 ip tool
|
||||
@@ -212,7 +209,7 @@ on boot
|
||||
enable vendor.dataqti
|
||||
enable vendor.dataadpl
|
||||
|
||||
setprop init.svc.console stopped
|
||||
stop console
|
||||
|
||||
# CSC DC Dimming
|
||||
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dc_dim
|
||||
@@ -276,13 +273,9 @@ on post-fs-data
|
||||
mkdir /data/vendor/wifi/hostapd 0770 wifi wifi
|
||||
mkdir /data/vendor/wifi/hostapd/ctrl 0770 wifi wifi
|
||||
mkdir /data/vendor/wifi/wpa_supplicant 0770 wifi wifi
|
||||
mkdir /data/vendor/wifi/wigig_hostapd 0770 wifi wifi
|
||||
mkdir /data/vendor/wifi/wpa 0770 wifi wifi
|
||||
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
|
||||
|
||||
# Create the directories used by WiGig Sensing
|
||||
mkdir /data/vendor/sensing 0770 system wifi
|
||||
|
||||
# Create the directories used by CnE subsystem
|
||||
mkdir /data/vendor/connectivity 0771 radio radio
|
||||
chown radio radio /data/vendor/connectivity
|
||||
@@ -474,28 +467,6 @@ service qmiproxy /system/bin/qmiproxy
|
||||
group radio diag
|
||||
disabled
|
||||
|
||||
service vendor.wigig_supplicant /vendor/bin/hw/wpa_supplicant \
|
||||
-iwigig0 -Dnl80211 -c/data/vendor/wifi/wigig_supplicant.conf \
|
||||
-m/data/vendor/wifi/wigig_p2p_supplicant.conf \
|
||||
-O/data/vendor/wifi/wigig_sockets -dd \
|
||||
-e/data/vendor/wifi/wigig_entropy.bin -g@android:wigig/wpa_wigig0 \
|
||||
-S wigigsvc
|
||||
# we will start as root and wpa_supplicant will switch to user wifi
|
||||
# after setting up the capabilities required for WEXT
|
||||
# user wifi
|
||||
# group wifi inet keystore
|
||||
class main
|
||||
socket wigig/wpa_wigig0 dgram 660 wifi wifi
|
||||
disabled
|
||||
oneshot
|
||||
|
||||
service vendor.sensingdaemon /vendor/bin/sensingdaemon
|
||||
class hal
|
||||
socket wigig/sensingdaemon stream 660 system wifi
|
||||
user system
|
||||
group wifi
|
||||
disabled
|
||||
|
||||
service ptt_socket_app /system/vendor/bin/ptt_socket_app -d
|
||||
class main
|
||||
user wifi
|
||||
@@ -715,7 +686,9 @@ service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service
|
||||
user audioserver
|
||||
# media gid needed for /dev/fm (radio) and for /data/misc/media (tee)
|
||||
group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct oem_2901 wakelock context_hub system
|
||||
capabilities BLOCK_SUSPEND
|
||||
capabilities BLOCK_SUSPEND SYS_NICE
|
||||
# setting RLIMIT_RTPRIO allows binder RT priority inheritance
|
||||
rlimit rtprio 10 10
|
||||
ioprio rt 4
|
||||
task_profiles ProcessCapacityHigh HighPerformance
|
||||
socket audio_hw_socket seqpacket 0666 system system
|
||||
@@ -731,5 +704,14 @@ service vendor.hwcomposer-2-4 /vendor/bin/hw/android.hardware.graphics.composer@
|
||||
task_profiles ServiceCapacityLow
|
||||
socket pps stream 0660 system system
|
||||
|
||||
service vendor.sensors-hal-1-0 /vendor/bin/hw/android.hardware.sensors@1.0-service
|
||||
interface android.hardware.sensors@1.0::ISensors default
|
||||
class hal
|
||||
user system
|
||||
group system wakelock uhid context_hub input
|
||||
task_profiles ServiceCapacityLow
|
||||
capabilities BLOCK_SUSPEND
|
||||
rlimit rtprio 10 10
|
||||
|
||||
on boot && property:persist.sys.usb.config=*
|
||||
setprop sys.usb.config ${persist.sys.usb.config}
|
||||
1705
init/init.qcom.usb.rc
Normal file
1705
init/init.qcom.usb.rc
Normal file
File diff suppressed because it is too large
Load Diff
@@ -67,6 +67,16 @@ on init
|
||||
write /sys/devices/system/cpu/cpu7/cpufreq/schedutil/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu7/cpufreq/schedutil/down_rate_limit_us 20000
|
||||
|
||||
# Boot time uclamp tuning
|
||||
write /dev/cpuctl/top-app/cpu.uclamp.min 15
|
||||
write /dev/cpuctl/foreground/cpu.uclamp.min 15
|
||||
write /dev/cpuctl/system/cpu.uclamp.min 15
|
||||
write /dev/cpuctl/nnapi-hal/cpu.uclamp_min 50
|
||||
|
||||
# RT uclamp setting
|
||||
setprop kernel.sched_util_clamp_min_rt_default 0
|
||||
write /proc/sys/kernel/sched_util_clamp_min_rt_default 0
|
||||
|
||||
# Migrate cpuctl tasks once to cpuctl system
|
||||
copy_per_line /dev/cpuctl/tasks /dev/cpuctl/system/tasks
|
||||
|
||||
@@ -160,33 +170,15 @@ on property:sys.boot_completed=1
|
||||
# STOP EATING MY BATTERY AFTER 100H OF UPTIME FUCK YOU
|
||||
stop statsd
|
||||
|
||||
#top-app
|
||||
write /dev/cpuctl/top-app/cpu.uclamp.max max
|
||||
# Setup final cpu.uclamp.min
|
||||
write /dev/cpuctl/top-app/cpu.uclamp.min 0
|
||||
write /dev/cpuctl/top-app/cpu.uclamp.latency_sensitive 1
|
||||
write /dev/cpuctl/foreground/cpu.uclamp.min 10
|
||||
write /dev/cpuctl/system/cpu.uclamp.min 0
|
||||
|
||||
#foreground
|
||||
write /dev/cpuctl/foreground/cpu.uclamp.max 80
|
||||
write /dev/cpuctl/foreground/cpu.uclamp.min 0
|
||||
write /dev/cpuctl/foreground/cpu.uclamp.latency_sensitive 0
|
||||
|
||||
#background
|
||||
write /dev/cpuctl/background/cpu.uclamp.max 50
|
||||
write /dev/cpuctl/background/cpu.uclamp.min 0
|
||||
write /dev/cpuctl/background/cpu.uclamp.latency_sensitive 0
|
||||
|
||||
#system-background
|
||||
write /dev/cpuctl/system-background/cpu.uclamp.max 60
|
||||
write /dev/cpuctl/system-background/cpu.uclamp.min 0
|
||||
write /dev/cpuctl/system-background/cpu.uclamp.latency_sensitive 0
|
||||
|
||||
#nnapi-hal
|
||||
write /dev/cpuctl/nnapi-hal/cpu.uclamp.max max
|
||||
write /dev/cpuctl/nnapi-hal/cpu.uclamp.min 75
|
||||
write /dev/cpuctl/nnapi-hal/cpu.uclamp.latency_sensitive 1
|
||||
|
||||
#camera-daemon
|
||||
write /dev/cpuctl/camera-daemon/cpu.uclamp.max max
|
||||
# Set uclamp.max for some groups, which could indicate cpu importance used in scheduling
|
||||
write /dev/cpuctl/background/cpu.uclamp.min 20
|
||||
write /dev/cpuctl/system-background/cpu.uclamp.max 40
|
||||
write /dev/cpuctl/dex2oat/cpu.uclamp.max 60
|
||||
write /dev/cpuctl/camera-daemon/cpu.uclamp.min 50
|
||||
write /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive 1
|
||||
|
||||
@@ -220,7 +212,7 @@ on property:sys.boot_completed=1
|
||||
|
||||
# Setup runtime cpusets
|
||||
write /dev/cpuset/top-app/cpus 0-7
|
||||
write /dev/cpuset/foreground/cpus 0-3,5-6
|
||||
write /dev/cpuset/foreground/cpus 0-6
|
||||
write /dev/cpuset/background/cpus 0-1
|
||||
write /dev/cpuset/system-background/cpus 0-2
|
||||
write /dev/cpuset/restricted/cpus 0-3
|
||||
@@ -267,6 +259,7 @@ service vendor.per_proxy /vendor/bin/pm-proxy
|
||||
on charger
|
||||
start vendor.power_off_alarm
|
||||
setprop sys.usb.controller a600000.dwc3
|
||||
setprop sys.usb.configfs 1
|
||||
|
||||
service vendor.spdaemon /vendor/bin/spdaemon
|
||||
class core
|
||||
@@ -283,6 +276,10 @@ service vendor.thermal-engine /vendor/bin/thermal-engine -c /vendor/etc/thermal-
|
||||
class main
|
||||
user root
|
||||
group root
|
||||
socket thermal-send-client stream 0666 system system
|
||||
socket thermal-recv-client stream 0660 system system
|
||||
socket thermal-recv-passive-client stream 0666 system system
|
||||
socket thermal-send-rule stream 0660 system system
|
||||
|
||||
service vendor.lowi /vendor/bin/sscrpcd
|
||||
class core
|
||||
@@ -43,6 +43,12 @@ on init
|
||||
chmod 0660 /dev/drv8846_dev
|
||||
chmod 0660 /dev/akm09970
|
||||
|
||||
# Goodix fingerprint
|
||||
chmod 0666 /dev/goodix_fp
|
||||
chown system system /dev/goodix_fp
|
||||
chmod 0664 /dev/fortsense_fp
|
||||
chown system system /dev/fortsense_fp
|
||||
|
||||
on property:sys.boot_completed=1
|
||||
setprop vendor.powerhal.init 1
|
||||
|
||||
@@ -53,12 +59,55 @@ on post-fs-data
|
||||
chmod 0644 /dev/elliptic0
|
||||
chmod 0644 /dev/elliptic1
|
||||
|
||||
mkdir /data/vendor/fpc 0770 system system
|
||||
mkdir /data/vendor/goodix 0770 system system
|
||||
mkdir /data/vendor/fpdump 0770 system system
|
||||
mkdir /data/vendor/fortsense 0770 system system
|
||||
mkdir /mnt/vendor/persist/goodix 0770 system system
|
||||
mkdir /mnt/vendor/persist/fpc 0770 system system
|
||||
|
||||
on boot
|
||||
# Create persist for camera calibration data
|
||||
mkdir /mnt/vendor/persist/camera 0755 system cameraserver
|
||||
|
||||
chown system system /sys/class/thermal/thermal_message/sconfig
|
||||
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/irq
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/irq_enable
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/wakeup_enable
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/hw_reset
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/device_prepare
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/fingerdown_wait
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/vendor
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/simulate_irq
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/finger_irq
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
|
||||
chown system system /sys/bus/platform/devices/soc:fingerprint_fpc/power_cfg
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/irq
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/wakeup_enable
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/hw_reset
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/device_prepare
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/vendor
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/simulate_irq
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/finger_irq
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/request_vreg
|
||||
chmod 0700 /sys/bus/platform/devices/soc:fingerprint_fpc/power_cfg
|
||||
chown system system /sys/class/drm/card0-DSI-1/disp_param
|
||||
chmod 0700 /sys/class/drm/card0-DSI-1/disp_param
|
||||
chown system system /sys/class/drm/card0-DSI-1/panel_info
|
||||
chmod 0744 /sys/class/drm/card0-DSI-1/panel_info
|
||||
chmod 0666 /dev/input/event2
|
||||
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display-primary/fod_ui
|
||||
chmod 0444 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/fod_ui
|
||||
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display/fod_ui
|
||||
chmod 0444 /sys/devices/platform/soc/soc:qcom,dsi-display/fod_ui
|
||||
chown system system /sys/touchpanel/fod_status
|
||||
chmod 0644 /sys/touchpanel/fod_status
|
||||
chown system system /sys/devices/virtual/touch/tp_dev/fod_status
|
||||
chmod 0644 /sys/devices/virtual/touch/tp_dev/fod_status
|
||||
|
||||
on charger
|
||||
mkdir /mnt/vendor/persist
|
||||
chown root system /mnt/vendor/persist
|
||||
@@ -311,14 +311,6 @@ firmware_directories /vendor/firmware_mnt/image/
|
||||
/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan0/queues/rx-* rps_cpus 0660 system system
|
||||
/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/p2p0/queues/rx-* rps_cpus 0660 system system
|
||||
|
||||
# wigig
|
||||
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/fst_link_loss 0660 wifi wifi
|
||||
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/thermal_throttling 0660 system system
|
||||
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/snr_thresh 0660 wifi wifi
|
||||
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/queues/rx-0/rps_cpus 0660 system system
|
||||
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/gro_flush_timeout 0660 system system
|
||||
/sys/devices/virtual/net/bond0 queues/rx-0/rps_cpus 0660 system system
|
||||
|
||||
#nfc permissions
|
||||
/dev/nfc-nci 0660 nfc nfc
|
||||
/dev/nq-nci 0660 nfc nfc
|
||||
@@ -501,3 +493,9 @@ firmware_directories /vendor/firmware_mnt/image/
|
||||
|
||||
# Battery
|
||||
/sys/class/power_supply/battery input_suspend 0660 system system
|
||||
|
||||
=======
|
||||
# Torch control
|
||||
/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_0 brightness 0660 cameraserver camera
|
||||
/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_1 brightness 0660 cameraserver camera
|
||||
/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:switch_2 brightness 0660 cameraserver camera
|
||||
@@ -9,8 +9,6 @@
|
||||
|
||||
#include "vendor_init.h"
|
||||
|
||||
#define FINGERPRINT "Xiaomi/raphael/raphael:11/RKQ1.200826.002/V12.5.2.0.RFKMIXM:user/release-keys"
|
||||
|
||||
static const variant_info_t raphael_global_info = {
|
||||
.hwc_value = "GLOBAL",
|
||||
.sku_value = "",
|
||||
@@ -19,8 +17,6 @@ static const variant_info_t raphael_global_info = {
|
||||
.device = "raphael",
|
||||
.marketname = "",
|
||||
.model = "Mi 9T Pro",
|
||||
.build_fingerprint = FINGERPRINT,
|
||||
|
||||
.nfc = true,
|
||||
};
|
||||
|
||||
@@ -32,8 +28,6 @@ static const variant_info_t raphaelin_info = {
|
||||
.device = "raphaelin",
|
||||
.marketname = "",
|
||||
.model = "Redmi K20 Pro",
|
||||
.build_fingerprint = FINGERPRINT,
|
||||
|
||||
.nfc = false,
|
||||
};
|
||||
|
||||
@@ -45,8 +39,6 @@ static const variant_info_t raphael_info = {
|
||||
.device = "raphael",
|
||||
.marketname = "",
|
||||
.model = "Redmi K20 Pro",
|
||||
.build_fingerprint = FINGERPRINT,
|
||||
|
||||
.nfc = true,
|
||||
};
|
||||
|
||||
|
||||
@@ -34,13 +34,8 @@ void set_variant_props(const variant_info_t variant) {
|
||||
set_ro_build_prop("marketname", variant.marketname, true);
|
||||
set_ro_build_prop("model", variant.model, true);
|
||||
|
||||
if (access("/system/bin/recovery", F_OK) != 0) {
|
||||
set_ro_build_prop("fingerprint", variant.build_fingerprint);
|
||||
property_override("ro.bootimage.build.fingerprint", variant.build_fingerprint);
|
||||
|
||||
property_override("ro.build.description", fingerprint_to_description(variant.build_fingerprint));
|
||||
}
|
||||
|
||||
if (variant.nfc)
|
||||
if (variant.nfc) {
|
||||
property_override(SKU_PROP, "nfc");
|
||||
property_override("ro.boot.hardware.sku", "nfc");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
cc_library_shared {
|
||||
name: "libqti-perfd-client",
|
||||
proprietary: true,
|
||||
defaults: ["hidl_defaults"],
|
||||
srcs: [
|
||||
"client.c",
|
||||
],
|
||||
cflags: [
|
||||
"-Werror",
|
||||
"-Wextra",
|
||||
"-Wall",
|
||||
],
|
||||
shared_libs: [
|
||||
"liblog",
|
||||
"libutils",
|
||||
],
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2021-2024 The LineageOS Project
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#define LOG_TAG "libqti-perfd-client"
|
||||
|
||||
#include <log/log.h>
|
||||
#include <stdint.h>
|
||||
|
||||
void perf_get_feedback() {}
|
||||
|
||||
void perf_hint() {}
|
||||
|
||||
int perf_lock_acq(int handle, int duration, int arg3[], int arg4) {
|
||||
ALOGI("perf_lock_acq: handle: %d, duration: %d, arg3[0]: %d, arg4: %d", handle, duration,
|
||||
arg3[0], arg4);
|
||||
return handle ?: 233;
|
||||
}
|
||||
|
||||
void perf_lock_cmd() {}
|
||||
|
||||
int perf_lock_rel(int handle) {
|
||||
ALOGI("perf_lock_rel: handle: %d", handle);
|
||||
return handle ?: 233;
|
||||
}
|
||||
|
||||
void perf_lock_use_profile() {}
|
||||
@@ -9,24 +9,29 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_p.mk)
|
||||
|
||||
# OMX
|
||||
TARGET_SUPPORTS_OMX_SERVICE := false
|
||||
|
||||
# Inherit from raphael device
|
||||
$(call inherit-product, device/xiaomi/raphael/device.mk)
|
||||
|
||||
# Inherit some common Evolution X stuff.
|
||||
$(call inherit-product, vendor/evolution/config/common_full_phone.mk)
|
||||
# Inherit from common lineage configuration
|
||||
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
|
||||
|
||||
EVO_BUILD_TYPE := OFFICIAL
|
||||
EXTRA_UDFPS_ANIMATIONS := true
|
||||
EVO_BUILD_TYPE := Official
|
||||
TARGET_BOOT_ANIMATION_RES := 1080
|
||||
TARGET_BUILD_APERTURE_CAMERA := false
|
||||
TARGET_SUPPORTS_QUICK_TAP := true
|
||||
TARGET_HAS_UDFPS := true
|
||||
|
||||
# Bypass charging node /sys/class/power_supply/battery/input_suspend
|
||||
BYPASS_CHARGE_SUPPORTED := true
|
||||
|
||||
# Boot animation
|
||||
TARGET_SCREEN_HEIGHT := 2340
|
||||
TARGET_SCREEN_WIDTH := 1080
|
||||
|
||||
# Device identifier. This must come after all inclusions.
|
||||
PRODUCT_NAME := evolution_raphael
|
||||
PRODUCT_NAME := lineage_raphael
|
||||
PRODUCT_DEVICE := raphael
|
||||
PRODUCT_BRAND := Xiaomi
|
||||
PRODUCT_MANUFACTURER := Xiaomi
|
||||
@@ -34,3 +39,7 @@ PRODUCT_MANUFACTURER := Xiaomi
|
||||
PRODUCT_CHARACTERISTICS := nosdcard
|
||||
|
||||
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi
|
||||
|
||||
PRODUCT_BUILD_PROP_OVERRIDES += \
|
||||
BuildDesc="raphael-user 11 RKQ1.200826.002 V12.5.2.0.RFKMIXM release-keys" \
|
||||
BuildFingerprint=Xiaomi/raphael/raphael:11/RKQ1.200826.002/V12.5.2.0.RFKMIXM:user/release-keys
|
||||
@@ -1,40 +0,0 @@
|
||||
//
|
||||
// Copyright (C) 2019-2020 The LineageOS Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
cc_binary {
|
||||
name: "vendor.lineage.livedisplay@2.1-service.raphael",
|
||||
defaults: ["hidl_defaults"],
|
||||
vintf_fragments: ["vendor.lineage.livedisplay@2.1-service.raphael.xml"],
|
||||
init_rc: ["vendor.lineage.livedisplay@2.1-service.raphael.rc"],
|
||||
relative_install_path: "hw",
|
||||
srcs: [
|
||||
":vendor.lineage.livedisplay@2.0-sdm-utils",
|
||||
"AntiFlicker.cpp",
|
||||
"SunlightEnhancement.cpp",
|
||||
"service.cpp",
|
||||
],
|
||||
vendor: true,
|
||||
shared_libs: [
|
||||
"libbase",
|
||||
"libbinder",
|
||||
"libhidlbase",
|
||||
"libutils",
|
||||
"vendor.lineage.livedisplay@2.0",
|
||||
"vendor.lineage.livedisplay@2.1",
|
||||
],
|
||||
header_libs: [
|
||||
"vendor.lineage.livedisplay@2.0-sdm-headers",
|
||||
],
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2021 The LineageOS Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#define LOG_TAG "AntiFlickerService"
|
||||
|
||||
#include "AntiFlicker.h"
|
||||
#include <android-base/logging.h>
|
||||
#include <fstream>
|
||||
|
||||
namespace vendor {
|
||||
namespace lineage {
|
||||
namespace livedisplay {
|
||||
namespace V2_1 {
|
||||
namespace implementation {
|
||||
|
||||
static constexpr const char* kDcDimmingPath =
|
||||
"/sys/devices/platform/soc/soc:qcom,dsi-display-primary/dc_dim";
|
||||
|
||||
Return<bool> AntiFlicker::isEnabled() {
|
||||
std::ifstream file(kDcDimmingPath);
|
||||
int result = -1;
|
||||
file >> result;
|
||||
LOG(DEBUG) << "Got result " << result << " fail " << file.fail();
|
||||
return !file.fail() && result > 0;
|
||||
}
|
||||
|
||||
Return<bool> AntiFlicker::setEnabled(bool enabled) {
|
||||
std::ofstream file(kDcDimmingPath);
|
||||
file << (enabled ? "1" : "0");
|
||||
LOG(DEBUG) << "setEnabled fail " << file.fail();
|
||||
return !file.fail();
|
||||
}
|
||||
|
||||
} // namespace implementation
|
||||
} // namespace V2_1
|
||||
} // namespace livedisplay
|
||||
} // namespace lineage
|
||||
} // namespace vendor
|
||||
@@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2021 The LineageOS Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef VENDOR_LINEAGE_LIVEDISPLAY_V2_1_ANTIFLICKER_H
|
||||
#define VENDOR_LINEAGE_LIVEDISPLAY_V2_1_ANTIFLICKER_H
|
||||
|
||||
#include <hidl/MQDescriptor.h>
|
||||
#include <hidl/Status.h>
|
||||
#include <vendor/lineage/livedisplay/2.1/IAntiFlicker.h>
|
||||
|
||||
namespace vendor {
|
||||
namespace lineage {
|
||||
namespace livedisplay {
|
||||
namespace V2_1 {
|
||||
namespace implementation {
|
||||
|
||||
using ::android::hardware::Return;
|
||||
using ::android::hardware::Void;
|
||||
using ::android::sp;
|
||||
|
||||
class AntiFlicker : public IAntiFlicker {
|
||||
public:
|
||||
// Methods from ::vendor::lineage::livedisplay::V2_1::IAntiFlicker follow.
|
||||
Return<bool> isEnabled() override;
|
||||
Return<bool> setEnabled(bool enabled) override;
|
||||
};
|
||||
|
||||
} // namespace implementation
|
||||
} // namespace V2_1
|
||||
} // namespace livedisplay
|
||||
} // namespace lineage
|
||||
} // namespace vendor
|
||||
|
||||
#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_1_ANTIFLICKER_H
|
||||
@@ -1,55 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2019-2020 The LineageOS Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#define LOG_TAG "SunlightEnhancementService"
|
||||
|
||||
#include <android-base/file.h>
|
||||
#include <android-base/logging.h>
|
||||
#include <android-base/strings.h>
|
||||
|
||||
#include "SunlightEnhancement.h"
|
||||
|
||||
namespace vendor {
|
||||
namespace lineage {
|
||||
namespace livedisplay {
|
||||
namespace V2_1 {
|
||||
namespace implementation {
|
||||
|
||||
static constexpr const char* kHbmStatusPath =
|
||||
"/sys/devices/platform/soc/soc:qcom,dsi-display-primary/hbm";
|
||||
|
||||
Return<bool> SunlightEnhancement::isEnabled() {
|
||||
std::string buf;
|
||||
if (!android::base::ReadFileToString(kHbmStatusPath, &buf)) {
|
||||
LOG(ERROR) << "Failed to read " << kHbmStatusPath;
|
||||
return false;
|
||||
}
|
||||
return std::stoi(android::base::Trim(buf)) == 1;
|
||||
}
|
||||
|
||||
Return<bool> SunlightEnhancement::setEnabled(bool enabled) {
|
||||
if (!android::base::WriteStringToFile((enabled ? "1" : "0"), kHbmStatusPath)) {
|
||||
LOG(ERROR) << "Failed to write " << kHbmStatusPath;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace implementation
|
||||
} // namespace V2_1
|
||||
} // namespace livedisplay
|
||||
} // namespace lineage
|
||||
} // namespace vendor
|
||||
@@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2019-2020 The LineageOS Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef VENDOR_LINEAGE_LIVEDISPLAY_V2_1_SUNLIGHTENHANCEMENT_H
|
||||
#define VENDOR_LINEAGE_LIVEDISPLAY_V2_1_SUNLIGHTENHANCEMENT_H
|
||||
|
||||
#include <hidl/MQDescriptor.h>
|
||||
#include <hidl/Status.h>
|
||||
#include <vendor/lineage/livedisplay/2.1/ISunlightEnhancement.h>
|
||||
|
||||
namespace vendor {
|
||||
namespace lineage {
|
||||
namespace livedisplay {
|
||||
namespace V2_1 {
|
||||
namespace implementation {
|
||||
|
||||
using ::android::sp;
|
||||
using ::android::hardware::Return;
|
||||
using ::android::hardware::Void;
|
||||
|
||||
class SunlightEnhancement : public ISunlightEnhancement {
|
||||
public:
|
||||
// Methods from ::vendor::lineage::livedisplay::V2_1::ISunlightEnhancement follow.
|
||||
Return<bool> isEnabled() override;
|
||||
Return<bool> setEnabled(bool enabled) override;
|
||||
};
|
||||
|
||||
} // namespace implementation
|
||||
} // namespace V2_1
|
||||
} // namespace livedisplay
|
||||
} // namespace lineage
|
||||
} // namespace vendor
|
||||
|
||||
#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_1_SUNLIGHTENHANCEMENT_H
|
||||
@@ -1,66 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2019-2020 The LineageOS Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#define LOG_TAG "vendor.lineage.livedisplay@2.1-service.raphael"
|
||||
|
||||
#include <android-base/logging.h>
|
||||
#include <binder/ProcessState.h>
|
||||
#include <hidl/HidlTransportSupport.h>
|
||||
|
||||
#include "AntiFlicker.h"
|
||||
#include "SunlightEnhancement.h"
|
||||
#include "livedisplay/sdm/SDMController.h"
|
||||
|
||||
using android::OK;
|
||||
using android::sp;
|
||||
using android::status_t;
|
||||
|
||||
using ::vendor::lineage::livedisplay::V2_0::sdm::SDMController;
|
||||
using ::vendor::lineage::livedisplay::V2_1::IAntiFlicker;
|
||||
using ::vendor::lineage::livedisplay::V2_1::ISunlightEnhancement;
|
||||
using ::vendor::lineage::livedisplay::V2_1::implementation::AntiFlicker;
|
||||
using ::vendor::lineage::livedisplay::V2_1::implementation::SunlightEnhancement;
|
||||
|
||||
int main() {
|
||||
status_t status = OK;
|
||||
std::shared_ptr<SDMController> controller = std::make_shared<SDMController>();
|
||||
sp<AntiFlicker> af = new AntiFlicker();
|
||||
sp<SunlightEnhancement> se = new SunlightEnhancement();
|
||||
android::hardware::configureRpcThreadpool(1, true /*callerWillJoin*/);
|
||||
|
||||
// AntiFlicker service
|
||||
status = af->registerAsService();
|
||||
if (status != OK) {
|
||||
LOG(ERROR) << "Could not register service for LiveDisplay HAL AntiFlicker Iface ("
|
||||
<< status << ")";
|
||||
return 1;
|
||||
}
|
||||
|
||||
// SunlightEnhancement service
|
||||
status = se->registerAsService();
|
||||
if (status != OK) {
|
||||
LOG(ERROR) << "Could not register service for LiveDisplay HAL SunlightEnhancement Iface ("
|
||||
<< status << ")";
|
||||
return 1;
|
||||
}
|
||||
|
||||
LOG(INFO) << "LiveDisplay HAL service is ready.";
|
||||
|
||||
android::hardware::joinRpcThreadpool();
|
||||
|
||||
LOG(ERROR) << "LiveDisplay HAL service failed to join thread pool.";
|
||||
return 1;
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
on boot
|
||||
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display-primary/hbm
|
||||
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dc_dim
|
||||
chmod 0660 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/hbm
|
||||
chmod 0660 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dc_dim
|
||||
|
||||
service vendor.livedisplay-hal-2-1 /vendor/bin/hw/vendor.lineage.livedisplay@2.1-service.raphael
|
||||
class hal
|
||||
user system
|
||||
group system
|
||||
@@ -1,8 +0,0 @@
|
||||
<manifest version="1.0" type="device">
|
||||
<hal format="hidl">
|
||||
<name>vendor.lineage.livedisplay</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.1::IAntiFlicker/default</fqname>
|
||||
<fqname>@2.1::ISunlightEnhancement/default</fqname>
|
||||
</hal>
|
||||
</manifest>
|
||||
44
odm.prop
44
odm.prop
@@ -1,46 +1,2 @@
|
||||
# Audio
|
||||
vendor.audio.feature.a2dp_offload.enable=true
|
||||
vendor.audio.feature.afe_proxy.enable=true
|
||||
vendor.audio.feature.anc_headset.enable=true
|
||||
vendor.audio.feature.battery_listener.enable=true
|
||||
vendor.audio.feature.compr_cap.enable=false
|
||||
vendor.audio.feature.compress_in.enable=false
|
||||
vendor.audio.feature.compress_meta_data.enable=true
|
||||
vendor.audio.feature.compr_voip.enable=false
|
||||
vendor.audio.feature.concurrent_capture.enable=false
|
||||
vendor.audio.feature.custom_stereo.enable=true
|
||||
vendor.audio.feature.display_port.enable=true
|
||||
vendor.audio.feature.dsm_feedback.enable=false
|
||||
vendor.audio.feature.dynamic_ecns.enable=false
|
||||
vendor.audio.feature.ext_hw_plugin.enable=true
|
||||
vendor.audio.feature.external_dsp.enable=false
|
||||
vendor.audio.feature.external_speaker.enable=false
|
||||
vendor.audio.feature.external_speaker_tfa.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=true
|
||||
vendor.audio.feature.hfp.enable=true
|
||||
vendor.audio.feature.hifi_audio.enable=false
|
||||
vendor.audio.feature.hwdep_cal.enable=false
|
||||
vendor.audio.feature.incall_music.enable=true
|
||||
vendor.audio.feature.multi_voice_session.enable=true
|
||||
vendor.audio.feature.keep_alive.enable=true
|
||||
vendor.audio.feature.kpi_optimize.enable=true
|
||||
vendor.audio.feature.maxx_audio.enable=false
|
||||
vendor.audio.feature.ras.enable=true
|
||||
vendor.audio.feature.record_play_concurency.enable=false
|
||||
vendor.audio.feature.src_trkn.enable=true
|
||||
vendor.audio.feature.spkr_prot.enable=true
|
||||
vendor.audio.feature.ssrec.enable=true
|
||||
vendor.audio.feature.usb_offload.enable=true
|
||||
vendor.audio.feature.usb_offload_burst_mode.enable=true
|
||||
vendor.audio.feature.usb_offload_sidetone_volume.enable=false
|
||||
vendor.audio.feature.deepbuffer_as_primary.enable=false
|
||||
vendor.audio.feature.vbat.enable=true
|
||||
vendor.audio.feature.wsa.enable=false
|
||||
vendor.audio.feature.audiozoom.enable=false
|
||||
vendor.audio.feature.snd_mon.enable=true
|
||||
|
||||
# ODM
|
||||
ro.vendor.qti.va_odm.support=1
|
||||
|
||||
24
overlay/hardware/xiaomi/dolby/res/values/arrays.xml
Normal file
24
overlay/hardware/xiaomi/dolby/res/values/arrays.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<?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>
|
||||
14
overlay/hardware/xiaomi/dolby/res/values/strings.xml
Normal file
14
overlay/hardware/xiaomi/dolby/res/values/strings.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?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>
|
||||
@@ -11,7 +11,7 @@ android_app {
|
||||
],
|
||||
|
||||
srcs: ["src/**/*.java"],
|
||||
resource_dirs: ["res"],
|
||||
|
||||
certificate: "platform",
|
||||
platform_apis: true,
|
||||
system_ext_specific: true,
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
android:persistent="true"
|
||||
android:defaultToDeviceProtectedStorage="true"
|
||||
android:directBootAware="true"
|
||||
android:theme="@style/Theme.SubSettingsBase">
|
||||
android:theme="@style/Theme.SubSettingsBase.Expressive">
|
||||
|
||||
<receiver android:name=".BootCompletedReceiver"
|
||||
android:exported="false">
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?android:attr/colorAccent">
|
||||
<path
|
||||
android:fillColor="#ff000000"
|
||||
android:pathData="M6.55 8c-0.4 0-0.8 0.16-1.1 0.46C5.17 8.75 5 9.14 5 9.56v4.66c0 0.4 0.16 0.8 0.46 1.1 0.29 0.29 0.68 0.45 1.1 0.45H8.1c0.41 0 0.8-0.16 1.1-0.46 0.29-0.29 0.45-0.68 0.45-1.1v-1.55c0-0.41-0.16-0.8-0.45-1.1-0.3-0.29-0.69-0.45-1.1-0.45H6.55V9.55h3.11V8h-3.1Zm0 4.66h1.56v1.56H6.55v-1.56Z"/>
|
||||
<path
|
||||
android:fillColor="#ff000000"
|
||||
android:pathData="M12 8c-0.42 0-0.81 0.16-1.1 0.46-0.3 0.29-0.46 0.68-0.46 1.1v4.66c0 0.4 0.16 0.8 0.45 1.1 0.3 0.29 0.69 0.45 1.1 0.45h1.56c0.4 0 0.8-0.16 1.1-0.46 0.29-0.29 0.45-0.68 0.45-1.1V9.56c0-0.4-0.16-0.8-0.46-1.1C14.35 8.17 13.96 8 13.54 8H12Zm0 1.55h1.55v4.67h-1.56V9.55Z"/>
|
||||
<path
|
||||
android:fillColor="#ff000000"
|
||||
android:pathData="M17 1.01L7 1C5.9 1 5 1.9 5 3v4h2V3h10v18H7v-4H5v4c0 1.1 0.9 2 2 2h10c1.1 0 2-0.9 2-2V3c0-1.1-0.9-1.99-2-1.99Z"/>
|
||||
</vector>
|
||||
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?android:attr/colorAccent">
|
||||
<path
|
||||
android:fillColor="#ff000000"
|
||||
android:pathData="M17 1.01L7 1C5.9 1 5 1.9 5 3v4h2V3h10v18H7v-4H5v4c0 1.1 0.9 2 2 2h10c1.1 0 2-0.9 2-2V3c0-1.1-0.9-1.99-2-1.99Z"/>
|
||||
<path
|
||||
android:fillColor="#ff000000"
|
||||
android:pathData="M8.1 15.77c0.42 0 0.82-0.16 1.1-0.46 0.3-0.29 0.46-0.68 0.46-1.1V9.56c0-0.4-0.16-0.8-0.45-1.1C8.9 8.17 8.52 8 8.1 8H6.55c-0.4 0-0.8 0.16-1.1 0.46C5.17 8.75 5 9.14 5 9.56v1.55c0 0.41 0.16 0.8 0.46 1.1 0.29 0.29 0.68 0.45 1.1 0.45H8.1v1.56H5v1.55h3.1Zm0-4.66H6.56V9.55h1.56v1.56Z"/>
|
||||
<path
|
||||
android:fillColor="#ff000000"
|
||||
android:pathData="M12 8c-0.42 0-0.81 0.16-1.1 0.46-0.3 0.29-0.46 0.68-0.46 1.1v4.66c0 0.4 0.16 0.8 0.45 1.1 0.3 0.29 0.69 0.45 1.1 0.45h1.56c0.4 0 0.8-0.16 1.1-0.46 0.29-0.29 0.45-0.68 0.45-1.1V9.56c0-0.4-0.16-0.8-0.46-1.1C14.35 8.17 13.96 8 13.54 8H12Zm0 1.55h1.55v4.67h-1.56V9.55Z"/>
|
||||
</vector>
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?android:attr/colorAccent">
|
||||
<path
|
||||
android:fillColor="#ff000000"
|
||||
android:pathData="M17 3.01V15l2 2V3.01c0-1.1-0.9-1.99-2-1.99L7 1C6 0.99 5 1.99 5 2.99L7 5V3.01h10Zm4.2 18.19L19 19.01l-2-2-10-10-2-2-2.19-2.19L1.4 4.23 5 7.84v13.17c0 1.1 0.9 2 2 2h10c0.85 0 1.58-0.55 1.87-1.3l0.91 0.91 1.41-1.42ZM17 21.01H7L17 21v-0.99 1Zm-10 0V9.84l10 10.17V21L7 21.01Z"/>
|
||||
</vector>
|
||||
@@ -3,7 +3,7 @@
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:title="@string/clear_speaker_title">
|
||||
|
||||
<SwitchPreference
|
||||
<SwitchPreferenceCompat
|
||||
android:key="clear_speaker_pref"
|
||||
android:title="@string/clear_speaker_title"
|
||||
android:icon="@drawable/ic_clear_speaker"
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:title="@string/popup_title">
|
||||
|
||||
<SwitchPreference
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="true"
|
||||
android:icon="@drawable/ic_popup_light"
|
||||
android:key="popup_led_effect"
|
||||
android:summary="@string/popup_led_summary"
|
||||
android:title="@string/popup_led_title" />
|
||||
|
||||
<SwitchPreference
|
||||
<SwitchPreferenceCompat
|
||||
android:key="always_on_camera_dialog"
|
||||
android:icon="@drawable/ic_always_camera_dialog"
|
||||
android:title="@string/always_on_camera_dialog_title"
|
||||
|
||||
@@ -21,22 +21,23 @@ import android.provider.Settings;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.Preference.OnPreferenceChangeListener;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
import androidx.preference.SwitchPreference;
|
||||
import androidx.preference.SwitchPreferenceCompat;
|
||||
|
||||
import com.android.settingslib.widget.SettingsBasePreferenceFragment;
|
||||
|
||||
import org.lineageos.settings.R;
|
||||
|
||||
public class PopupCameraSettingsFragment extends PreferenceFragmentCompat implements
|
||||
public class PopupCameraSettingsFragment extends SettingsBasePreferenceFragment implements
|
||||
OnPreferenceChangeListener {
|
||||
|
||||
private SwitchPreference mAlwaysCameraSwitch;
|
||||
private SwitchPreferenceCompat mAlwaysCameraSwitch;
|
||||
public static final String KEY_ALWAYS_CAMERA_DIALOG = "always_on_camera_dialog";
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
addPreferencesFromResource(R.xml.popup_settings);
|
||||
|
||||
mAlwaysCameraSwitch = (SwitchPreference) findPreference(KEY_ALWAYS_CAMERA_DIALOG);
|
||||
mAlwaysCameraSwitch = (SwitchPreferenceCompat) findPreference(KEY_ALWAYS_CAMERA_DIALOG);
|
||||
boolean enabled = Settings.System.getInt(getContext().getContentResolver(),KEY_ALWAYS_CAMERA_DIALOG, 0) == 1;
|
||||
mAlwaysCameraSwitch.setChecked(enabled);
|
||||
mAlwaysCameraSwitch.setOnPreferenceChangeListener(this);
|
||||
|
||||
@@ -26,14 +26,15 @@ import android.os.Looper;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
import androidx.preference.SwitchPreference;
|
||||
import androidx.preference.SwitchPreferenceCompat;
|
||||
|
||||
import com.android.settingslib.widget.SettingsBasePreferenceFragment;
|
||||
|
||||
import org.lineageos.settings.R;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class ClearSpeakerFragment extends PreferenceFragmentCompat implements
|
||||
public class ClearSpeakerFragment extends SettingsBasePreferenceFragment implements
|
||||
Preference.OnPreferenceChangeListener {
|
||||
|
||||
private static final String TAG = "ClearSpeakerFragment";
|
||||
@@ -42,7 +43,7 @@ public class ClearSpeakerFragment extends PreferenceFragmentCompat implements
|
||||
|
||||
private Handler mHandler = new Handler(Looper.getMainLooper());
|
||||
private MediaPlayer mMediaPlayer;
|
||||
private SwitchPreference mClearSpeakerPref;
|
||||
private SwitchPreferenceCompat mClearSpeakerPref;
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
|
||||
2
product.prop
Normal file
2
product.prop
Normal file
@@ -0,0 +1,2 @@
|
||||
# eBPF
|
||||
ro.bpf.kver_override=5.4.299
|
||||
@@ -68,15 +68,15 @@ vendor/lib64/vendor.qti.hardware.dsp@1.0.so
|
||||
system_ext/lib/com.qualcomm.qti.ant@1.0.so
|
||||
system_ext/lib64/com.qualcomm.qti.ant@1.0.so
|
||||
|
||||
# Alarm
|
||||
-product/app/PowerOffAlarm/PowerOffAlarm.apk
|
||||
vendor/bin/hw/vendor.qti.hardware.alarm@1.0-service
|
||||
vendor/bin/power_off_alarm
|
||||
vendor/etc/init/vendor.qti.hardware.alarm@1.0-service.rc
|
||||
vendor/lib/hw/vendor.qti.hardware.alarm@1.0-impl.so
|
||||
vendor/lib/vendor.qti.hardware.alarm@1.0.so
|
||||
vendor/lib64/hw/vendor.qti.hardware.alarm@1.0-impl.so
|
||||
vendor/lib64/vendor.qti.hardware.alarm@1.0.so
|
||||
# Alarm (system) - LA.QSSI.13.0.r1-09700-qssi.0
|
||||
system_ext/app/PowerOffAlarm/PowerOffAlarm.apk|cbf84c83add302037b8ee9ec0f619f3dccb02f24
|
||||
|
||||
# Alarm (system) - LA.UM.9.14.r1-21000-LAHAINA.QSSI12.0
|
||||
vendor/bin/hw/vendor.qti.hardware.alarm@1.0-service|cbf84c83add302037b8ee9ec0f619f3dccb02f24
|
||||
vendor/bin/power_off_alarm|cbf84c83add302037b8ee9ec0f619f3dccb02f24
|
||||
vendor/etc/init/vendor.qti.hardware.alarm@1.0-service.rc|cbf84c83add302037b8ee9ec0f619f3dccb02f24
|
||||
vendor/lib64/hw/vendor.qti.hardware.alarm@1.0-impl.so|cbf84c83add302037b8ee9ec0f619f3dccb02f24
|
||||
vendor/lib64/vendor.qti.hardware.alarm@1.0.so|cbf84c83add302037b8ee9ec0f619f3dccb02f24
|
||||
|
||||
# Audio Amplifier
|
||||
vendor/firmware/tfa98xx.cnt
|
||||
@@ -94,7 +94,6 @@ vendor/lib64/soundfx/libqcvirt.so|e6d206594228c8dcc290dd559473984b140499c2
|
||||
vendor/lib64/soundfx/libshoebox.so|e7140795d8a8a8dbad64d4282168178d192431a0
|
||||
|
||||
# Audio
|
||||
vendor/lib/hw/audio.primary.msmnile.so
|
||||
vendor/lib/hw/vendor.qti.hardware.audiohalext@1.0-impl.so
|
||||
vendor/lib/libadiertac.so
|
||||
vendor/lib/libadm.so
|
||||
@@ -107,7 +106,6 @@ vendor/lib/libresampler.so
|
||||
vendor/lib/libssrec.so
|
||||
vendor/lib/vendor.qti.hardware.audiohalext@1.0.so
|
||||
vendor/lib/vndk/libxlog.so
|
||||
vendor/lib64/hw/audio.primary.msmnile.so
|
||||
vendor/lib64/hw/vendor.qti.hardware.audiohalext@1.0-impl.so
|
||||
vendor/lib64/libadiertac.so
|
||||
vendor/lib64/libaudcal.so
|
||||
@@ -130,6 +128,7 @@ vendor/lib/libbt-hidlclient.so
|
||||
vendor/lib/libbtnv.so
|
||||
vendor/lib/vendor.qti.hardware.bluetooth_sar@1.0.so
|
||||
vendor/lib/vendor.qti.hardware.bluetooth_sar@1.1.so
|
||||
vendor/lib/vendor.qti.hardware.fm@1.0.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/hw/android.hardware.bluetooth@1.0-impl-qti.so
|
||||
vendor/lib64/hw/vendor.qti.hardware.bluetooth_sar@1.1-impl.so
|
||||
vendor/lib64/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so
|
||||
@@ -139,7 +138,7 @@ vendor/lib64/libbt-hidlclient.so
|
||||
vendor/lib64/libbtnv.so
|
||||
vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.0.so
|
||||
vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.1.so
|
||||
vendor/lib64/vendor.qti.hardware.fm@1.0.so
|
||||
vendor/lib64/vendor.qti.hardware.fm@1.0.so;MODULE_SUFFIX=_vendor
|
||||
|
||||
# CDSP
|
||||
vendor/bin/cdsprpcd
|
||||
@@ -155,8 +154,8 @@ vendor/lib64/libcdsprpc.so
|
||||
vendor/lib64/libsysmon_cdsp_skel.so
|
||||
|
||||
# CNE - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
-vendor/app/CneApp/CneApp.apk;REQUIRED=CneApp.libvndfwk_detect_jni.qti_symlink|345dc6c677e9bd7a7d36033b8955e90d2a1594d5
|
||||
-vendor/app/IWlanService/IWlanService.apk|9ea57bfbf58799a564fcf498de9f5fe3506f7342
|
||||
vendor/app/CneApp/CneApp.apk;REQUIRED=CneApp.libvndfwk_detect_jni.qti_symlink|345dc6c677e9bd7a7d36033b8955e90d2a1594d5
|
||||
vendor/app/IWlanService/IWlanService.apk|9ea57bfbf58799a564fcf498de9f5fe3506f7342
|
||||
vendor/bin/cnd|953858869b513828894800bf8556f3845d9665a2
|
||||
vendor/etc/cne/wqeclient/ATT/ATT_profile1.xml|578f3f8f56059bfdbef926bcc68d01c15e06951f
|
||||
vendor/etc/cne/wqeclient/ATT/ATT_profile2.xml|1fb42c672a12b6660bdce3ea94e0c43719dd9de8
|
||||
@@ -187,6 +186,7 @@ vendor/etc/cne/wqeclient/VZW/VZW_profile5.xml|f76c894f3c6d5b6ed35113a088dc3174c9
|
||||
vendor/etc/cne/wqeclient/VZW/VZW_profile6.xml|14d136e7fcc682311757d3edc0b9d3eaeba11815
|
||||
vendor/etc/default-permissions/com.qualcomm.qti.cne.xml|c63c37d067e3009735fbc54d4603d43d7d6623e1
|
||||
vendor/etc/init/cnd.rc|3a5183df3479500fb729493bc56c71166fc10bce
|
||||
vendor/lib/libxml.so|e46a4dd57f543b0cbb897e5d861e987b9f0200bf
|
||||
vendor/lib64/libcne.so|e14de8a25090dbf51b12ec5df580987ea2aa21a0
|
||||
vendor/lib64/libcneapiclient.so|0973dc05f6d6d9c469fc804693af79e6f3a5056a
|
||||
vendor/lib64/libcneoplookup.so|60d6abe85061de4fa75e5e4f69d477f37f1f8f64
|
||||
@@ -301,6 +301,7 @@ vendor/etc/camera/sdm_ys_32p_120_21_5_perturb50.bin
|
||||
vendor/etc/camera/vidhance_calibration
|
||||
vendor/etc/camera/visidon_clearshot_params_algoup.xml
|
||||
vendor/etc/camera/watermark_font_2300_3199.dat
|
||||
vendor/lib/libcamera_nn_stub.so
|
||||
vendor/lib/libcamxfdalgov7.so
|
||||
vendor/lib/libcamxfdalgov8.so
|
||||
vendor/lib/libcamxfdengine.so
|
||||
@@ -469,29 +470,47 @@ vendor/etc/init/vendor.qti.hardware.capabilityconfigstore@1.0-service.rc|4ede025
|
||||
vendor/lib/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so|adae94cab65e5b91553ba8c76a4bdda7b4fdd1f6
|
||||
vendor/lib64/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so|12d4edcd852196a531f688ed74d86ea10c4acb43
|
||||
|
||||
# DPM (system) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
-system_ext/priv-app/dpmserviceapp/dpmserviceapp.apk|ebf1f753ed24f8b6ba87c5f27c628889c38d0a85
|
||||
framework/tcmclient.jar|4e1dfaa243c67fec31b5a44086c9c417892761ae
|
||||
system_ext/bin/dpmd|5a42bc4e5c841573579e0718d6e80e688767eeed
|
||||
# Dolby
|
||||
vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service
|
||||
vendor/etc/init/vendor.dolby.hardware.dms@2.0-service.rc
|
||||
vendor/etc/media_codecs_dolby_audio.xml
|
||||
vendor/etc/vintf/manifest/manifest_vendor.dolby.hardware.dms.xml
|
||||
vendor/lib/libdapparamstorage.so
|
||||
vendor/lib/libdeccfg.so
|
||||
vendor/lib/libstagefright_soft_ac4dec.so
|
||||
vendor/lib/libstagefright_soft_ddpdec.so
|
||||
vendor/lib/soundfx/libswdap.so|810d0e266e4a77f06cba72fe8bdde2e1ede4f9f9
|
||||
vendor/lib/soundfx/libswgamedap.so
|
||||
vendor/lib/soundfx/libswvqe.so
|
||||
vendor/lib/vendor.dolby.hardware.dms@2.0.so
|
||||
vendor/lib64/libdapparamstorage.so
|
||||
vendor/lib64/libdlbdsservice.so
|
||||
vendor/lib64/vendor.dolby.hardware.dms@2.0-impl.so
|
||||
vendor/lib64/vendor.dolby.hardware.dms@2.0.so
|
||||
|
||||
# DPM (system) - from LA.QSSI.15.0.r1-14500-qssi.0
|
||||
system/framework/tcmclient.jar|de34d4305038f6fcf3cb314fd352ac54cec7e928
|
||||
system/lib64/vendor.qti.diaghal-V1-ndk.so|ac3381b74861e15a8fb2842dd8d929c97a5f0fa1
|
||||
system_ext/bin/dpmd|bb4195a73a7e8a9abf02fb156cc27b7bb2c3a664
|
||||
system_ext/etc/dpm/dpm.conf|95e27da8c989e96c6faea6f0697bce11955b62a5
|
||||
system_ext/etc/init/dpmd.rc|738b638ff04cda368e22c03e16baf90ba157a6fc
|
||||
system_ext/etc/permissions/com.qti.dpmframework.xml|c4b7ad0879d00c1eba4f3fe3a88ddb8aa153629a
|
||||
system_ext/etc/permissions/dpmapi.xml|255903759a60a31c0876ec004e74554c753270fe
|
||||
system_ext/framework/com.qti.dpmframework.jar|4fc38f534c788b80b432b385e07973bdd6e8c98f
|
||||
system_ext/framework/dpmapi.jar|c379f7a671439737fbff03411f28891d0f9313c9
|
||||
system_ext/lib64/com.qualcomm.qti.dpm.api@1.0.so|3e9786c8263de4135926a91083b70a737fc1d28b
|
||||
system_ext/lib64/libdpmctmgr.so|206949728b98a513683468209dbce86ed29412b8
|
||||
system_ext/lib64/libdpmfdmgr.so|da636fca9a9a91a897d17fd519448b10053a696b
|
||||
system_ext/lib64/libdpmframework.so|d974f04f110b3c1a1282d78bb0ff8a29dc022439
|
||||
system_ext/lib64/libdpmtcm.so|5521469cac3a2bec3da66cd36637df83ee59b97e
|
||||
system_ext/lib64/vendor.qti.diaghal@1.0.so|339886a9895a29dfae15e8708d6eeacda1663908
|
||||
system_ext/framework/com.qti.dpmframework.jar|9843c8769469a6d8e3ddcd0aab709bf77c57128e
|
||||
system_ext/framework/dpmapi.jar|504f269da33eae85b458dddcc99209f21506ce5c
|
||||
system_ext/lib64/com.qualcomm.qti.dpm.api@1.0.so|c829dd39d50769ffa52e0eafe722e5e1261aa5e8
|
||||
system_ext/lib64/libdiag_system.so|e00fa91ebc18ddaa55b3de979a43e1f0648a13b6
|
||||
system_ext/lib64/libdpmctmgr.so|ab4c4ad66e6e27cf29ef98920a028f45c737a40b
|
||||
system_ext/lib64/libdpmfdmgr.so|7935031c23d1561d746f1dc6c55983fe47bb5aba
|
||||
system_ext/lib64/libdpmframework.so|7728504beca47245f14d4d7b40599d209d73640f
|
||||
system_ext/lib64/libdpmtcm.so|9a6093944228ebe7fb1c7387a14cc114853c5278
|
||||
system_ext/lib64/vendor.qti.diaghal@1.0.so|f33d7eb1654c5d9acba02376891df1bbe87d3f57
|
||||
system_ext/priv-app/dpmserviceapp/dpmserviceapp.apk|158a598891636edcd4a90cfbec65443d2a7161a8
|
||||
|
||||
# DPM (vendor) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
vendor/bin/dpmQmiMgr|e682a4c6e684be96de179158c65e5732f052ab2c
|
||||
vendor/etc/init/dpmQmiMgr.rc|1538743661a5c48c15cd105beaad20f72953885a
|
||||
vendor/lib/com.qualcomm.qti.dpm.api@1.0.so|8e97eba901841227ae7029f535a747fdefd6c369
|
||||
vendor/lib/libdpmqmihal.so|843d7bd2dee10e67531deeedc8cbda480c71679f
|
||||
vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so|d9f1aa7f93b928f42499d613d20ccbc60f279097
|
||||
vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so;MODULE_SUFFIX=_vendor|d9f1aa7f93b928f42499d613d20ccbc60f279097
|
||||
vendor/lib64/libdpmqmihal.so|41eb89e66ba065c43a5eb79cd3c72cef0ee167aa
|
||||
|
||||
# DRM (Widevine L1)
|
||||
@@ -499,12 +518,12 @@ vendor/lib/liboemcrypto.so
|
||||
vendor/lib64/liboemcrypto.so
|
||||
|
||||
# DRM
|
||||
-vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.widevine.xml
|
||||
vendor/bin/hw/android.hardware.drm@1.3-service.widevine
|
||||
vendor/bin/hw/vendor.qti.hardware.qseecom@1.0-service
|
||||
vendor/bin/qseecomd
|
||||
vendor/etc/init/qseecomd.rc
|
||||
vendor/etc/init/vendor.qti.hardware.qseecom@1.0-service.rc
|
||||
vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.widevine.xml
|
||||
vendor/lib/libQSEEComAPI.so
|
||||
vendor/lib/libbase64.so
|
||||
vendor/lib/libcpion.so
|
||||
@@ -544,19 +563,19 @@ vendor/lib64/vendor.qti.hardware.qseecom@1.0.so
|
||||
vendor/lib64/libdisp-aba.so|44993853ff9d4340e856e6f53d802f10372442d3
|
||||
vendor/lib64/libdisplayqos.so|5548732c916e629f18f45ce257ce843b679a136a
|
||||
|
||||
# FM (system) - from LA.QSSI.12.0.r1-05800.02-qssi.0
|
||||
-system_ext/lib64/vendor.qti.hardware.fm@1.0.so|b9dc0797da5790a7d5f1c9a7a2fd9c4a7b87d304
|
||||
system_ext/lib64/fm_helium.so|f5c9cc8de62340ab8b38cca2555eeac9ab18d84b
|
||||
system_ext/lib64/libfm-hci.so|6fd608b27c9caf5a055c7c29ae386f596f399bc1
|
||||
# FM (system) - from LA.QSSI.15.0.r1-14500-qssi.0
|
||||
system_ext/lib64/fm_helium.so|63a119fb67a51136d738c0fa2b65c6713b3ab077
|
||||
system_ext/lib64/libfm-hci.so|96d572c590a04044f0db89356342e64ead887bc4
|
||||
system_ext/lib64/vendor.qti.hardware.fm@1.0.so|15f2b7444d7f274d7b90ef7512dd75323b3bc0c5
|
||||
|
||||
# Fingerprint
|
||||
vendor/lib64/hw/fingerprint.goodix_fod.so:vendor/lib64/hw/fingerprint.goodix_fod.msmnile.so
|
||||
vendor/lib64/hw/fingerprint.goodix_fod.so:vendor/lib64/hw/fingerprint.goodix_fod.msmnile.so;FIX_SONAME
|
||||
vendor/lib64/libgf_hal.so
|
||||
|
||||
# GNSS
|
||||
-vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml
|
||||
vendor/bin/hw/android.hardware.gnss@2.1-service-qti
|
||||
vendor/etc/init/android.hardware.gnss@2.1-service-qti.rc
|
||||
vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml
|
||||
vendor/lib/hw/android.hardware.gnss@2.1-impl-qti.so
|
||||
vendor/lib/libbatching.so
|
||||
vendor/lib/libgeofencing.so
|
||||
@@ -572,51 +591,52 @@ vendor/lib64/libgps.utils.so
|
||||
vendor/lib64/libloc_core.so
|
||||
vendor/lib64/liblocation_api.so
|
||||
|
||||
# GPS
|
||||
-vendor/etc/vintf/manifest/vendor.qti.gnss@4.0-service.xml
|
||||
vendor/bin/garden_app
|
||||
vendor/bin/loc_launcher
|
||||
vendor/bin/lowi-server
|
||||
vendor/bin/mlid
|
||||
vendor/bin/slim_daemon
|
||||
vendor/bin/xtra-daemon
|
||||
vendor/bin/xtwifi-client
|
||||
vendor/bin/xtwifi-inet-agent
|
||||
vendor/etc/cacert_location.pem
|
||||
vendor/etc/xtra_root_cert.pem
|
||||
vendor/lib64/hw/vendor.qti.gnss@4.0-impl.so
|
||||
vendor/lib64/libaoa.so
|
||||
vendor/lib64/libcacertclient.so
|
||||
vendor/lib64/libdataitems.so
|
||||
vendor/lib64/libgarden.so
|
||||
vendor/lib64/libgarden_haltests_e2e.so
|
||||
vendor/lib64/libgdtap.so
|
||||
vendor/lib64/libgnsspps.so
|
||||
vendor/lib64/libizat_client_api.so
|
||||
vendor/lib64/libizat_core.so
|
||||
vendor/lib64/libjnihelper.so
|
||||
vendor/lib64/liblbs_core.so
|
||||
vendor/lib64/libloc_api_v02.so
|
||||
vendor/lib64/libloc_socket.so
|
||||
vendor/lib64/liblocationservice.so
|
||||
vendor/lib64/liblocationservice_glue.so
|
||||
vendor/lib64/liblowi_client.so
|
||||
vendor/lib64/liblowi_wifihal.so
|
||||
vendor/lib64/libminksocket.so
|
||||
vendor/lib64/libmmosal.so
|
||||
vendor/lib64/libqcc_file_agent.so
|
||||
vendor/lib64/libqdma_file_agent.so
|
||||
vendor/lib64/libslimclient.so
|
||||
vendor/lib64/libxtadapter.so
|
||||
vendor/lib64/vendor.qti.gnss@1.0.so
|
||||
vendor/lib64/vendor.qti.gnss@1.1.so
|
||||
vendor/lib64/vendor.qti.gnss@1.2.so
|
||||
vendor/lib64/vendor.qti.gnss@2.0.so
|
||||
vendor/lib64/vendor.qti.gnss@2.1.so
|
||||
vendor/lib64/vendor.qti.gnss@3.0.so
|
||||
vendor/lib64/vendor.qti.gnss@4.0-service.so
|
||||
vendor/lib64/vendor.qti.gnss@4.0.so
|
||||
vendor/lib64/vendor.qti.hardware.cacert@1.0.so
|
||||
# GPS - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
vendor/bin/garden_app|4d5d58b8d8ecbb82db31b6e7f26f9fb749f9393b
|
||||
vendor/bin/loc_launcher|515038f060e83db862cca5cc8b79a3eb07d689f4
|
||||
vendor/bin/lowi-server|6ec426344a6d6e9896d0f5daba63c9d7d9145528
|
||||
vendor/bin/mlid|b697c6acebe4ed417c1828b8e2dff6f4bc726547
|
||||
vendor/bin/slim_daemon|7f4cbbd75f5ef58ddddbace7c0c6477564e87d8a
|
||||
vendor/bin/xtra-daemon|fb490d2f3fe4d7ab2c2f976d392d41ab3d7b1e73
|
||||
vendor/bin/xtwifi-client|ba69c0eddc2b5b37e80a5590c937e91fc4baf559
|
||||
vendor/bin/xtwifi-inet-agent|2c7c1b9cedd02ba697043225feaca1ea97db9f0f
|
||||
vendor/etc/cacert_location.pem|0789bf799c7e45d352a83e2f79ddb0cea86db85b
|
||||
vendor/etc/vintf/manifest/vendor.qti.gnss@4.0-service.xml|6514b13f55abc0acc28e004c35ff93fb972d61a9
|
||||
vendor/etc/xtra_root_cert.pem|f55a31ec4d9cf8ce2724acadecf00c779f8767db
|
||||
vendor/lib/libminksocket.so|7ede5ff3ad26dc8fe7f5ecd88f2c77b26dc6670e
|
||||
vendor/lib64/hw/vendor.qti.gnss@4.0-impl.so|fa12aa8cae5e0311c0d56c63b020c4a9485fbf3b
|
||||
vendor/lib64/libaoa.so|e38ab653612c7fb57a732c0ebadfbd0f9d174b8d
|
||||
vendor/lib64/libcacertclient.so|1d07e004c6660fcd7004deacb446c5e9fe67ce72
|
||||
vendor/lib64/libdataitems.so|06bb96e1cfcfd75a9b061ba1f4a7be91a19d6a7e
|
||||
vendor/lib64/libgarden.so|f2c1c30c840f063f828791bd3462e2ea8ffd1eb7
|
||||
vendor/lib64/libgarden_haltests_e2e.so|35071942c30e95722a6d230fee70ed23ebc7108b
|
||||
vendor/lib64/libgdtap.so|f7ea2035c862fb385d37b224b419aeef4338883e
|
||||
vendor/lib64/libgnsspps.so|77c9625bf121b1c35cfc679446336b38900fb8ac
|
||||
vendor/lib64/libizat_client_api.so|b2635e24e150539dd968f16fea104c9d0ca29720
|
||||
vendor/lib64/libizat_core.so|df7d29e9a8a501114874e361970135f1e152f4c8
|
||||
vendor/lib64/libjnihelper.so|e4d517cc4109908b15518ca524fe4aed36a61739
|
||||
vendor/lib64/liblbs_core.so|452ff087ea6e3b391cf472ded055c1066570e9d0
|
||||
vendor/lib64/libloc_api_v02.so|b0c9f0c49461635d7ffb3ee45f79739ab7b58c5a
|
||||
vendor/lib64/libloc_socket.so|15af11af0927edf74be83841d648663873d31694
|
||||
vendor/lib64/liblocationservice.so|0c483784593bcb67f8ff25cdecc7645a02b63b05
|
||||
vendor/lib64/liblocationservice_glue.so|d42ee5dd7687abeae596f2621e63fe8540cd0ea4
|
||||
vendor/lib64/liblowi_client.so|c2978d2beb8b495f057f88627ee731f7559da388
|
||||
vendor/lib64/liblowi_wifihal.so|d8132b8e7f0a3d43ac625fc04dfb033b02ad8adf
|
||||
vendor/lib64/libminksocket.so|0722b9042892e83d4c615e0f70e4ad040365b170
|
||||
vendor/lib64/libmmosal.so;MODULE_SUFFIX=_vendor|568c9dff1fe27cc4cd874181bf0d8ab5dc6d372b
|
||||
vendor/lib64/libqcc_file_agent.so|a05fbdf0156cb4fc77a4b659be42cc8e146f45ce
|
||||
vendor/lib64/libqdma_file_agent.so|290aea840cc61b40acd625052ad5ec2f4834e34f
|
||||
vendor/lib64/libslimclient.so|74bebb8a94200a4db393634f7bd610f3c59447f7
|
||||
vendor/lib64/libxtadapter.so|46f5a95f8effb8c21acf4044a0c792781271125f
|
||||
vendor/lib64/vendor.qti.gnss@1.0.so|3dda1522caf6d732c4bebd2985f02baa51b20a93
|
||||
vendor/lib64/vendor.qti.gnss@1.1.so|cdca8d04c6dc1c007880995a96d9aeb22f96b3b3
|
||||
vendor/lib64/vendor.qti.gnss@1.2.so|66530d6c3da8a7155b82fa140e5d4d5c5e5600fd
|
||||
vendor/lib64/vendor.qti.gnss@2.0.so|81949971ef69e6d25850606a8468efbe8a76bf18
|
||||
vendor/lib64/vendor.qti.gnss@2.1.so|e37a7735035bddbfd5a0a4c53c781dc444ff12eb
|
||||
vendor/lib64/vendor.qti.gnss@3.0.so|e5434e37a18bb48ae860399b848a20745783714b
|
||||
vendor/lib64/vendor.qti.gnss@4.0-service.so|f97eea8b119fcaa62bb601c324977ef82806503d
|
||||
vendor/lib64/vendor.qti.gnss@4.0.so|58881d09d13c82b795fa99bfd485c17c9075598d
|
||||
vendor/lib64/vendor.qti.hardware.cacert@1.0.so|8b0fafcfc9c5aa000466c338ec4e92bb4f7d99a7
|
||||
|
||||
# Gatekeeper - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
vendor/bin/hw/android.hardware.gatekeeper@1.0-service-qti|2e33e885b92e413440511049025497945d6b8484
|
||||
@@ -629,54 +649,48 @@ vendor/gpu/kbc/sequence_manifest.bin|cc050a8058904871b3cfabec74521d42f0a61a1f
|
||||
vendor/gpu/kbc/unified_kbcs_32.bin|503228f87adc71131aa8134659b00dffe073e973
|
||||
vendor/gpu/kbc/unified_kbcs_64.bin|d63c26959dc02b2efc251953e99dc6e7c32e7f6e
|
||||
vendor/gpu/kbc/unified_ksqs.bin|8f77dc004796d58acb959e78f4994c5d6b90baef
|
||||
|
||||
# Graphics (Adreno) - from hollywood-user-12-SQ3A.220605.009.A1-51062550053200150-release-keys & LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
vendor/lib/egl/eglSubDriverAndroid.so|b7aeb95cfacd5b00760c301387182c9298cb4334
|
||||
vendor/lib/egl/libEGL_adreno.so;SYMLINK=vendor/lib/libEGL_adreno.so|2014ac4d10d5a5f4d960e57826d1f45a7dc9aaf4
|
||||
vendor/lib/egl/libGLESv1_CM_adreno.so|7b73d8b9532710ea1ad538c7943016d066ebb43b
|
||||
vendor/lib/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib/libGLESv2_adreno.so|55e4d52e7b130b7781b5d3cdc3899cd491e93669
|
||||
vendor/lib/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib/libq3dtools_adreno.so|885bcf2e47ef4254a4562f3f24d2669ac8588817
|
||||
vendor/lib/egl/libq3dtools_esx.so|b54279bd43dd68d92ecbe125f8fec742d2d9f636
|
||||
vendor/lib/hw/vulkan.adreno.so|86e1b80847b33c71bb9a135baa6d322f1bf63f42
|
||||
vendor/lib/libC2D2.so|d4214e245b14bab83e548ee3823502462396fe4a
|
||||
vendor/lib/libCB.so|613a5fe1797095d39a6c5acee932b41efdfb224c
|
||||
vendor/lib/libOpenCL.so|92ba443e943e491f88f4b585f6f147d50377eb94
|
||||
vendor/lib/libOpenCL_adreno.so|042fc23bb794f42a299851a0493a2ea0e0f8e964
|
||||
vendor/lib/libVkLayer_q3dtools.so|19d40e4c5c6104e889acfff640ed9b68b02a8032
|
||||
vendor/lib/libadreno_app_profiles.so|c675243cc590091d5b520667fd9ea8b7dbb4c7c1
|
||||
vendor/lib/libadreno_utils.so|31d91a0a5c2a3ed7c850b080796bfc70f14dd02d
|
||||
vendor/lib/libc2d30_bltlib.so|8a307a717c60dece7e4272a19cb8757b52a8c9ba
|
||||
vendor/lib/libdmabufheap.so|f42972808368d229ea3cf913459a3e231abd6fe1
|
||||
vendor/lib/libgpudataproducer.so|28b76a626d4d89f2634753e98b73d5a3fb43a02c
|
||||
vendor/lib/libgsl.so|9e6ad74025f3cc2d5423d12404a3a907b9d3e296
|
||||
vendor/lib/libkcl.so|3b0a64440f0a1166de6867864470207a9603a094
|
||||
vendor/lib/libkernelmanager.so|9c0c50a7857e49ed99aa990593ce0815e7b460db
|
||||
vendor/lib/libllvm-glnext.so|ec988057f529b7418788ba37fc0f3a760927562b
|
||||
vendor/lib/libllvm-qcom.so|1f4448771949b5ced6c2292f714a9e0f30116821
|
||||
vendor/lib/libllvm-qgl.so|6696d0f045f0e6f8b2174b7a2acf2affdf88ede8
|
||||
vendor/lib64/egl/eglSubDriverAndroid.so|70654c360d5f661d0d32fbce845a0bfae9d6d8be
|
||||
vendor/lib64/egl/libEGL_adreno.so;SYMLINK=vendor/lib64/libEGL_adreno.so|d46c1ed43997be8336523dcf4d4ca8a9f4a98e6c
|
||||
vendor/lib64/egl/libGLESv1_CM_adreno.so|a53e362a072b2dbec147ec1396d36a966700504e
|
||||
vendor/lib64/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib64/libGLESv2_adreno.so|c2badc5662480e24d082393cc4fea4f893d85176
|
||||
vendor/lib64/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib/libq3dtools_adreno.so|1fa6147a61610c5bb7d237ec5c5ef5d025c0de51
|
||||
vendor/lib64/egl/libq3dtools_esx.so|235fdfbaa14ac599fb105d1923324ef6e537c34f
|
||||
vendor/lib64/hw/vulkan.adreno.so|385413fad425dc17ce440712cc7237f8651b31bc
|
||||
vendor/lib64/libC2D2.so|1eb43399606840ec844559be874c38dbd9f0c5e7
|
||||
vendor/lib64/libCB.so|cf41bfe9531b7d3a289823318761d65be0b6ce30
|
||||
vendor/lib64/libOpenCL.so|1809462d88a0e1a63553c6fcd5ea00ff75f1695b
|
||||
vendor/lib64/libOpenCL_adreno.so|4ab8b26094374e2e048db90fe8f3a463f0b9b780
|
||||
vendor/lib64/libVkLayer_q3dtools.so|0013a3267134a2a7a4005680e8f6c2dbcafaa898
|
||||
vendor/lib64/libadreno_app_profiles.so|6417afc92fc2c7206db256d2b0a21db6fae9c216
|
||||
vendor/lib64/libadreno_utils.so|c798a22fb0b00221cfc768b284a1f3516ca31cd1
|
||||
vendor/lib64/libc2d30_bltlib.so|f64c7a4af7717da93fbefa7732e0e74e71915606
|
||||
vendor/lib64/libdmabufheap.so|9bfa239c6f2a419b3f8235c57e930c055f675bf8
|
||||
vendor/lib64/libgpudataproducer.so|84c99f42fc6a32a222fe49354cf9a14dae5951c6
|
||||
vendor/lib64/libgsl.so|5357334c2419298f1f0a04de08199e19f72a7c3c
|
||||
vendor/lib64/libkcl.so|33e81f66b1e01b0e5a37686d8190af332bd94cff
|
||||
vendor/lib64/libkernelmanager.so|0e2cf9e1928b7bf654a1336a99f41264a11093f0
|
||||
vendor/lib64/libllvm-glnext.so|da1e4e54f16d57d9088396ccf8768645d9f5d3bc
|
||||
vendor/lib64/libllvm-qcom.so|1388077970a5778197053286cf8a827d84a2ce69
|
||||
vendor/lib64/libllvm-qgl.so|ea4dfd9ee1d4a2643b5f0f369616bec2a3ce89ef
|
||||
vendor/lib/egl/eglSubDriverAndroid.so|a9d540641ac06335bf3689926da50d0408e2863e
|
||||
vendor/lib/egl/libEGL_adreno.so;SYMLINK=vendor/lib/libEGL_adreno.so|f77d54d08edbbf13add12518338ff389c873e1cd
|
||||
vendor/lib/egl/libGLESv1_CM_adreno.so|f85c647f07feb5e850426b8b04107e6fcbe73a42
|
||||
vendor/lib/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib/libGLESv2_adreno.so|bbbf71932164655ecb2126b907e1d9cb2d897ebb
|
||||
vendor/lib/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib/libq3dtools_adreno.so|89416a47b7105de1e81d0540c6e2a82ae33b4dda
|
||||
vendor/lib/egl/libq3dtools_esx.so|bfbd1e76dc1f81039ffebd6b7534be52173c349d
|
||||
vendor/lib/hw/vulkan.adreno.so|bafd65cc8786aeb5bdc12e3c8db09fecdbcb2d01
|
||||
vendor/lib/libC2D2.so|bf22239cc4a003a6cd1b3e273f60dc37e4d51730
|
||||
vendor/lib/libCB.so|e638447c45228dcb6979e3031da8b3e966dd7482
|
||||
vendor/lib/libOpenCL.so|a8a3952c475cf214fec74c324e540ee800ee9727
|
||||
vendor/lib/libVkLayer_q3dtools.so|c9953ac8a64b9b9a31173c56812bead633a7d379
|
||||
vendor/lib/libadreno_app_profiles.so|a463e2d1f105099ee361bed0ca20c97e29a645c0
|
||||
vendor/lib/libadreno_utils.so|0ca6ab39e2757c6c1647682047ca221bd8d1e937
|
||||
vendor/lib/libc2d30_bltlib.so|d1f37cf4d50619f59c5b199893fa93f134973647
|
||||
vendor/lib/libgpudataproducer.so|2f3348614ea21ed4548154d0ab52ca2256d28e80
|
||||
vendor/lib/libgsl.so|3e919532b22d1ba53a9f6141fdb3a9fbd1901f43
|
||||
vendor/lib/libkcl.so|4de6a2a00aed99c2f180ae5cf3ec03a96b3be2d7
|
||||
vendor/lib/libkernelmanager.so|09e05782cae3b8c5910d069c9d79eb4e58f2801d
|
||||
vendor/lib/libllvm-glnext.so|caf1127450a30dfd034398cf142525f505071944
|
||||
vendor/lib/libllvm-qcom.so|f7ee34774bbdb3e01a5ecaf9e98ac8f924b710f9
|
||||
vendor/lib/vendor.qti.qspmhal@1.0.so;MODULE_SUFFIX=_vendor|736226264356bb89b73d81922f73b7f2b83540bc
|
||||
vendor/lib64/egl/eglSubDriverAndroid.so|c950953ab821212322c44497c40f7bec912620a7
|
||||
vendor/lib64/egl/libEGL_adreno.so;SYMLINK=vendor/lib64/libEGL_adreno.so|066dc49939ceec71978268737f3a32c8f2aeddf2
|
||||
vendor/lib64/egl/libGLESv1_CM_adreno.so|a5ee6c77ea24be2423f661eeddfc868d279d4378
|
||||
vendor/lib64/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib64/libGLESv2_adreno.so|e349a692959c6715da4b35e84c82c0eee4b01e00
|
||||
vendor/lib64/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib64/libq3dtools_adreno.so|0edfcd0c063a82a4ab29542243a0f842632f31ee
|
||||
vendor/lib64/egl/libq3dtools_esx.so|8ba3d0cbe51dff3b860cca48dcd294ccd0816e18
|
||||
vendor/lib64/hw/vulkan.adreno.so|c00dfeefef27d950de5a10234cf78b4614521939
|
||||
vendor/lib64/libC2D2.so|21a3b027b0857ee910f9db3e7558f35aafaadef5
|
||||
vendor/lib64/libCB.so|b578472884e1edf149e9b92d1f518f4de7a6f4d2
|
||||
vendor/lib64/libOpenCL.so|688a3a5f3fbece3eddc031e326aa0e3a7e58a091
|
||||
vendor/lib64/libVkLayer_q3dtools.so|5ddfe2401db02f851d6472a7ba57c5fc67923675
|
||||
vendor/lib64/libadreno_app_profiles.so|cc800fc022c229631a3878c956ad8febf853833d
|
||||
vendor/lib64/libadreno_utils.so|af5daa45d0ba961541dc0072f2fe01fee059577f
|
||||
vendor/lib64/libc2d30_bltlib.so|870b3b1950b3c918ba73292630d2a3dd1249dda7
|
||||
vendor/lib64/libgpudataproducer.so|a2ebbc621637de0a63b5a6663b02575cb394fcda
|
||||
vendor/lib64/libgsl.so|e8bcce903c5b03799a8e6c0c868efc0e2c356167
|
||||
vendor/lib64/libkcl.so|505c6488d7c2c34ac6bcc578e6e90098553e5f4f
|
||||
vendor/lib64/libkernelmanager.so|6e34cfed1b61ef27ac3740cf477e1ed836695513
|
||||
vendor/lib64/libllvm-glnext.so|49d28aaf3f7fa559e29a6735ca74cffb20e8eabd
|
||||
vendor/lib64/libllvm-qcom.so|ac78556c1a76cd9a7033d775e8f1ba4393b630df
|
||||
vendor/lib64/vendor.qti.qspmhal@1.0.so;MODULE_SUFFIX=_vendor|b24925548b969a7745955bbd48069207aa5889fc
|
||||
|
||||
# Graphics (DRM) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
vendor/lib64/libsdedrm.so|7cf5f4e7e4dacae88e317d3397fdf25dabe45b65
|
||||
@@ -684,14 +698,20 @@ vendor/lib64/libsdedrm.so|7cf5f4e7e4dacae88e317d3397fdf25dabe45b65
|
||||
# Graphics (HDR) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
vendor/lib64/libhdr_tm.so|a222a7d838735c5ce73f06d4096fea3ca19611c8
|
||||
|
||||
# Graphics (SDM) - from from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.
|
||||
vendor/lib64/libqseed3.so|1395834daf3c6cd07acbdbc44110decb3be362c2
|
||||
vendor/lib64/libsdm-color.so|e82ee94b86f9c59044017ab527261a7aacbd6083
|
||||
vendor/lib64/libsdm-colormgr-algo.so|11b65733d87ff65633a5fe8f4207dde12391625c
|
||||
vendor/lib64/libsdm-diag.so|55dafc05ba68666f10412a534f7122d7f45bf403
|
||||
vendor/lib64/libsdm-disp-vndapis.so|9ab6725a5efba29b77d1d6ab33e10e3ff3296960
|
||||
vendor/lib64/libsdmextension.so|c1425aae0475207054351c2bf16c18350ccf7570
|
||||
vendor/lib64/libtinyxml2_1.so|92101861d95cbdf9625d192d0b2295baa5960b68
|
||||
# Graphics (SDM) - from from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
vendor/lib/libdisplaydebug.so|d843c4a7244bf768ce438f24d43a29f1053bf63e
|
||||
vendor/lib/libdrmutils.so|d99807b940c43cd53aa3a40f0d052444da267cde
|
||||
vendor/lib/libsdmutils.so|d5bdb87cde1436830ccb87467ac8fac6810b24fe
|
||||
vendor/lib64/libdisplaydebug.so|ef90d21008136d3189b9ec099ed4e11ab25b61b7
|
||||
vendor/lib64/libdrmutils.so|784ec1255c61ce58307bc63919c8f63ac385265e
|
||||
vendor/lib64/libqseed3.so|7f2a659fb9acd84d79c11dbd6901b816d5d1214f
|
||||
vendor/lib64/libsdm-color.so|d0984c33dcbf84940676917e0c3584b0ccfeaf03
|
||||
vendor/lib64/libsdm-colormgr-algo.so|15f696a4575868e528360896f1e0098d531899c0
|
||||
vendor/lib64/libsdm-diag.so|98c8e8a3a56bc0091f56714d569f03066f68fdea
|
||||
vendor/lib64/libsdm-disp-vndapis.so|60da199073d2b0881bf075190a644b332503f39c
|
||||
vendor/lib64/libsdmextension.so|e10d29f29b7a53b75369e58e8a165b2b86609f26
|
||||
vendor/lib64/libsdmutils.so|b8ff6261c33ffe76960b1719a20d4181f896bb71
|
||||
vendor/lib64/libtinyxml2_1.so|ff32deb110acb02cb5def5f3404f9064c1276483
|
||||
|
||||
# Graphics Firmware
|
||||
vendor/firmware/a612_rgmu.bin
|
||||
@@ -704,10 +724,13 @@ vendor/firmware/a640_zap.b01
|
||||
vendor/firmware/a640_zap.b02
|
||||
vendor/firmware/a640_zap.elf
|
||||
vendor/firmware/a640_zap.mdt
|
||||
vendor/firmware/a650_gmu.bin
|
||||
vendor/firmware/a650_sqe.fw
|
||||
vendor/firmware/a650_zap.elf
|
||||
|
||||
# HotwordEnrollment - from MIUI 12.5.2
|
||||
-product/priv-app/HotwordEnrollmentOKGoogleHEXAGON/HotwordEnrollmentOKGoogleHEXAGON.apk|62e301d2f386771facd9a9aa546c0fcc241116da
|
||||
-product/priv-app/HotwordEnrollmentXGoogleHEXAGON/HotwordEnrollmentXGoogleHEXAGON.apk|8639661f6fad570723bc6f2759da76604bd804fa
|
||||
product/priv-app/HotwordEnrollmentOKGoogleHEXAGON/HotwordEnrollmentOKGoogleHEXAGON.apk|62e301d2f386771facd9a9aa546c0fcc241116da
|
||||
product/priv-app/HotwordEnrollmentXGoogleHEXAGON/HotwordEnrollmentXGoogleHEXAGON.apk|8639661f6fad570723bc6f2759da76604bd804fa
|
||||
system_ext/etc/permissions/com.android.hotwordenrollment.common.util.xml|563a58554d9c0dd0608552b644fbf74519a447bb
|
||||
system_ext/framework/com.android.hotwordenrollment.common.util.jar|bef92589e75a6da6043f85f4b9b0e85866429624
|
||||
|
||||
@@ -769,27 +792,7 @@ vendor/lib64/libnpu.so
|
||||
vendor/bin/vppservice|99524e6e27bf4f8c4b5c5234f887413623cfdb0f
|
||||
vendor/etc/configstore/vpp.configstore.xml|ed961545186c66fd9523f25866c74f2e11ee63d7
|
||||
vendor/etc/init/vppservice.rc|24c089e0e413cbb3fa6daaf0af4215870bdf1b8e
|
||||
vendor/lib/libAlacSwDec.so|cb41b0945e57b349e6aa476cdac4315ee13a2def
|
||||
vendor/lib/libApeSwDec.so|ce425ef9372ed6635e313422b3578f77b90ff526
|
||||
vendor/lib/libFlacSwDec.so|6b17d0965c9f8bddab3ffd59e7bb16e92bb68d85
|
||||
vendor/lib/libI420colorconvert.so|09a63a93d9cf2f78e31cb996a617071572e4f3db
|
||||
vendor/lib/libMpeg4SwEncoder.so|ed6478056d874c784dd649b172e7f0bb3188ba9f
|
||||
vendor/lib/libOmxAacDec.so|c3d19eb5668973a6d7b64133d1b607a384167875
|
||||
vendor/lib/libOmxAlacDec.so|17fbc925be0efdcfeb3473081016ba0203d6fea5
|
||||
vendor/lib/libOmxAlacDecSw.so|be917abb87f621c8d721a03ed42016ae12bdbf8a
|
||||
vendor/lib/libOmxAmrDec.so|fdbab94512df85478417112b793c4a4cee46e7ec
|
||||
vendor/lib/libOmxAmrwbplusDec.so|0346a6f6da04bac6e7d6464e205e2b1d1ce881a1
|
||||
vendor/lib/libOmxApeDec.so|8f49462382e71f3b51f3269824fa49111ceb2ea8
|
||||
vendor/lib/libOmxApeDecSw.so|a0980f890bfa7a04c4af2e3d40e176e7d7bbf693
|
||||
vendor/lib/libOmxDsdDec.so|93832f5a8e016a0cd419fca916f29a7987d4af9e
|
||||
vendor/lib/libOmxEvrcDec.so|e26f066a89944ee36450c5325b45e5529de60882
|
||||
vendor/lib/libOmxG711Dec.so|7e310d958e5a68caeacef44a48acf0be5497beb6
|
||||
vendor/lib/libOmxQcelp13Dec.so|ec0650fee64998b47cfed806cda26f0eb8fd85a8
|
||||
vendor/lib/libOmxSwVdec.so|490d51df165e9f59a3bdf09c1fb08e79b1857309
|
||||
vendor/lib/libOmxSwVencMpeg4.so|986ea618700cb170d9b5825bc6d8d9c0ff629059
|
||||
vendor/lib/libOmxVideoDSMode.so|7c971196e417c1632150f1749bf18ded10def8b5
|
||||
vendor/lib/libOmxVpp.so|ff50ac05e0b97a6a1a018164cfd1e4d601fc170c
|
||||
vendor/lib/libOmxWmaDec.so|09ea4d8b190fbfcc61698c46f46c97b0f45fcdfc
|
||||
vendor/lib/libdsd2pcm.so|c5ab1afd7a5a23bf83d80b5ac74247c3dd2085af
|
||||
vendor/lib/libmm-color-convertor.so|904f9daeca6323b7d240c2f640a92852bac88146
|
||||
vendor/lib/libmulawdec.so|89ebb1d9e77911f1abe37405016839d8436a9825
|
||||
@@ -804,25 +807,7 @@ vendor/lib/libvpptestutils.so|4652a35c291d6f734fdd97e531f4cdf6520d91d4
|
||||
vendor/lib/vendor.qti.hardware.vpp@1.1.so|3e0467d0c30bb6cccab12d2e67dacc5ea852b3df
|
||||
vendor/lib/vendor.qti.hardware.vpp@1.2.so|d1226cfbeee864b7cac52bcee37fdf4524892fd6
|
||||
vendor/lib/vendor.qti.hardware.vpp@1.3.so|6ff4979c9632ce9f244aeba7a0804332328f3fa9
|
||||
vendor/lib64/libAlacSwDec.so|e520eafd5dd9ee29456b60f4668ea94394a61a63
|
||||
vendor/lib64/libApeSwDec.so|76d3cc02ca1c3cdc3c71e57dc6e53027d2bf3d37
|
||||
vendor/lib64/libFlacSwDec.so|c16096dee817ba98a5a7b79ae358ae0db27fe237
|
||||
vendor/lib64/libI420colorconvert.so|ea24367de946f2c2a7f81b78c0a805edf8fd2d64
|
||||
vendor/lib64/libMpeg4SwEncoder.so|17a2e12c6bb2184a73c54174f1ec14a2ccff4b11
|
||||
vendor/lib64/libOmxAacDec.so|4e419724fb940a1fb93b018028dbf3ae6bd9e6ea
|
||||
vendor/lib64/libOmxAlacDec.so|9182e31c172ca4794cfccc557e497b4e43bd08ef
|
||||
vendor/lib64/libOmxAlacDecSw.so|b4170d63362517866eaac0e8ac286f60aeac9257
|
||||
vendor/lib64/libOmxAmrDec.so|f94271e8c1d58d4db9eea90e41c0d64773953d07
|
||||
vendor/lib64/libOmxAmrwbplusDec.so|31bbb7fb8b5fe5f4c5c30c39b67300bf0d0cc148
|
||||
vendor/lib64/libOmxApeDec.so|f001e769e861a90c568635e32d445bd6e3b782ee
|
||||
vendor/lib64/libOmxApeDecSw.so|f70889abc2d8beafa92d71d98a33d0e109b662f5
|
||||
vendor/lib64/libOmxEvrcDec.so|c46237c40fc9ca24109d55dd82c64137768d68c5
|
||||
vendor/lib64/libOmxG711Dec.so|e321b72ebf4cf36b3e7b7ff33a3e00870cd3a461
|
||||
vendor/lib64/libOmxQcelp13Dec.so|1e428b6dbd8a3f010c1f5fa208a14c362a502cf6
|
||||
vendor/lib64/libOmxSwVdec.so|83924a8119c8b26c0a4cc245a877e56929a152b1
|
||||
vendor/lib64/libOmxSwVencMpeg4.so|956524c6928cd415865a900556b14c5f464dc28f
|
||||
vendor/lib64/libOmxVpp.so|23ae4cd2860131786e3b34ed380eb81fd849cf6c
|
||||
vendor/lib64/libOmxWmaDec.so|46e5cc33f54a863f499c73302b679cb81fead0c7
|
||||
vendor/lib64/libmm-color-convertor.so|ade617dc02ec472e68755568d6295ab328aa97be
|
||||
vendor/lib64/libmulawdec.so|9a21d843c7bd2a516e0f1ce375855b767947b314
|
||||
vendor/lib64/libstagefright_soft_qtiflacdec.so|8531b262078659ec4f63f39a69c24605d4a0cd90
|
||||
@@ -837,10 +822,16 @@ vendor/lib64/vendor.qti.hardware.vpp@1.1.so|e336f4a3d0a50ee985639db6a8a70ec98171
|
||||
vendor/lib64/vendor.qti.hardware.vpp@1.2.so|7ae61a9c75d4a17f0aad5969ce1a27cd5b0552ae
|
||||
vendor/lib64/vendor.qti.hardware.vpp@1.3.so|85a4e2ca843525db5c76486dbee4c5c7a672ee8d
|
||||
|
||||
# Media Codec2 - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
vendor/bin/hw/vendor.qti.media.c2@1.0-service|83c2effb6f76cb095bae840d95a2026014d92fe9
|
||||
vendor/etc/init/vendor.qti.media.c2@1.0-service.rc|03588c8be2ed0c97a3c440bc7f227ce80c2ab7ba
|
||||
vendor/lib/libqcodec2.so|c5673b5f377fc855f1467ea2b3c3ed47ca68bbfb
|
||||
vendor/lib64/libqcodec2.so|ebcb7ae53c292d689b57450120e280c5797cfaa1
|
||||
|
||||
# Mlipay
|
||||
-vendor/etc/vintf/manifest/manifest_vendor.xiaomi.hardware.mlipay.xml
|
||||
vendor/bin/mlipayd@1.1
|
||||
vendor/etc/init/vendor.xiaomi.hardware.mlipay@1.1-service.rc
|
||||
vendor/etc/vintf/manifest/manifest_vendor.xiaomi.hardware.mlipay.xml
|
||||
vendor/lib64/libmlipay.so
|
||||
vendor/lib64/libmlipay@1.1.so
|
||||
|
||||
@@ -848,9 +839,9 @@ vendor/lib64/libmlipay@1.1.so
|
||||
vendor/lib/libsn100u_fw.so
|
||||
|
||||
# Neural Networks - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
-vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti-hta.xml|57e182a296097870a4c4ed1579c67da20c2b69de
|
||||
-vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti.xml|ac07e83ba7c2a87a2f216f04ec84df4539ea8507
|
||||
vendor/bin/hw/android.hardware.neuralnetworks@1.3-service-qti|d8f5981b1bedaa9cbef1b9fc93a400dc98e89cfa
|
||||
vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti-hta.xml|57e182a296097870a4c4ed1579c67da20c2b69de
|
||||
vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti.xml|ac07e83ba7c2a87a2f216f04ec84df4539ea8507
|
||||
vendor/lib64/libhexagon_nn_stub.so|6fdaffc1c9372c0e70bcd82f5d806162ca31c176
|
||||
vendor/lib64/libhta_hexagon_runtime.so|e8f735a8d9396052fe217eafe506e28b492f024c
|
||||
vendor/lib64/unnhal-acc-adreno.so|bc3aa43c7cc4b16ac8991ada3c0f731a5b4e37fc
|
||||
@@ -861,6 +852,7 @@ vendor/lib64/unnhal-acc-hvx.so|d5123c50b9523190c71d90acc2635ff21595bd1a
|
||||
# Peripheral manager - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
vendor/bin/pm-proxy|c36785c811db9af0d6d938cdbc6b90dedaaf706e
|
||||
vendor/bin/pm-service|c3d1b2f6e7f731b1328afbcf8e344405744528e3
|
||||
vendor/lib/libspcom.so|3e1b92390ebcb02d35fcda89f80d1cfef3a03a71
|
||||
vendor/lib64/libperipheral_client.so|9bfd41e276e16b8f7c6808f3d87531fc5be4cdd5
|
||||
vendor/lib64/libspcom.so|7cc4390e7caf520586c22cdb7219842fa5d6ed2c
|
||||
|
||||
@@ -898,6 +890,7 @@ vendor/lib/libqmi_common_so.so|ff25aa6185ebf0700fd5c7d913f383bcd09ea866
|
||||
vendor/lib/libqmi_csi.so|77e088094a86d9eab9fcdc3a86fb12b82f4c5d22
|
||||
vendor/lib/libqmi_csvt_srvc.so|4f7890a0f6c80436341e639a3179b78495594612
|
||||
vendor/lib/libqmi_encdec.so|d8642bf7e8193db310dafad8116222f3b3d9013a
|
||||
vendor/lib/libqmi_legacy.so|7805ed3a940405d88d4b7dd29516c68ee19c5b08
|
||||
vendor/lib/libqmiservices.so|54a2417ab396730b26a2a29e32531d637aa800fc
|
||||
vendor/lib/libqrtr.so|89e9808e264dc47648c18549a4eedc2169b9c6ef
|
||||
vendor/lib/libqsocket.so|bc42794c439b8a767e87b60071e3827a793218aa
|
||||
@@ -918,6 +911,7 @@ vendor/lib64/libqmi_common_so.so|d817b576a054dd91e8e4346d73e6d635d221bfde
|
||||
vendor/lib64/libqmi_csi.so|f1a30e304f667de6cfbe35c043465e3c8f92a673
|
||||
vendor/lib64/libqmi_csvt_srvc.so|f1a3bc5d8e48e8bc3464b6a9ad652a7553240c79
|
||||
vendor/lib64/libqmi_encdec.so|a18bb21e5b9b53e3dc8dc45f6e7e65e32a467607
|
||||
vendor/lib64/libqmi_legacy.so|f324c6701ecf78ff50975c0bc7f99aea09cb3539
|
||||
vendor/lib64/libqmiservices.so|d7540cd0888599a11dd2ebac1f19ff13d27f9e90
|
||||
vendor/lib64/libqrtr.so|3ea4f27b261a1a5ddeee02e9561dc040ddb26514
|
||||
vendor/lib64/libqsocket.so|3fa01c9aff6ed96a5ea9886c7696a046c929e339
|
||||
@@ -931,16 +925,45 @@ vendor/lib64/libGPTEE_vendor.so|92c0215dbd3271e597d536c259df44aac716a402
|
||||
vendor/lib64/libQTEEConnector_vendor.so|30e5fd8d4fff50083f44f6d0bd09f4bd287a8366
|
||||
vendor/lib64/vendor.qti.hardware.qteeconnector@1.0.so|4e08dcd830d319c1a56d108c037b1f76eb5060d4
|
||||
|
||||
# Radio (IMS) (system) - from LA.QSSI.12.0.r1-05800.02-qssi.0
|
||||
-system_ext/priv-app/ims/ims.apk|ed68ecd630ddbd49e88bd0b2e3b50ee35c334ef0
|
||||
system_ext/lib64/lib-imsvideocodec.so|ba0a0696b468ee2458c196b3d252656d20eb197f
|
||||
system_ext/lib64/lib-imsvt.so|f795cc87119b49587dbb1f3e4349fcf67b0610ed
|
||||
system_ext/lib64/lib-imsvtextutils.so|50a092eb7b490f4307bddb3d5a4c595b458bc503
|
||||
system_ext/lib64/lib-imsvtutils.so|9a7f904b12a066038c2b5725610e8dd45e3f75ed
|
||||
system_ext/lib64/libdiag_system.so|46b48593c913d5cbb05518b31721bb0f33e6c1ba
|
||||
system_ext/lib64/libimscamera_jni.so;SYMLINK=system_ext/priv-app/ims/lib/arm64/libimscamera_jni.so|0394fbe375893f9aa2fee5e28e5c657575025a12
|
||||
system_ext/lib64/libimsmedia_jni.so;SYMLINK=system_ext/priv-app/ims/lib/arm64/libimsmedia_jni.so|a8271a46c31ed50a1f7f94d7ec78fb534f432296
|
||||
system_ext/lib64/vendor.qti.imsrtpservice@3.0.so|34da5e45ae4817ccff75c6b8d1d0c125ebd253ed
|
||||
# Radio (IMS) (system) - from LA.QSSI.15.0.r1-14500-qssi.0
|
||||
system_ext/app/ImsRcsService/ImsRcsService.apk|8a421431e6dcdadf281a55861c7256e24f6e223c
|
||||
system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.0-java.xml|bd9fc166b542b4e730f194ebc996957770d9d497
|
||||
system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.1-java.xml|b40fc74f7d5e58b4e918f952b89a79cf2a5c4088
|
||||
system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.2-java.xml|bfceff47fb0b55a418bed71de6050d876a776ac7
|
||||
system_ext/etc/permissions/vendor.qti.ims.rcsservice.xml|c5c9dd633c3f5450f315017cd4645a11de3d7ed3
|
||||
system_ext/etc/sysconfig/qti_whitelist_system_ext.xml|fc930929bee7d1f8ecc5b1c76193acdc2f923fe7
|
||||
system_ext/framework/com.qualcomm.qti.imscmservice-V2.0-java.jar|00bb25e0327dbd36e0ce1e93da718038460847b4
|
||||
system_ext/framework/com.qualcomm.qti.imscmservice-V2.1-java.jar|a801f4a578933d00c15b384ea25e7da25b65b932
|
||||
system_ext/framework/com.qualcomm.qti.imscmservice-V2.2-java.jar|53da549a23cc86e87e4bad6d4d4b79fcdda9d2bc
|
||||
system_ext/framework/com.qualcomm.qti.uceservice-V2.0-java.jar|4e94741714d816260f400a33fc66799f928ac840
|
||||
system_ext/framework/com.qualcomm.qti.uceservice-V2.1-java.jar|74d6447b6219ff39fc9652818de0495dbaee7a59
|
||||
system_ext/framework/vendor.qti.ims.callcapability-V1.0-java.jar|43360f4e9a0577597703f7fccb8c1d77cd34a224
|
||||
system_ext/framework/vendor.qti.ims.callinfo-V1.0-java.jar|ca8e7f6f907df0852987be296082842cd56cc4e3
|
||||
system_ext/framework/vendor.qti.ims.connection-V1.0-java.jar|15781e2856f4da51f548f43de9d3af58c9f49df1
|
||||
system_ext/framework/vendor.qti.ims.connectionaidlservice-V1-java.jar|3641e287eaeb8fb936a16cdf260f09719bf0f5d4
|
||||
system_ext/framework/vendor.qti.ims.factory-V2.0-java.jar|79e52a4c2fd9bf2b972399568ee84c017b6f24ab
|
||||
system_ext/framework/vendor.qti.ims.factory-V2.1-java.jar|9724b39093bb929455beb41a26ae8768694ea343
|
||||
system_ext/framework/vendor.qti.ims.factory-V2.2-java.jar|d751e2d8c2c6b8f0345f6e2e70e07c4bd68afc60
|
||||
system_ext/framework/vendor.qti.ims.factoryaidlservice-V1-java.jar|5c3c778777f3b6bd22aa14a6c2c2a8b61bc5b656
|
||||
system_ext/framework/vendor.qti.ims.rcsconfig-V1.0-java.jar|702b05c430b4e2dfc370b5b08c4b0cd2f069d9cc
|
||||
system_ext/framework/vendor.qti.ims.rcssip-V1.0-java.jar|2fee9cd9ac04a08ef10c5aaf039501fcfa4c0395
|
||||
system_ext/framework/vendor.qti.ims.rcssip-V1.1-java.jar|f43fc229ebc92235e12e3946fc8325a9fe943c59
|
||||
system_ext/framework/vendor.qti.ims.rcssip-V1.2-java.jar|b3fe344e360ef53c9c5d6d925c7b9a0f605a324b
|
||||
system_ext/framework/vendor.qti.ims.rcssipaidlservice-V1-java.jar|a7d2a6c9639dfb9dfbdc5361606b419a0384b8d0
|
||||
system_ext/framework/vendor.qti.ims.rcsuce-V1.0-java.jar|06b9dfe2c5c65199f3709d9224c33f53bb958594
|
||||
system_ext/framework/vendor.qti.ims.rcsuce-V1.1-java.jar|40bd25d668607efb933fecd6265940d89f21057b
|
||||
system_ext/framework/vendor.qti.ims.rcsuce-V1.2-java.jar|04f0b4c1ce0bd7ef2fe2153289f5a752c7c1c7cf
|
||||
system_ext/framework/vendor.qti.ims.rcsuceaidlservice-V1-java.jar|26388f7cd876286822e536bb76b1277ef1dc76fa
|
||||
system_ext/lib64/lib-imsvideocodec.so|b020ec4cc5e360382b7a26f14352bcf19374ad66
|
||||
system_ext/lib64/lib-imsvt.so|32fd182fe087a297395f1d6e1d90587a9b97d7c1
|
||||
system_ext/lib64/lib-imsvtextutils.so|acce4410add2b5088adab8f7b4e37e36e0c09105
|
||||
system_ext/lib64/lib-imsvtutils.so|8a1e06e3edf157b3cba2e608daf70ff0afa823d4
|
||||
system_ext/lib64/libimscamera_jni.so;SYMLINK=system_ext/priv-app/ims/lib/arm64/libimscamera_jni.so|0b61c9104edbcf3284daae09b253b2acbed65ad6
|
||||
system_ext/lib64/libimsmedia_jni.so;SYMLINK=system_ext/priv-app/ims/lib/arm64/libimsmedia_jni.so|7616e2b6a8cb3dd2c7c594eed1b16417a1257125
|
||||
system_ext/lib64/vendor.qti.ImsRtpService-V1-ndk.so|c27f4e77d677a3e8d1c1c91ca1b40958dfb7f9d6
|
||||
system_ext/lib64/vendor.qti.imsrtpservice@3.0.so|961321653e924726bd01af6bfbb33c6740bc66af
|
||||
system_ext/lib64/vendor.qti.imsrtpservice@3.1.so|33008343e8ac15821278faecc1c234e8bea3fe2d
|
||||
system_ext/priv-app/ims/ims.apk|a7f6f9f5634efa143fe0daa5065d74b91f3e780c
|
||||
|
||||
# Radio (IMS) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
vendor/bin/ims_rtp_daemon|514b4f3a8483c21526d98634aaf8f01e3a59328a
|
||||
@@ -991,16 +1014,16 @@ vendor/lib64/vendor.qti.ims.rcsconfig@1.1.so|91521d031060612dbf53d4a6437eba56780
|
||||
vendor/lib64/vendor.qti.ims.rcsconfig@2.0.so|bd0db76d555c51971dcfcce62d981f987af32811
|
||||
vendor/lib64/vendor.qti.ims.rcsconfig@2.1.so|f52f0cd5e19455eba97dea61542217d4aa5c1841
|
||||
vendor/lib64/vendor.qti.imsrtpservice@3.0-service-Impl.so|4fc84ea2ec56396fa1d6daa9c8f06b227be403a4
|
||||
vendor/lib64/vendor.qti.imsrtpservice@3.0.so|460e589128fce0b0e83bb3c75aa32f7e1a9494fd
|
||||
vendor/lib64/vendor.qti.imsrtpservice@3.0.so;MODULE_SUFFIX=_vendor|460e589128fce0b0e83bb3c75aa32f7e1a9494fd
|
||||
|
||||
# Radio (system) - from LA.QSSI.12.0.r1-05800.02-qssi.0
|
||||
-system_ext/app/QtiTelephonyService/QtiTelephonyService.apk|a32f88ddcc8f9cba18aa5697ee5bd52201e89b13
|
||||
-system_ext/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk|60af440aae61fcd6939af56a0b94d9b9ef5ebd55
|
||||
product/etc/permissions/telephony_product_privapp-permissions-qti.xml|42f4553b61731e56d253766554d4479519cea3ff
|
||||
# Radio (system) - from LA.QSSI.15.0.r1-14500-qssi.0
|
||||
system_ext/app/DeviceInfo/DeviceInfo.apk|58e0b5831244827e05afedbb468fb69942a5e4c1
|
||||
system_ext/app/QtiTelephonyService/QtiTelephonyService.apk|d5829c38c2370cb9acd8b3753d62cef709815614
|
||||
system_ext/etc/permissions/qcrilhook.xml|30397e293b2c40e6b7a1d11c2a615cdd05de625a
|
||||
system_ext/etc/permissions/telephonyservice.xml|b7831598d3c19c6ce4ef431d1cc44d94c3c35a8d
|
||||
system_ext/framework/qcrilhook.jar|f2888f922b8347417dfa86741feb8348795fce6f
|
||||
system_ext/framework/qti-telephony-common.jar|a22ed88e0cd81ea8c4788c26494c8b5fd666ec7c
|
||||
system_ext/etc/permissions/telephony_system-ext_privapp-permissions-qti.xml|e4d155e1ba9b6b6b215eec7d70004cba6b6176e5
|
||||
system_ext/framework/qcrilhook.jar|9787a32278ef29754c0b0fe665c6dae883c8e9c2
|
||||
system_ext/framework/qti-telephony-common.jar|b10ad976bce39212eea726ad6b9dbf61c90d76b4
|
||||
system_ext/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk|f44654156c1c6689044ccdd1af56d49a90716572
|
||||
|
||||
# Radio (vendor) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
vendor/bin/ATFWD-daemon|98b712409955b49330f7e179da8019be723850a3
|
||||
@@ -1028,9 +1051,12 @@ vendor/etc/init/qcrild.rc|320b644319182f96e494ea30de26cb52b448f592
|
||||
vendor/etc/init/ssgtzd.rc|140086da548acd74420c8f494c3351b4dedc1c80
|
||||
vendor/etc/init/vendor.qti.rmt_storage.rc|bc212c6353c2ded44ae4d759605fbbe55aa4fa3f
|
||||
vendor/etc/init/vendor.qti.tftp.rc|b27f188cbffba470a4510d50e46ff7c8446c22cb
|
||||
vendor/etc/seccomp_policy/atfwd@2.0.policy|74fdb7d47bdb6d0cb06b13701a96a76c9171ab5d
|
||||
vendor/etc/seccomp_policy/atfwd@2.0.policy|da0ecc6378a5df652f412c4aac8423e50f27a53e
|
||||
vendor/etc/ssg/ta_config.json|e18554b038da3737b7352d1271e5fde9c789c9df
|
||||
vendor/etc/ssg/tz_whitelist.json|c0dc4f4cfee20db5993eb5142e362cba7dfaecd6
|
||||
vendor/lib/libconfigdb.so|082bcb0b6f1d86dc65f6e05fb59420d555131c1a
|
||||
vendor/lib/libnetmgr.so|5e4ee4e68e011329662a5bd27be4caf025e5ff25
|
||||
vendor/lib/libqcbor.so|e6907a4f9da62793c7e821fc5388c76c48f8774f
|
||||
vendor/lib64/deviceInfoServiceModule.so|d9fb334e23fc38ac9b105af43b76c7f796f3d02a
|
||||
vendor/lib64/libconfigdb.so|92884af781e10586e90319b4b2155db4f27b0215
|
||||
vendor/lib64/liblqe.so|a9c9cc6539482655a5ef1c612050e7cd961c2fd3
|
||||
@@ -1051,7 +1077,6 @@ vendor/lib64/libril-qc-hal-qmi.so|f304af57068c7968073b718fcbeed30ed3fc71e6
|
||||
vendor/lib64/libril-qc-logger.so|8b01d4e2c0209b4142370593edac3ccc63a24716
|
||||
vendor/lib64/libril-qc-ltedirectdisc.so|ce5caebbd1442a4827f256d2d626a1a008292c84
|
||||
vendor/lib64/libril-qc-radioconfig.so|9b3d2857d3e13a3566a7a467ef1ab65a659076c9
|
||||
vendor/lib64/libril-qcril-hook-oem.so|63a96306fddd3e16129a0ce26be8e82137960279
|
||||
vendor/lib64/librilqmiservices.so|ad3512fa14ca5231fed6926d48b94633cebb8adf
|
||||
vendor/lib64/libsettings.so|595e71e5841b9de36dc2e85e84e90ad4d05a5371
|
||||
vendor/lib64/libsystem_health_mon.so|2cc55d78ea00b9fe8af9cd88fd8ef8c31ee5f494
|
||||
@@ -1143,6 +1168,7 @@ vendor/etc/sensors/config/sns_tilt_to_wake.json
|
||||
vendor/etc/sensors/config/tcs3701.json
|
||||
vendor/etc/sensors/config/vl53l1_tof_0.json
|
||||
vendor/etc/sensors/sns_reg_config
|
||||
vendor/lib/libsnsapi.so
|
||||
vendor/lib64/libsensorcal.so
|
||||
vendor/lib64/libsensorslog.so
|
||||
vendor/lib64/libsns_device_mode_stub.so
|
||||
@@ -1159,9 +1185,8 @@ vendor/lib64/sensors.mius.proximity.so
|
||||
vendor/lib64/sensors.ssc.so
|
||||
|
||||
# Snapdragon Computer Vision Engine - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
-vendor/lib/libfastcvopt.so|7cf6fc27e6536f32be9409532aa7e19e96ec7083
|
||||
-vendor/lib64/libfastcvopt.so|de99aded67cd9834bc0c5aaf405d7d2a115a2883
|
||||
vendor/lib/libfastcvdsp_stub.so|7f27cee24281bc9bf4f08c6100cc66bd650d8efb
|
||||
vendor/lib/libfastcvopt.so|7cf6fc27e6536f32be9409532aa7e19e96ec7083
|
||||
vendor/lib/libscveCommon.so|4be56b846f71f4ba8032471abf9f02dc5b01810c
|
||||
vendor/lib/libscveCommon_stub.so|89e1a3d3302b6809ae4ca1d80f6c2e0cd3c3b752
|
||||
vendor/lib/libscveObjectSegmentation.so|b60b43377262ef6cc7882ff5cc49d35e4c516670
|
||||
@@ -1169,6 +1194,7 @@ vendor/lib/libscveObjectSegmentation_stub.so|f1a139933c16c2fde367506fe0419c15684
|
||||
vendor/lib/libscveObjectTracker.so|26318c862d3d56596fe7208ebcc3ae1900f7d55f
|
||||
vendor/lib/libscveObjectTracker_stub.so|cafdeed8fa0d51672806038065cf4ce38d442b6b
|
||||
vendor/lib64/libfastcvdsp_stub.so|af78b8104678b87fbe07d679448ae2f4bc5c461e
|
||||
vendor/lib64/libfastcvopt.so|de99aded67cd9834bc0c5aaf405d7d2a115a2883
|
||||
vendor/lib64/libscveCommon.so|1603e11f268390739f9d0297ab0b8e84886becab
|
||||
vendor/lib64/libscveCommon_stub.so|a818f00395ba18608798890017ac6b2d80f1f878
|
||||
vendor/lib64/libscveObjectSegmentation.so|1598ad3797897eb3331a545c74d937c0ae0aeddf
|
||||
@@ -1177,7 +1203,7 @@ vendor/lib64/libscveObjectTracker.so|0cf7d3128ae0019d882da5c9d8d9186d549177d1
|
||||
vendor/lib64/libscveObjectTracker_stub.so|6f45aa215de07dfeacf811c06af750206bb1cf58
|
||||
|
||||
# Soter
|
||||
-app/SoterService/SoterService.apk
|
||||
vendor/app/SoterService/SoterService.apk
|
||||
vendor/bin/hw/vendor.qti.hardware.soter@1.0-service
|
||||
vendor/etc/init/vendor.qti.hardware.soter@1.0-service.rc
|
||||
vendor/lib64/hw/vendor.qti.hardware.soter@1.0-impl.so
|
||||
@@ -1186,15 +1212,14 @@ vendor/lib64/vendor.qti.hardware.soter@1.0.so
|
||||
# Subsystem
|
||||
vendor/bin/ssr_setup
|
||||
|
||||
# Thermal - from barbet 12 S2B2.211203.006-8015633
|
||||
vendor/lib64/libthermalclient.so|0a12301d1557583db10f730d1d3cced841448b99
|
||||
|
||||
# Thermal - from coral-user-12-SQ1A.220105.002-7961164-release-keys
|
||||
vendor/bin/thermal-engine|01cb7dc998c39016b54089c18921ad7d65b3c675
|
||||
|
||||
# ThermalClient
|
||||
-vendor/lib/libthermalclient.so
|
||||
-vendor/lib64/libthermalclient.so
|
||||
|
||||
# Time - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
-vendor/app/TimeService/TimeService.apk|92317b3b72586489456d37057b4c3c8e55863923
|
||||
vendor/app/TimeService/TimeService.apk|92317b3b72586489456d37057b4c3c8e55863923
|
||||
vendor/bin/time_daemon|48401d7f85c87aa3e12ce7b4a969a50cbf59c293
|
||||
vendor/etc/init/init.time_daemon.rc|b253ca2a498757e14e1d7a051bf504ae09218f51
|
||||
vendor/lib64/libtime_genoff.so|8bb116ad297a5e4a94da2f10509509cb6e863a5f
|
||||
@@ -1204,6 +1229,77 @@ vendor/bin/hw/vendor.qti.hardware.tui_comm@1.0-service-qti|15378114c18fd1b1c8f96
|
||||
vendor/etc/init/vendor.qti.hardware.tui_comm@1.0-service-qti.rc|2cfc563d7e1579374f001c94588fae7835a12ffc
|
||||
vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so|4ba792ee3234dca4cd7ebbd7b3f9003c800f51b4
|
||||
|
||||
# WiFi Display (system) - from dada OS2.0.217.0.WOCMIXM
|
||||
system/framework/WfdCommon.jar|76fab5ed43206989057284fa26e8b894f1da102f
|
||||
system_ext/bin/wfdservice64:system_ext/bin/wfdservice|34851904d02d11d3cfebbc7b8745a9444ba3e7c5
|
||||
system_ext/etc/init/wfdservice.rc|907def8565d8f91f531ca7dfad880af05d540b0c
|
||||
system_ext/etc/permissions/wfd-system-ext-privapp-permissions-qti.xml|6669d5ee462c981663b8ac573d84d334e4eed96c
|
||||
system_ext/etc/seccomp_policy/wfdservice64.policy|1e331272649395423b11c575892e0bdc9433b820
|
||||
system_ext/lib/libmmosal.so|d54f22775394bbe0668f0f40fd310d8b38945405
|
||||
system_ext/lib/libmmparser_lite.so|82f4efae857bca5a3206e4c2189340e58054164c
|
||||
system_ext/lib64/libmmosal.so|d46f10b470ecd829c6f2a424566f1cbbc6ebe234
|
||||
system_ext/lib64/libmmparser_lite.so|924943141df2f070a9c04a614ce43c370b3b222e
|
||||
system_ext/lib64/libmmrtpdecoder.so|8b143c0b004a2f5ab8d7911dd463de0ceea794e7
|
||||
system_ext/lib64/libmmrtpencoder.so|eef3f64e6c2892fc0c87e176f5a83f7fe07761d3
|
||||
system_ext/lib64/libwfdavenhancements.so|8c968c6930e44901ef8c6abd6356f2308600d90e
|
||||
system_ext/lib64/libwfdclient.so|2d1bf9b010ecfb8532eaf6a12c8bf60f9e8ffe08
|
||||
system_ext/lib64/libwfdcommonutils.so|3ae375016a9551e51f26710e8b07d20eeef2b76f
|
||||
system_ext/lib64/libwfdconfigutils.so|4d8200cc4c455f54fcbce927f5cabeb7b591f5d0
|
||||
system_ext/lib64/libwfddisplayconfig.so|27f5d6e284edf05cc7776e5be010912973000ab9
|
||||
system_ext/lib64/libwfdmminterface.so|8d3d493fef797aef2feaab4e09e50250ddf5dc9a
|
||||
system_ext/lib64/libwfdmmsink.so|4569ce9941eb5d06db599146ed80b8a32d7cd97f
|
||||
system_ext/lib64/libwfdmmsrc_system.so|0cc970954800566baddbf760b153b027940180f5
|
||||
system_ext/lib64/libwfdnative.so;SYMLINK=system_ext/priv-app/WfdService/lib/arm64/libwfdnative.so|9513bbbd813dd05fb063d3c9e72640a1bc9156c2
|
||||
system_ext/lib64/libwfdrtsp.so|1ab4fc5b75d25f551df3593d5856e6f7893a4176
|
||||
system_ext/lib64/libwfdservice.so|af0e31f17ed997a5d8bad64cdad486be28cb9f07
|
||||
system_ext/lib64/libwfdsinksm.so|cc899b719fa11d844c65908d7fdc18600451324d
|
||||
system_ext/lib64/libwfduibcinterface.so|432d54b072d8f1c80409b6e11f4f833ca9576937
|
||||
system_ext/lib64/libwfduibcsink.so|d12b05bbcefdff6addc2c31567a656b7540d7489
|
||||
system_ext/lib64/libwfduibcsinkinterface.so|a41b4d1fa4307a247b1f059a5b5cdf7f6a645db3
|
||||
system_ext/lib64/libwfduibcsrc.so|5be7d282be9ab45297bd030f8e37a45f48aa8677
|
||||
system_ext/lib64/libwfduibcsrcinterface.so|0e32acc87c8518e8ebb44f6ef341a2e278e1e7c2
|
||||
system_ext/lib64/vendor.qti.hardware.wifidisplaysession@1.0.so|2b2563450ad6a8d46d5648b97f63f87c5d9983ca
|
||||
system_ext/lib64/vendor.qti.hardware.wifidisplaysession_aidl-V1-ndk.so|58cd9358df40aa16ddf0e603b736c58588623b9e
|
||||
system_ext/priv-app/WfdService/WfdService.apk|b8a1d9f83804d274fab6e09e0607082801207f60
|
||||
|
||||
# WiFi Display (vendor) - from sweet_k6a OS1.0.19.0.THGMIXM
|
||||
vendor/bin/wfdvndservice|194bb3aef5237f05d0c8fab2c88846147a6cc55a
|
||||
vendor/bin/wifidisplayhalservice|36bddae1febbee1bb53a80646d17c0fe36199757
|
||||
vendor/etc/init/android.hardware.drm@1.1-service.wfdhdcp.rc|c266f08783a17f6583e3f22c85e55b0c200442ea
|
||||
vendor/etc/init/com.qualcomm.qti.wifidisplayhal@1.0-service.rc|576ce4393b7746b77a230745aa9e9ee3bd31b17d
|
||||
vendor/etc/init/wfdvndservice.rc|42e28fb8e0bf00620d7b9939b5bd3164ca671033
|
||||
vendor/etc/seccomp_policy/wfdhdcphalservice.policy|23b46af886f3233c2bddff87507ae8d37c31c022
|
||||
vendor/etc/seccomp_policy/wfdvndservice.policy|b46f0c22a1f9b65c6750205e161c0a3f84ac716b
|
||||
vendor/etc/seccomp_policy/wifidisplayhalservice.policy|698f46d3a3b89be125e2fe88439c770e5c647037
|
||||
vendor/etc/wfdconfig.xml|9e13371f7ae509cc0bbb3f2ace93c5ea5d87bf0f
|
||||
vendor/lib/libFileMux_proprietary.so|b1e2801f2be356ff88bf5d6269ef7f9c655dff67
|
||||
vendor/lib/libmm-hdcpmgr.so|057fc29807be0f2527c3026d01dff98cfe9018ad
|
||||
vendor/lib/libmmosal.so;MODULE_SUFFIX=_vendor|6f71fd1d54d6ca8df7d362a72517b082ed412bbe
|
||||
vendor/lib/libmmrtpdecoder_proprietary.so|d15b2eed6333693d40cd3d96e56873f707e889ff
|
||||
vendor/lib/libmmrtpencoder_proprietary.so|997e08f2c9bd8ca971105f7afacc886853e2abae
|
||||
vendor/lib/libwfdcodecv4l2_proprietary.so|871d4ea5842cf46ab4e28b6c245229352090ae0e
|
||||
vendor/lib/libwfdcommonutils_proprietary.so|585527a3d010a0da02f3995aff3866493fc8bbf4
|
||||
vendor/lib/libwfdconfigutils_proprietary.so|acaeb47249f02eec08a70c07cd413ddbd5a77b6b
|
||||
vendor/lib/libwfddisplayconfig_proprietary.so|f24b3956a71df1f9602a0cfd486616e4f79c01bf
|
||||
vendor/lib/libwfdhdcpcp.so|92ea12f382eb63a96c3dafbecf7d90bf91d5b5e8
|
||||
vendor/lib/libwfdhdcpservice_proprietary.so|2c0e1cc8f1b601bb5f3ea30261bf18718c81da91
|
||||
vendor/lib/libwfdmminterface_proprietary.so|afb38905fdc951985357765e830e2a14720ce668
|
||||
vendor/lib/libwfdmmservice_proprietary.so|3e813eceb99e6c82184fad95a88ac5fe6a877a7d
|
||||
vendor/lib/libwfdmmsrc_proprietary.so|6897735c19ab2c58671331eb9c060bb3116e2caf
|
||||
vendor/lib/libwfdmodulehdcpsession.so|11f859b6bc89f3123c0ea3bf7b6cda3700443907
|
||||
vendor/lib/libwfdrtsp_proprietary.so|86ed13764a23e52b37784019a11ed57c91fbb4cc
|
||||
vendor/lib/libwfdsessionmodule.so|f61fd1dbf458198cae00a8175d489ae73aab7f7e
|
||||
vendor/lib/libwfdsourcesession_proprietary.so|1023f7930bd892ae4617719d6c5bc5a1e992f35f
|
||||
vendor/lib/libwfdsourcesm_proprietary.so|6cf1e24bb6f8c20ecd6a89a2cfe32b8b51554358
|
||||
vendor/lib/libwfduibcinterface_proprietary.so|6c58302aa9d8b8ff044c6e79ddfb5ef9ce01b57e
|
||||
vendor/lib/libwfduibcsink_proprietary.so|677bbedf0beed487348d9792cdfe4cde3062d33f
|
||||
vendor/lib/libwfduibcsinkinterface_proprietary.so|c8b59137820fc3d27d9186b57bbcb8b06bc80299
|
||||
vendor/lib/libwfduibcsrc_proprietary.so|c89cd0772f8fdea83fec1feae66ca635aa0b563d
|
||||
vendor/lib/libwfduibcsrcinterface_proprietary.so|826a3a7c9f81e63abe1cf805e6abca2d1e6e0afb
|
||||
vendor/lib/libwfdutils_proprietary.so|48c3b03eb30c6eec6cf53789393faa0dfb3d5142
|
||||
vendor/lib/vendor.qti.hardware.wifidisplaysession@1.0.so;MODULE_SUFFIX=_vendor|1c38bab7199c0ebd418749b16dc8e10610eaf17c
|
||||
vendor/lib/vendor.qti.hardware.wifidisplaysessionl@1.0-halimpl.so|a964ebf868307e4ef84c614154184d9c3afe8c86
|
||||
|
||||
# WiFi
|
||||
vendor/bin/cnss-daemon
|
||||
vendor/bin/nv_mac
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (C) 2021 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
from functools import cmp_to_key
|
||||
from locale import LC_ALL, setlocale, strcoll
|
||||
from pathlib import Path
|
||||
|
||||
FILES = [Path(file) for file in [
|
||||
"proprietary-files.txt",
|
||||
]]
|
||||
|
||||
setlocale(LC_ALL, "C")
|
||||
|
||||
def strcoll_extract_utils(string1: str, string2: str) -> int:
|
||||
# Skip logic if one of the string if empty
|
||||
if not string1 or not string2:
|
||||
return strcoll(string1, string2)
|
||||
|
||||
# Remove '-' from strings if there,
|
||||
# it is used to indicate a build target
|
||||
string1 = string1.removeprefix('-')
|
||||
string2 = string2.removeprefix('-')
|
||||
|
||||
# If no directories, compare normally
|
||||
if not "/" in string1 and not "/" in string2:
|
||||
return strcoll(string1, string2)
|
||||
|
||||
string1_dir = string1.rsplit("/", 1)[0] + "/"
|
||||
string2_dir = string2.rsplit("/", 1)[0] + "/"
|
||||
if string1_dir == string2_dir:
|
||||
# Same directory, compare normally
|
||||
return strcoll(string1, string2)
|
||||
|
||||
if string1_dir.startswith(string2_dir):
|
||||
# First string dir is a subdirectory of the second one,
|
||||
# return string1 > string2
|
||||
return -1
|
||||
|
||||
if string2_dir.startswith(string1_dir):
|
||||
# Second string dir is a subdirectory of the first one,
|
||||
# return string2 > string1
|
||||
return 1
|
||||
|
||||
# Compare normally
|
||||
return strcoll(string1, string2)
|
||||
|
||||
for file in FILES:
|
||||
if not file.is_file():
|
||||
print(f"File {str(file)} not found")
|
||||
continue
|
||||
|
||||
with open(file, 'r') as f:
|
||||
sections = f.read().split("\n\n")
|
||||
|
||||
ordered_sections = []
|
||||
for section in sections:
|
||||
section_list = [line.strip() for line in section.splitlines()]
|
||||
section_list.sort(key=cmp_to_key(strcoll_extract_utils))
|
||||
ordered_sections.append("\n".join(section_list))
|
||||
|
||||
with open(file, 'w') as f:
|
||||
f.write("\n\n".join(ordered_sections).strip() + "\n")
|
||||
@@ -3,9 +3,12 @@
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.carrierconfig.overlay.raphael">
|
||||
<application android:allowBackup="false"/>
|
||||
<overlay android:targetPackage="com.android.carrierconfig"
|
||||
android:isStatic="true"
|
||||
android:priority="100"/>
|
||||
package="com.android.carrierconfig.raphael"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
<application android:hasCode="false" android:allowBackup="false"/>
|
||||
<overlay
|
||||
android:targetPackage="com.android.carrierconfig"
|
||||
android:isStatic="true"
|
||||
android:priority="900"/>
|
||||
</manifest>
|
||||
|
||||
@@ -1554,9 +1554,6 @@
|
||||
<boolean name="allow_hold_video_call_bool" value="false" />
|
||||
<boolean name="carrier_allow_transfer_ims_call_bool" value="false" />
|
||||
<boolean name="carrier_video_crs_supported_bool" value="true" />
|
||||
<int-array name="carrier_nr_availabilities_int_array" num="1">
|
||||
<item value="1" />
|
||||
</int-array>
|
||||
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
|
||||
<boolean name="vonr_enabled_bool" value="true" />
|
||||
</carrier_config>
|
||||
@@ -1625,9 +1622,6 @@
|
||||
<item value="0201008616" />
|
||||
</string-array>
|
||||
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
|
||||
<int-array name="carrier_nr_availabilities_int_array" num="1">
|
||||
<item value="1" />
|
||||
</int-array>
|
||||
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
|
||||
<boolean name="vonr_enabled_bool" value="true" />
|
||||
<boolean name="carrier_data_channel_supported_bool" value="true" />
|
||||
@@ -1677,9 +1671,6 @@
|
||||
<boolean name="carrier_allow_transfer_ims_call_bool" value="false" />
|
||||
<boolean name="disable_filter_out_conference_host" value="true" />
|
||||
<boolean name="support_video_conference_call_bool" value="false" />
|
||||
<int-array name="carrier_nr_availabilities_int_array" num="1">
|
||||
<item value="1" />
|
||||
</int-array>
|
||||
<boolean name="carrier_video_crs_supported_bool" value="true" />
|
||||
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
|
||||
<boolean name="vonr_enabled_bool" value="true" />
|
||||
@@ -1751,9 +1742,6 @@
|
||||
<item value="0201008616" />
|
||||
</string-array>
|
||||
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
|
||||
<int-array name="carrier_nr_availabilities_int_array" num="1">
|
||||
<item value="1" />
|
||||
</int-array>
|
||||
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
|
||||
<boolean name="vonr_enabled_bool" value="true" />
|
||||
<boolean name="carrier_data_channel_supported_bool" value="true" />
|
||||
@@ -1889,9 +1877,6 @@
|
||||
<item value="0201008616" />
|
||||
</string-array>
|
||||
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
|
||||
<int-array name="carrier_nr_availabilities_int_array" num="1">
|
||||
<item value="1" />
|
||||
</int-array>
|
||||
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
|
||||
<boolean name="vonr_enabled_bool" value="true" />
|
||||
<boolean name="carrier_data_channel_supported_bool" value="true" />
|
||||
@@ -1958,9 +1943,6 @@
|
||||
<item value="0201008616" />
|
||||
</string-array>
|
||||
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
|
||||
<int-array name="carrier_nr_availabilities_int_array" num="1">
|
||||
<item value="1" />
|
||||
</int-array>
|
||||
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
|
||||
<boolean name="vonr_enabled_bool" value="true" />
|
||||
<boolean name="carrier_data_channel_supported_bool" value="true" />
|
||||
@@ -2000,9 +1982,6 @@
|
||||
<boolean name="allow_hold_video_call_bool" value="false" />
|
||||
<boolean name="carrier_allow_transfer_ims_call_bool" value="false" />
|
||||
<boolean name="carrier_video_crs_supported_bool" value="true" />
|
||||
<int-array name="carrier_nr_availabilities_int_array" num="1">
|
||||
<item value="1" />
|
||||
</int-array>
|
||||
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
|
||||
<boolean name="vonr_enabled_bool" value="true" />
|
||||
</carrier_config>
|
||||
@@ -2062,9 +2041,6 @@
|
||||
<boolean name="carrier_allow_transfer_ims_call_bool" value="false" />
|
||||
<boolean name="disable_filter_out_conference_host" value="true" />
|
||||
<boolean name="support_video_conference_call_bool" value="false" />
|
||||
<int-array name="carrier_nr_availabilities_int_array" num="1">
|
||||
<item value="1" />
|
||||
</int-array>
|
||||
<boolean name="carrier_video_crs_supported_bool" value="true" />
|
||||
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
|
||||
<boolean name="vonr_enabled_bool" value="true" />
|
||||
@@ -2176,9 +2152,6 @@
|
||||
<item value="0201008616" />
|
||||
</string-array>
|
||||
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
|
||||
<int-array name="carrier_nr_availabilities_int_array" num="1">
|
||||
<item value="1" />
|
||||
</int-array>
|
||||
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
|
||||
<boolean name="vonr_enabled_bool" value="true" />
|
||||
<boolean name="carrier_data_channel_supported_bool" value="true" />
|
||||
@@ -2245,9 +2218,6 @@
|
||||
<boolean name="carrier_allow_transfer_ims_call_bool" value="false" />
|
||||
<boolean name="carrier_video_crs_supported_bool" value="true" />
|
||||
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
|
||||
<int-array name="carrier_nr_availabilities_int_array" num="1">
|
||||
<item value="1" />
|
||||
</int-array>
|
||||
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
|
||||
<boolean name="vonr_enabled_bool" value="true" />
|
||||
<boolean name="vonr_setting_visibility_bool" value="false" />
|
||||
@@ -7204,4 +7174,138 @@
|
||||
<carrier_config mcc="901" mnc="18">
|
||||
<boolean name="carrier_volte_available_bool" value="false" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="400" mnc="02">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="404">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
<boolean name="carrier_wfc_ims_available_bool" value="true" />
|
||||
<boolean name="editable_wfc_roaming_mode_bool" value="true" />
|
||||
<boolean name="carrier_wfc_supports_ims_preferred_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="404" mnc="02,03,06,10,16,31,40,45,49,61,70,90,92,93,94,95,97,98">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="405" mnc="51,52,53,54,55,56">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="452" mnc="01">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="452" mnc="02">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="452" mnc="04">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="452" mnc="05">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="452" mnc="06">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="452" mnc="08">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="470" mnc="01">
|
||||
<boolean name="rtt_supported_bool" value="true" />
|
||||
<boolean name="rtt_supported_for_vt_bool" value="true"/>
|
||||
<boolean name="rtt_upgrade_supported_bool" value="true"/>
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
<boolean name="carrier_vt_available_bool" value="false" />
|
||||
<boolean name="carrier_wfc_ims_available_bool" value="true" />
|
||||
<boolean name="carrier_volte_tty_supported_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="470" mnc="02">
|
||||
<boolean name="rtt_supported_bool" value="true" />
|
||||
<boolean name="rtt_supported_for_vt_bool" value="true"/>
|
||||
<boolean name="rtt_upgrade_supported_bool" value="true"/>
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
<boolean name="carrier_vt_available_bool" value="false" />
|
||||
<boolean name="carrier_wfc_ims_available_bool" value="true" />
|
||||
<boolean name="carrier_volte_tty_supported_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="470" mnc="03">
|
||||
<boolean name="rtt_supported_bool" value="true" />
|
||||
<boolean name="rtt_supported_for_vt_bool" value="true"/>
|
||||
<boolean name="rtt_upgrade_supported_bool" value="true"/>
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
<boolean name="carrier_vt_available_bool" value="false" />
|
||||
<boolean name="carrier_wfc_ims_available_bool" value="true" />
|
||||
<boolean name="carrier_volte_tty_supported_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="470" mnc="04">
|
||||
<boolean name="rtt_supported_bool" value="true" />
|
||||
<boolean name="rtt_supported_for_vt_bool" value="true"/>
|
||||
<boolean name="rtt_upgrade_supported_bool" value="true"/>
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
<boolean name="carrier_vt_available_bool" value="false" />
|
||||
<boolean name="carrier_wfc_ims_available_bool" value="true" />
|
||||
<boolean name="carrier_volte_tty_supported_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="470" mnc="05">
|
||||
<boolean name="rtt_supported_bool" value="true" />
|
||||
<boolean name="rtt_supported_for_vt_bool" value="true"/>
|
||||
<boolean name="rtt_upgrade_supported_bool" value="true"/>
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
<boolean name="carrier_vt_available_bool" value="false" />
|
||||
<boolean name="carrier_wfc_ims_available_bool" value="true" />
|
||||
<boolean name="carrier_volte_tty_supported_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="470" mnc="06">
|
||||
<boolean name="rtt_supported_bool" value="true" />
|
||||
<boolean name="rtt_supported_for_vt_bool" value="true"/>
|
||||
<boolean name="rtt_upgrade_supported_bool" value="true"/>
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
<boolean name="carrier_vt_available_bool" value="false" />
|
||||
<boolean name="carrier_wfc_ims_available_bool" value="true" />
|
||||
<boolean name="carrier_volte_tty_supported_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="470" mnc="07">
|
||||
<boolean name="rtt_supported_bool" value="true" />
|
||||
<boolean name="rtt_supported_for_vt_bool" value="true"/>
|
||||
<boolean name="rtt_upgrade_supported_bool" value="true"/>
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
<boolean name="carrier_vt_available_bool" value="false" />
|
||||
<boolean name="carrier_wfc_ims_available_bool" value="true" />
|
||||
<boolean name="carrier_volte_tty_supported_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="470" mnc="08">
|
||||
<boolean name="rtt_supported_bool" value="true" />
|
||||
<boolean name="rtt_supported_for_vt_bool" value="true"/>
|
||||
<boolean name="rtt_upgrade_supported_bool" value="true"/>
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
<boolean name="carrier_vt_available_bool" value="false" />
|
||||
<boolean name="carrier_wfc_ims_available_bool" value="true" />
|
||||
<boolean name="carrier_volte_tty_supported_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="502" mnc="16">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
<boolean name="carrier_wfc_ims_available_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="502" mnc="18">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
<boolean name="carrier_wfc_ims_available_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="510" mnc="01">
|
||||
<boolean name="carrier_volte_available_bool" value="true"/>
|
||||
</carrier_config>
|
||||
<carrier_config mcc="510" mnc="07">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="510" mnc="08">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="510" mnc="09">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
</carrier_config>
|
||||
<carrier_config mcc="510" mnc="10">
|
||||
<boolean name="carrier_volte_available_bool" value="true"/>
|
||||
</carrier_config>
|
||||
<carrier_config mcc="510" mnc="11">
|
||||
<boolean name="carrier_volte_available_bool" value="true"/>
|
||||
</carrier_config>
|
||||
<carrier_config mcc="510" mnc="89">
|
||||
<boolean name="carrier_volte_available_bool" value="true" />
|
||||
</carrier_config>
|
||||
</carrier_config_list>
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
runtime_resource_overlay {
|
||||
name: "DeviceAsWebcamRaphael",
|
||||
product_specific: true,
|
||||
sdk_version: "current"
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
** Copyright 2024, YAAP
|
||||
**
|
||||
** 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.DeviceAsWebcam.overlay.raphael"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
<overlay android:targetPackage="com.android.DeviceAsWebcam" android:priority="880" android:isStatic="true" />
|
||||
</manifest>
|
||||
@@ -1,6 +0,0 @@
|
||||
[
|
||||
"/dev/video0",
|
||||
"/dev/video2",
|
||||
"/dev/video32",
|
||||
"/dev/video33"
|
||||
]
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2024 YAAP
|
||||
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>
|
||||
|
||||
<!-- Whether hardware video encoding is supported. default: true -->
|
||||
<bool name="config_HardwareVideoEncode" translatable="false">false</bool>
|
||||
|
||||
<!-- Whether to default to HQ mode. default: false -->
|
||||
<bool name="config_HighQualityVideoDefault" translatable="false">true</bool>
|
||||
|
||||
</resources>
|
||||
@@ -10,6 +10,6 @@
|
||||
<application android:allowBackup="false"/>
|
||||
<overlay
|
||||
android:isStatic="true"
|
||||
android:priority="750"
|
||||
android:priority="900"
|
||||
android:targetPackage="org.pixelexperience.faceunlock" />
|
||||
</manifest>
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
<application android:allowBackup="false"/>
|
||||
<overlay
|
||||
android:isStatic="true"
|
||||
android:priority="750"
|
||||
android:priority="900"
|
||||
android:targetPackage="android" />
|
||||
</manifest>
|
||||
|
||||
@@ -250,30 +250,6 @@
|
||||
device does not support hardware scan filters-->
|
||||
<integer translatable="false" name="config_bluetooth_max_scan_filters">1</integer>
|
||||
|
||||
<!-- This string array should be overridden by the device to present a list of network
|
||||
attributes. This is used by the connectivity manager to decide which networks can coexist
|
||||
based on the hardware -->
|
||||
<!-- An Array of "[Connection name],[ConnectivityManager.TYPE_xxxx],
|
||||
[associated radio-type],[priority],[restoral-timer(ms)],[dependencyMet] -->
|
||||
<!-- the 5th element "resore-time" indicates the number of milliseconds to delay
|
||||
before automatically restore the default connection. Set -1 if the connection
|
||||
does not require auto-restore. -->
|
||||
<!-- the 6th element indicates boot-time dependency-met value. -->
|
||||
<string-array translatable="false" name="networkAttributes">
|
||||
<item>wifi,1,1,1,-1,true</item>
|
||||
<item>mobile,0,0,0,-1,true</item>
|
||||
<item>mobile_mms,2,0,4,60000,true</item>
|
||||
<item>mobile_supl,3,0,2,60000,true</item>
|
||||
<item>mobile_dun,4,0,2,60000,true</item>
|
||||
<item>mobile_hipri,5,0,3,60000,true</item>
|
||||
<item>mobile_fota,10,0,2,60000,true</item>
|
||||
<item>mobile_ims,11,0,2,60000,true</item>
|
||||
<item>mobile_cbs,12,0,2,60000,true</item>
|
||||
<item>bluetooth,7,7,2,-1,true</item>
|
||||
<item>mobile_emergency,15,0,5,-1,true</item>
|
||||
<item>ethernet,9,9,9,-1,true</item>
|
||||
</string-array>
|
||||
|
||||
<!-- This string array should be overridden by the device to present a list of radio
|
||||
attributes. This is used by the connectivity manager to decide which networks can coexist
|
||||
based on the hardware -->
|
||||
@@ -419,8 +395,6 @@
|
||||
<!--
|
||||
<bool name="config_radio_reset_on_regular_deactivation">false</bool>
|
||||
-->
|
||||
<!-- Flag indicating if the speed up audio on mt call code should be executed -->
|
||||
<bool name="config_speed_up_audio_on_mt_calls">true</bool>
|
||||
|
||||
<!-- Whether camera shutter sound is forced or not (country specific). -->
|
||||
<bool name="config_camera_sound_forced">false</bool>
|
||||
@@ -455,27 +429,28 @@
|
||||
|
||||
<!-- Default list of files pinned by the Pinner Service -->
|
||||
<string-array translatable="false" name="config_defaultPinnerServiceFiles">
|
||||
<item>"/system/bin/surfaceflinger"</item>
|
||||
<item>"/system/framework/framework.jar"</item>
|
||||
<item>"/system/framework/services.jar"</item>
|
||||
<item>"/system/lib64/libEGL.so"</item>
|
||||
<item>"/apex/com.android.art/javalib/core-oj.jar"</item>
|
||||
<item>"/apex/com.android.art/javalib/core-libart.jar"</item>
|
||||
<item>"/system/lib64/libEGL.so"</item>
|
||||
<item>"/system/lib64/libGLESv2.so"</item>
|
||||
<item>"/system/lib64/libhwui.so"</item>
|
||||
<item>"/system/system_ext/priv-app/SystemUIGoogle/SystemUIGoogle.apk"</item>
|
||||
<item>"/vendor/lib64/egl/libEGL_adreno.so"</item>
|
||||
<item>"/vendor/lib64/egl/libGLESv2_adreno.so"</item>
|
||||
<item>"/vendor/lib64/libCB.so"</item>
|
||||
<item>"/vendor/lib64/libgsl.so"</item>
|
||||
<item>"/vendor/lib64/libllvm-glnext.so"</item>
|
||||
<item>"/vendor/lib64/libllvm-qcom.so"</item>
|
||||
<item>"/vendor/lib64/libllvm-qgl.so"</item>
|
||||
<item>"/vendor/lib64/hw/fingerprint.goodix_fod.msmnile.so"</item>
|
||||
<item>"/apex/com.android.art/javalib/core-oj.jar"</item>
|
||||
<item>"/apex/com.android.art/javalib/core-libart.jar"</item>
|
||||
<item>"/vendor/lib64/hw/fingerprint.goodix_fod.msmnile.so"</item>
|
||||
<item>"/system/framework/framework.jar"</item>
|
||||
<item>"/system/framework/services.jar"</item>
|
||||
<item>"/system/bin/surfaceflinger"</item>
|
||||
<item>"/system_ext/priv-app/SystemUI/SystemUI.apk"</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Should the pinner service pin the Home application? -->
|
||||
<bool name="config_pinnerHomeApp">true</bool>
|
||||
<!-- Bytes that the PinnerService will pin for Home app -->
|
||||
<integer name="config_pinnerHomePinBytes">6291456</integer>
|
||||
|
||||
<!-- Bytes that the PinnerService will pin for WebView -->
|
||||
<integer name="config_pinnerWebviewPinBytes">20971520</integer>
|
||||
|
||||
<!-- Maximum number of supported users -->
|
||||
<integer name="config_multiuserMaximumUsers">4</integer>
|
||||
@@ -511,14 +486,6 @@
|
||||
empty string is passed in -->
|
||||
<string name="config_wlan_network_service_package">vendor.qti.iwlan</string>
|
||||
|
||||
<!-- List of biometric sensors on the device, in decreasing strength. Consumed by AuthService
|
||||
when registering authenticators with BiometricService. Format must be ID:Modality:Strength,
|
||||
where: IDs are unique per device, Modality as defined in BiometricAuthenticator.java,
|
||||
and Strength as defined in Authenticators.java -->
|
||||
<string-array name="config_biometric_sensors" translatable="false" >
|
||||
<item>0:2:15</item> <!-- ID0:Fingerprint:Strong -->
|
||||
</string-array>
|
||||
|
||||
<!-- If this is true, device supports Sustained Performance Mode. -->
|
||||
<bool name="config_sustainedPerformanceModeSupported">true</bool>
|
||||
|
||||
@@ -597,13 +564,6 @@
|
||||
rotations as the default behavior. -->
|
||||
<bool name="config_allowAllRotations">true</bool>
|
||||
|
||||
<!-- The properties of a UDFPS sensor in pixels, in the order listed below: -->
|
||||
<integer-array name="config_udfps_sensor_props" translatable="false" >
|
||||
<item>540</item> <!-- <item>sensorLocationX</item> -->
|
||||
<item>2026</item> <!-- <item>sensorLocationY</item> -->
|
||||
<item>95</item> <!-- <item>sensorRadius</item> -->
|
||||
</integer-array>
|
||||
|
||||
<!-- How long it takes for the HW to start illuminating after the illumination is requested. -->
|
||||
<integer name="config_udfps_illumination_transition_ms">0</integer>
|
||||
|
||||
@@ -616,14 +576,6 @@
|
||||
<!-- the number of the max cached processes in the system. -->
|
||||
<integer name="config_customizedMaxCachedProcesses">64</integer>
|
||||
|
||||
<!-- The default refresh rate. Raphael manages this using the peak refresh rate setting, so set
|
||||
this value to 0 so it has no effect. -->
|
||||
<integer name="config_defaultRefreshRate">0</integer>
|
||||
|
||||
<!-- The default peak refresh rate for a given device. Change this value if you want to allow
|
||||
for higher refresh rates to be automatically used out of the box -->
|
||||
<integer name="config_defaultPeakRefreshRate">90</integer>
|
||||
|
||||
<!-- Enable Zram writeback feature to allow unused pages in zram be written to flash. -->
|
||||
<bool name="config_zramWriteback">true</bool>
|
||||
|
||||
@@ -648,6 +600,26 @@
|
||||
<!-- Type of the tap sensor. Empty if tap is not supported. -->
|
||||
<string name="config_dozeTapSensorType" translatable="false">org.lineageos.sensor.single_tap</string>
|
||||
|
||||
<!-- Whether device supports increased touch sensitvity -->
|
||||
<!-- Auto-brightness sensor type string -->
|
||||
<string name="config_displayLightSensorType">"android.sensor.light"</string>
|
||||
|
||||
<!-- Whether device supports increased touch sensitvity -->
|
||||
<bool name="config_supportGloveMode">true</bool>
|
||||
|
||||
<!-- Whether the new Auto Selection Network UI should be shown -->
|
||||
<bool name="config_enableNewAutoSelectNetworkUI">true</bool>
|
||||
|
||||
<!-- Number of physical SIM slots on the device. This includes both eSIM and pSIM slots, and
|
||||
is not necessarily the same as the number of phones/logical modems supported by the device.
|
||||
For example, a multi-sim device can have 2 phones/logical modems, but 3 physical slots,
|
||||
or a single SIM device can have 1 phones/logical modems, but 2 physical slots (one eSIM
|
||||
and one pSIM) -->
|
||||
<integer name="config_num_physical_slots">2</integer>
|
||||
|
||||
<!-- Whether to enable fp unlock when screen turns off on udfps devices -->
|
||||
<bool name="config_screen_off_udfps_enabled">true</bool>
|
||||
|
||||
<!-- Default value for fp screen off unlock toggle, it only works for the devices that support
|
||||
fp screen off unlock-->
|
||||
<bool name="config_screen_off_udfps_default_on">true</bool>
|
||||
</resources>
|
||||
|
||||
@@ -22,10 +22,10 @@
|
||||
<bool name="config_multiColorBatteryLed">false</bool>
|
||||
|
||||
<!-- Pocket Lock -->
|
||||
<bool name="config_pocketModeSupported">true</bool>
|
||||
<bool name="config_pocketUseLightSensor">false</bool>
|
||||
|
||||
<!-- Shows the required view for Screen OFF FOD -->
|
||||
<bool name="config_supportsScreenOffUdfps">true</bool>
|
||||
<!-- Whether devices supports in-display fingerprint when screen is off -->
|
||||
<bool name="config_supportScreenOffUdfps">true</bool>
|
||||
|
||||
<!-- The list of package IDs that are allowed to use aux cameras.
|
||||
NOTE: If this list is empty then all apps will be able to use aux cameras. -->
|
||||
@@ -51,6 +51,9 @@
|
||||
to enable/disable DC dimming. -->
|
||||
<string name="config_deviceDcDimmingSysfsNode">/sys/devices/platform/soc/soc:qcom,dsi-display-primary/dc_dim</string>
|
||||
|
||||
<!-- Whether to enable Lineage Health Service -->
|
||||
<bool name="config_lineageHealthSupported">true</bool>
|
||||
<!-- PowerOffAlarmService -->
|
||||
<bool name="config_powerOffAlarmEnabled">true</bool>
|
||||
|
||||
<!-- Whether the device supports Smart Pixels -->
|
||||
<bool name="config_supportSmartPixels">true</bool>
|
||||
</resources>
|
||||
|
||||
10
rro_overlays/NfcResOverlayRaphael/Android.bp
Normal file
10
rro_overlays/NfcResOverlayRaphael/Android.bp
Normal file
@@ -0,0 +1,10 @@
|
||||
//
|
||||
// Copyright (C) 2024 The LineageOS Project
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
runtime_resource_overlay {
|
||||
name: "NfcResOverlayRaphael",
|
||||
product_specific: true,
|
||||
}
|
||||
12
rro_overlays/NfcResOverlayRaphael/AndroidManifest.xml
Normal file
12
rro_overlays/NfcResOverlayRaphael/AndroidManifest.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<!--
|
||||
Copyright (C) 2024 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.android.nfc.overlay.raphael">
|
||||
<overlay
|
||||
android:targetPackage="com.android.nfc"
|
||||
android:targetName="NfcCustomization"
|
||||
android:isStatic="true"
|
||||
android:priority="900"/>
|
||||
</manifest>
|
||||
14
rro_overlays/NfcResOverlayRaphael/res/values/config.xml
Normal file
14
rro_overlays/NfcResOverlayRaphael/res/values/config.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2024 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
|
||||
<!-- List of SKUs where Secure NFC functionality is supported -->
|
||||
<string-array name="config_skuSupportsSecureNfc" translatable="false">
|
||||
<item>nfc</item>
|
||||
</string-array>
|
||||
|
||||
<bool name="enable_secure_nfc_support">true</bool>
|
||||
</resources>
|
||||
@@ -10,6 +10,6 @@
|
||||
<application android:allowBackup="false"/>
|
||||
<overlay
|
||||
android:isStatic="true"
|
||||
android:priority="750"
|
||||
android:priority="900"
|
||||
android:targetPackage="com.android.settings" />
|
||||
</manifest>
|
||||
|
||||
@@ -15,6 +15,9 @@
|
||||
-->
|
||||
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- Device specific doze package -->
|
||||
<string name="config_customDozePackage" translatable="false">org.lineageos.settings/org.lineageos.settings.doze.DozeSettingsActivity</string>
|
||||
|
||||
<!-- The number of vibration intensity levels supported by the device.
|
||||
|
||||
Note that this should correspond to the ability to vary the vibration amplitude, with
|
||||
@@ -40,9 +43,6 @@
|
||||
<!-- Whether to show the Preference for Adaptive connectivity -->
|
||||
<bool name="config_show_adaptive_connectivity">false</bool>
|
||||
|
||||
<!-- Whether to show min/max refresh rate in display settings -->
|
||||
<bool name="config_show_refresh_rate_controls">true</bool>
|
||||
|
||||
<!-- Whether device supports increased touch sensitvity -->
|
||||
<bool name="config_show_touch_sensitivity">true</bool>
|
||||
|
||||
@@ -51,4 +51,13 @@
|
||||
|
||||
<!-- Show battery cycle count -->
|
||||
<bool name="config_show_battery_cycle_count" translatable="false">true</bool>
|
||||
|
||||
<!-- Whether to show double tap ambient settings -->
|
||||
<bool name="config_supports_double_tap_ambient" translatable="false">true</bool>
|
||||
|
||||
<!-- Whether to show volume steps settings -->
|
||||
<bool name="config_supports_volume_steps" translatable="false">true</bool>
|
||||
|
||||
<!-- Whether to show vendor security patch level -->
|
||||
<bool name="config_show_vendor_patch_level" translatable="false">false</bool>
|
||||
</resources>
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2020 The LineageOS Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<!-- Battery health -->
|
||||
<string name="config_batteryRemainingCapacityNode">/sys/class/power_supply/bms/charge_full</string>
|
||||
<string name="config_batteryDesignCapacityNode">/sys/class/power_supply/bms/charge_full_design</string>
|
||||
<string name="config_batteryChargeCycles">/sys/class/power_supply/bms/cycle_count</string>
|
||||
</resources>
|
||||
@@ -1,11 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2019-2023 Evolution X
|
||||
Copyright (C) 2019-2024 Evolution X
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- About device screen, build maintainer -->
|
||||
<string name="build_device_url">https://t.me/EvolutionXRaphael_v2</string>
|
||||
<string name="build_maintainer_summary">Joey Huab</string>
|
||||
<string name="build_maintainer_donate_url">https://linktr.ee/shaazice</string>
|
||||
<string name="build_maintainer_donate_url">https://linktr.ee/joeyhuab</string>
|
||||
</resources>
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
<application android:allowBackup="false"/>
|
||||
<overlay
|
||||
android:isStatic="true"
|
||||
android:priority="750"
|
||||
android:priority="900"
|
||||
android:targetPackage="com.android.systemui" />
|
||||
</manifest>
|
||||
|
||||
@@ -39,6 +39,9 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
low powered state yet. -->
|
||||
<bool name="doze_single_tap_uses_prox">false</bool>
|
||||
|
||||
<!-- Whether usage of the proximity sensor during doze is supported -->
|
||||
<bool name="doze_proximity_sensor_supported">false</bool>
|
||||
|
||||
<!-- Doze: whether the long press sensor uses the proximity sensor.
|
||||
If both this parameter and doze_selectively_register_prox are true, registration for the
|
||||
sensor will be delayed when the device first enters dozing but the device has not entered its
|
||||
@@ -64,9 +67,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
vibrator is capable of subtle vibrations -->
|
||||
<bool name="config_vibrateOnIconAnimation">true</bool>
|
||||
|
||||
<!-- Whether to show a warning notification when device's skin temperature is high. -->
|
||||
<integer name="config_showTemperatureWarning">1</integer>
|
||||
|
||||
<!-- Whether to show a alarm dialog when device's usb port is overheating. -->
|
||||
<integer name="config_showUsbPortAlarm">1</integer>
|
||||
<!-- Pixel pitch of the device. um/px -->
|
||||
<item name="pixel_pitch" format="float" type="dimen">63.1</item>
|
||||
</resources>
|
||||
|
||||
@@ -18,18 +18,18 @@
|
||||
<!-- Color of the UDFPS pressed view -->
|
||||
<color name="config_udfpsColor">#00ffffff</color>
|
||||
|
||||
<!-- Preferred max refresh rate at AOD & Ambient Display, if supported by the display. -->
|
||||
<integer name="config_aodMaxRefreshRate">60</integer>
|
||||
|
||||
<!-- Preferred refresh rate at keyguard, if supported by the display -->
|
||||
<integer name="config_keyguardRefreshRate">60</integer>
|
||||
|
||||
<!-- Preferred max refresh rate at keyguard, if supported by the display. -->
|
||||
<integer name="config_keyguardMaxRefreshRate">60</integer>
|
||||
|
||||
<!-- Whether to find optimal display refresh rate when using udfps -->
|
||||
<bool name="config_udfpsOptimalRefreshRate">false</bool>
|
||||
|
||||
<!-- Update battery info every second when device is charging -->
|
||||
<bool name="config_alternateFastchargeInfoUpdate">true</bool>
|
||||
|
||||
<!-- FPSInfoService FPS node file path -->
|
||||
<string name="config_fpsInfoSysNode" translatable="false">/sys/class/drm/sde-crtc-0/measured_fps</string>
|
||||
|
||||
<!-- Whether to disable Smart Pixels on UDFPS -->
|
||||
<bool name="config_disableSmartPixelsOnUDFPS">true</bool>
|
||||
|
||||
<!-- Show 5G toggle in internet dialog when available -->
|
||||
<bool name="config_supportsVONR">false</bool>
|
||||
|
||||
<!-- The CPU temperature divider, if needed -->
|
||||
<integer name="config_cpuTempDivider" translatable="false">1000</integer>
|
||||
</resources>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user