Compare commits
161 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c15353eca2 | ||
|
|
e16d81c44b | ||
|
|
828ef5357d | ||
|
|
0e92393a50 | ||
|
|
1383156d33 | ||
|
|
1b7f2a6fed | ||
|
|
0f68b4ad3f | ||
|
|
7979ae8cc5 | ||
|
|
5a3e9091a0 | ||
|
|
1d4b8dc2fe | ||
|
|
736a55580c | ||
|
|
c96fedf675 | ||
|
|
d370303f5a | ||
|
|
108675baf0 | ||
|
|
c99a3ff52f | ||
|
|
9d158bfa51 | ||
|
|
6bec7ec645 | ||
|
|
51df228c31 | ||
|
|
4cee2690a3 | ||
|
|
5b2e259a30 | ||
|
|
f2c7854684 | ||
|
|
ea4a641d48 | ||
|
|
e600d6f1fa | ||
|
|
15bc917013 | ||
|
|
b92d1a2e0e | ||
|
|
5228a0cf61 | ||
|
|
c76e73b26e | ||
|
|
01d7346f85 | ||
|
|
f15ca7983a | ||
|
|
e213fe8153 | ||
|
|
c3e6c17c69 | ||
|
|
48bc14125d | ||
|
|
a33c17f4f8 | ||
|
|
3ee9f43ffd | ||
|
|
6037ce092d | ||
|
|
7b8ba2e4f7 | ||
|
|
552a75e551 | ||
|
|
8b378ef89c | ||
|
|
8c54064887 | ||
|
|
ac57620081 | ||
|
|
8dbfbf38cd | ||
|
|
184392cdfa | ||
|
|
21b3fc1de7 | ||
|
|
98f4b395de | ||
|
|
0c45a7e286 | ||
|
|
97fdecbe7f | ||
|
|
2005756947 | ||
|
|
2b7e1ac380 | ||
|
|
91a210d4d9 | ||
|
|
7a051ae4b2 | ||
|
|
c8d16b2a4e | ||
|
|
d1f08ad1ad | ||
|
|
1a17fb33f2 | ||
|
|
6381ba3292 | ||
|
|
1657441113 | ||
|
|
a978fc7c14 | ||
|
|
72233b1859 | ||
|
|
ed7d48b725 | ||
|
|
80acbf6ffa | ||
|
|
4c1c9f88d8 | ||
|
|
ac412cea59 | ||
|
|
5fc19d609e | ||
|
|
5f892fb30d | ||
|
|
eafda1a97d | ||
|
|
f061b5e435 | ||
|
|
67e45565bb | ||
|
|
355845c1ff | ||
|
|
bae82ea8b9 | ||
|
|
bcb0964a74 | ||
|
|
bda337f2d8 | ||
|
|
8765bba43e | ||
|
|
93a64a15e4 | ||
|
|
fd76fc1df2 | ||
|
|
734d2c792a | ||
|
|
dd3127001e | ||
|
|
0eace15bc4 | ||
|
|
0f91733e1a | ||
|
|
f9f2b4508a | ||
|
|
27304f2225 | ||
|
|
fd08cac562 | ||
|
|
e35d56c754 | ||
|
|
9c3d36756a | ||
|
|
a265651bc6 | ||
|
|
0c20424c30 | ||
|
|
1f2d9e7ed2 | ||
|
|
27a8bd023a | ||
|
|
b906c6b80c | ||
|
|
8217f85b7d | ||
|
|
b4c6046eda | ||
|
|
0b8cfa3cb4 | ||
|
|
03d90e8638 | ||
|
|
e4dd0415fb | ||
|
|
47629f5a95 | ||
|
|
bcfe83f0c4 | ||
|
|
a112cd8389 | ||
|
|
44dddaced5 | ||
|
|
0578b33ede | ||
|
|
cf37844088 | ||
|
|
712745fe0e | ||
|
|
4c37e5e0da | ||
|
|
3334c4c497 | ||
|
|
c0730ca859 | ||
|
|
537b7b0144 | ||
|
|
4a814e4850 | ||
|
|
dec1ba8bef | ||
|
|
7c27b4d954 | ||
|
|
8a452fcd7f | ||
|
|
02b527c92c | ||
|
|
74748b3eab | ||
|
|
e26d4c13fc | ||
|
|
702738def1 | ||
|
|
3cb5072278 | ||
|
|
9200e0aa14 | ||
|
|
cda7338029 | ||
|
|
35cfef58c2 | ||
|
|
0c1db71549 | ||
|
|
68b1143361 | ||
|
|
b4ef5e4ee5 | ||
|
|
6744f6fbf3 | ||
|
|
9c83692293 | ||
|
|
f8759e8db4 | ||
|
|
9a056a213f | ||
|
|
48af2f5793 | ||
|
|
cc6b5b90d6 | ||
|
|
9d10dae5f0 | ||
|
|
4e38de6cb9 | ||
|
|
0e99dae8fc | ||
|
|
7b110982ac | ||
|
|
dc8a38114a | ||
|
|
41ab01c455 | ||
|
|
ccd6d97e02 | ||
|
|
aba326fdcb | ||
|
|
533cf6a727 | ||
|
|
63b6a8bc8a | ||
|
|
f69e6610a7 | ||
|
|
2442115b75 | ||
|
|
9a17c1f9c6 | ||
|
|
8866e3ebc4 | ||
|
|
5ddbcb08fa | ||
|
|
69eaebfbb3 | ||
|
|
14ae189fb9 | ||
|
|
1516cdec12 | ||
|
|
67c4c86bcc | ||
|
|
7c4ff8788e | ||
|
|
4f60a2b72e | ||
|
|
5a86ec9324 | ||
|
|
0cbb1664f8 | ||
|
|
bdb3905df8 | ||
|
|
6681303803 | ||
|
|
9f57e7f468 | ||
|
|
683d5a1a83 | ||
|
|
37c31f5fc8 | ||
|
|
36e789d63d | ||
|
|
f9dfcd043e | ||
|
|
d810890714 | ||
|
|
d9e8677794 | ||
|
|
a49f61bffe | ||
|
|
45e9b2d860 | ||
|
|
dff528ca27 | ||
|
|
6daadffe13 | ||
| 94953d308b |
@@ -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,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2021-2022 The LineageOS Project
|
||||
# Copyright (C) 2019-2025 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
@@ -16,14 +16,12 @@ 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
|
||||
@@ -39,34 +37,20 @@ TARGET_NO_BOOTLOADER := true
|
||||
# Build
|
||||
BUILD_BROKEN_DUP_RULES := true
|
||||
BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
|
||||
BUILD_BROKEN_ENFORCE_SYSPROP_OWNER := true
|
||||
|
||||
# ConfigStore
|
||||
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
|
||||
@@ -74,17 +58,15 @@ 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 \
|
||||
vendor/lineage/config/device_framework_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 +83,12 @@ 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_CLANG_PATH := $(shell pwd)/prebuilts/clang/host/linux-x86/clang-r522817
|
||||
TARGET_KERNEL_CLANG_VERSION := r522817
|
||||
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
|
||||
@@ -177,7 +146,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 +157,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 -->
|
||||
@@ -44,6 +44,15 @@
|
||||
<library name="volume_listener" path="libvolumelistener.so"/>
|
||||
<library name="audiosphere" path="libasphere.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">
|
||||
@@ -91,6 +100,15 @@
|
||||
<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="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
|
||||
|
||||
@@ -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
@@ -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
|
||||
177
device.mk
177
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 \
|
||||
@@ -34,14 +37,18 @@ PRODUCT_PACKAGES += \
|
||||
TetheringConfigOverlay \
|
||||
WifiOverlay
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
NcmTetheringOverlay
|
||||
|
||||
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 +58,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 +95,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 \
|
||||
@@ -142,7 +149,8 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
# 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,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,6 +361,11 @@ PRODUCT_PACKAGES += \
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.lineage.health-service.default
|
||||
|
||||
$(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,lineage_health,charging_control_supports_bypass,false)
|
||||
|
||||
# Livedisplay
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.lineage.livedisplay@2.1-service.raphael
|
||||
@@ -359,18 +397,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 +448,6 @@ PRODUCT_PACKAGES += \
|
||||
android.hardware.nfc@1.2-service \
|
||||
com.android.nfc_extras \
|
||||
libchrome.vendor \
|
||||
NfcNci \
|
||||
SecureElement \
|
||||
Tag
|
||||
|
||||
@@ -421,25 +465,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,13 +472,18 @@ 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
|
||||
@@ -473,10 +503,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=10
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/etc/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
|
||||
@@ -508,7 +538,7 @@ 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
|
||||
@@ -529,22 +559,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 +589,7 @@ PRODUCT_COPY_FILES += \
|
||||
|
||||
# Shim
|
||||
PRODUCT_PACKAGES += \
|
||||
libpiex_shim \
|
||||
libwatermark_shim
|
||||
libpiex_shim
|
||||
|
||||
# Task Profiles
|
||||
PRODUCT_COPY_FILES += \
|
||||
@@ -617,11 +633,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 +655,7 @@ $(call inherit-product, packages/apps/ViPER4AndroidFX/config.mk)
|
||||
|
||||
# VNDK
|
||||
PRODUCT_PACKAGES += \
|
||||
libcrypto-v33 \
|
||||
libutilscallstack.vendor:64 \
|
||||
libnetutils.vendor:64 \
|
||||
libsqlite.vendor:64 \
|
||||
|
||||
@@ -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": "vendor_xiaomi_miuicamera",
|
||||
"target_path": "vendor/xiaomi/miuicamera",
|
||||
"remote": "evo-codeberg"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (C) 2016 The CyanogenMod Project
|
||||
# Copyright (C) 2017-2021 The LineageOS Project
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
|
||||
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
@@ -17,6 +16,8 @@ if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
|
||||
|
||||
ANDROID_ROOT="${MY_DIR}/../../.."
|
||||
|
||||
export TARGET_ENABLE_CHECKELF=true
|
||||
|
||||
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
|
||||
if [ ! -f "${HELPER}" ]; then
|
||||
echo "Unable to find helper script at ${HELPER}"
|
||||
@@ -55,15 +56,40 @@ 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)
|
||||
[ "$2" = "" ] && return 0
|
||||
grep -q "libpiex_shim.so" "${2}" || "${PATCHELF}" --add-needed "libpiex_shim.so" "${2}"
|
||||
;;
|
||||
vendor/lib64/camera/components/com.qti.node.watermark.so)
|
||||
"${PATCHELF}" --add-needed "libwatermark_shim.so" "${2}"
|
||||
vendor/lib64/mediadrm/libwvdrmengine.so|vendor/lib64/libwvhidl.so)
|
||||
[ "$2" = "" ] && return 0
|
||||
grep -q "libcrypto-v33.so" "${2}" || "${PATCHELF}" --replace-needed "libcrypto.so" "libcrypto-v33.so" "$2"
|
||||
;;
|
||||
vendor/etc/seccomp_policy/atfwd@2.0.policy)
|
||||
[ "$2" = "" ] && return 0
|
||||
grep -q "gettid: 1" "${2}" || echo "gettid: 1" >> "${2}"
|
||||
;;
|
||||
vendor/etc/libnfc-nci.conf)
|
||||
[ "$2" = "" ] && return 0
|
||||
sed -i "s/NFC_DEBUG_ENABLED=1/NFC_DEBUG_ENABLED=0/" "${2}"
|
||||
;;
|
||||
vendor/etc/libnfc-nxp.conf)
|
||||
[ "$2" = "" ] && return 0
|
||||
sed -i "/NXPLOG_\w\+_LOGLEVEL/ s/0x03/0x02/" "${2}"
|
||||
sed -i "s/NFC_DEBUG_ENABLED=1/NFC_DEBUG_ENABLED=0/" "${2}"
|
||||
;;
|
||||
*)
|
||||
return 1
|
||||
;;
|
||||
vendor/lib64/libdlbdsservice.so | vendor/lib/libstagefright_soft_ac4dec.so | vendor/lib/libstagefright_soft_ddpdec.so)
|
||||
"${PATCHELF}" --replace-needed "libstagefright_foundation.so" "libstagefright_foundation-v33.so" "${2}"
|
||||
;;
|
||||
esac
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
function blob_fixup_dry() {
|
||||
blob_fixup "$1" ""
|
||||
}
|
||||
|
||||
# Initialize the helper
|
||||
|
||||
@@ -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,14 @@
|
||||
<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="aidl" optional="true">
|
||||
<name>android.hardware.power</name>
|
||||
<version>5</version>
|
||||
@@ -201,7 +217,7 @@
|
||||
</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 +574,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,inlinecrypt,gc_merge,atgc,checkpoint_merge,compress_algorithm=lz4,compress_extension=apk,compress_extension=apex,compress_extension=so latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,keydirectory=/metadata/vold/metadata_encryption,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
|
||||
@@ -41,6 +41,8 @@ void set_variant_props(const variant_info_t variant) {
|
||||
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,6 @@ PRODUCT_MANUFACTURER := Xiaomi
|
||||
PRODUCT_CHARACTERISTICS := nosdcard
|
||||
|
||||
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi
|
||||
|
||||
# Set BUILD_FINGERPRINT variable to be picked up by both system and vendor build.prop
|
||||
BUILD_FINGERPRINT := Xiaomi/raphael/raphael:11/RKQ1.200826.002/V12.5.2.0.RFKMIXM:user/release-keys
|
||||
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,
|
||||
|
||||
@@ -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>
|
||||
@@ -69,7 +69,7 @@ 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
|
||||
-product/app/PowerOffAlarm/PowerOffAlarm.apk;NODEXPO
|
||||
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
|
||||
@@ -130,6 +130,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 +140,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 +156,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;NODEXPO;REQUIRED=CneApp.libvndfwk_detect_jni.qti_symlink|345dc6c677e9bd7a7d36033b8955e90d2a1594d5
|
||||
vendor/app/IWlanService/IWlanService.apk;NODEXPO|9ea57bfbf58799a564fcf498de9f5fe3506f7342
|
||||
vendor/bin/cnd|953858869b513828894800bf8556f3845d9665a2
|
||||
vendor/etc/cne/wqeclient/ATT/ATT_profile1.xml|578f3f8f56059bfdbef926bcc68d01c15e06951f
|
||||
vendor/etc/cne/wqeclient/ATT/ATT_profile2.xml|1fb42c672a12b6660bdce3ea94e0c43719dd9de8
|
||||
@@ -187,12 +188,13 @@ 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/lib64/libcne.so|e14de8a25090dbf51b12ec5df580987ea2aa21a0
|
||||
vendor/lib/libxml.so|e46a4dd57f543b0cbb897e5d861e987b9f0200bf
|
||||
vendor/lib64/libcne.so;DISABLE_CHECKELF|e14de8a25090dbf51b12ec5df580987ea2aa21a0
|
||||
vendor/lib64/libcneapiclient.so|0973dc05f6d6d9c469fc804693af79e6f3a5056a
|
||||
vendor/lib64/libcneoplookup.so|60d6abe85061de4fa75e5e4f69d477f37f1f8f64
|
||||
vendor/lib64/libcneqmiutils.so|c2e2658698eb8b312ca6b28c1a1088a331bb28b9
|
||||
vendor/lib64/libwms.so|1c06f999f2aec3bd58237d4892fee0cec40469fd
|
||||
vendor/lib64/libwqe.so|79e58584614ca98773122e9dfa976caf366d2cc5
|
||||
vendor/lib64/libwqe.so;DISABLE_CHECKELF|79e58584614ca98773122e9dfa976caf366d2cc5
|
||||
vendor/lib64/libxml.so|6d5f9b6be0212bde7b961803fec9302e8529b54a
|
||||
vendor/lib64/vendor.qti.data.factory@2.0.so|748bfbaa57a409b8962e2b1725e1415e423a7315
|
||||
vendor/lib64/vendor.qti.data.factory@2.1.so|bb1f3fa22563282ee24bf03ca681fdc45551feef
|
||||
@@ -301,6 +303,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
|
||||
@@ -394,7 +397,7 @@ vendor/lib64/camera/fdconfigpreviewlite.bin
|
||||
vendor/lib64/camera/fdconfigvideo.bin
|
||||
vendor/lib64/camera/fdconfigvideolite.bin
|
||||
vendor/lib64/hw/camera.qcom.so
|
||||
vendor/lib64/hw/com.qti.chi.override.so
|
||||
vendor/lib64/hw/com.qti.chi.override.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libFaceGrade.so
|
||||
vendor/lib64/libHalSuperSensorServer.so
|
||||
vendor/lib64/libSNPE.so
|
||||
@@ -403,10 +406,10 @@ vendor/lib64/libSuperSensorCPU.so
|
||||
vendor/lib64/libVDClearShot.so
|
||||
vendor/lib64/libXMFD_AgeGender.so
|
||||
vendor/lib64/lib_denoiser3.so
|
||||
vendor/lib64/libalAILDC.so
|
||||
vendor/lib64/libalAILDC.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libalCFR.so
|
||||
vendor/lib64/libalLDC.so
|
||||
vendor/lib64/libalhLDC.so
|
||||
vendor/lib64/libalLDC.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libalhLDC.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libarcsat.so
|
||||
vendor/lib64/libarcsoft_beautyshot.so
|
||||
vendor/lib64/libarcsoft_bodyslim.so
|
||||
@@ -414,9 +417,9 @@ vendor/lib64/libarcsoft_distortion_correction.so
|
||||
vendor/lib64/libarcsoft_dualcam_image_optical_zoom.so
|
||||
vendor/lib64/libarcsoft_dualcam_optical_zoom_control.so
|
||||
vendor/lib64/libarcsoft_dualcam_refocus.so
|
||||
vendor/lib64/libarcsoft_dualcam_refocus_front.so
|
||||
vendor/lib64/libarcsoft_dualcam_refocus_rear_t.so
|
||||
vendor/lib64/libarcsoft_dualcam_refocus_rear_w.so
|
||||
vendor/lib64/libarcsoft_dualcam_refocus_front.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libarcsoft_dualcam_refocus_rear_t.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libarcsoft_dualcam_refocus_rear_w.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libarcsoft_high_dynamic_range.so
|
||||
vendor/lib64/libarcsoft_low_light_hdr.so
|
||||
vendor/lib64/libarcsoft_portrait_lighting.so
|
||||
@@ -443,7 +446,7 @@ vendor/lib64/libmialgo_fs.so
|
||||
vendor/lib64/libmialgo_rfs.so
|
||||
vendor/lib64/libmialgo_sd.so
|
||||
vendor/lib64/libmialgo_utils.so
|
||||
vendor/lib64/libmialgoengine.so
|
||||
vendor/lib64/libmialgoengine.so;DISABLE_CHECKELF
|
||||
vendor/lib64/libmibokeh_855.so
|
||||
vendor/lib64/libmpbase.so
|
||||
vendor/lib64/libnanopb.so
|
||||
@@ -469,8 +472,25 @@ 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
|
||||
|
||||
# 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.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
|
||||
system_ext/etc/dpm/dpm.conf|95e27da8c989e96c6faea6f0697bce11955b62a5
|
||||
@@ -485,13 +505,14 @@ 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/priv-app/dpmserviceapp/dpmserviceapp.apk;NODEXPO|ebf1f753ed24f8b6ba87c5f27c628889c38d0a85
|
||||
|
||||
# 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/com.qualcomm.qti.dpm.api@1.0.so;MODULE_SUFFIX=_vendor|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 +520,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
|
||||
@@ -512,7 +533,7 @@ vendor/lib/libcppf.so
|
||||
vendor/lib/libdrmfs.so
|
||||
vendor/lib/librmp.so
|
||||
vendor/lib/libtrustedapploader.so
|
||||
vendor/lib/mediadrm/libwvdrmengine.so
|
||||
vendor/lib/mediadrm/libwvdrmengine.so;DISABLE_CHECKELF
|
||||
vendor/lib64/hw/vendor.qti.hardware.qseecom@1.0-impl.so
|
||||
vendor/lib64/libGPreqcancel.so
|
||||
vendor/lib64/libGPreqcancel_svc.so
|
||||
@@ -537,7 +558,7 @@ vendor/lib64/libssd.so
|
||||
vendor/lib64/libtrustedapploader.so
|
||||
vendor/lib64/libtzdrmgenprov.so
|
||||
vendor/lib64/libwvhidl.so
|
||||
vendor/lib64/mediadrm/libwvdrmengine.so
|
||||
vendor/lib64/mediadrm/libwvdrmengine.so;DISABLE_CHECKELF
|
||||
vendor/lib64/vendor.qti.hardware.qseecom@1.0.so
|
||||
|
||||
# Display - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
@@ -545,18 +566,18 @@ 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
|
||||
system_ext/lib64/vendor.qti.hardware.fm@1.0.so|b9dc0797da5790a7d5f1c9a7a2fd9c4a7b87d304
|
||||
|
||||
# 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 +593,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;DISABLE_CHECKELF|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|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
|
||||
@@ -624,59 +646,51 @@ vendor/etc/init/android.hardware.gatekeeper@1.0-service-qti.rc|6e6249eb7df66b394
|
||||
vendor/lib/hw/android.hardware.gatekeeper@1.0-impl-qti.so|564543341a2f98ee2f75b71355e6c02adf6859e7
|
||||
vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so|7b0b612fe07a4e8520590e6941e2729227b1702e
|
||||
|
||||
# Graphics (Adreno) - from LA.UM.9.14.r1-20200-LAHAINA.QSSI13.0
|
||||
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|36794c5177c5d1e4c39b58297a07eb694ce9288c
|
||||
vendor/lib/egl/libEGL_adreno.so|6fa7746acee41f5c5b843502e48788b183cf0aff
|
||||
vendor/lib/egl/libGLESv1_CM_adreno.so|a8f127209e983ffa427b10fed646bd3741d3c653
|
||||
vendor/lib/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib/libGLESv2_adreno.so|530b251b1af116f518007f34d66f0801033c6178
|
||||
vendor/lib/egl/libVkLayer_ADRENO_qprofiler.so;SYMLINK=vendor/lib/libVkLayer_ADRENO_qprofiler.so|d4f26d511cd4f98b94c18f145d3246230fbc6d25
|
||||
vendor/lib/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib/libq3dtools_adreno.so|381e2d2123f5a6bb1edcc3e281c38acf953ff08b
|
||||
vendor/lib/egl/libq3dtools_esx.so|f0018cad37986629ace20146b9ddba5f6882159d
|
||||
vendor/lib/hw/vulkan.adreno.so|c16d86d34a72be7a69b19e453a1903925abe16cc
|
||||
vendor/lib/libCB.so|6a3cdb29ae4a3bf199c826dd966e6bd7182a1883
|
||||
vendor/lib/libOpenCL.so|55d34f35f21e70aafb19c3bfb0edc715ef83c543
|
||||
vendor/lib/libOpenCL_adreno.so|b90752ae53d16c9e9cede2b38d4a8109b39217b8
|
||||
vendor/lib/libadreno_app_profiles.so|4ad675ed078d0c859fbd82ba32b16acfb00c3447
|
||||
vendor/lib/libadreno_utils.so|f8cd5fe4ccf77b211ad379aee5bbf401788f1880
|
||||
vendor/lib/libgsl.so|f11778a1870dfbb1c5b6bdd202d938dd0d4ec79b
|
||||
vendor/lib/libkcl.so|a504b8d00e87070f7b39a390b5199e971ab3f3e4
|
||||
vendor/lib/libkernelmanager.so|9314f26594fbca2c3993b8c91252bffcacb0592b
|
||||
vendor/lib/libllvm-glnext.so|b65ee37ba2fb63700ea38dbe39731bf1e51459b2
|
||||
vendor/lib/libllvm-qcom.so|c5d5324ceae72f6016020e75d4b8b9dcdde7776d
|
||||
vendor/lib/libllvm-qgl.so|0fd44f9a0029a18cbc1cc5aec3562cc0a0d0060e
|
||||
vendor/lib64/egl/eglSubDriverAndroid.so|3dabc44583b7d9efae2663f359f2c5d1053d6002
|
||||
vendor/lib64/egl/libEGL_adreno.so|860ed2358e89c555b738a0bb578e68da7c00e6c8
|
||||
vendor/lib64/egl/libGLESv1_CM_adreno.so|4538678560a8aa062b00f6690e4b268896c1b59d
|
||||
vendor/lib64/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib64/libGLESv2_adreno.so|fbc82874ae90a9163257990048cbb077e6828f57
|
||||
vendor/lib64/egl/libVkLayer_ADRENO_qprofiler.so;SYMLINK=vendor/lib64/libVkLayer_ADRENO_qprofiler.so|2fa3a828512eadd1afbb132099547d496ba65be2
|
||||
vendor/lib64/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib64/libq3dtools_adreno.so|421f7776fda70f2ba8212790e9ac69a3f7288f77
|
||||
vendor/lib64/egl/libq3dtools_esx.so|22cc73afe2f8167a0f9953a33ff2eaa465dcfb34
|
||||
vendor/lib64/hw/vulkan.adreno.so|f6db97058a3b806367b37b71b9961c00dbbb4f0c
|
||||
vendor/lib64/libCB.so|1e1f68f4e954617b8879ca980367ef53e82864a3
|
||||
vendor/lib64/libOpenCL.so|98fe18af9ed6b4c366f0d0ca17c707afca57f3a8
|
||||
vendor/lib64/libOpenCL_adreno.so|2b1dae0e6b8a8cec153a4b68683c6c3b0da3ce54
|
||||
vendor/lib64/libadreno_app_profiles.so|26b8f09515c6b8b30a2c6d250434af6f874ced4e
|
||||
vendor/lib64/libadreno_utils.so|fbac8ba895413d3a9ded32226b0f494d33aad6f0
|
||||
vendor/lib64/libgsl.so|1420520b888230d4735c2a342314e7c96e649ed5
|
||||
vendor/lib64/libkcl.so|ca6e21ab2bffb2513d3c0cd2088fb2112b230833
|
||||
vendor/lib64/libkernelmanager.so|b1e5b3860bd2fab9074731c4d24583dfa0897e00
|
||||
vendor/lib64/libllvm-glnext.so|c297d4eaf59a52474f629fe049a61161b3dbea63
|
||||
vendor/lib64/libllvm-qcom.so|d36b8211b59ff12f9bf5e13d0b4253a77f28d8ac
|
||||
vendor/lib64/libllvm-qgl.so|e69f777067b49a4e54970b5d6b0e7622f56c1412
|
||||
|
||||
# Graphics (Adreno) - from nabu V13.0.3.0.RKXCNXM
|
||||
vendor/lib/libC2D2.so|fafaeb8e08cc62dbad97d1c73af524ae47806c7c
|
||||
vendor/lib/libc2d30_bltlib.so;DISABLE_CHECKELF|cbd2c5b449d568f36ef13cd9fa6774e07db4265b
|
||||
vendor/lib64/libC2D2.so|fafaeb8e08cc62dbad97d1c73af524ae47806c7c
|
||||
vendor/lib64/libc2d30_bltlib.so;DISABLE_CHECKELF|cbd2c5b449d568f36ef13cd9fa6774e07db4265b
|
||||
|
||||
# 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
|
||||
@@ -706,8 +726,8 @@ vendor/firmware/a640_zap.elf
|
||||
vendor/firmware/a640_zap.mdt
|
||||
|
||||
# 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;NODEXPO|62e301d2f386771facd9a9aa546c0fcc241116da
|
||||
-product/priv-app/HotwordEnrollmentXGoogleHEXAGON/HotwordEnrollmentXGoogleHEXAGON.apk;NODEXPO|8639661f6fad570723bc6f2759da76604bd804fa
|
||||
system_ext/etc/permissions/com.android.hotwordenrollment.common.util.xml|563a58554d9c0dd0608552b644fbf74519a447bb
|
||||
system_ext/framework/com.android.hotwordenrollment.common.util.jar|bef92589e75a6da6043f85f4b9b0e85866429624
|
||||
|
||||
@@ -769,27 +789,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 +804,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 +819,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|11209316ba8aae64b689217bc13b0804f6620678
|
||||
vendor/lib/libqcodec2.so|ba383c1eca48b29f1e0087970671a55167c96636
|
||||
vendor/lib64/libqcodec2.so|ba383c1eca48b29f1e0087970671a55167c96636
|
||||
|
||||
# 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 +836,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 +849,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 +887,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 +908,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
|
||||
@@ -932,8 +923,7 @@ 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-imsvideocodec.so;DISABLE_CHECKELF|ba0a0696b468ee2458c196b3d252656d20eb197f
|
||||
system_ext/lib64/lib-imsvt.so|f795cc87119b49587dbb1f3e4349fcf67b0610ed
|
||||
system_ext/lib64/lib-imsvtextutils.so|50a092eb7b490f4307bddb3d5a4c595b458bc503
|
||||
system_ext/lib64/lib-imsvtutils.so|9a7f904b12a066038c2b5725610e8dd45e3f75ed
|
||||
@@ -941,10 +931,11 @@ 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
|
||||
system_ext/priv-app/ims/ims.apk;NODEXPO|ed68ecd630ddbd49e88bd0b2e3b50ee35c334ef0
|
||||
|
||||
# Radio (IMS) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
vendor/bin/ims_rtp_daemon|514b4f3a8483c21526d98634aaf8f01e3a59328a
|
||||
vendor/bin/imsdatadaemon|41a10f6f2431a8b2acc29a539f6007aadf43ac26
|
||||
vendor/bin/imsdatadaemon;DISABLE_CHECKELF|41a10f6f2431a8b2acc29a539f6007aadf43ac26
|
||||
vendor/bin/imsqmidaemon|01cf9da152d3d816b1b2e8ac425cb6e5942bd6b7
|
||||
vendor/bin/imsrcsd|bf29aac14856f29268c01599e5f6c7c6ae520685
|
||||
vendor/etc/init/ims_rtp_daemon.rc|06510e936890f51aeb76f2cf3ed5dbe45e67ac20
|
||||
@@ -991,16 +982,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
|
||||
system_ext/app/QtiTelephonyService/QtiTelephonyService.apk;NODEXPO|a32f88ddcc8f9cba18aa5697ee5bd52201e89b13
|
||||
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/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk;NODEXPO|60af440aae61fcd6939af56a0b94d9b9ef5ebd55
|
||||
|
||||
# Radio (vendor) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
vendor/bin/ATFWD-daemon|98b712409955b49330f7e179da8019be723850a3
|
||||
@@ -1028,9 +1019,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 +1045,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 +1136,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 +1153,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 +1162,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 +1171,7 @@ vendor/lib64/libscveObjectTracker.so|0cf7d3128ae0019d882da5c9d8d9186d549177d1
|
||||
vendor/lib64/libscveObjectTracker_stub.so|6f45aa215de07dfeacf811c06af750206bb1cf58
|
||||
|
||||
# Soter
|
||||
-app/SoterService/SoterService.apk
|
||||
-app/SoterService/SoterService.apk;NODEXPO
|
||||
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
|
||||
@@ -1189,12 +1183,11 @@ vendor/bin/ssr_setup
|
||||
# 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
|
||||
# Thermal - from barbet 12 S2B2.211203.006-8015633
|
||||
vendor/lib64/libthermalclient.so|0a12301d1557583db10f730d1d3cced841448b99
|
||||
|
||||
# Time - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
|
||||
-vendor/app/TimeService/TimeService.apk|92317b3b72586489456d37057b4c3c8e55863923
|
||||
vendor/app/TimeService/TimeService.apk;NODEXPO|92317b3b72586489456d37057b4c3c8e55863923
|
||||
vendor/bin/time_daemon|48401d7f85c87aa3e12ce7b4a969a50cbf59c293
|
||||
vendor/etc/init/init.time_daemon.rc|b253ca2a498757e14e1d7a051bf504ae09218f51
|
||||
vendor/lib64/libtime_genoff.so|8bb116ad297a5e4a94da2f10509509cb6e863a5f
|
||||
|
||||
@@ -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>
|
||||
@@ -474,8 +448,8 @@
|
||||
<item>"/apex/com.android.art/javalib/core-libart.jar"</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>
|
||||
|
||||
<!-- Maximum number of supported users -->
|
||||
<integer name="config_multiuserMaximumUsers">4</integer>
|
||||
@@ -511,14 +485,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 +563,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 +575,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 +599,9 @@
|
||||
<!-- 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 -->
|
||||
<!-- 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>
|
||||
</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>
|
||||
|
||||
@@ -4,9 +4,6 @@
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
<!-- Bottom margin size when fingerprint in display is active -->
|
||||
<dimen name="keyguard_indication_margin_bottom_fingerprint_in_display">25dp</dimen>
|
||||
|
||||
<!-- UDFPS recognizing animation vertical position offset -->
|
||||
<dimen name="udfps_animation_offset">35dp</dimen>
|
||||
</resources>
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
<application android:allowBackup="false"/>
|
||||
<overlay
|
||||
android:isStatic="true"
|
||||
android:priority="550"
|
||||
android:priority="900"
|
||||
android:targetPackage="com.android.phone" />
|
||||
</manifest>
|
||||
|
||||
@@ -18,5 +18,5 @@ runtime_resource_overlay {
|
||||
name: "TetheringConfigOverlay",
|
||||
theme: "TetheringConfigOverlay",
|
||||
sdk_version: "current",
|
||||
product_specific: true
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
@@ -7,5 +7,5 @@
|
||||
android:targetPackage="com.android.networkstack.tethering"
|
||||
android:targetName="TetheringConfig"
|
||||
android:isStatic="true"
|
||||
android:priority="750"/>
|
||||
android:priority="900"/>
|
||||
</manifest>
|
||||
|
||||
@@ -2,5 +2,5 @@ runtime_resource_overlay {
|
||||
name: "WifiOverlay",
|
||||
theme: "WifiOverlay",
|
||||
sdk_version: "current",
|
||||
product_specific: true
|
||||
vendor: true
|
||||
}
|
||||
|
||||
@@ -83,4 +83,8 @@
|
||||
|
||||
<!-- Boolean indicating that wifi only link configuratios that have exact same credentials (i.e PSK) -->
|
||||
<bool translatable="false" name="config_wifi_only_link_same_credential_configurations">false</bool>
|
||||
|
||||
<!-- Enable concurrent restricted connectivity + internet connectivity
|
||||
Note: this is conditional on the device supporting dual concurrent STAs. -->
|
||||
<bool translatable="false" name="config_wifiMultiStaRestrictedConcurrencyEnabled">true</bool>
|
||||
</resources>
|
||||
|
||||
3
sepolicy/vendor/app.te
vendored
3
sepolicy/vendor/app.te
vendored
@@ -1,9 +1,6 @@
|
||||
get_prop({ appdomain -isolated_app_all }, vendor_fp_prop)
|
||||
get_prop({ appdomain -isolated_app_all }, vendor_tee_listener_prop)
|
||||
|
||||
dontaudit appdomain sysfs_msm_subsys:dir search;
|
||||
dontaudit appdomain sysfs_msm_subsys:file r_file_perms;
|
||||
|
||||
allow { appdomain -isolated_app_all } adsprpcd_file:dir r_dir_perms;
|
||||
allow { appdomain -isolated_app_all } public_adsprpcd_file:file r_file_perms;
|
||||
allow { appdomain -isolated_app_all } vendor_xdsp_device:chr_file r_file_perms;
|
||||
|
||||
4
sepolicy/vendor/attributes
vendored
Normal file
4
sepolicy/vendor/attributes
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
# HALs
|
||||
attribute hal_dms;
|
||||
attribute hal_dms_client;
|
||||
attribute hal_dms_server;
|
||||
2
sepolicy/vendor/bootanim.te
vendored
2
sepolicy/vendor/bootanim.te
vendored
@@ -1,2 +0,0 @@
|
||||
dontaudit bootanim sysfs_msm_subsys:dir search;
|
||||
dontaudit bootanim sysfs_msm_subsys:file r_file_perms;
|
||||
2
sepolicy/vendor/cameraserver.te
vendored
Normal file
2
sepolicy/vendor/cameraserver.te
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
allow cameraserver sysfs_torch:file rw_file_perms;
|
||||
allow cameraserver sysfs_leds:dir r_dir_perms;
|
||||
1
sepolicy/vendor/dontaudit.te
vendored
1
sepolicy/vendor/dontaudit.te
vendored
@@ -1,4 +1,5 @@
|
||||
dontaudit untrusted_app ashmem_device:chr_file open;
|
||||
dontaudit vendor_thermal-engine self:capability dac_override;
|
||||
|
||||
dontaudit {
|
||||
hal_audio_default
|
||||
|
||||
3
sepolicy/vendor/file.te
vendored
3
sepolicy/vendor/file.te
vendored
@@ -18,6 +18,9 @@ type sysfs_msm_boot, fs_type, sysfs_type;
|
||||
type sysfs_touchpanel, fs_type, sysfs_type;
|
||||
type pps_socket, file_type;
|
||||
|
||||
# Torch
|
||||
type sysfs_torch, fs_type, sysfs_type;
|
||||
|
||||
# Powerstats
|
||||
type sysfs_power_stats, fs_type, sysfs_type;
|
||||
type sysfs_power_stats_ignore, sysfs_type, fs_type;
|
||||
|
||||
12
sepolicy/vendor/file_contexts
vendored
12
sepolicy/vendor/file_contexts
vendored
@@ -8,6 +8,9 @@
|
||||
# Charger
|
||||
/vendor/bin/batterysecret u:object_r:batterysecret_exec:s0
|
||||
|
||||
# Data files
|
||||
/data/vendor/dolby(/.*)? u:object_r:vendor_data_file:s0
|
||||
|
||||
# Devices
|
||||
/dev/akm09970 u:object_r:hall_device:s0
|
||||
/dev/drv8846_dev u:object_r:motor_device:s0
|
||||
@@ -23,11 +26,12 @@
|
||||
/sys/devices/virtual/touch/tp_dev/fp_state u:object_r:vendor_sysfs_sensors:s0
|
||||
|
||||
# HALs
|
||||
/vendor/bin/hw/android\.hardware\.biometrics\.fingerprint@2\.3-service\.xiaomi_raphael u:object_r:hal_fingerprint_default_exec:s0
|
||||
/vendor/bin/hw/android\.hardware\.biometrics\.fingerprint-service\.xiaomi u:object_r:hal_fingerprint_default_exec:s0
|
||||
/vendor/bin/hw/android\.hardware\.light@2\.0-service\.xiaomi_raphael u:object_r:hal_light_default_exec:s0
|
||||
/vendor/bin/hw/android\.hardware\.power-service\.pixel-libperfmgr u:object_r:hal_power_default_exec:s0
|
||||
/vendor/bin/hw/android\.hardware\.power\.stats@1\.0-service\.raphael u:object_r:hal_power_stats_default_exec:s0
|
||||
/vendor/bin/hw/android\.hardware\.thermal-service\.pixel u:object_r:hal_thermal_default_exec:s0
|
||||
/vendor/bin/hw/vendor\.dolby\.hardware\.dms@2\.0-service u:object_r:hal_dms_default_exec:s0
|
||||
/vendor/bin/hw/vendor\.xiaomi\.hardware\.motor@1\.0-service u:object_r:hal_motor_default_exec:s0
|
||||
/vendor/bin/mlipayd@1\.1 u:object_r:hal_mlipay_default_exec:s0
|
||||
/vendor/bin/sendhint u:object_r:sendhint_vendor_exec:s0
|
||||
@@ -55,9 +59,6 @@
|
||||
/(vendor|system/vendor)/bin/hw/vendor\.xiaomi\.hardware\.misys@2\.0-service u:object_r:hal_misys_default_exec:s0
|
||||
/(vendor|system/vendor)/bin/hw/vendor\.xiaomi\.hardware\.misys@3\.0-service u:object_r:hal_misys_default_exec:s0
|
||||
|
||||
# NFC
|
||||
/vendor/bin/hw/android\.hardware\.nfc_snxxx@1\.2-service u:object_r:hal_nfc_default_exec:s0
|
||||
|
||||
# Thermal
|
||||
/vendor/bin/thermal_symlinks u:object_r:init-thermal-symlinks-sh_exec:s0
|
||||
|
||||
@@ -77,3 +78,6 @@
|
||||
|
||||
#/dev/cpu_dma_latency u:object_r:latency_device:s0
|
||||
#/dev/socket/pps u:object_r:pps_socket:s0
|
||||
|
||||
#Graphics dependencies
|
||||
/vendor/lib(64)?/libOpenCL_adreno\.so u:object_r:same_process_hal_file:s0
|
||||
|
||||
22
sepolicy/vendor/genfs_contexts
vendored
22
sepolicy/vendor/genfs_contexts
vendored
@@ -2,18 +2,9 @@
|
||||
genfscon sysfs /kernel/boot_cdsp/boot u:object_r:sysfs_msm_boot:s0
|
||||
|
||||
# Display
|
||||
genfscon sysfs /devices/platform/soc/2c00000.qcom,kgsl-3d0 u:object_r:sysfs_msm_subsys:s0
|
||||
genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp u:object_r:sysfs_msm_subsys:s0
|
||||
genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/idle_state u:object_r:vendor_sysfs_graphics:s0
|
||||
genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/sde-crtc-0/early_wakeup u:object_r:vendor_sysfs_graphics:s0
|
||||
genfscon sysfs /devices/platform/soc/soc:qcom,cpu-cpu-llcc-bw u:object_r:sysfs_msm_subsys:s0
|
||||
genfscon sysfs /devices/platform/soc/soc:qcom,cpu-llcc-ddr-bw u:object_r:sysfs_msm_subsys:s0
|
||||
genfscon sysfs /devices/platform/soc/soc:qcom,cpu0-cpu-l3-lat u:object_r:sysfs_msm_subsys:s0
|
||||
genfscon sysfs /devices/platform/soc/soc:qcom,cpu4-cpu-l3-lat u:object_r:sysfs_msm_subsys:s0
|
||||
genfscon sysfs /devices/platform/soc/soc:qcom,cpu6-cpu-l3-lat u:object_r:sysfs_msm_subsys:s0
|
||||
genfscon sysfs /devices/platform/soc/soc:qcom,dsi-display u:object_r:vendor_sysfs_graphics:s0
|
||||
genfscon sysfs /devices/platform/soc/soc:qcom,gpubw u:object_r:sysfs_msm_subsys:s0
|
||||
genfscon sysfs /devices/platform/soc/soc:qcom,gpubw/devfreq u:object_r:sysfs_msm_subsys:s0
|
||||
|
||||
# CSC DC Dimming
|
||||
genfscon sysfs /devices/platform/soc/soc:qcom,dsi-display-primary/dc_dim u:object_r:vendor_sysfs_graphics:s0
|
||||
@@ -41,12 +32,12 @@ genfscon sysfs /devices/platform/soc/soc:maxim_ds28e16/power_supply/batt_verify
|
||||
# kmsg
|
||||
genfscon proc /last_kmsg u:object_r:proc_last_kmsg:s0
|
||||
|
||||
# LED
|
||||
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm6150l@5:qcom,leds@d300/leds/flashlight/brightness u:object_r:sysfs_leds:s0
|
||||
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm6150l@5:qcom,leds@d300/leds/led:torch_0/brightness u:object_r:sysfs_leds:s0
|
||||
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm6150l@5:qcom,leds@d300/leds/led:torch_1/brightness u:object_r:sysfs_leds:s0
|
||||
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm6150l@5:qcom,leds@d300/leds/led:switch_0/brightness u:object_r:sysfs_leds:s0
|
||||
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm6150l@5:qcom,leds@d300/leds/led:switch_1/brightness u:object_r:sysfs_leds:s0
|
||||
# Torch
|
||||
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_0/brightness u:object_r:sysfs_torch:s0
|
||||
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_0/max_brightness u:object_r:sysfs_torch:s0
|
||||
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_1/brightness u:object_r:sysfs_torch:s0
|
||||
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_1/max_brightness u:object_r:sysfs_torch:s0
|
||||
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:switch_2/brightness u:object_r:sysfs_torch:s0
|
||||
|
||||
# Touchpanel
|
||||
genfscon sysfs /touchpanel u:object_r:sysfs_touchpanel:s0
|
||||
@@ -59,7 +50,6 @@ genfscon sysfs /devices/0306_02.01.00/wakeup
|
||||
genfscon sysfs /devices/platform/goodix_ts.0/wakeup u:object_r:sysfs_wakeup:s0
|
||||
genfscon sysfs /devices/platform/soc/171c0000.slim/tavil-slim-pgd/wakeup u:object_r:sysfs_wakeup:s0
|
||||
genfscon sysfs /devices/platform/soc/17300000.qcom,lpass/wakeup u:object_r:sysfs_wakeup:s0
|
||||
genfscon sysfs /devices/platform/soc/18800000.qcom,icnss/wakeup u:object_r:sysfs_wakeup:s0
|
||||
genfscon sysfs /devices/platform/soc/188101c.qcom,spss/wakeup u:object_r:sysfs_wakeup:s0
|
||||
genfscon sysfs /devices/platform/soc/1c00000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/1101_00.01.00/wakeup u:object_r:sysfs_wakeup:s0
|
||||
genfscon sysfs /devices/platform/soc/1c10000.qcom,pcie/pci0002:00/0002:00:00.0/0002:01:00.0/0306_02.01.00_EFS/wakeup u:object_r:sysfs_wakeup:s0
|
||||
|
||||
4
sepolicy/vendor/hal_audio_default.te
vendored
4
sepolicy/vendor/hal_audio_default.te
vendored
@@ -2,3 +2,7 @@ set_prop(hal_audio_default, vendor_audio_prop)
|
||||
|
||||
allow hal_audio_default audio_socket:sock_file rw_file_perms;
|
||||
allow hal_audio_default system_suspend_hwservice:hwservice_manager find;
|
||||
|
||||
# Dolby
|
||||
allow hal_audio_default hal_dms_hwservice:hwservice_manager find;
|
||||
binder_call(hal_audio_default, hal_dms_default)
|
||||
|
||||
2
sepolicy/vendor/hal_bluetooth_default.te
vendored
2
sepolicy/vendor/hal_bluetooth_default.te
vendored
@@ -1,2 +1,2 @@
|
||||
r_dir_file(hal_bluetooth_default, vendor_wifi_vendor_data_file)
|
||||
allow hal_bluetooth_default vendor_diag_device:chr_file { read write };
|
||||
allow hal_bluetooth_default vendor_diag_device:chr_file { open read write ioctl getattr };
|
||||
|
||||
6
sepolicy/vendor/hal_dms.te
vendored
Normal file
6
sepolicy/vendor/hal_dms.te
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
# HwBinder IPC from client to server, and callbacks
|
||||
binder_call(hal_dms_client, hal_dms_server)
|
||||
binder_call(hal_dms_server, hal_dms_client)
|
||||
|
||||
add_hwservice(hal_dms_server, hal_dms_hwservice)
|
||||
allow hal_dms_client hal_dms_hwservice:hwservice_manager find;
|
||||
10
sepolicy/vendor/hal_dms_default.te
vendored
Normal file
10
sepolicy/vendor/hal_dms_default.te
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
type hal_dms_default, domain;
|
||||
hal_server_domain(hal_dms_default, hal_dms)
|
||||
type hal_dms_default_exec, exec_type, vendor_file_type, file_type;
|
||||
init_daemon_domain(hal_dms_default)
|
||||
|
||||
allow hal_dms_default vendor_data_file:file { rw_file_perms create unlink };
|
||||
allow hal_dms_default vendor_data_file:dir { rw_file_perms add_name remove_name };
|
||||
allow hal_dms_default mediacodec:binder call;
|
||||
binder_call(hal_dms_default, hal_audio_default)
|
||||
binder_call(hal_dms_default, platform_app)
|
||||
4
sepolicy/vendor/hal_fingerprint_default.te
vendored
4
sepolicy/vendor/hal_fingerprint_default.te
vendored
@@ -13,6 +13,7 @@ allow hal_fingerprint_default {
|
||||
}:chr_file rw_file_perms;
|
||||
|
||||
set_prop(hal_fingerprint_default, vendor_fp_prop)
|
||||
set_prop(hal_fingerprint_default, vendor_system_prop)
|
||||
|
||||
# Allow fp HAL to sent hint
|
||||
hal_client_domain(hal_fingerprint_default, hal_power)
|
||||
@@ -27,3 +28,6 @@ allow hal_fingerprint_default vendor_sysfs_graphics:file r_file_perms;
|
||||
|
||||
allow hal_fingerprint_default vendor_sysfs_spss:dir { search };
|
||||
allow hal_fingerprint_default vendor_sysfs_spss:file { open read };
|
||||
|
||||
allow hal_fingerprint_default sysfs_touchpanel:dir search;
|
||||
allow hal_fingerprint_default sysfs_touchpanel:file rw_file_perms;
|
||||
|
||||
@@ -2,3 +2,6 @@ get_prop(vendor_hal_neuralnetworks_default, vendor_adsprpc_prop)
|
||||
|
||||
# Allow vendor_hal_neuralnetworks_default to read fastrpc_shell_3
|
||||
allow vendor_hal_neuralnetworks_default public_adsprpcd_file:file r_file_perms;
|
||||
|
||||
# b/159570217 suppress warning related to zeroth.debuglog.logmask
|
||||
dontaudit vendor_hal_neuralnetworks_default default_prop:file { open read };
|
||||
|
||||
4
sepolicy/vendor/hal_power_default.te
vendored
4
sepolicy/vendor/hal_power_default.te
vendored
@@ -1,7 +1,5 @@
|
||||
binder_call(hal_power_default, hal_graphics_composer_default);
|
||||
|
||||
type sysfs_msm_subsys, sysfs_type, fs_type;
|
||||
|
||||
allow hal_power_default vendor_sysfs_kgsl:lnk_file rw_file_perms;
|
||||
|
||||
allow hal_power_default {
|
||||
@@ -14,7 +12,6 @@ allow hal_power_default {
|
||||
proc
|
||||
sysfs_devices_system_cpu
|
||||
sysfs_fs_f2fs
|
||||
sysfs_msm_subsys
|
||||
vendor_sysfs_devfreq
|
||||
vendor_sysfs_graphics
|
||||
vendor_sysfs_kgsl
|
||||
@@ -31,7 +28,6 @@ allow hal_power_default {
|
||||
|
||||
allow hal_power_default {
|
||||
sysfs_fs_f2fs
|
||||
sysfs_msm_subsys
|
||||
vendor_sysfs_devfreq
|
||||
}:dir search;
|
||||
|
||||
|
||||
3
sepolicy/vendor/hal_power_stats_default.te
vendored
3
sepolicy/vendor/hal_power_stats_default.te
vendored
@@ -15,9 +15,6 @@ r_dir_file(hal_power_stats_default, sysfs_iio_devices)
|
||||
# Needed to traverse platform low power stats
|
||||
r_dir_file(hal_power_stats_default, sysfs_power_stats)
|
||||
|
||||
# Needed to traverse subsystem low power stats
|
||||
r_dir_file(hal_power_stats_default, sysfs_msm_subsys)
|
||||
|
||||
# The following folders are incidentally accessed by hal_power_stats_default and are not needed.
|
||||
dontaudit hal_power_stats_default sysfs_power_stats_ignore:dir r_dir_perms;
|
||||
dontaudit hal_power_stats_default sysfs_power_stats_ignore:file r_file_perms;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user