Compare commits
147 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7d482dfe60 | ||
|
|
7636b1bbfb | ||
|
|
434439ccf1 | ||
|
|
c22ed9d9b6 | ||
|
|
9db9168319 | ||
|
|
e36f375149 | ||
|
|
cfba78d5a7 | ||
|
|
77bfe9c995 | ||
|
|
30b92a0675 | ||
|
|
e6d9367f48 | ||
|
|
555d1c436d | ||
|
|
a8d912ad01 | ||
|
|
f93568e23a | ||
|
|
36cfd1e2da | ||
|
|
b5b69d2b9d | ||
|
|
e1b1165132 | ||
|
|
179ad2d578 | ||
|
|
4fea2e4880 | ||
| 2d6d7f5fdf | |||
|
|
b7c4690056 | ||
|
|
3e478afe6e | ||
|
|
a027c016a7 | ||
|
|
aae822ca9e | ||
|
|
b276ef29e7 | ||
|
|
614fecf8b2 | ||
|
|
a1c7d2d201 | ||
|
|
cb7e87a2d4 | ||
|
|
b310e3564e | ||
|
|
18d5e9d2a2 | ||
|
|
1a932489a4 | ||
|
|
d663a76e46 | ||
|
|
60c87f84e9 | ||
|
|
1d7b208191 | ||
|
|
69c65d6bd6 | ||
|
|
8d4172e657 | ||
|
|
21e533fb30 | ||
|
|
a09a6b6bb1 | ||
|
|
636fd8f9e1 | ||
|
|
7b12560f53 | ||
|
|
433530a533 | ||
|
|
998d64e32f | ||
|
|
34e630af7f | ||
|
|
75884cf850 | ||
|
|
72aa10f45d | ||
|
|
0d11f3e21f | ||
|
|
09edce7030 | ||
|
|
3056964b53 | ||
|
|
cc303d4421 | ||
|
|
125b160e19 | ||
|
|
a0015841a6 | ||
|
|
a52e10e21a | ||
|
|
df79dc954f | ||
|
|
97e049cf08 | ||
|
|
df4c5927e0 | ||
|
|
54d56617e6 | ||
|
|
dc31c2a5e0 | ||
|
|
e78d5611af | ||
|
|
bca9ab4cf3 | ||
|
|
3bd8ce1a2e | ||
|
|
76565036ac | ||
|
|
bc6e8716c4 | ||
|
|
3ed9012299 | ||
|
|
50d6e22e0d | ||
|
|
864a5ff58e | ||
|
|
c1581ea136 | ||
|
|
68462ab38d | ||
|
|
4378deb064 | ||
|
|
532e771755 | ||
|
|
0d2c1fa036 | ||
|
|
d9b7c12ce8 | ||
|
|
e3b2534115 | ||
|
|
fe64c1be9b | ||
|
|
d99f4b6f9f | ||
|
|
473c9ec3c6 | ||
|
|
d74b282932 | ||
|
|
a5f861d29c | ||
|
|
c60f1dafdb | ||
|
|
48015ca1b6 | ||
|
|
261c7c0569 | ||
|
|
1a579be1c6 | ||
|
|
7bbc721ada | ||
|
|
baf778b742 | ||
|
|
ccc61227af | ||
|
|
ad5d6454b9 | ||
|
|
49e9f74bde | ||
|
|
cf48a74a89 | ||
|
|
8e90c0ead5 | ||
|
|
bdb25edc1b | ||
|
|
1c2e663bbe | ||
|
|
b9a7eb601e | ||
|
|
d8464b7590 | ||
|
|
4960bd765a | ||
|
|
466757d495 | ||
|
|
d8aa9b1a90 | ||
|
|
fbbaeb386c | ||
| a04a7f88f5 | |||
|
|
ea14f297b8 | ||
|
|
1ccaa45839 | ||
|
|
4bfcba038e | ||
|
|
b4ed212e0a | ||
|
|
b10d6c5200 | ||
|
|
315d1a5906 | ||
|
|
db824d3ec7 | ||
|
|
200d7740bd | ||
|
|
aa01a2847f | ||
|
|
c04204c8ff | ||
|
|
f55ed56610 | ||
|
|
4468ef3e61 | ||
|
|
185aff8ce0 | ||
|
|
9abf9d6995 | ||
|
|
811394557c | ||
|
|
bbc2b7373f | ||
|
|
9d072b0390 | ||
|
|
ca40024bda | ||
|
|
b193dea89f | ||
|
|
aae24cee54 | ||
|
|
3acf78511b | ||
|
|
48822669c3 | ||
|
|
0c9342553b | ||
|
|
8c18d0c50d | ||
|
|
c711ffb102 | ||
|
|
2409bfa771 | ||
|
|
3d75aa91b2 | ||
|
|
c26e3a25d7 | ||
|
|
017afb27e3 | ||
|
|
62c520e4a6 | ||
|
|
16e90f8bd7 | ||
|
|
9e92c4b3df | ||
|
|
acf734767d | ||
|
|
87977b2794 | ||
|
|
2c2c848569 | ||
|
|
02c35b2ca1 | ||
|
|
24cbbe2104 | ||
|
|
f2699a7614 | ||
|
|
a7940bf3d1 | ||
|
|
61e629d9f6 | ||
|
|
34bbb95d4c | ||
|
|
a6ff654651 | ||
|
|
f6228f3c34 | ||
|
|
9940956789 | ||
|
|
b7364a0d2f | ||
|
|
e6d162888f | ||
|
|
973e795d27 | ||
|
|
fb8b166860 | ||
|
|
4b591c5df0 | ||
|
|
d80ee1fea3 | ||
|
|
9b57878eb0 |
19
Android.bp
19
Android.bp
@@ -1,3 +1,8 @@
|
||||
//
|
||||
// Copyright (C) 2024 The LineageOS Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
soong_namespace {
|
||||
imports: [
|
||||
"hardware/google/interfaces",
|
||||
@@ -5,3 +10,17 @@ soong_namespace {
|
||||
"hardware/xiaomi",
|
||||
],
|
||||
}
|
||||
|
||||
install_symlink {
|
||||
name: "firmware_wlan_mac.bin_symlink",
|
||||
vendor: true,
|
||||
installed_location: "firmware/wlan/qca_cld/wlan_mac.bin",
|
||||
symlink_target: "/mnt/vendor/persist/wlan_mac.bin",
|
||||
}
|
||||
|
||||
install_symlink {
|
||||
name: "firmware_WCNSS_qcom_cfg.ini_symlink",
|
||||
vendor: true,
|
||||
installed_location: "firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini",
|
||||
symlink_target: "/vendor/etc/wifi/WCNSS_qcom_cfg.ini",
|
||||
}
|
||||
|
||||
63
Android.mk
63
Android.mk
@@ -1,63 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2018-2024 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
ifneq ($(filter beryllium dipper equuleus perseus polaris ursa,$(TARGET_DEVICE)),)
|
||||
include $(call all-makefiles-under,$(LOCAL_PATH))
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
# A/B builds require us to create the mount points at compile time.
|
||||
# Just creating it for all cases since it does not hurt.
|
||||
FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/firmware_mnt
|
||||
$(FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "Creating $(FIRMWARE_MOUNT_POINT)"
|
||||
@mkdir -p $(TARGET_OUT_VENDOR)/firmware_mnt
|
||||
|
||||
BT_FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/bt_firmware
|
||||
$(BT_FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "Creating $(BT_FIRMWARE_MOUNT_POINT)"
|
||||
@mkdir -p $(TARGET_OUT_VENDOR)/bt_firmware
|
||||
|
||||
DSP_MOUNT_POINT := $(TARGET_OUT_VENDOR)/dsp
|
||||
$(DSP_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "Creating $(DSP_MOUNT_POINT)"
|
||||
@mkdir -p $(TARGET_OUT_VENDOR)/dsp
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT)
|
||||
|
||||
WCNSS_INI_SYMLINK := $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini
|
||||
$(WCNSS_INI_SYMLINK): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "WCNSS config ini link: $@"
|
||||
@mkdir -p $(dir $@)
|
||||
@rm -rf $@
|
||||
$(hide) ln -sf /vendor/etc/wifi/$(notdir $@) $@
|
||||
|
||||
WCNSS_MAC_SYMLINK := $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld/wlan_mac.bin
|
||||
$(WCNSS_MAC_SYMLINK): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "WCNSS MAC bin link: $@"
|
||||
@mkdir -p $(dir $@)
|
||||
@rm -rf $@
|
||||
$(hide) ln -sf /mnt/vendor/persist/$(notdir $@) $@
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(WCNSS_INI_SYMLINK) $(WCNSS_MAC_SYMLINK)
|
||||
|
||||
LPFLASH := $(HOST_OUT_EXECUTABLES)/lpflash$(HOST_EXECUTABLE_SUFFIX)
|
||||
INSTALLED_SUPERIMAGE_DUMMY_TARGET := $(PRODUCT_OUT)/super_dummy.img
|
||||
|
||||
$(INSTALLED_SUPERIMAGE_DUMMY_TARGET): $(PRODUCT_OUT)/super_empty.img $(LPFLASH)
|
||||
$(call pretty,"Target dummy super image: $@")
|
||||
$(hide) touch $@
|
||||
$(hide) echo $(CURDIR)
|
||||
$(hide) $(LPFLASH) $(CURDIR)/$@ $(CURDIR)/$(PRODUCT_OUT)/super_empty.img
|
||||
|
||||
.PHONY: super_dummyimage
|
||||
super_dummyimage: $(INSTALLED_SUPERIMAGE_DUMMY_TARGET)
|
||||
|
||||
INSTALLED_RADIOIMAGE_TARGET += $(INSTALLED_SUPERIMAGE_DUMMY_TARGET)
|
||||
|
||||
endif
|
||||
@@ -4,24 +4,22 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
BOARD_VENDOR := xiaomi
|
||||
|
||||
BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
|
||||
|
||||
COMMON_PATH := device/xiaomi/sdm845-common
|
||||
|
||||
# Architecture
|
||||
TARGET_ARCH := arm64
|
||||
TARGET_ARCH_VARIANT := armv8-2a
|
||||
TARGET_ARCH_VARIANT := armv8-a
|
||||
TARGET_CPU_ABI := arm64-v8a
|
||||
TARGET_CPU_ABI2 :=
|
||||
TARGET_CPU_VARIANT:= kryo385
|
||||
TARGET_CPU_VARIANT := generic
|
||||
TARGET_CPU_VARIANT_RUNTIME := kryo385
|
||||
|
||||
TARGET_2ND_ARCH := arm
|
||||
TARGET_2ND_ARCH_VARIANT := armv8-2a
|
||||
TARGET_2ND_ARCH_VARIANT := armv8-a
|
||||
TARGET_2ND_CPU_ABI := armeabi-v7a
|
||||
TARGET_2ND_CPU_ABI2 := armeabi
|
||||
TARGET_2ND_CPU_VARIANT := kryo385
|
||||
TARGET_2ND_CPU_VARIANT := generic
|
||||
TARGET_2ND_CPU_VARIANT_RUNTIME := kryo385
|
||||
|
||||
# Bootloader
|
||||
TARGET_BOOTLOADER_BOARD_NAME := sdm845
|
||||
@@ -32,11 +30,12 @@ BOARD_BOOT_HEADER_VERSION := 1
|
||||
BOARD_KERNEL_BASE := 0x00000000
|
||||
BOARD_KERNEL_CMDLINE := console=ttyMSM0,115200n8 earlycon=msm_geni_serial,0xA84000 androidboot.hardware=qcom androidboot.console=ttyMSM0 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048 androidboot.configfs=true loop.max_part=7 androidboot.usbcontroller=a600000.dwc3
|
||||
BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/1d84000.ufshc
|
||||
BOARD_KERNEL_CMDLINE += cgroup_disable=pressure
|
||||
BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb
|
||||
BOARD_KERNEL_PAGESIZE := 4096
|
||||
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
|
||||
TARGET_KERNEL_ARCH := arm64
|
||||
TARGET_KERNEL_CONFIG := vendor/xiaomi/mi845_defconfig
|
||||
TARGET_KERNEL_CONFIG := vendor/xiaomi/mi845_defconfig vendor/debugfs.config
|
||||
TARGET_KERNEL_SOURCE := kernel/xiaomi/sdm845
|
||||
|
||||
# Platform
|
||||
@@ -45,17 +44,10 @@ TARGET_BOARD_PLATFORM := sdm845
|
||||
# Audio
|
||||
TARGET_PROVIDES_AUDIO_EXTNS := true
|
||||
|
||||
# Camera
|
||||
TARGET_USES_YCRCB_CAMERA_ENCODE := true
|
||||
|
||||
# Filesystem
|
||||
TARGET_FS_CONFIG_GEN := $(COMMON_PATH)/config.fs
|
||||
|
||||
# Graphics
|
||||
TARGET_USES_GRALLOC1 := true
|
||||
TARGET_USES_HWC2 := true
|
||||
TARGET_USES_ION := true
|
||||
|
||||
MAX_EGL_CACHE_KEY_SIZE := 12*1024
|
||||
MAX_EGL_CACHE_SIZE := 2048*1024
|
||||
|
||||
@@ -71,20 +63,22 @@ DEVICE_MATRIX_FILE := hardware/qcom-caf/common/compatibility_matrix.xml
|
||||
# LMKD
|
||||
TARGET_LMKD_STATS_LOG := true
|
||||
|
||||
# Partitions
|
||||
SSI_PARTITIONS := system system_ext product
|
||||
TREBLE_PARTITIONS := vendor odm
|
||||
ALL_PARTITIONS := $(SSI_PARTITIONS) $(TREBLE_PARTITIONS)
|
||||
# Media
|
||||
TARGET_USES_ION := true
|
||||
|
||||
$(foreach p, $(call to-upper, $(ALL_PARTITIONS)), \
|
||||
$(eval BOARD_$(p)IMAGE_FILE_SYSTEM_TYPE := ext4) \
|
||||
$(eval TARGET_COPY_OUT_$(p) := $(call to-lower, $(p))))
|
||||
# Partitions
|
||||
AB_OTA_UPDATER := false
|
||||
|
||||
BOARD_BOOTIMAGE_PARTITION_SIZE := 67092480
|
||||
BOARD_CACHEIMAGE_PARTITION_SIZE := 268435456
|
||||
BOARD_USERDATAIMAGE_PARTITION_SIZE := 57453555712
|
||||
|
||||
BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
|
||||
BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4
|
||||
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
|
||||
BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4
|
||||
BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
|
||||
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
|
||||
BOARD_USES_METADATA_PARTITION := true
|
||||
|
||||
BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
|
||||
@@ -97,9 +91,14 @@ BOARD_SUPER_PARTITION_SYSTEM_DEVICE_SIZE := 3221225472
|
||||
BOARD_SUPER_PARTITION_VENDOR_DEVICE_SIZE := 1073741824
|
||||
|
||||
BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions
|
||||
BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := $(ALL_PARTITIONS)
|
||||
BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := odm product system system_ext vendor
|
||||
BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 5163188224 # (BOARD_SUPER_PARTITION_SIZE - 4194304) 4MiB overhead
|
||||
|
||||
include vendor/lineage/config/BoardConfigReservedSize.mk
|
||||
|
||||
BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 20971520 # 20MiB
|
||||
BOARD_VENDORIMAGE_PARTITION_RESERVED_SIZE := 20971520 # 20MiB
|
||||
|
||||
TARGET_USERIMAGES_USE_EXT4 := true
|
||||
TARGET_USERIMAGES_USE_F2FS := true
|
||||
TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false
|
||||
@@ -109,24 +108,6 @@ TARGET_COPY_OUT_PRODUCT := product
|
||||
TARGET_COPY_OUT_SYSTEM_EXT := system_ext
|
||||
TARGET_COPY_OUT_VENDOR := vendor
|
||||
|
||||
# Partitions - reserved size
|
||||
$(foreach p, $(call to-upper, $(SSI_PARTITIONS)), \
|
||||
$(eval BOARD_$(p)IMAGE_EXTFS_INODE_COUNT := -1))
|
||||
$(foreach p, $(call to-upper, $(TREBLE_PARTITIONS)), \
|
||||
$(eval BOARD_$(p)IMAGE_EXTFS_INODE_COUNT := 5120))
|
||||
|
||||
$(foreach p, $(call to-upper, $(SSI_PARTITIONS)), \
|
||||
$(eval BOARD_$(p)IMAGE_PARTITION_RESERVED_SIZE := 52428800)) # 50 MB
|
||||
$(foreach p, $(call to-upper, $(TREBLE_PARTITIONS)), \
|
||||
$(eval BOARD_$(p)IMAGE_PARTITION_RESERVED_SIZE := 20971520)) # 20 MB
|
||||
|
||||
ifneq ($(WITH_GMS),true)
|
||||
BOARD_PRODUCTIMAGE_PARTITION_RESERVED_SIZE := 1287651328 # 1228 MB
|
||||
endif
|
||||
|
||||
# Power
|
||||
TARGET_POWER_LIBPERFMGR_MODE_EXTENSION_LIB := //$(COMMON_PATH):libperfmgr-ext-xiaomi
|
||||
|
||||
# Properties
|
||||
TARGET_ODM_PROP += $(COMMON_PATH)/odm.prop
|
||||
TARGET_PRODUCT_PROP += $(COMMON_PATH)/product.prop
|
||||
@@ -139,7 +120,7 @@ BOARD_USES_QCOM_HARDWARE := true
|
||||
TARGET_FWK_SUPPORTS_FULL_VALUEADDS := true
|
||||
|
||||
# Recovery
|
||||
TARGET_RECOVERY_PIXEL_FORMAT := "BGRA_8888"
|
||||
TARGET_RECOVERY_PIXEL_FORMAT := BGRA_8888
|
||||
|
||||
# Releasetools
|
||||
TARGET_RECOVERY_UPDATER_LIBS := librecovery_updater_xiaomi
|
||||
|
||||
@@ -41,7 +41,16 @@
|
||||
<library name="volume_listener" path="libvolumelistener.so"/>
|
||||
<library name="audiosphere" path="libasphere.so"/>
|
||||
<library name="shoebox" path="libshoebox.so"/>
|
||||
<library name="dirac" path="libdirac.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">
|
||||
@@ -89,7 +98,16 @@
|
||||
<effect name="notification_helper" library="volume_listener" uuid="0b776dde-0590-11e5-81ba-0025b32654a0"/>
|
||||
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
|
||||
<effect name="shoebox" library="shoebox" uuid="1eab784c-1a36-4b2a-b7fc-e34c44cab89e"/>
|
||||
<effect name="dirac" library="dirac" uuid="e069d9e0-8329-11df-9168-0002a5d5c51b"/>
|
||||
<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">
|
||||
|
||||
@@ -77,7 +77,6 @@
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<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"/>
|
||||
<mixPort name="direct_pcm" role="source"
|
||||
@@ -185,7 +184,6 @@
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="hifi_input" role="sink" maxOpenCount="1" maxActiveCount="2"/>
|
||||
</mixPorts>
|
||||
|
||||
<devicePorts>
|
||||
@@ -253,14 +251,6 @@
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
|
||||
</devicePort>
|
||||
|
||||
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
|
||||
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||
@@ -291,11 +281,6 @@
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
|
||||
</devicePort>
|
||||
|
||||
</devicePorts>
|
||||
<!-- route declaration, i.e. list all available sources for a given sink -->
|
||||
<routes>
|
||||
@@ -321,52 +306,30 @@
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback"/>
|
||||
<route type="mix" sink="Telephony Tx"
|
||||
sources="voice_tx"/>
|
||||
<route type="mix" sink="voice_rx"
|
||||
sources="Telephony Rx"/>
|
||||
<route type="mix" sink="primary input"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,USB Device In,USB Headset In"/>
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner"/>
|
||||
<route type="mix" sink="voip_tx"
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In"/>
|
||||
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
|
||||
<route type="mix" sink="record_24"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
|
||||
<route type="mix" sink="mmap_no_irq_in"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,USB Device In,USB Headset In"/>
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
|
||||
<route type="mix" sink="BT A2DP Out"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload"/>
|
||||
<route type="mix" sink="BT A2DP Headphones"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload"/>
|
||||
<route type="mix" sink="BT A2DP Speaker"
|
||||
sources="primary output,deep_buffer,direct_pcm,compressed_offload"/>
|
||||
<route type="mix" sink="hifi_input" sources="USB Device In,USB Headset In" />
|
||||
</routes>
|
||||
|
||||
</module>
|
||||
|
||||
<!-- Usb Audio HAL -->
|
||||
<module name="usb" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<mixPort name="usb_accessory output" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="USB Host Out"
|
||||
sources="usb_accessory output"/>
|
||||
</routes>
|
||||
</module>
|
||||
<xi:include href="/vendor/etc/usbv2_audio_policy_configuration.xml"/>
|
||||
|
||||
<!-- Remote Submix Audio HAL -->
|
||||
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
|
||||
|
||||
@@ -310,7 +310,7 @@
|
||||
</module>
|
||||
|
||||
<!-- Usb Audio HAL -->
|
||||
<xi:include href="/vendor/etc/usb_audio_policy_configuration.xml"/>
|
||||
<xi:include href="/vendor/etc/usbv2_audio_policy_configuration.xml"/>
|
||||
|
||||
<!-- Remote Submix Audio HAL -->
|
||||
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
|
||||
|
||||
1857
audio/dax-default.xml
Normal file
1857
audio/dax-default.xml
Normal file
File diff suppressed because it is too large
Load Diff
47
audio/usbv2_audio_policy_configuration.xml
Normal file
47
audio/usbv2_audio_policy_configuration.xml
Normal file
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright (C) 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.
|
||||
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.
|
||||
-->
|
||||
<!-- USB Audio HAL Audio Policy Configuration file -->
|
||||
|
||||
<module name="usbv2" halVersion="2.0">
|
||||
<mixPorts>
|
||||
<mixPort name="usb_accessory output" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="usb_device output" role="source"/>
|
||||
<mixPort name="usb_device input" role="sink"/>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<devicePort tagName="USB Host Out" type="AUDIO_DEVICE_OUT_USB_ACCESSORY" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink"/>
|
||||
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink"/>
|
||||
<devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source"/>
|
||||
<devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source"/>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="USB Host Out"
|
||||
sources="usb_accessory output"/>
|
||||
<route type="mix" sink="USB Device Out"
|
||||
sources="usb_device output"/>
|
||||
<route type="mix" sink="USB Headset Out"
|
||||
sources="usb_device output"/>
|
||||
<route type="mix" sink="usb_device input"
|
||||
sources="USB Device In,USB Headset In"/>
|
||||
</routes>
|
||||
</module>
|
||||
@@ -140,6 +140,7 @@ Only the three quirks included above are recognized at this point:
|
||||
<Limit name="bitrate" range="1-120000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-4096x2160" value="60" />
|
||||
<Limit name="performance-point-3840x2160" value="60" />
|
||||
@@ -157,6 +158,7 @@ Only the three quirks included above are recognized at this point:
|
||||
<Limit name="bitrate" range="1-120000000" />
|
||||
<Limit name="frame-rate" range="1-240" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="performance-point-4096x2304" value="24" />
|
||||
<Limit name="performance-point-4096x2160" value="30" />
|
||||
<Limit name="performance-point-3840x2160" value="30" />
|
||||
@@ -174,6 +176,7 @@ Only the three quirks included above are recognized at this point:
|
||||
<Limit name="bitrate" range="1-120000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="quality" range="0-100" default="80" />
|
||||
<Feature name="bitrate-modes" value="VBR,CBR,CQ" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
@@ -194,6 +197,7 @@ Only the three quirks included above are recognized at this point:
|
||||
<Limit name="bitrate" range="1-120000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-4096x2160" value="60" />
|
||||
@@ -211,6 +215,7 @@ Only the three quirks included above are recognized at this point:
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
@@ -227,6 +232,7 @@ Only the three quirks included above are recognized at this point:
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-30" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-1920x1080" value="30" />
|
||||
</MediaCodec>
|
||||
@@ -240,6 +246,7 @@ Only the three quirks included above are recognized at this point:
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-30" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-1920x1088" value="30" />
|
||||
@@ -254,6 +261,7 @@ Only the three quirks included above are recognized at this point:
|
||||
<Limit name="bitrate" range="1-120000000" />
|
||||
<Limit name="frame-rate" range="1-240" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-4096x2304" value="24" />
|
||||
<Limit name="performance-point-4096x2160" value="30" />
|
||||
@@ -271,6 +279,7 @@ Only the three quirks included above are recognized at this point:
|
||||
<Limit name="bitrate" range="1-120000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="concurrent-instances" max="6" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-4096x2160" value="60" />
|
||||
@@ -288,6 +297,7 @@ Only the three quirks included above are recognized at this point:
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
@@ -304,6 +314,7 @@ Only the three quirks included above are recognized at this point:
|
||||
<Limit name="bitrate" range="1-120000000" />
|
||||
<Limit name="frame-rate" range="1-480" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
<Limit name="performance-point-4096x2160" value="60" />
|
||||
@@ -321,6 +332,7 @@ Only the three quirks included above are recognized at this point:
|
||||
<Limit name="bitrate" range="1-40000000" />
|
||||
<Limit name="frame-rate" range="1-60" />
|
||||
<Feature name="adaptive-playback" />
|
||||
<Feature name="can-swap-width-height" required="true" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Limit name="concurrent-instances" max="3" />
|
||||
<Limit name="performance-point-4096x2304" value="30" />
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
[
|
||||
{
|
||||
"repository": "LineageOS/android_hardware_xiaomi",
|
||||
"target_path": "hardware/xiaomi",
|
||||
"remote": "github-non-los",
|
||||
"branch": "lineage-21"
|
||||
"repository": "hardware_xiaomi",
|
||||
"target_path": "hardware/xiaomi"
|
||||
},
|
||||
{
|
||||
"repository": "vendor_xiaomi_sdm845-common",
|
||||
|
||||
94
extract-files.py
Executable file
94
extract-files.py
Executable file
@@ -0,0 +1,94 @@
|
||||
#!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2025 The LineageOS Project
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
from extract_utils.fixups_blob import (
|
||||
blob_fixup,
|
||||
blob_fixups_user_type,
|
||||
)
|
||||
from extract_utils.fixups_lib import (
|
||||
lib_fixups,
|
||||
lib_fixups_user_type,
|
||||
)
|
||||
from extract_utils.main import (
|
||||
ExtractUtils,
|
||||
ExtractUtilsModule,
|
||||
)
|
||||
|
||||
namespace_imports = [
|
||||
'device/xiaomi/sdm845-common',
|
||||
'hardware/qcom-caf/sdm845',
|
||||
'hardware/qcom-caf/wlan',
|
||||
'hardware/xiaomi',
|
||||
'vendor/qcom/opensource/commonsys-intf/display',
|
||||
'vendor/qcom/opensource/commonsys/display',
|
||||
'vendor/qcom/opensource/dataservices',
|
||||
'vendor/qcom/opensource/display',
|
||||
]
|
||||
|
||||
|
||||
def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
|
||||
return f'{lib}_{partition}' if partition == 'vendor' else None
|
||||
|
||||
|
||||
lib_fixups: lib_fixups_user_type = {
|
||||
**lib_fixups,
|
||||
(
|
||||
'com.qualcomm.qti.dpm.api@1.0',
|
||||
'com.qualcomm.qti.imscmservice@1.0',
|
||||
'com.qualcomm.qti.imscmservice@2.0',
|
||||
'com.qualcomm.qti.imscmservice@2.1',
|
||||
'com.qualcomm.qti.imscmservice@2.2',
|
||||
'com.qualcomm.qti.uceservice@2.0',
|
||||
'com.qualcomm.qti.uceservice@2.1',
|
||||
'libmmosal',
|
||||
'vendor.qti.hardware.radio.ims@1.0',
|
||||
'vendor.qti.hardware.radio.ims@1.1',
|
||||
'vendor.qti.hardware.radio.ims@1.2',
|
||||
'vendor.qti.hardware.radio.ims@1.3',
|
||||
'vendor.qti.hardware.radio.ims@1.4',
|
||||
'vendor.qti.hardware.wifidisplaysession@1.0',
|
||||
'vendor.qti.ims.callinfo@1.0',
|
||||
'vendor.qti.ims.rcsconfig@1.0',
|
||||
'vendor.qti.imsrtpservice@2.0',
|
||||
'vendor.qti.imsrtpservice@2.1',
|
||||
): lib_fixup_vendor_suffix,
|
||||
}
|
||||
|
||||
blob_fixups: blob_fixups_user_type = {
|
||||
'system_ext/bin/wfdservice': blob_fixup()
|
||||
.add_needed('libwfdservice_shim.so'),
|
||||
'system_ext/etc/permissions/qcrilhook.xml': blob_fixup()
|
||||
.regex_replace('/product/framework/', '/system_ext/framework/'),
|
||||
'system_ext/etc/permissions/qti_libpermissions.xml': blob_fixup()
|
||||
.regex_replace('name="android.hidl.manager-V1.0-java', 'name="android.hidl.manager@1.0-java'),
|
||||
'system_ext/lib/libwfdmmsrc_system.so': blob_fixup()
|
||||
.add_needed('libgui_shim.so'),
|
||||
'system_ext/lib/libwfdservice.so': blob_fixup()
|
||||
.replace_needed('android.media.audio.common.types-V2-cpp.so', 'android.media.audio.common.types-V4-cpp.so'),
|
||||
'system_ext/lib64/lib-imsvideocodec.so': blob_fixup()
|
||||
.add_needed('libgui_shim.so'),
|
||||
'system_ext/lib64/libwfdnative.so': blob_fixup()
|
||||
.add_needed('libbinder_shim.so')
|
||||
.add_needed('libinput_shim.so'),
|
||||
'vendor/bin/pm-service': blob_fixup()
|
||||
.add_needed('libutils-v33.so'),
|
||||
('vendor/lib64/libwvhidl.so', 'vendor/lib64/mediadrm/libwvdrmengine.so'): blob_fixup()
|
||||
.add_needed('libcrypto_shim.so'),
|
||||
('vendor/lib64/libdlbdsservice.so', 'vendor/lib/libstagefright_soft_ac4dec.so', 'vendor/lib/libstagefright_soft_ddpdec.so'): blob_fixup()
|
||||
.replace_needed('libstagefright_foundation.so', 'libstagefright_foundation-v33.so'),
|
||||
} # fmt: skip
|
||||
|
||||
module = ExtractUtilsModule(
|
||||
'sdm845-common',
|
||||
'xiaomi',
|
||||
blob_fixups=blob_fixups,
|
||||
lib_fixups=lib_fixups,
|
||||
namespace_imports=namespace_imports,
|
||||
)
|
||||
|
||||
if __name__ == '__main__':
|
||||
utils = ExtractUtils.device(module)
|
||||
utils.run()
|
||||
117
extract-files.sh
117
extract-files.sh
@@ -1,117 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2016 The CyanogenMod Project
|
||||
# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
# Load extract_utils and do some sanity checks
|
||||
MY_DIR="${BASH_SOURCE%/*}"
|
||||
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
|
||||
|
||||
ANDROID_ROOT="${MY_DIR}/../../.."
|
||||
|
||||
# If XML files don't have comments before the XML header, use this flag
|
||||
# Can still be used with broken XML files by using blob_fixup
|
||||
export TARGET_DISABLE_XML_FIXING=true
|
||||
|
||||
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
|
||||
if [ ! -f "${HELPER}" ]; then
|
||||
echo "Unable to find helper script at ${HELPER}"
|
||||
exit 1
|
||||
fi
|
||||
source "${HELPER}"
|
||||
|
||||
# Default to sanitizing the vendor folder before extraction
|
||||
CLEAN_VENDOR=true
|
||||
|
||||
ONLY_COMMON=
|
||||
ONLY_TARGET=
|
||||
SECTION=
|
||||
KANG=
|
||||
|
||||
while [ "${#}" -gt 0 ]; do
|
||||
case "${1}" in
|
||||
--only-common)
|
||||
ONLY_COMMON=true
|
||||
;;
|
||||
--only-firmware)
|
||||
ONLY_FIRMWARE=true
|
||||
;;
|
||||
--only-target)
|
||||
ONLY_TARGET=true
|
||||
;;
|
||||
-n | --no-cleanup)
|
||||
CLEAN_VENDOR=false
|
||||
;;
|
||||
-k | --kang)
|
||||
KANG="--kang"
|
||||
;;
|
||||
-s | --section)
|
||||
SECTION="${2}"
|
||||
shift
|
||||
CLEAN_VENDOR=false
|
||||
;;
|
||||
*)
|
||||
SRC="${1}"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "${SRC}" ]; then
|
||||
SRC="adb"
|
||||
fi
|
||||
|
||||
function blob_fixup() {
|
||||
case "${1}" in
|
||||
system_ext/etc/permissions/qcrilhook.xml)
|
||||
[ "$2" = "" ] && return 0
|
||||
sed -i "s/\/product\/framework\//\/system_ext\/framework\//g" "${2}"
|
||||
;;
|
||||
system_ext/etc/permissions/qti_libpermissions.xml)
|
||||
[ "$2" = "" ] && return 0
|
||||
sed -i "s/name=\"android.hidl.manager-V1.0-java/name=\"android.hidl.manager@1.0-java/g" "${2}"
|
||||
;;
|
||||
system_ext/lib64/lib-imsvideocodec.so)
|
||||
[ "$2" = "" ] && return 0
|
||||
grep -q "libgui_shim.so" "${2}" || ${PATCHELF} --add-needed "libgui_shim.so" "${2}"
|
||||
;;
|
||||
vendor/bin/pm-service)
|
||||
[ "$2" = "" ] && return 0
|
||||
grep -q libutils-v33.so "${2}" || "${PATCHELF}" --add-needed "libutils-v33.so" "${2}"
|
||||
;;
|
||||
vendor/lib/camera/components/com.qti.node.watermark.so)
|
||||
[ "$2" = "" ] && return 0
|
||||
grep -q "libpiex_shim.so" "${2}" || ${PATCHELF} --add-needed "libpiex_shim.so" "${2}"
|
||||
;;
|
||||
*)
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
function blob_fixup_dry() {
|
||||
blob_fixup "$1" ""
|
||||
}
|
||||
|
||||
if [ -z "${ONLY_TARGET}" ]; then
|
||||
# Initialize the helper for common device
|
||||
setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true "${CLEAN_VENDOR}"
|
||||
|
||||
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
|
||||
fi
|
||||
|
||||
if [ -z "${ONLY_COMMON}" ] && [ -s "${MY_DIR}/../${DEVICE}/proprietary-files.txt" ]; then
|
||||
# Reinitialize the helper for device
|
||||
source "${MY_DIR}/../${DEVICE}/extract-files.sh"
|
||||
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
|
||||
|
||||
extract "${MY_DIR}/../${DEVICE}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
|
||||
fi
|
||||
|
||||
"${MY_DIR}/setup-makefiles.sh"
|
||||
62
init/Android.bp
Normal file
62
init/Android.bp
Normal file
@@ -0,0 +1,62 @@
|
||||
//
|
||||
// Copyright (C) 2025 The LineageOS Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
prebuilt_etc {
|
||||
name: "fstab.zram",
|
||||
src: "fstab.zram",
|
||||
soc_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "init.qcom.power.rc",
|
||||
src: "init.qcom.power.rc",
|
||||
sub_dir: "init/hw",
|
||||
soc_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "init.qcom.rc",
|
||||
src: "init.qcom.rc",
|
||||
sub_dir: "init/hw",
|
||||
soc_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "init.qcom.recovery.rc",
|
||||
src: "init.qcom.recovery.rc",
|
||||
sub_dir: "init",
|
||||
recovery: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "ueventd.qcom.rc",
|
||||
filename: "ueventd.rc",
|
||||
src: "ueventd.qcom.rc",
|
||||
soc_specific: true,
|
||||
}
|
||||
|
||||
sh_binary {
|
||||
name: "init.qcom.early_boot.sh",
|
||||
src: "init.qcom.early_boot.sh",
|
||||
soc_specific: true,
|
||||
}
|
||||
|
||||
sh_binary {
|
||||
name: "init.qcom.post_boot.sh",
|
||||
src: "init.qcom.post_boot.sh",
|
||||
soc_specific: true,
|
||||
}
|
||||
|
||||
sh_binary {
|
||||
name: "init.qcom.sensors.sh",
|
||||
src: "init.qcom.sensors.sh",
|
||||
soc_specific: true,
|
||||
}
|
||||
|
||||
sh_binary {
|
||||
name: "init.qcom.sh",
|
||||
src: "init.qcom.sh",
|
||||
soc_specific: true,
|
||||
}
|
||||
@@ -47,3 +47,6 @@ fi
|
||||
misc_link=$(ls -l /dev/block/bootdevice/by-name/misc)
|
||||
real_path=${misc_link##*>}
|
||||
setprop persist.vendor.mmi.misc_dev_path $real_path
|
||||
|
||||
echo 2 > /proc/irq/7/smp_affinity_list # msm_drm
|
||||
echo 1 > /proc/irq/493/smp_affinity_list # kgsl-3d0
|
||||
@@ -132,6 +132,7 @@ on property:init.svc.vendor.charger=running
|
||||
mount tmpfs tmpfs /data
|
||||
start vendor.thermal-engine
|
||||
setprop vendor.usb.controller a600000.dwc3
|
||||
setprop sys.usb.configfs 1
|
||||
|
||||
on enable-low-power
|
||||
# Set the default IRQ affinity to the silver cluster.
|
||||
@@ -240,7 +241,7 @@ on enable-low-power
|
||||
write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 1
|
||||
write /sys/devices/platform/soc/${ro.boot.bootdevice}/hibern8_on_idle_enable 1
|
||||
|
||||
write /proc/sys/vm/swappiness 100
|
||||
write /proc/sys/vm/swappiness 60
|
||||
write /proc/sys/vm/watermark_scale_factor 1
|
||||
|
||||
# Enable PowerHAL hint processing
|
||||
@@ -614,14 +614,6 @@ service chre /vendor/bin/chre
|
||||
socket chre seqpacket 0660 root system
|
||||
shutdown critical
|
||||
|
||||
# Set GPU OpenGL ES version
|
||||
on property:vendor.opengles.version=*
|
||||
setprop ro.opengles.version ${vendor.opengles.version}
|
||||
|
||||
# Set gpu available frequencies property
|
||||
on property:vendor.gpu.available_frequencies=*
|
||||
setprop ro.vendor.gpu.available_frequencies ${vendor.gpu.available_frequencies}
|
||||
|
||||
service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service
|
||||
override
|
||||
class hal
|
||||
@@ -711,3 +703,7 @@ on property:init.svc.vendor.hwcomposer-2-3=running
|
||||
|
||||
on property:init.svc.vendor.hwcomposer-2-3=restarting
|
||||
stop ppd
|
||||
|
||||
on property:init.svc.statsd=running
|
||||
# Stop trying to kill my device after 3 days ugh
|
||||
stop statsd
|
||||
@@ -1,22 +1,12 @@
|
||||
//
|
||||
// Copyright (C) 2019 The LineageOS Project
|
||||
// SPDX-FileCopyrightText: 2019-2025 The LineageOS Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
cc_binary {
|
||||
name: "vendor.lineage.livedisplay@2.0-service.xiaomi_sdm845",
|
||||
init_rc: ["vendor.lineage.livedisplay@2.0-service.xiaomi_sdm845.rc"],
|
||||
defaults: ["hidl_defaults"],
|
||||
name: "vendor.lineage.livedisplay-service.xiaomi_sdm845",
|
||||
init_rc: ["vendor.lineage.livedisplay-service.xiaomi_sdm845.rc"],
|
||||
vintf_fragments: ["vendor.lineage.livedisplay-service.xiaomi_sdm845.xml"],
|
||||
relative_install_path: "hw",
|
||||
srcs: [
|
||||
"SunlightEnhancement.cpp",
|
||||
@@ -25,9 +15,9 @@ cc_binary {
|
||||
vendor: true,
|
||||
shared_libs: [
|
||||
"libbase",
|
||||
"libbinder_ndk",
|
||||
"libbinder",
|
||||
"libhidlbase",
|
||||
"libutils",
|
||||
"vendor.lineage.livedisplay@2.0",
|
||||
"vendor.lineage.livedisplay-V1-ndk",
|
||||
],
|
||||
}
|
||||
|
||||
@@ -1,17 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) 2019 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.
|
||||
* SPDX-FileCopyrightText: 2019-2025 The LineageOS Project
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#define LOG_TAG "SunlightEnhancementService"
|
||||
@@ -25,11 +14,7 @@
|
||||
|
||||
#include "SunlightEnhancement.h"
|
||||
|
||||
namespace vendor {
|
||||
namespace lineage {
|
||||
namespace livedisplay {
|
||||
namespace V2_0 {
|
||||
namespace implementation {
|
||||
namespace {
|
||||
|
||||
static constexpr const char* kDispParamPath =
|
||||
"/sys/devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/card0-DSI-1/disp_param";
|
||||
@@ -52,6 +37,13 @@ bool hasFingerprintOnDisplay() {
|
||||
return device == "equuleus" || device == "ursa";
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
namespace aidl {
|
||||
namespace vendor {
|
||||
namespace lineage {
|
||||
namespace livedisplay {
|
||||
|
||||
bool SunlightEnhancement::isSupported() {
|
||||
if (hasAmoledPanel()) {
|
||||
std::ofstream disp_param_file(kDispParamPath);
|
||||
@@ -69,26 +61,37 @@ bool SunlightEnhancement::isSupported() {
|
||||
return false;
|
||||
}
|
||||
|
||||
Return<bool> SunlightEnhancement::isEnabled() {
|
||||
ndk::ScopedAStatus SunlightEnhancement::getEnabled(bool* _aidl_return) {
|
||||
std::ifstream hbm_status_file(kHbmStatusPath);
|
||||
int result = -1;
|
||||
hbm_status_file >> result;
|
||||
return !hbm_status_file.fail() && result > 0;
|
||||
|
||||
if (hbm_status_file.fail()) {
|
||||
LOG(ERROR) << "Failed to read current HBM state";
|
||||
return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
|
||||
}
|
||||
|
||||
*_aidl_return = result > 0;
|
||||
return ndk::ScopedAStatus::ok();
|
||||
}
|
||||
|
||||
Return<bool> SunlightEnhancement::setEnabled(bool enabled) {
|
||||
ndk::ScopedAStatus SunlightEnhancement::setEnabled(bool enabled) {
|
||||
std::ofstream disp_param_file(kDispParamPath);
|
||||
if (hasFingerprintOnDisplay()) {
|
||||
disp_param_file << (enabled ? kDispParamHbmFodOn : kDispParamHbmFodOff);
|
||||
} else {
|
||||
disp_param_file << (enabled ? kDispParamHbmOn : kDispParamHbmOff);
|
||||
}
|
||||
LOG(DEBUG) << "setEnabled fail " << disp_param_file.fail();
|
||||
return !disp_param_file.fail();
|
||||
|
||||
if (disp_param_file.fail()) {
|
||||
LOG(ERROR) << "Not possible to write HBM state";
|
||||
return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
|
||||
}
|
||||
|
||||
return ndk::ScopedAStatus::ok();
|
||||
}
|
||||
|
||||
} // namespace implementation
|
||||
} // namespace V2_0
|
||||
} // namespace livedisplay
|
||||
} // namespace lineage
|
||||
} // namespace vendor
|
||||
} // namespace aidl
|
||||
|
||||
@@ -1,49 +1,27 @@
|
||||
/*
|
||||
* Copyright (C) 2019 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.
|
||||
* SPDX-FileCopyrightText: 2019-2025 The LineageOS Project
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#ifndef VENDOR_LINEAGE_LIVEDISPLAY_V2_0_SUNLIGHTENHANCEMENT_H
|
||||
#define VENDOR_LINEAGE_LIVEDISPLAY_V2_0_SUNLIGHTENHANCEMENT_H
|
||||
#pragma once
|
||||
|
||||
#include <hidl/MQDescriptor.h>
|
||||
#include <hidl/Status.h>
|
||||
#include <vendor/lineage/livedisplay/2.0/ISunlightEnhancement.h>
|
||||
#include <aidl/vendor/lineage/livedisplay/BnSunlightEnhancement.h>
|
||||
|
||||
namespace aidl {
|
||||
namespace vendor {
|
||||
namespace lineage {
|
||||
namespace livedisplay {
|
||||
namespace V2_0 {
|
||||
namespace implementation {
|
||||
|
||||
using ::android::hardware::Return;
|
||||
using ::android::hardware::Void;
|
||||
using ::android::sp;
|
||||
|
||||
class SunlightEnhancement : public ISunlightEnhancement {
|
||||
class SunlightEnhancement : public BnSunlightEnhancement {
|
||||
public:
|
||||
bool isSupported();
|
||||
|
||||
// Methods from ::vendor::lineage::livedisplay::V2_0::ISunlightEnhancement follow.
|
||||
Return<bool> isEnabled() override;
|
||||
Return<bool> setEnabled(bool enabled) override;
|
||||
// Methods from ::aidl::vendor::lineage::livedisplay::BnSunlightEnhancement follow.
|
||||
ndk::ScopedAStatus getEnabled(bool* _aidl_return) override;
|
||||
ndk::ScopedAStatus setEnabled(bool enabled) override;
|
||||
};
|
||||
|
||||
} // namespace implementation
|
||||
} // namespace V2_0
|
||||
} // namespace livedisplay
|
||||
} // namespace lineage
|
||||
} // namespace vendor
|
||||
|
||||
#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_0_SUNLIGHTENHANCEMENT_H
|
||||
} // namespace aidl
|
||||
|
||||
@@ -1,69 +1,53 @@
|
||||
/*
|
||||
* Copyright (C) 2019 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.
|
||||
* SPDX-FileCopyrightText: 2019-2025 The LineageOS Project
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#define LOG_TAG "lineage.livedisplay@2.0-service.xiaomi_sdm845"
|
||||
#define LOG_TAG "vendor.lineage.livedisplay-service.xiaomi_sdm845"
|
||||
|
||||
#include <android-base/logging.h>
|
||||
#include <android/binder_manager.h>
|
||||
#include <android/binder_process.h>
|
||||
#include <binder/ProcessState.h>
|
||||
#include <hidl/HidlTransportSupport.h>
|
||||
|
||||
#include "SunlightEnhancement.h"
|
||||
|
||||
using android::OK;
|
||||
using android::sp;
|
||||
using android::status_t;
|
||||
using android::hardware::configureRpcThreadpool;
|
||||
using android::hardware::joinRpcThreadpool;
|
||||
|
||||
using ::vendor::lineage::livedisplay::V2_0::ISunlightEnhancement;
|
||||
using ::vendor::lineage::livedisplay::V2_0::implementation::SunlightEnhancement;
|
||||
using ::aidl::vendor::lineage::livedisplay::SunlightEnhancement;
|
||||
|
||||
int main() {
|
||||
sp<SunlightEnhancement> sunlightEnhancement;
|
||||
status_t status;
|
||||
std::shared_ptr<SunlightEnhancement> se = ndk::SharedRefBase::make<SunlightEnhancement>();
|
||||
std::string instance = std::string() + SunlightEnhancement::descriptor + "/default";
|
||||
binder_status_t status;
|
||||
|
||||
android::ProcessState::self()->setThreadPoolMaxThreadCount(1);
|
||||
android::ProcessState::self()->startThreadPool();
|
||||
|
||||
LOG(INFO) << "LiveDisplay HAL custom service is starting.";
|
||||
|
||||
sunlightEnhancement = new SunlightEnhancement();
|
||||
if (sunlightEnhancement == nullptr) {
|
||||
if (se == nullptr) {
|
||||
LOG(ERROR) << "Can not create an instance of LiveDisplay HAL SunlightEnhancement Iface,"
|
||||
<< "exiting.";
|
||||
goto shutdown;
|
||||
}
|
||||
|
||||
if (!sunlightEnhancement->isSupported()) {
|
||||
if (!se->isSupported()) {
|
||||
LOG(ERROR) << "SunlightEnhancement Iface is not supported, gracefully bailing out.";
|
||||
return 1;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
configureRpcThreadpool(1, true /*callerWillJoin*/);
|
||||
|
||||
status = sunlightEnhancement->registerAsService();
|
||||
if (status != OK) {
|
||||
status = AServiceManager_addService(se->asBinder().get(), instance.c_str());
|
||||
if (status != STATUS_OK) {
|
||||
LOG(ERROR) << "Could not register service for LiveDisplay HAL SunlightEnhancement Iface ("
|
||||
<< status << ")";
|
||||
goto shutdown;
|
||||
}
|
||||
|
||||
LOG(INFO) << "LiveDisplay HAL custom service is ready.";
|
||||
joinRpcThreadpool();
|
||||
ABinderProcess_joinThreadPool();
|
||||
// Should not pass this line
|
||||
|
||||
shutdown:
|
||||
// In normal operation, we don't expect the thread pool to shutdown
|
||||
LOG(ERROR) << "LiveDisplay HAL custom service is shutting down.";
|
||||
return 1;
|
||||
return EXIT_FAILURE; // Should not reach
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ on boot
|
||||
chown system system /sys/devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/card0-DSI-1/disp_param
|
||||
chown system system /sys/devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/card0-DSI-1/hbm_status
|
||||
|
||||
service vendor.livedisplay-hal-2-0 /vendor/bin/hw/vendor.lineage.livedisplay@2.0-service.xiaomi_sdm845
|
||||
class hal
|
||||
service vendor.livedisplay-hal /vendor/bin/hw/vendor.lineage.livedisplay-service.xiaomi_sdm845
|
||||
class late_start
|
||||
user system
|
||||
group system
|
||||
@@ -0,0 +1,10 @@
|
||||
<manifest version="1.0" type="device">
|
||||
<hal format="aidl">
|
||||
<name>vendor.lineage.livedisplay</name>
|
||||
<version>1</version>
|
||||
<interface>
|
||||
<name>ISunlightEnhancement</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</manifest>
|
||||
11
manifest.xml
11
manifest.xml
@@ -128,15 +128,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.memtrack</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IMemtrack</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.neuralnetworks</name>
|
||||
<transport>hwbinder</transport>
|
||||
@@ -195,7 +186,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.tetheroffload.control</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IOffloadControl</name>
|
||||
<instance>default</instance>
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2019-2024 The Evolution X Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
<!-- PowerOffAlarmService -->
|
||||
<bool name="config_powerOffAlarmEnabled">true</bool>
|
||||
|
||||
<!-- Whether the device supports Smart Pixels -->
|
||||
<bool name="config_supportSmartPixels">false</bool>
|
||||
</resources>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2019-2024 The Evolution X Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
<!-- FPSInfoService FPS node file path -->
|
||||
<string name="config_fpsInfoSysNode" translatable="false">/sys/class/drm/sde-crtc-0/measured_fps</string>
|
||||
|
||||
<!-- 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>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2022 The LineageOS Project
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<resources>
|
||||
<!-- Show battery cycle count -->
|
||||
<bool name="config_show_battery_cycle_count" translatable="false">true</bool>
|
||||
</resources>
|
||||
@@ -39,29 +39,6 @@
|
||||
<string name="config_mms_user_agent_profile_url" translatable="false"
|
||||
>http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
|
||||
|
||||
<!-- 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,300000,true</item>
|
||||
<item>mobile_supl,3,0,2,300000,true</item>
|
||||
<item>mobile_dun,4,0,2,300000,true</item>
|
||||
<item>mobile_hipri,5,0,3,300000,true</item>
|
||||
<item>mobile_fota,10,0,2,300000,true</item>
|
||||
<item>mobile_ims,11,0,2,300000,true</item>
|
||||
<item>mobile_cbs,12,0,2,300000,true</item>
|
||||
<item>bluetooth,7,7,2,-1,true</item>
|
||||
<item>ethernet,9,9,4,-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 -->
|
||||
@@ -168,24 +145,6 @@
|
||||
that can be set by the user. -->
|
||||
<integer name="config_screenBrightnessDoze">17</integer>
|
||||
|
||||
<!-- Configure mobile tcp buffer sizes in the form:
|
||||
rat-name:rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max
|
||||
If no value is found for the rat-name in use, the system default will be applied.
|
||||
-->
|
||||
<string-array name="config_mobile_tcp_buffers">
|
||||
<item>5gnr:2097152,6291456,16777216,512000,2097152,8388608</item>
|
||||
<item>lte:2097152,4194304,8388608,262144,524288,1048576</item>
|
||||
<item>lte_ca:4096,6291456,12582912,4096,1048576,2097152</item>
|
||||
<item>umts:4094,87380,1220608,4096,16384,1220608</item>
|
||||
<item>hspa:4094,87380,1220608,4096,16384,1220608</item>
|
||||
<item>hsupa:4094,87380,1220608,4096,16384,1220608</item>
|
||||
<item>hsdpa:4094,87380,1220608,4096,16384,1220608</item>
|
||||
<item>hspap:4094,87380,1220608,4096,16384,1220608</item>
|
||||
<item>edge:4093,26280,35040,4096,16384,35040</item>
|
||||
<item>gprs:4092,8760,11680,4096,8760,11680</item>
|
||||
<item>evdo:4094,87380,524288,4096,16384,262144</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Flag specifying whether VoLTE is available on device -->
|
||||
<bool name="config_device_volte_available">true</bool>
|
||||
|
||||
@@ -249,13 +208,10 @@
|
||||
<item>"/apex/com.android.art/javalib/core-libart.jar"</item>
|
||||
<item>"/system_ext/priv-app/SystemUI/SystemUI.apk"</item>
|
||||
<item>"/system/bin/surfaceflinger"</item>
|
||||
<item>/system/lib64/libRScpp.so</item>
|
||||
<item>/system/lib64/libRS.so</item>
|
||||
<item>/system/lib64/libRS_internal.so</item>
|
||||
<item>/system/lib64/libbcinfo.so</item>
|
||||
<item>/system/lib64/libRSDriver.so</item>
|
||||
<item>/system/lib64/libRSCpuRef.so</item>
|
||||
<item>/system/lib64/libblas.so</item>
|
||||
<item>"/system/lib64/libEGL.so"</item>
|
||||
<item>"/system/lib64/libhwui.so"</item>
|
||||
<item>"/vendor/lib64/egl/libGLESv2_adreno.so"</item>
|
||||
<item>"/vendor/lib64/libgsl.so"</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Vibrator pattern for feedback about touching a virtual key -->
|
||||
@@ -265,9 +221,6 @@
|
||||
<item>13</item>
|
||||
</integer-array>
|
||||
|
||||
<!-- Should the pinner service pin the Camera application? -->
|
||||
<bool name="config_pinnerCameraApp">true</bool>
|
||||
|
||||
<!-- Should the pinner service pin the Home application? -->
|
||||
<bool name="config_pinnerHomeApp">true</bool>
|
||||
|
||||
@@ -277,14 +230,6 @@
|
||||
<!-- Whether device supports double tap to wake -->
|
||||
<bool name="config_supportDoubleTapWake">true</bool>
|
||||
|
||||
<!-- List of biometric sensors on the device, in decreasing strength. Consumed by AuthService
|
||||
when registering authenticators with BiometricService. Format must be ID:Modality:Strength,
|
||||
where: IDs are unique per device, Modality as defined in BiometricAuthenticator.java,
|
||||
and Strength as defined in Authenticators.java -->
|
||||
<string-array name="config_biometric_sensors" translatable="false" >
|
||||
<item>0:2:15</item> <!-- ID0:Fingerprint:Strong -->
|
||||
</string-array>
|
||||
|
||||
<!-- Enable Zram writeback feature to allow unused pages in zram be written to flash. -->
|
||||
<bool name="config_zramWriteback">true</bool>
|
||||
|
||||
@@ -315,4 +260,7 @@
|
||||
running in WAL mode.
|
||||
Choices are: FULL, NORMAL, OFF. -->
|
||||
<string name="db_wal_sync_mode" translatable="false">OFF</string>
|
||||
|
||||
<!-- Feature flag to store TaskSnapshot in 16 bit pixel format to save memory. -->
|
||||
<bool name="config_use16BitTaskSnapshotPixelFormat">true</bool>
|
||||
</resources>
|
||||
|
||||
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>
|
||||
@@ -1,7 +0,0 @@
|
||||
[
|
||||
"/dev/video0",
|
||||
"/dev/video1",
|
||||
"/dev/video2",
|
||||
"/dev/video32",
|
||||
"/dev/video33"
|
||||
]
|
||||
@@ -1,20 +0,0 @@
|
||||
#!/system/bin/sh
|
||||
#
|
||||
# Copyright (C) 2021 The PixelExperience Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
SUPER="/dev/block/by-name/system"
|
||||
|
||||
mkdir /tmp/super-mnt
|
||||
|
||||
mount $SUPER /tmp/super-mnt 2>/dev/null
|
||||
|
||||
if [ "$?" = "0" ]; then
|
||||
echo "Detected stock /system in super partition, flashing super_dummy.img!"
|
||||
umount /tmp/super-mnt
|
||||
dd if=/tmp/super_dummy.img of=$SUPER
|
||||
fi
|
||||
|
||||
rmdir /tmp/super-mnt
|
||||
@@ -16,6 +16,7 @@ android_app {
|
||||
|
||||
static_libs: [
|
||||
"org.lineageos.settings.resources",
|
||||
"SettingsLib",
|
||||
],
|
||||
|
||||
optimize: {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2015-2016 The CyanogenMod Project
|
||||
2017-2021 The LineageOS Project
|
||||
2017-2021,2025 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.
|
||||
@@ -31,28 +31,19 @@
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/device_settings_app_name"
|
||||
android:persistent="true"
|
||||
android:theme="@style/Theme.SubSettingsBase">
|
||||
android:theme="@style/Theme.SubSettingsBase"
|
||||
android:defaultToDeviceProtectedStorage="true"
|
||||
android:directBootAware="true">
|
||||
|
||||
<receiver
|
||||
android:name=".BootCompletedReceiver"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||
<intent-filter android:priority="1000">
|
||||
<action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<activity
|
||||
android:name=".dirac.DiracActivity"
|
||||
android:exported="false"
|
||||
android:label="@string/dirac_title">
|
||||
<intent-filter>
|
||||
<action android:name="com.android.settings.action.IA_SETTINGS" />
|
||||
</intent-filter>
|
||||
<meta-data android:name="com.android.settings.category"
|
||||
android:value="com.android.settings.category.ia.sound" />
|
||||
</activity>
|
||||
|
||||
<service
|
||||
android:name=".doze.DozeService"
|
||||
android:exported="true"
|
||||
@@ -64,9 +55,13 @@
|
||||
android:exported="false"
|
||||
android:label="@string/ambient_display_title">
|
||||
<intent-filter>
|
||||
<action android:name="org.lineageos.settings.device.DOZE_SETTINGS" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<action android:name="com.android.settings.action.IA_SETTINGS" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="com.android.settings.category"
|
||||
android:value="com.android.settings.category.ia.display" />
|
||||
<meta-data android:name="com.android.settings.summary"
|
||||
android:resource="@string/doze_summary" />
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
@@ -75,16 +70,23 @@
|
||||
android:label="@string/thermal_title">
|
||||
<intent-filter>
|
||||
<action android:name="com.android.settings.action.IA_SETTINGS" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="com.android.settings.category"
|
||||
android:value="com.android.settings.category.ia.battery" />
|
||||
android:value="com.android.settings.category.ia.system" />
|
||||
<meta-data
|
||||
android:name="com.android.settings.icon"
|
||||
android:resource="@drawable/ic_settings_thermal" />
|
||||
<meta-data
|
||||
android:name="com.android.settings.icon_tintable"
|
||||
android:value="true" />
|
||||
<meta-data
|
||||
android:name="com.android.settings.order"
|
||||
android:value="-255" />
|
||||
<meta-data
|
||||
android:name="com.android.settings.summary"
|
||||
android:resource="@string/thermal_summary" />
|
||||
<meta-data
|
||||
android:name="com.android.settings.order"
|
||||
android:value="1" />
|
||||
</activity>
|
||||
|
||||
<service
|
||||
@@ -93,5 +95,19 @@
|
||||
android:permission="ThermalService">
|
||||
</service>
|
||||
|
||||
<activity
|
||||
android:name=".speaker.ClearSpeakerActivity"
|
||||
android:exported="false"
|
||||
android:label="@string/clear_speaker_title">
|
||||
<intent-filter>
|
||||
<action android:name="com.android.settings.action.IA_SETTINGS" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="com.android.settings.category"
|
||||
android:value="com.android.settings.category.ia.sound" />
|
||||
<meta-data
|
||||
android:name="com.android.settings.summary"
|
||||
android:resource="@string/clear_speaker_summary" />
|
||||
</activity>
|
||||
</application>
|
||||
</manifest>
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
-keep class org.lineageos.settings.dirac.* {
|
||||
*;
|
||||
}
|
||||
|
||||
-keep class org.lineageos.settings.doze.* {
|
||||
*;
|
||||
}
|
||||
|
||||
-keep class org.lineageos.settings.speaker.* {
|
||||
*;
|
||||
}
|
||||
|
||||
-keep class org.lineageos.settings.thermal.* {
|
||||
*;
|
||||
}
|
||||
|
||||
9
parts/res/drawable/ic_display.xml
Normal file
9
parts/res/drawable/ic_display.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<!-- drawable/phone_text.xml -->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="24dp"
|
||||
android:width="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?android:attr/colorControlNormal">
|
||||
<path android:fillColor="#000" android:pathData="M17,19V5H7V19H17M17,1A2,2 0 0,1 19,3V21A2,2 0 0,1 17,23H7C5.89,23 5,22.1 5,21V3C5,1.89 5.89,1 7,1H17M9,7H15V9H9V7M9,11H13V13H9V11Z" />
|
||||
</vector>
|
||||
@@ -4,6 +4,6 @@
|
||||
android:width="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?android:attr/colorControlNormal" >
|
||||
<path android:fillColor="#000" android:pathData="M9.64,13.4C8.63,12.5 7.34,12.03 6,12V15L2,11L6,7V10C7.67,10 9.3,10.57 10.63,11.59C10.22,12.15 9.89,12.76 9.64,13.4M18,15V12C17.5,12 13.5,12.16 13.05,16.2C14.61,16.75 15.43,18.47 14.88,20.03C14.33,21.59 12.61,22.41 11.05,21.86C9.5,21.3 8.67,19.59 9.22,18.03C9.5,17.17 10.2,16.5 11.05,16.2C11.34,12.61 14.4,9.88 18,10V7L22,11L18,15M13,19A1,1 0 0,0 12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19M11,11.12C11.58,10.46 12.25,9.89 13,9.43V5H16L12,1L8,5H11V11.12Z" />
|
||||
android:tint="?android:attr/colorControlNormal">
|
||||
<path android:fillColor="#000" android:pathData="M 13 7 L 11 7 L 11 9 L 13 9 L 13 7 Z M 13 11 L 11 11 L 11 17 L 13 17 L 13 11 Z M 17 1.01 L 7 1 C 5.9 1 5 1.9 5 3 L 5 21 C 5 22.1 5.9 23 7 23 L 17 23 C 18.1 23 19 22.1 19 21 L 19 3 C 19 1.9 18.1 1.01 17 1.01 Z M 17 19 L 7 19 L 7 5 L 17 5 L 17 19 Z" />
|
||||
</vector>
|
||||
|
||||
9
parts/res/drawable/ic_raise.xml
Normal file
9
parts/res/drawable/ic_raise.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<!-- drawable/cellphone_text.xml -->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="24dp"
|
||||
android:width="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?android:attr/colorControlNormal">
|
||||
<path android:fillColor="#000" android:pathData="M17,19V5H7V19H17M17,1A2,2 0 0,1 19,3V21A2,2 0 0,1 17,23H7C5.89,23 5,22.1 5,21V3C5,1.89 5.89,1 7,1H17M9,7H15V9H9V7M9,11H13V13H9V11Z" />
|
||||
</vector>
|
||||
10
parts/res/drawable/ic_settings_thermal.xml
Normal file
10
parts/res/drawable/ic_settings_thermal.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M15,13L15,5c0,-1.66 -1.34,-3 -3,-3S9,3.34 9,5v8c-1.21,0.91 -2,2.37 -2,4 0,2.76 2.24,5 5,5s5,-2.24 5,-5c0,-1.63 -0.79,-3.09 -2,-4zM11,5c0,-0.55 0.45,-1 1,-1s1,0.45 1,1h-1v1h1v2h-1v1h1v2h-2L11,5z"/>
|
||||
</vector>
|
||||
14
parts/res/drawable/ic_speaker_cleaner_icon.xml
Normal file
14
parts/res/drawable/ic_speaker_cleaner_icon.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?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:tint="?android:attr/colorControlNormal"
|
||||
android:viewportHeight="24">
|
||||
|
||||
<path
|
||||
android:pathData="M0 0h24v24H0z" />
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M20 4H4c-1.1 0-2 0.9-2 2v12c0 1.1 0.9 2 2 2h16c1.1 0 2-0.9 2-2V6c0-1.1-0.9-2-2-2zM7.76 16.24l-1.41 1.41C4.78 16.1 4 14.05 4 12c0-2.05 0.78 -4.1 2.34-5.66l1.41 1.41C6.59 8.93 6 10.46 6 12s0.59 3.07 1.76 4.24zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm5.66 1.66l-1.41-1.41C17.41 15.07 18 13.54 18 12s-0.59-3.07-1.76-4.24l1.41-1.41C19.22 7.9 20 9.95 20 12c0 2.05-0.78 4.1-2.34 5.66zM12 10c-1.1 0-2 0.9-2 2s0.9 2 2 2 2-0.9 2-2-0.9-2-2-2z" />
|
||||
</vector>
|
||||
10
parts/res/drawable/ic_thermal.xml
Normal file
10
parts/res/drawable/ic_thermal.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="?android:attr/colorControlNormal"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24">
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M17 3H21V5H17V3M17 7H21V9H17V7M17 11H21V13H17.75L17 12.1V11M21 15V17H19C19 16.31 18.9 15.63 18.71 15H21M7 3V5H3V3H7M7 7V9H3V7H7M7 11V12.1L6.25 13H3V11H7M3 15H5.29C5.1 15.63 5 16.31 5 17H3V15M15 13V5C15 3.34 13.66 2 12 2S9 3.34 9 5V13C6.79 14.66 6.34 17.79 8 20S12.79 22.66 15 21 17.66 16.21 16 14C15.72 13.62 15.38 13.28 15 13M12 4C12.55 4 13 4.45 13 5V8H11V5C11 4.45 11.45 4 12 4Z" />
|
||||
</vector>
|
||||
@@ -1,19 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:name="vector"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24">
|
||||
<group
|
||||
android:scaleX="5.50297"
|
||||
android:scaleY="5.52411"
|
||||
android:translateX="-59.0634"
|
||||
android:translateY="-57.934">
|
||||
<path
|
||||
android:fillColor="?android:attr/colorAccent"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M10.961 13.514c0 -1.078 0.874 -1.952 1.953 -1.952 0.555 0 1.057 0.232 1.412 0.604l-0.583 0.141c-0.236 -0.162 -0.522 -0.257 -0.829 -0.257 -0.809 0 -1.465 0.655 -1.465 1.464l0 0c0 0.135 -0.109 0.244 -0.244 0.244 -0.134 0 -0.244 -0.109 -0.244 -0.244l0 0zm3.417 0c0 -0.094 -0.009 -0.185 -0.026 -0.274l0.429 -0.297c0.055 0.181 0.085 0.373 0.085 0.571 0 0.135 -0.109 0.244 -0.244 0.244 -0.135 0 -0.244 -0.109 -0.244 -0.244l0 0zm-0.02 -1.097c0.102 -0.028 0.212 0.022 0.256 0.121 0.045 0.101 0.007 0.219 -0.085 0.275l0 0 -1.313 0.833c-0.011 0.008 -0.023 0.016 -0.035 0.023l-0.001 0 0 0c-0.013 0.008 -0.025 0.014 -0.039 0.02 -0.226 0.101 -0.491 0 -0.592 -0.226 -0.101 -0.225 0 -0.491 0.226 -0.592 0.026 -0.012 0.052 -0.021 0.079 -0.027l1.504 -0.427 0 0z"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeMiterLimit="1.41421" />
|
||||
</group>
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:name="path"
|
||||
android:pathData="M 20.38 8.57 L 19.15 10.42 C 19.743 11.603 20.034 12.915 19.995 14.238 C 19.957 15.561 19.591 16.853 18.93 18 L 5.07 18 C 4.211 16.51 3.855 14.783 4.055 13.075 C 4.255 11.367 5 9.769 6.179 8.517 C 7.359 7.266 8.911 6.428 10.604 6.128 C 12.297 5.827 14.042 6.081 15.58 6.85 L 17.43 5.62 C 15.547 4.412 13.312 3.871 11.085 4.083 C 8.858 4.295 6.765 5.248 5.143 6.789 C 3.522 8.33 2.463 10.372 2.138 12.585 C 1.813 14.798 2.24 17.058 3.35 19 C 3.524 19.302 3.775 19.554 4.077 19.729 C 4.379 19.904 4.721 19.998 5.07 20 L 18.92 20 C 19.272 20.001 19.619 19.91 19.925 19.734 C 20.23 19.558 20.484 19.305 20.66 19 C 21.581 17.404 22.044 15.584 21.996 13.742 C 21.948 11.9 21.393 10.106 20.39 8.56 Z M 10.59 15.41 C 10.838 15.659 11.148 15.837 11.487 15.928 C 11.826 16.019 12.184 16.019 12.523 15.928 C 12.862 15.837 13.172 15.659 13.42 15.41 L 19.08 6.92 L 10.59 12.58 C 10.341 12.828 10.163 13.138 10.072 13.477 C 9.981 13.816 9.981 14.174 10.072 14.513 C 10.163 14.852 10.341 15.162 10.59 15.41 Z"
|
||||
android:fillColor="?android:attr/colorAccent"
|
||||
android:strokeWidth="1"/>
|
||||
</vector>
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:name="vector"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24">
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
|
||||
<path
|
||||
android:name="path"
|
||||
android:pathData="M 12 2 C 6.48 2 2 6.48 2 12 C 2 17.52 6.48 22 12 22 C 17.52 22 22 17.52 22 12 C 22 6.48 17.52 2 12 2 Z M 11 19.93 C 7.05 19.44 4 16.08 4 12 C 4 11.38 4.08 10.79 4.21 10.21 L 9 15 L 9 16 C 9 17.1 9.9 18 11 18 L 11 19.93 Z M 17.9 17.39 C 17.64 16.58 16.9 16 16 16 L 15 16 L 15 13 C 15 12.45 14.55 12 14 12 L 8 12 L 8 10 L 10 10 C 10.55 10 11 9.55 11 9 L 11 7 L 13 7 C 14.1 7 15 6.1 15 5 L 15 4.59 C 17.93 5.78 20 8.65 20 12 C 20 14.08 19.2 15.97 17.9 17.39 Z"
|
||||
android:fillColor="?android:attr/colorAccent"
|
||||
android:pathData="M2.546,5.862C4.557,2.772 8.042,0.727 12,0.727C15.958,0.727 19.443,2.772 21.454,5.862C21.584,5.947 21.674,6.086 21.694,6.246C22.697,7.931 23.273,9.899 23.273,12C23.273,18.222 18.222,23.273 12,23.273C5.778,23.273 0.727,18.222 0.727,12C0.727,9.899 1.303,7.931 2.306,6.246C2.326,6.086 2.416,5.947 2.546,5.862ZM7.784,18.049L5.229,18.049C6.602,19.585 8.49,20.651 10.62,20.977C9.503,20.219 8.537,19.221 7.784,18.049ZM18.771,18.049L16.31,18.049C15.564,19.211 14.608,20.202 13.503,20.957C15.583,20.61 17.424,19.555 18.771,18.049ZM13.235,18.049L10.86,18.049C11.207,18.703 11.606,19.307 12.047,19.852C12.488,19.307 12.888,18.703 13.235,18.049ZM6.086,13.083L2.983,13.083C3.101,14.074 3.379,15.016 3.79,15.882L6.713,15.882C6.393,15.001 6.178,14.062 6.086,13.083ZM21.017,13.083L18.008,13.083C17.916,14.062 17.702,15.001 17.382,15.882L20.21,15.882C20.621,15.016 20.899,14.074 21.017,13.083ZM14.67,13.083L9.424,13.083C9.503,14.057 9.689,14.997 9.962,15.882L14.132,15.882C14.406,14.997 14.591,14.057 14.67,13.083ZM6.78,7.939L3.877,7.939C3.418,8.854 3.109,9.858 2.983,10.917L6.086,10.917C6.184,9.872 6.422,8.871 6.78,7.939ZM20.123,7.939L17.315,7.939C17.672,8.871 17.91,9.872 18.008,10.917L21.017,10.917C20.891,9.858 20.582,8.854 20.123,7.939ZM14.076,7.939L10.019,7.939C9.714,8.877 9.509,9.877 9.424,10.917L14.67,10.917C14.585,9.877 14.38,8.877 14.076,7.939ZM10.62,3.023C8.574,3.336 6.751,4.333 5.393,5.772L7.901,5.772C8.637,4.677 9.56,3.742 10.62,3.023ZM13.503,3.043C14.551,3.759 15.465,4.687 16.193,5.772L18.607,5.772C17.276,4.361 15.499,3.376 13.503,3.043ZM12.047,4.148C11.647,4.643 11.281,5.187 10.957,5.772L13.138,5.772C12.814,5.187 12.448,4.643 12.047,4.148Z" />
|
||||
android:strokeWidth="1"/>
|
||||
</vector>
|
||||
|
||||
@@ -1,19 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:name="vector"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24">
|
||||
<group
|
||||
android:scaleX="0.879929"
|
||||
android:scaleY="0.883309"
|
||||
android:translateX="1.44085"
|
||||
android:translateY="0.746289">
|
||||
<path
|
||||
android:fillColor="?android:attr/colorAccent"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M20.764 21.26l-17.528 0c-1.07 0 -1.939 -0.868 -1.939 -1.939l0 -11.324c0 -1.07 0.869 -1.939 1.939 -1.939l4.534 0C7.982 5.01 8.91 4.22 10.02 4.22l3.96 0c1.11 0 2.037 0.79 2.25 1.838l4.534 0c1.07 0 1.939 0.869 1.939 1.939l0 11.324c0 1.071 -0.869 1.939 -1.939 1.939zM12 8.646c2.767 0 5.013 2.246 5.013 5.013 0 2.767 -2.246 5.013 -5.013 5.013 -2.767 0 -5.013 -2.246 -5.013 -5.013 0 -2.767 2.246 -5.013 5.013 -5.013zM3.674 7.257c0.624 0 1.131 0.507 1.131 1.131 0 0.624 -0.507 1.131 -1.131 1.131 -0.624 0 -1.131 -0.507 -1.131 -1.131 0 -0.624 0.507 -1.131 1.131 -1.131z"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeMiterLimit="1.41421" />
|
||||
</group>
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:name="path"
|
||||
android:pathData="M 9 3 L 7.17 5 L 4 5 C 2.9 5 2 5.9 2 7 L 2 19 C 2 20.1 2.9 21 4 21 L 20 21 C 21.1 21 22 20.1 22 19 L 22 7 C 22 5.9 21.1 5 20 5 L 16.83 5 L 15 3 L 9 3 Z M 12 18 C 9.24 18 7 15.76 7 13 C 7 10.24 9.24 8 12 8 C 14.76 8 17 10.24 17 13 C 17 15.76 14.76 18 12 18 Z"
|
||||
android:fillColor="?android:attr/colorAccent"
|
||||
android:strokeWidth="1"/>
|
||||
</vector>
|
||||
|
||||
@@ -1,19 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:name="vector"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24">
|
||||
<group
|
||||
android:scaleX="1.05866"
|
||||
android:scaleY="1.05866"
|
||||
android:translateX="-0.652026"
|
||||
android:translateY="-0.703971">
|
||||
<path
|
||||
android:fillColor="?android:attr/colorAccent"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M11.066 10.383l0 -2.773 -2.033 -2.033c-0.364 -0.365 -0.364 -0.956 0 -1.321 0.365 -0.364 0.956 -0.364 1.321 0l0.712 0.713 0 -1.111c0 -0.515 0.419 -0.934 0.934 -0.934 0.515 0 0.934 0.419 0.934 0.934l0 1.111 0.712 -0.713c0.365 -0.364 0.956 -0.364 1.321 0 0.364 0.365 0.364 0.956 0 1.321l-2.033 2.033 0 2.773 2.401 -1.387 0.744 -2.777c0.134 -0.498 0.646 -0.794 1.144 -0.66 0.498 0.133 0.794 0.646 0.66 1.143L17.622 7.676 18.584 7.12c0.447 -0.257 1.018 -0.104 1.276 0.342 0.258 0.446 0.104 1.018 -0.342 1.276l-0.962 0.555 0.973 0.261c0.498 0.133 0.794 0.646 0.661 1.144 -0.134 0.497 -0.646 0.793 -1.144 0.66L16.269 10.614 13.868 12l2.401 1.386 2.777 -0.744c0.498 -0.133 1.01 0.163 1.144 0.66 0.133 0.498 -0.163 1.011 -0.661 1.144l-0.973 0.261 0.962 0.555c0.446 0.258 0.6 0.83 0.342 1.276 -0.258 0.446 -0.829 0.599 -1.276 0.342l-0.962 -0.556 0.261 0.974c0.134 0.497 -0.162 1.01 -0.66 1.143 -0.498 0.134 -1.01 -0.162 -1.144 -0.66l-0.744 -2.777 -2.401 -1.387 0 2.886 2.033 2.034c0.364 0.364 0.364 0.956 0 1.32 -0.365 0.365 -0.956 0.365 -1.321 0l-0.712 -0.712 0 0.997c0 0.515 -0.419 0.934 -0.934 0.934 -0.515 0 -0.934 -0.419 -0.934 -0.934l0 -0.997 -0.712 0.712c-0.365 0.365 -0.956 0.365 -1.321 0 -0.364 -0.364 -0.364 -0.956 0 -1.32l2.033 -2.034 0 -2.886 -2.499 1.443 -0.744 2.778C7.689 18.335 7.177 18.631 6.679 18.498 6.181 18.365 5.885 17.852 6.019 17.354L6.28 16.381 5.416 16.88C4.969 17.137 4.398 16.984 4.14 16.538 3.882 16.092 4.036 15.52 4.482 15.262L5.346 14.764 4.372 14.503C3.875 14.369 3.579 13.857 3.712 13.359 3.846 12.861 4.358 12.565 4.856 12.699L7.633 13.443 10.132 12 7.633 10.557 4.856 11.301C4.358 11.435 3.846 11.139 3.712 10.641 3.579 10.143 3.875 9.631 4.372 9.497L5.346 9.236 4.482 8.738C4.036 8.48 3.882 7.908 4.14 7.462 4.398 7.016 4.969 6.863 5.416 7.12L6.28 7.619 6.019 6.646C5.885 6.148 6.181 5.635 6.679 5.502 7.177 5.369 7.689 5.665 7.823 6.162l0.744 2.778 2.499 1.443z"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeMiterLimit="1.41421" />
|
||||
</group>
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:name="path"
|
||||
android:pathData="M 14.59 8 L 12 10.59 L 9.41 8 L 8 9.41 L 10.59 12 L 8 14.59 L 9.41 16 L 12 13.41 L 14.59 16 L 16 14.59 L 13.41 12 L 16 9.41 L 14.59 8 Z M 12 2 C 6.47 2 2 6.47 2 12 C 2 17.53 6.47 22 12 22 C 17.53 22 22 17.53 22 12 C 22 6.47 17.53 2 12 2 Z M 12 20 C 7.59 20 4 16.41 4 12 C 4 7.59 7.59 4 12 4 C 16.41 4 20 7.59 20 12 C 20 16.41 16.41 20 12 20 Z"
|
||||
android:fillColor="?android:attr/colorAccent"
|
||||
android:strokeWidth="1"/>
|
||||
</vector>
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:name="vector"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24">
|
||||
<group
|
||||
android:scaleX="0.0930942"
|
||||
android:scaleY="0.0934518"
|
||||
android:translateX="19.4408"
|
||||
android:translateY="9.49012">
|
||||
<path
|
||||
android:fillColor="?android:attr/colorAccent"
|
||||
android:pathData="M0 57.121c-22.463 -12.601 -36.159 -9.862 -42.734 0 -6.574 9.862 -20.819 24.106 -42.186 6.574 -10.987 -9.015 -22.91 -21.121 -31.769 -31.918 -17.532 -21.367 -3.287 -35.612 6.575 -42.186 9.861 -6.575 12.601 -20.272 0 -42.734 -12.601 -22.463 -33.421 -16.437 -33.421 -16.437 0 0 -22.462 6.575 -32.324 48.213 -8.889 37.534 35.637 88.416 44.502 98.083 0 0 57.942 56.011 99.581 46.149 41.638 -9.861 48.212 -32.324 48.212 -32.324 0 0 6.027 -20.819 -16.436 -33.42"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeMiterLimit="1.41421" />
|
||||
</group>
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:name="path_1"
|
||||
android:pathData="M 20.01 15.38 C 18.78 15.38 17.59 15.18 16.48 14.82 C 16.13 14.7 15.74 14.79 15.47 15.06 L 13.9 17.03 C 11.07 15.68 8.42 13.13 7.01 10.2 L 8.96 8.54 C 9.23 8.26 9.31 7.87 9.2 7.52 C 8.83 6.41 8.64 5.22 8.64 3.99 C 8.64 3.45 8.19 3 7.65 3 L 4.19 3 C 3.65 3 3 3.24 3 3.99 C 3 13.28 10.73 21 20.01 21 C 20.72 21 21 20.37 21 19.82 L 21 16.37 C 21 15.83 20.55 15.38 20.01 15.38 Z"
|
||||
android:fillColor="?android:attr/colorAccent"
|
||||
android:strokeWidth="1"/>
|
||||
</vector>
|
||||
|
||||
@@ -1,19 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:name="vector"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24">
|
||||
<group
|
||||
android:scaleX="0.921041"
|
||||
android:scaleY="0.924579"
|
||||
android:translateX="0.752324"
|
||||
android:translateY="0.893459">
|
||||
<path
|
||||
android:fillColor="?android:attr/colorAccent"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M10.228 14.833c-0.006 0 -0.894 0.008 -1.83 1.069 -0.716 0.812 -1.981 2.473 -3.218 3.16 -0.07 0.041 -0.143 0.078 -0.218 0.111 -0.311 0.143 -0.619 0.217 -0.913 0.192l-0.015 0C3.63 19.362 3.252 19.254 2.924 19.066 1.702 18.44 1.782 17.099 1.782 17.099c0 -0.07 0.004 -0.139 0.01 -0.206C1.847 15.696 2.143 9.661 2.563 8.549 3.102 6.316 5.114 4.656 7.51 4.656l9.423 0c2.478 0 4.545 1.775 4.997 4.123 0.383 1.539 0.65 6.984 0.702 8.114 0.006 0.067 0.009 0.136 0.009 0.206 0 0 0.081 1.341 -1.142 1.967 -0.327 0.188 -0.706 0.296 -1.109 0.299l-0.015 0c-0.294 0.025 -0.602 -0.049 -0.914 -0.192 -0.074 -0.033 -0.147 -0.07 -0.218 -0.111 -1.236 -0.687 -2.502 -2.348 -3.217 -3.16 -0.936 -1.061 -1.824 -1.069 -1.83 -1.069l-3.968 0zM8.247 6.379c1.935 0 3.507 1.571 3.507 3.507 0 1.935 -1.572 3.507 -3.507 3.507 -1.936 0 -3.507 -1.572 -3.507 -3.507 0 -1.936 1.571 -3.507 3.507 -3.507zm9.138 4.16c0.454 0 0.823 0.369 0.823 0.823 0 0.454 -0.369 0.823 -0.823 0.823 -0.454 0 -0.823 -0.369 -0.823 -0.823 0 -0.454 0.369 -0.823 0.823 -0.823zm-8.421 0.07l0 0.814c0 0.399 -0.324 0.723 -0.723 0.723 -0.399 0 -0.723 -0.324 -0.723 -0.723l0 -0.814 -0.815 0C6.304 10.609 5.98 10.285 5.98 9.886 5.98 9.487 6.304 9.163 6.703 9.163l0.815 0 0 -0.815c0 -0.399 0.324 -0.723 0.723 -0.723 0.399 0 0.723 0.324 0.723 0.723l0 0.815 0.815 0c0.399 0 0.723 0.324 0.723 0.723 0 0.399 -0.324 0.722 -0.723 0.723l-0.815 0zm10.72 -0.723c0 0.454 -0.369 0.823 -0.823 0.823 -0.454 0 -0.823 -0.369 -0.823 -0.823 0 -0.455 0.369 -0.823 0.823 -0.823 0.454 0 0.823 0.368 0.823 0.823zm-2.952 0c0 0.454 -0.369 0.823 -0.823 0.823 -0.455 0 -0.823 -0.369 -0.823 -0.823 0 -0.455 0.368 -0.823 0.823 -0.823 0.454 0 0.823 0.368 0.823 0.823zm0.653 -2.3c0.454 0 0.823 0.369 0.823 0.824 0 0.454 -0.369 0.823 -0.823 0.823 -0.454 0 -0.823 -0.369 -0.823 -0.823 0 -0.455 0.369 -0.824 0.823 -0.824z"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeMiterLimit="1.41421" />
|
||||
</group>
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:name="path"
|
||||
android:pathData="M 21 6 L 3 6 C 1.9 6 1 6.9 1 8 L 1 16 C 1 17.1 1.9 18 3 18 L 21 18 C 22.1 18 23 17.1 23 16 L 23 8 C 23 6.9 22.1 6 21 6 Z M 11 13 L 8 13 L 8 16 L 6 16 L 6 13 L 3 13 L 3 11 L 6 11 L 6 8 L 8 8 L 8 11 L 11 11 L 11 13 Z M 15.5 15 C 14.67 15 14 14.33 14 13.5 C 14 12.67 14.67 12 15.5 12 C 16.33 12 17 12.67 17 13.5 C 17 14.33 16.33 15 15.5 15 Z M 19.5 12 C 18.67 12 18 11.33 18 10.5 C 18 9.67 18.67 9 19.5 9 C 20.33 9 21 9.67 21 10.5 C 21 11.33 20.33 12 19.5 12 Z"
|
||||
android:fillColor="?android:attr/colorAccent"
|
||||
android:strokeWidth="1"/>
|
||||
</vector>
|
||||
|
||||
19
parts/res/drawable/ic_thermal_settings.xml
Normal file
19
parts/res/drawable/ic_thermal_settings.xml
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24">
|
||||
<group
|
||||
android:scaleX="1.05866"
|
||||
android:scaleY="1.05866"
|
||||
android:translateX="-0.652026"
|
||||
android:translateY="-0.703971">
|
||||
<path
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M11.066 10.383l0 -2.773 -2.033 -2.033c-0.364 -0.365 -0.364 -0.956 0 -1.321 0.365 -0.364 0.956 -0.364 1.321 0l0.712 0.713 0 -1.111c0 -0.515 0.419 -0.934 0.934 -0.934 0.515 0 0.934 0.419 0.934 0.934l0 1.111 0.712 -0.713c0.365 -0.364 0.956 -0.364 1.321 0 0.364 0.365 0.364 0.956 0 1.321l-2.033 2.033 0 2.773 2.401 -1.387 0.744 -2.777c0.134 -0.498 0.646 -0.794 1.144 -0.66 0.498 0.133 0.794 0.646 0.66 1.143L17.622 7.676 18.584 7.12c0.447 -0.257 1.018 -0.104 1.276 0.342 0.258 0.446 0.104 1.018 -0.342 1.276l-0.962 0.555 0.973 0.261c0.498 0.133 0.794 0.646 0.661 1.144 -0.134 0.497 -0.646 0.793 -1.144 0.66L16.269 10.614 13.868 12l2.401 1.386 2.777 -0.744c0.498 -0.133 1.01 0.163 1.144 0.66 0.133 0.498 -0.163 1.011 -0.661 1.144l-0.973 0.261 0.962 0.555c0.446 0.258 0.6 0.83 0.342 1.276 -0.258 0.446 -0.829 0.599 -1.276 0.342l-0.962 -0.556 0.261 0.974c0.134 0.497 -0.162 1.01 -0.66 1.143 -0.498 0.134 -1.01 -0.162 -1.144 -0.66l-0.744 -2.777 -2.401 -1.387 0 2.886 2.033 2.034c0.364 0.364 0.364 0.956 0 1.32 -0.365 0.365 -0.956 0.365 -1.321 0l-0.712 -0.712 0 0.997c0 0.515 -0.419 0.934 -0.934 0.934 -0.515 0 -0.934 -0.419 -0.934 -0.934l0 -0.997 -0.712 0.712c-0.365 0.365 -0.956 0.365 -1.321 0 -0.364 -0.364 -0.364 -0.956 0 -1.32l2.033 -2.034 0 -2.886 -2.499 1.443 -0.744 2.778C7.689 18.335 7.177 18.631 6.679 18.498 6.181 18.365 5.885 17.852 6.019 17.354L6.28 16.381 5.416 16.88C4.969 17.137 4.398 16.984 4.14 16.538 3.882 16.092 4.036 15.52 4.482 15.262L5.346 14.764 4.372 14.503C3.875 14.369 3.579 13.857 3.712 13.359 3.846 12.861 4.358 12.565 4.856 12.699L7.633 13.443 10.132 12 7.633 10.557 4.856 11.301C4.358 11.435 3.846 11.139 3.712 10.641 3.579 10.143 3.875 9.631 4.372 9.497L5.346 9.236 4.482 8.738C4.036 8.48 3.882 7.908 4.14 7.462 4.398 7.016 4.969 6.863 5.416 7.12L6.28 7.619 6.019 6.646C5.885 6.148 6.181 5.635 6.679 5.502 7.177 5.369 7.689 5.665 7.823 6.162l0.744 2.778 2.499 1.443z"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeMiterLimit="1.41421" />
|
||||
</group>
|
||||
</vector>
|
||||
@@ -1,19 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:name="vector"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24">
|
||||
<group
|
||||
android:scaleX="1.20862"
|
||||
android:scaleY="1.21327"
|
||||
android:translateX="-0.686496"
|
||||
android:translateY="-0.544151">
|
||||
<path
|
||||
android:fillColor="?android:attr/colorAccent"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M13.29 18.046l-8.091 0c-1.277 0 -2.315 -1.037 -2.315 -2.315l0 -4.631c0 -1.277 1.038 -2.315 2.315 -2.315l8.091 0c1.272 0 2.305 1.027 2.315 2.296l1.307 -0.754c0.065 -0.038 0.135 -0.067 0.21 -0.086l0.002 0 0 0 0 0 0 0c0.062 -0.015 0.126 -0.023 0.188 -0.023l0.001 0 0.003 0c0.146 0.001 0.283 0.041 0.401 0.11 0.11 0.065 0.205 0.156 0.276 0.272 0.043 0.071 0.076 0.15 0.096 0.233l0 0.002c0.014 0.059 0.02 0.119 0.02 0.178l0 0.001 0 4.803 0 0.001c0 0.059 -0.006 0.119 -0.02 0.178l0 0.001 0 0 0 0 0 0.001c-0.02 0.084 -0.053 0.162 -0.096 0.233 -0.071 0.116 -0.166 0.208 -0.276 0.272 -0.118 0.07 -0.255 0.11 -0.401 0.11l0 0 0 0 -0.003 0 -0.001 0c-0.062 0 -0.126 -0.007 -0.188 -0.023l0 0 0 0 0 0 -0.002 0c-0.075 -0.018 -0.145 -0.047 -0.21 -0.085L15.605 15.75c-0.01 1.269 -1.043 2.296 -2.315 2.296zm-1.773 -4.63c0 -0.107 -0.027 -0.214 -0.083 -0.313l0 0 0 0 -0.001 -0.002 -0.001 0C11.409 13.06 11.381 13.023 11.349 12.988 11.305 12.94 11.254 12.9 11.198 12.869L7.919 10.975C7.867 10.945 7.811 10.922 7.752 10.908l-0.001 -0.001 0 0 0 0 0 0C7.702 10.895 7.652 10.889 7.602 10.889l0 0 -0.002 0 -0.001 0 0 0C7.484 10.89 7.376 10.921 7.283 10.976 7.196 11.027 7.12 11.099 7.064 11.191 7.03 11.247 7.004 11.309 6.989 11.375l0 0.001 0 0 0 0 0 0.001c-0.011 0.046 -0.016 0.094 -0.016 0.141l0 0 0 3.795 0 0.001c0 0.047 0.005 0.094 0.016 0.141l0 0.001c0.015 0.066 0.041 0.128 0.075 0.185 0.056 0.091 0.132 0.163 0.219 0.214 0.093 0.055 0.201 0.087 0.316 0.087l0.003 0 0 0c0.05 0 0.1 -0.006 0.149 -0.018l0 0 0 0 0 0 0.001 0c0.059 -0.015 0.115 -0.038 0.167 -0.068l3.279 -1.893c0.056 -0.032 0.107 -0.072 0.151 -0.119 0.032 -0.035 0.06 -0.073 0.083 -0.113l0.001 -0.001 0.001 -0.001 0 -0.001 0 0c0.056 -0.098 0.083 -0.206 0.083 -0.312zM6.026 4.848c0.955 0 1.731 0.776 1.731 1.731C7.757 7.535 6.981 8.31 6.026 8.31 5.07 8.31 4.295 7.535 4.295 6.579 4.295 5.624 5.07 4.848 6.026 4.848Zm4.986 -2.216c1.567 0 2.839 1.272 2.839 2.839 0 1.567 -1.272 2.839 -2.839 2.839 -1.567 0 -2.839 -1.272 -2.839 -2.839 0 -1.567 1.272 -2.839 2.839 -2.839z"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeMiterLimit="1.41421" />
|
||||
</group>
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:name="path"
|
||||
android:pathData="M 21 3 L 3 3 C 1.89 3 1 3.89 1 5 L 1 17 C 1 18.1 1.89 19 3 19 L 8 19 L 8 21 L 16 21 L 16 19 L 21 19 C 22.1 19 22.99 18.1 22.99 17 L 23 5 C 23 3.89 22.1 3 21 3 Z M 21 17 L 3 17 L 3 5 L 21 5 L 21 17 Z M 16 11 L 9 15 L 9 7 Z"
|
||||
android:fillColor="?android:attr/colorAccent"
|
||||
android:strokeWidth="1"/>
|
||||
</vector>
|
||||
|
||||
BIN
parts/res/raw/clear_speaker_sound.mp3
Normal file
BIN
parts/res/raw/clear_speaker_sound.mp3
Normal file
Binary file not shown.
@@ -1,98 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2018 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>
|
||||
<!-- Values for Dirac headset pref -->
|
||||
<string-array name="dirac_headset_pref_entries" translatable="false">
|
||||
<item>@string/dirac_headset_default</item>
|
||||
<item>@string/dirac_headset_earbuds</item>
|
||||
<item>@string/dirac_headset_in_ear_2013</item>
|
||||
<item>@string/dirac_headset_piston_1</item>
|
||||
<item>@string/dirac_headset_general</item>
|
||||
<item>@string/dirac_headset_general_inear</item>
|
||||
<item>@string/dirac_headset_piston_basic</item>
|
||||
<item>@string/dirac_headset_piston_2</item>
|
||||
<item>@string/dirac_headset_piston_standard</item>
|
||||
<item>@string/dirac_headset_headphone</item>
|
||||
<item>@string/dirac_headset_piston_youth</item>
|
||||
<item>@string/dirac_headset_piston_color</item>
|
||||
<item>@string/dirac_headset_in_ear</item>
|
||||
<item>@string/dirac_headset_capsule</item>
|
||||
<item>@string/dirac_headset_in_ear_pro</item>
|
||||
<item>@string/dirac_headset_comfort</item>
|
||||
<item>@string/dirac_headset_reduction_noise</item>
|
||||
<item>@string/dirac_headset_cancelling</item>
|
||||
<item>@string/dirac_headset_half_in_ear</item>
|
||||
<item>@string/dirac_headset_in_ear2</item>
|
||||
<item>@string/dirac_headset_earphone_basic</item>
|
||||
<item>@string/dirac_headset_earphone</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="dirac_headset_pref_values" translatable="false">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>3</item>
|
||||
<item>5</item>
|
||||
<item>6</item>
|
||||
<item>7</item>
|
||||
<item>8</item>
|
||||
<item>9</item>
|
||||
<item>10</item>
|
||||
<item>11</item>
|
||||
<item>12</item>
|
||||
<item>13</item>
|
||||
<item>14</item>
|
||||
<item>15</item>
|
||||
<item>16</item>
|
||||
<item>17</item>
|
||||
<item>18</item>
|
||||
<item>19</item>
|
||||
<item>20</item>
|
||||
<item>21</item>
|
||||
<item>22</item>
|
||||
<item>23</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Values for Dirac preset pref -->
|
||||
<string-array name="dirac_preset_pref_entries" translatable="false">
|
||||
<item>@string/dirac_preset_default</item>
|
||||
<item>@string/dirac_preset_rock</item>
|
||||
<item>@string/dirac_preset_jazz</item>
|
||||
<item>@string/dirac_preset_pop</item>
|
||||
<item>@string/dirac_preset_classical</item>
|
||||
<item>@string/dirac_preset_hiphop</item>
|
||||
<item>@string/dirac_preset_blues</item>
|
||||
<item>@string/dirac_preset_electronic</item>
|
||||
<item>@string/dirac_preset_country</item>
|
||||
<item>@string/dirac_preset_dance</item>
|
||||
<item>@string/dirac_preset_metal</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="dirac_preset_pref_values" translatable="false">
|
||||
<item>"0,0,0,0,0,0,0"</item>
|
||||
<item>"4,2,-2,0,-2,-2,4"</item>
|
||||
<item>"0,0,0,-2,-3,0,0"</item>
|
||||
<item>"0,-3,-5,0,0,-3,0"</item>
|
||||
<item>"0,0,0,0,3,6,6"</item>
|
||||
<item>"3,3,-3,0,-3,0,2"</item>
|
||||
<item>"2,4,-6,4,0,1,2"</item>
|
||||
<item>"3,3,-1,0,-3,0,0"</item>
|
||||
<item>"0,0,-2,-2,2,2,0"</item>
|
||||
<item>"0,4,2,0,-2,-2,4"</item>
|
||||
<item>"2,0,0,-2,-4,0,0"</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
@@ -15,57 +15,26 @@
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<!-- Dirac settings -->
|
||||
<string name="dirac_enable">Enable dirac</string>
|
||||
<string name="dirac_title">Dirac sound enhancer</string>
|
||||
<string name="dirac_headset_title">Headset type</string>
|
||||
<string name="dirac_preset_title">Sound preset</string>
|
||||
|
||||
<!-- Dirac settings: headset types -->
|
||||
<string name="dirac_headset_default">Default</string>
|
||||
<string name="dirac_headset_earbuds">Mi Earbuds</string>
|
||||
<string name="dirac_headset_in_ear_2013">Mi In-Ear (2013)</string>
|
||||
<string name="dirac_headset_piston_1">Mi Piston 1</string>
|
||||
<string name="dirac_headset_general">General Earbuds</string>
|
||||
<string name="dirac_headset_general_inear">General In-Ear</string>
|
||||
<string name="dirac_headset_piston_basic">Basic Edition</string>
|
||||
<string name="dirac_headset_piston_2">Mi Piston 2</string>
|
||||
<string name="dirac_headset_piston_standard">Mi Piston 3</string>
|
||||
<string name="dirac_headset_headphone">Mi Headphones</string>
|
||||
<string name="dirac_headset_piston_youth">Youth Edition</string>
|
||||
<string name="dirac_headset_piston_color">Color Edition</string>
|
||||
<string name="dirac_headset_in_ear">Mi In-Ear</string>
|
||||
<string name="dirac_headset_capsule">Mi Capsule</string>
|
||||
<string name="dirac_headset_in_ear_pro">Mi In-Ear Pro</string>
|
||||
<string name="dirac_headset_comfort">Mi Comfort</string>
|
||||
<string name="dirac_headset_reduction_noise">Mi Noise Cancelling (Type-C)</string>
|
||||
<string name="dirac_headset_cancelling">Mi Noise Cancelling (3.5mm)</string>
|
||||
<string name="dirac_headset_half_in_ear">Mi Half In-Ear</string>
|
||||
<string name="dirac_headset_in_ear2">Mi In-Ear 2</string>
|
||||
<string name="dirac_headset_earphone_basic">Mi Earphones Basic</string>
|
||||
<string name="dirac_headset_earphone">Mi Earphones</string>
|
||||
|
||||
<!-- Dirac settings: equalizer presets -->
|
||||
<string name="dirac_preset_default">Default</string>
|
||||
<string name="dirac_preset_rock">Rock</string>
|
||||
<string name="dirac_preset_jazz">Jazz</string>
|
||||
<string name="dirac_preset_pop">Pop</string>
|
||||
<string name="dirac_preset_classical">Classical</string>
|
||||
<string name="dirac_preset_hiphop">Hip Hop</string>
|
||||
<string name="dirac_preset_blues">Blues</string>
|
||||
<string name="dirac_preset_electronic">Electronic</string>
|
||||
<string name="dirac_preset_country">Country</string>
|
||||
<string name="dirac_preset_dance">Dance</string>
|
||||
<string name="dirac_preset_metal">Metal</string>
|
||||
<!-- Ambient settings -->
|
||||
<string name="doze_summary">Advanced Ambient Display Preferences</string>
|
||||
|
||||
<!-- Thermal profiles -->
|
||||
<string name="thermal_title">Thermal profiles</string>
|
||||
<string name="thermal_summary">Adjust per-app thermal profiles for optimum performance</string>
|
||||
<string name="thermal_default">Default</string>
|
||||
<string name="thermal_benchmark">Benchmark</string>
|
||||
<string name="thermal_default">No optimization</string>
|
||||
<string name="thermal_benchmark">Performance</string>
|
||||
<string name="thermal_browser">Browser</string>
|
||||
<string name="thermal_camera">Camera</string>
|
||||
<string name="thermal_dialer">Dialer</string>
|
||||
<string name="thermal_gaming">Gaming</string>
|
||||
<string name="thermal_streaming">Streaming</string>
|
||||
|
||||
<!-- Raise to wake strings-->
|
||||
<string name="raise_to_wake_gesture_title">Raise to wake</string>
|
||||
<string name="raise_to_wake_gesture_summary">Wake up the device instead of pulsing notification</string>
|
||||
|
||||
<!-- Clear Speaker -->
|
||||
<string name="clear_speaker_title">Clear speaker</string>
|
||||
<string name="clear_speaker_summary">Play a 30-second audio to clear the speaker</string>
|
||||
<string name="clear_speaker_description">Run this feature once or twice if you find that your speaker is lightly blocked by dust. Set media volume to maximum.\n\nIf the speaker is blocked heavily, run this feature 2–5 times while shaking your device with the speaker facing downwards.\n\nWARNING: Ensure that any headphones are unplugged.</string>
|
||||
</resources>
|
||||
|
||||
17
parts/res/xml/clear_speaker_settings.xml
Normal file
17
parts/res/xml/clear_speaker_settings.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:title="@string/clear_speaker_title">
|
||||
|
||||
<SwitchPreference
|
||||
android:key="clear_speaker_pref"
|
||||
android:title="@string/clear_speaker_title"
|
||||
android:icon="@drawable/ic_speaker_cleaner_icon"
|
||||
android:summary="@string/clear_speaker_summary"/>
|
||||
|
||||
<com.android.settingslib.widget.FooterPreference
|
||||
android:key="footer_preference"
|
||||
android:title="@string/clear_speaker_description"
|
||||
android:selectable="false" />
|
||||
|
||||
</PreferenceScreen>
|
||||
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2018,2021 The LineageOS Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<PreferenceScreen
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:title="@string/dirac_title">
|
||||
|
||||
<com.android.settingslib.widget.MainSwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="dirac_enable"
|
||||
android:title="@string/dirac_enable" />
|
||||
|
||||
<ListPreference
|
||||
android:key="dirac_headset_pref"
|
||||
android:entries="@array/dirac_headset_pref_entries"
|
||||
android:entryValues="@array/dirac_headset_pref_values"
|
||||
android:defaultValue="0"
|
||||
android:title="@string/dirac_headset_title"
|
||||
android:summary="%s" />
|
||||
|
||||
<ListPreference
|
||||
android:key="dirac_preset_pref"
|
||||
android:entries="@array/dirac_preset_pref_entries"
|
||||
android:entryValues="@array/dirac_preset_pref_values"
|
||||
android:defaultValue="0,0,0,0,0,0,0"
|
||||
android:title="@string/dirac_preset_title"
|
||||
android:summary="%s" />
|
||||
|
||||
</PreferenceScreen>
|
||||
@@ -31,6 +31,7 @@
|
||||
<SwitchPreferenceCompat
|
||||
android:key="always_on_display"
|
||||
android:disableDependentsState="true"
|
||||
android:icon="@drawable/ic_display"
|
||||
android:title="@string/ambient_display_always_on_title"
|
||||
android:summary="@string/ambient_display_always_on_summary"
|
||||
android:persistent="false" />
|
||||
@@ -46,6 +47,14 @@
|
||||
android:title="@string/pick_up_gesture_title"
|
||||
android:summary="@string/pick_up_gesture_summary" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:disableDependentsState="true"
|
||||
android:key="gesture_raise_to_wake"
|
||||
android:summary="@string/raise_to_wake_gesture_summary"
|
||||
android:title="@string/raise_to_wake_gesture_title"
|
||||
android:icon="@drawable/ic_raise" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
|
||||
@@ -20,9 +20,9 @@ package org.lineageos.settings;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.util.Log;
|
||||
|
||||
import org.lineageos.settings.dirac.DiracUtils;
|
||||
import org.lineageos.settings.doze.DozeUtils;
|
||||
import org.lineageos.settings.thermal.ThermalUtils;
|
||||
|
||||
@@ -34,7 +34,6 @@ public class BootCompletedReceiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(final Context context, Intent intent) {
|
||||
if (DEBUG) Log.d(TAG, "Received boot completed intent");
|
||||
DiracUtils.initialize();
|
||||
DozeUtils.checkDozeService(context);
|
||||
ThermalUtils.startService(context);
|
||||
}
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2018,2021-2022 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.
|
||||
*/
|
||||
|
||||
package org.lineageos.settings.dirac;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity;
|
||||
|
||||
public class DiracActivity extends CollapsingToolbarBaseActivity {
|
||||
|
||||
private static final String TAG_DIRAC = "dirac";
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
getFragmentManager().beginTransaction().replace(
|
||||
com.android.settingslib.collapsingtoolbar.R.id.content_frame,
|
||||
new DiracSettingsFragment(), TAG_DIRAC).commit();
|
||||
}
|
||||
}
|
||||
@@ -1,86 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2018,2020-2021 The LineageOS Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.lineageos.settings.dirac;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.widget.CompoundButton;
|
||||
|
||||
import androidx.preference.ListPreference;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceCategory;
|
||||
import androidx.preference.PreferenceFragment;
|
||||
|
||||
import com.android.settingslib.widget.MainSwitchPreference;
|
||||
|
||||
import org.lineageos.settings.R;
|
||||
|
||||
public class DiracSettingsFragment extends PreferenceFragment implements
|
||||
Preference.OnPreferenceChangeListener, CompoundButton.OnCheckedChangeListener {
|
||||
|
||||
private static final String PREF_ENABLE = "dirac_enable";
|
||||
private static final String PREF_HEADSET = "dirac_headset_pref";
|
||||
private static final String PREF_PRESET = "dirac_preset_pref";
|
||||
|
||||
private MainSwitchPreference mSwitchBar;
|
||||
|
||||
private ListPreference mHeadsetType;
|
||||
private ListPreference mPreset;
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
addPreferencesFromResource(R.xml.dirac_settings);
|
||||
|
||||
DiracUtils.initialize();
|
||||
boolean enhancerEnabled = DiracUtils.isDiracEnabled(getActivity());
|
||||
|
||||
mSwitchBar = (MainSwitchPreference) findPreference(PREF_ENABLE);
|
||||
mSwitchBar.addOnSwitchChangeListener(this);
|
||||
mSwitchBar.setChecked(enhancerEnabled);
|
||||
|
||||
mHeadsetType = (ListPreference) findPreference(PREF_HEADSET);
|
||||
mHeadsetType.setOnPreferenceChangeListener(this);
|
||||
mHeadsetType.setEnabled(enhancerEnabled);
|
||||
|
||||
mPreset = (ListPreference) findPreference(PREF_PRESET);
|
||||
mPreset.setOnPreferenceChangeListener(this);
|
||||
mPreset.setEnabled(enhancerEnabled);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
switch (preference.getKey()) {
|
||||
case PREF_HEADSET:
|
||||
DiracUtils.setHeadsetType(Integer.parseInt(newValue.toString()));
|
||||
return true;
|
||||
case PREF_PRESET:
|
||||
DiracUtils.setLevel(String.valueOf(newValue));
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
mSwitchBar.setChecked(isChecked);
|
||||
|
||||
DiracUtils.setMusic(isChecked);
|
||||
|
||||
mHeadsetType.setEnabled(isChecked);
|
||||
mPreset.setEnabled(isChecked);
|
||||
}
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2018 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.
|
||||
*/
|
||||
|
||||
package org.lineageos.settings.dirac;
|
||||
|
||||
import android.media.audiofx.AudioEffect;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class DiracSound extends AudioEffect {
|
||||
|
||||
private static final int DIRACSOUND_PARAM_HEADSET_TYPE = 1;
|
||||
private static final int DIRACSOUND_PARAM_EQ_LEVEL = 2;
|
||||
private static final int DIRACSOUND_PARAM_MUSIC = 4;
|
||||
|
||||
private static final UUID EFFECT_TYPE_DIRACSOUND =
|
||||
UUID.fromString("e069d9e0-8329-11df-9168-0002a5d5c51b");
|
||||
private static final String TAG = "DiracSound";
|
||||
|
||||
public DiracSound(int priority, int audioSession) {
|
||||
super(EFFECT_TYPE_NULL, EFFECT_TYPE_DIRACSOUND, priority, audioSession);
|
||||
}
|
||||
|
||||
public int getMusic() throws IllegalStateException,
|
||||
IllegalArgumentException, UnsupportedOperationException {
|
||||
int[] value = new int[1];
|
||||
checkStatus(getParameter(DIRACSOUND_PARAM_MUSIC, value));
|
||||
return value[0];
|
||||
}
|
||||
|
||||
public void setMusic(int enable) throws IllegalStateException,
|
||||
IllegalArgumentException, UnsupportedOperationException {
|
||||
checkStatus(setParameter(DIRACSOUND_PARAM_MUSIC, enable));
|
||||
}
|
||||
|
||||
public int getHeadsetType() throws IllegalStateException,
|
||||
IllegalArgumentException, UnsupportedOperationException {
|
||||
int[] value = new int[1];
|
||||
checkStatus(getParameter(DIRACSOUND_PARAM_HEADSET_TYPE, value));
|
||||
return value[0];
|
||||
}
|
||||
|
||||
public void setHeadsetType(int type) throws IllegalStateException,
|
||||
IllegalArgumentException, UnsupportedOperationException {
|
||||
checkStatus(setParameter(DIRACSOUND_PARAM_HEADSET_TYPE, type));
|
||||
}
|
||||
|
||||
public float getLevel(int band) throws IllegalStateException,
|
||||
IllegalArgumentException, UnsupportedOperationException {
|
||||
int[] param = new int[2];
|
||||
byte[] value = new byte[10];
|
||||
param[0] = DIRACSOUND_PARAM_EQ_LEVEL;
|
||||
param[1] = band;
|
||||
checkStatus(getParameter(param, value));
|
||||
return new Float(new String(value)).floatValue();
|
||||
}
|
||||
|
||||
public void setLevel(int band, float level) throws IllegalStateException,
|
||||
IllegalArgumentException, UnsupportedOperationException {
|
||||
checkStatus(setParameter(new int[]{DIRACSOUND_PARAM_EQ_LEVEL, band},
|
||||
String.valueOf(level).getBytes()));
|
||||
}
|
||||
}
|
||||
@@ -1,65 +0,0 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
package org.lineageos.settings.dirac;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
public final class DiracUtils {
|
||||
|
||||
protected static DiracSound mDiracSound;
|
||||
private static boolean mInitialized;
|
||||
|
||||
public static void initialize() {
|
||||
if (!mInitialized) {
|
||||
mDiracSound = new DiracSound(0, 0);
|
||||
mDiracSound.setMusic(mDiracSound.getMusic());
|
||||
mDiracSound.setHeadsetType(mDiracSound.getHeadsetType());
|
||||
setLevel(getLevel());
|
||||
mInitialized = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected static void setMusic(boolean enable) {
|
||||
mDiracSound.setMusic(enable ? 1 : 0);
|
||||
}
|
||||
|
||||
protected static boolean isDiracEnabled(Context context) {
|
||||
return mDiracSound != null && mDiracSound.getMusic() == 1;
|
||||
}
|
||||
|
||||
protected static void setLevel(String preset) {
|
||||
String[] level = preset.split("\\s*,\\s*");
|
||||
|
||||
for (int band = 0; band <= level.length - 1; band++) {
|
||||
mDiracSound.setLevel(band, Float.valueOf(level[band]));
|
||||
}
|
||||
}
|
||||
|
||||
protected static String getLevel() {
|
||||
String selected = "";
|
||||
for (int band = 0; band <= 6; band++) {
|
||||
int temp = (int) mDiracSound.getLevel(band);
|
||||
selected += String.valueOf(temp);
|
||||
if (band != 6) selected += ",";
|
||||
}
|
||||
return selected;
|
||||
}
|
||||
|
||||
protected static void setHeadsetType(int paramInt) {
|
||||
mDiracSound.setHeadsetType(paramInt);
|
||||
}
|
||||
}
|
||||
@@ -66,7 +66,8 @@ public class DozeService extends Service {
|
||||
|
||||
private void onDisplayOn() {
|
||||
if (DEBUG) Log.d(TAG, "Display on");
|
||||
if (DozeUtils.isPickUpEnabled(this)) {
|
||||
if (DozeUtils.isPickUpEnabled(this) ||
|
||||
DozeUtils.isRaiseToWakeEnabled(this)) {
|
||||
mPickupSensor.disable();
|
||||
}
|
||||
if (DozeUtils.isHandwaveGestureEnabled(this) ||
|
||||
@@ -77,7 +78,8 @@ public class DozeService extends Service {
|
||||
|
||||
private void onDisplayOff() {
|
||||
if (DEBUG) Log.d(TAG, "Display off");
|
||||
if (DozeUtils.isPickUpEnabled(this)) {
|
||||
if (DozeUtils.isPickUpEnabled(this) ||
|
||||
DozeUtils.isRaiseToWakeEnabled(this)) {
|
||||
mPickupSensor.enable();
|
||||
}
|
||||
if (DozeUtils.isHandwaveGestureEnabled(this) ||
|
||||
|
||||
@@ -29,7 +29,7 @@ public class DozeSettingsActivity extends CollapsingToolbarBaseActivity {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
getFragmentManager().beginTransaction().replace(
|
||||
getSupportFragmentManager().beginTransaction().replace(
|
||||
com.android.settingslib.collapsingtoolbar.R.id.content_frame,
|
||||
new DozeSettingsFragment(), TAG_DOZE).commit();
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) 2015 The CyanogenMod Project
|
||||
* 2017-2023 The LineageOS Project
|
||||
* 2017-2025 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.
|
||||
@@ -17,27 +17,23 @@
|
||||
|
||||
package org.lineageos.settings.doze;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.app.DialogFragment;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.widget.CompoundButton;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceCategory;
|
||||
import androidx.preference.PreferenceFragment;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
import androidx.preference.SwitchPreferenceCompat;
|
||||
|
||||
import com.android.settingslib.widget.MainSwitchPreference;
|
||||
|
||||
import org.lineageos.settings.R;
|
||||
|
||||
public class DozeSettingsFragment extends PreferenceFragment implements
|
||||
public class DozeSettingsFragment extends PreferenceFragmentCompat implements
|
||||
Preference.OnPreferenceChangeListener, CompoundButton.OnCheckedChangeListener {
|
||||
|
||||
private MainSwitchPreference mSwitchBar;
|
||||
@@ -45,6 +41,7 @@ public class DozeSettingsFragment extends PreferenceFragment implements
|
||||
private SwitchPreferenceCompat mAlwaysOnDisplayPreference;
|
||||
|
||||
private SwitchPreferenceCompat mPickUpPreference;
|
||||
private SwitchPreferenceCompat mRaiseToWakePreference;
|
||||
private SwitchPreferenceCompat mHandwavePreference;
|
||||
private SwitchPreferenceCompat mPocketPreference;
|
||||
|
||||
@@ -52,10 +49,10 @@ public class DozeSettingsFragment extends PreferenceFragment implements
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
addPreferencesFromResource(R.xml.doze_settings);
|
||||
setPreferencesFromResource(R.xml.doze_settings, rootKey);
|
||||
|
||||
SharedPreferences prefs = getActivity().getSharedPreferences("doze_settings",
|
||||
Activity.MODE_PRIVATE);
|
||||
Context.MODE_PRIVATE);
|
||||
if (savedInstanceState == null && !prefs.getBoolean("first_help_shown", false)) {
|
||||
showHelp();
|
||||
}
|
||||
@@ -80,6 +77,10 @@ public class DozeSettingsFragment extends PreferenceFragment implements
|
||||
mPickUpPreference.setEnabled(dozeEnabled);
|
||||
mPickUpPreference.setOnPreferenceChangeListener(this);
|
||||
|
||||
mRaiseToWakePreference = (SwitchPreferenceCompat) findPreference(DozeUtils.GESTURE_RAISE_TO_WAKE_KEY);
|
||||
mRaiseToWakePreference.setEnabled(dozeEnabled);
|
||||
mRaiseToWakePreference.setOnPreferenceChangeListener(this);
|
||||
|
||||
mHandwavePreference = (SwitchPreferenceCompat) findPreference(DozeUtils.GESTURE_HAND_WAVE_KEY);
|
||||
mHandwavePreference.setEnabled(dozeEnabled);
|
||||
mHandwavePreference.setOnPreferenceChangeListener(this);
|
||||
@@ -99,6 +100,8 @@ public class DozeSettingsFragment extends PreferenceFragment implements
|
||||
} else {
|
||||
pickupSensorCategory.setDependency(DozeUtils.ALWAYS_ON_DISPLAY);
|
||||
proximitySensorCategory.setDependency(DozeUtils.ALWAYS_ON_DISPLAY);
|
||||
mPickUpPreference.setDependency(DozeUtils.GESTURE_RAISE_TO_WAKE_KEY);
|
||||
mPocketPreference.setDependency(DozeUtils.GESTURE_RAISE_TO_WAKE_KEY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,6 +130,7 @@ public class DozeSettingsFragment extends PreferenceFragment implements
|
||||
mAlwaysOnDisplayPreference.setEnabled(isChecked);
|
||||
|
||||
mPickUpPreference.setEnabled(isChecked);
|
||||
mRaiseToWakePreference.setEnabled(isChecked);
|
||||
mHandwavePreference.setEnabled(isChecked);
|
||||
mPocketPreference.setEnabled(isChecked);
|
||||
}
|
||||
@@ -138,7 +142,7 @@ public class DozeSettingsFragment extends PreferenceFragment implements
|
||||
.setPositiveButton(R.string.dialog_ok,
|
||||
(dialog, which) -> {
|
||||
getActivity()
|
||||
.getSharedPreferences("doze_settings", Activity.MODE_PRIVATE)
|
||||
.getSharedPreferences("doze_settings", Context.MODE_PRIVATE)
|
||||
.edit()
|
||||
.putBoolean("first_help_shown", true)
|
||||
.commit();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* Copyright (C) 2015 The CyanogenMod Project
|
||||
* 2017-2019,2021 The LineageOS Project
|
||||
*
|
||||
@@ -17,6 +17,9 @@
|
||||
|
||||
package org.lineageos.settings.doze;
|
||||
|
||||
import static android.provider.Settings.Secure.DOZE_ALWAYS_ON;
|
||||
import static android.provider.Settings.Secure.DOZE_ENABLED;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
@@ -29,9 +32,6 @@ import android.util.Log;
|
||||
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import static android.provider.Settings.Secure.DOZE_ALWAYS_ON;
|
||||
import static android.provider.Settings.Secure.DOZE_ENABLED;
|
||||
|
||||
public final class DozeUtils {
|
||||
|
||||
private static final String TAG = "DozeUtils";
|
||||
@@ -47,6 +47,7 @@ public final class DozeUtils {
|
||||
protected static final String CATEG_PROX_SENSOR = "proximity_sensor";
|
||||
|
||||
protected static final String GESTURE_PICK_UP_KEY = "gesture_pick_up";
|
||||
protected static final String GESTURE_RAISE_TO_WAKE_KEY = "gesture_raise_to_wake";
|
||||
protected static final String GESTURE_HAND_WAVE_KEY = "gesture_hand_wave";
|
||||
protected static final String GESTURE_POCKET_KEY = "gesture_pocket";
|
||||
|
||||
@@ -123,6 +124,10 @@ public final class DozeUtils {
|
||||
protected static boolean isPickUpEnabled(Context context) {
|
||||
return isGestureEnabled(context, GESTURE_PICK_UP_KEY);
|
||||
}
|
||||
|
||||
public static boolean isRaiseToWakeEnabled(Context context) {
|
||||
return isGestureEnabled(context, GESTURE_RAISE_TO_WAKE_KEY);
|
||||
}
|
||||
|
||||
protected static boolean isHandwaveGestureEnabled(Context context) {
|
||||
return isGestureEnabled(context, GESTURE_HAND_WAVE_KEY);
|
||||
@@ -133,8 +138,8 @@ public final class DozeUtils {
|
||||
}
|
||||
|
||||
public static boolean sensorsEnabled(Context context) {
|
||||
return isPickUpEnabled(context) || isHandwaveGestureEnabled(context)
|
||||
|| isPocketGestureEnabled(context);
|
||||
return isPickUpEnabled(context) || isRaiseToWakeEnabled(context) ||
|
||||
isHandwaveGestureEnabled(context) || isPocketGestureEnabled(context);
|
||||
}
|
||||
|
||||
protected static Sensor getSensor(SensorManager sm, String type) {
|
||||
|
||||
@@ -23,6 +23,8 @@ import android.hardware.SensorEvent;
|
||||
import android.hardware.SensorEventListener;
|
||||
import android.hardware.SensorManager;
|
||||
import android.os.SystemClock;
|
||||
import android.os.PowerManager;
|
||||
import android.os.PowerManager.WakeLock;
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.concurrent.ExecutorService;
|
||||
@@ -35,11 +37,15 @@ public class PickupSensor implements SensorEventListener {
|
||||
private static final String TAG = "PickupSensor";
|
||||
|
||||
private static final int MIN_PULSE_INTERVAL_MS = 2500;
|
||||
private static final int MIN_WAKEUP_INTERVAL_MS = 1000;
|
||||
private static final int WAKELOCK_TIMEOUT_MS = 300;
|
||||
|
||||
private SensorManager mSensorManager;
|
||||
private Sensor mSensor;
|
||||
private Context mContext;
|
||||
private ExecutorService mExecutorService;
|
||||
private PowerManager mPowerManager;
|
||||
private WakeLock mWakeLock;
|
||||
|
||||
private long mEntryTimestamp;
|
||||
|
||||
@@ -47,6 +53,8 @@ public class PickupSensor implements SensorEventListener {
|
||||
mContext = context;
|
||||
mSensorManager = mContext.getSystemService(SensorManager.class);
|
||||
mSensor = DozeUtils.getSensor(mSensorManager, "xiaomi.sensor.pickup");
|
||||
mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
|
||||
mWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
|
||||
mExecutorService = Executors.newSingleThreadExecutor();
|
||||
}
|
||||
|
||||
@@ -56,17 +64,24 @@ public class PickupSensor implements SensorEventListener {
|
||||
|
||||
@Override
|
||||
public void onSensorChanged(SensorEvent event) {
|
||||
boolean isRaiseToWake = DozeUtils.isRaiseToWakeEnabled(mContext);
|
||||
if (DEBUG) Log.d(TAG, "Got sensor event: " + event.values[0]);
|
||||
|
||||
long delta = SystemClock.elapsedRealtime() - mEntryTimestamp;
|
||||
if (delta < MIN_PULSE_INTERVAL_MS) {
|
||||
if (delta < (isRaiseToWake ? MIN_WAKEUP_INTERVAL_MS : MIN_PULSE_INTERVAL_MS)) {
|
||||
return;
|
||||
}
|
||||
|
||||
mEntryTimestamp = SystemClock.elapsedRealtime();
|
||||
|
||||
if (event.values[0] == 1) {
|
||||
DozeUtils.launchDozePulse(mContext);
|
||||
if (isRaiseToWake) {
|
||||
mWakeLock.acquire(WAKELOCK_TIMEOUT_MS);
|
||||
mPowerManager.wakeUp(SystemClock.uptimeMillis(),
|
||||
PowerManager.WAKE_REASON_GESTURE, TAG);
|
||||
} else {
|
||||
DozeUtils.launchDozePulse(mContext);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Copyright (C) 2020 Paranoid Android
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.lineageos.settings.speaker;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Fragment;
|
||||
import android.os.Bundle;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity;
|
||||
|
||||
public class ClearSpeakerActivity extends CollapsingToolbarBaseActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
|
||||
Fragment fragment = getFragmentManager().findFragmentById(com.android.settingslib.collapsingtoolbar.R.id.content_frame);
|
||||
ClearSpeakerFragment clearSpeakerFragment;
|
||||
if (fragment == null) {
|
||||
clearSpeakerFragment = new ClearSpeakerFragment();
|
||||
getFragmentManager().beginTransaction()
|
||||
.add(com.android.settingslib.collapsingtoolbar.R.id.content_frame, clearSpeakerFragment)
|
||||
.commit();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (item.getItemId() == android.R.id.home) {
|
||||
finishAfterTransition();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Paranoid Android
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.lineageos.settings.speaker;
|
||||
|
||||
import android.content.res.AssetFileDescriptor;
|
||||
import android.media.AudioAttributes;
|
||||
import android.media.AudioManager;
|
||||
import android.media.MediaPlayer;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceFragment;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import org.lineageos.settings.R;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class ClearSpeakerFragment extends PreferenceFragment implements
|
||||
Preference.OnPreferenceChangeListener {
|
||||
|
||||
private static final String TAG = "ClearSpeakerFragment";
|
||||
private static final String PREF_CLEAR_SPEAKER = "clear_speaker_pref";
|
||||
private static final int PLAY_DURATION_MS = 30000;
|
||||
|
||||
private Handler mHandler = new Handler(Looper.getMainLooper());
|
||||
private MediaPlayer mMediaPlayer;
|
||||
private SwitchPreference mClearSpeakerPref;
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
addPreferencesFromResource(R.xml.clear_speaker_settings);
|
||||
|
||||
mClearSpeakerPref = findPreference(PREF_CLEAR_SPEAKER);
|
||||
mClearSpeakerPref.setOnPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
if (preference == mClearSpeakerPref) {
|
||||
boolean value = (Boolean) newValue;
|
||||
if (value && startPlaying()) {
|
||||
mHandler.removeCallbacksAndMessages(null);
|
||||
mHandler.postDelayed(this::stopPlaying, PLAY_DURATION_MS);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStop() {
|
||||
super.onStop();
|
||||
stopPlaying();
|
||||
}
|
||||
|
||||
public boolean startPlaying() {
|
||||
getActivity().setVolumeControlStream(AudioManager.STREAM_MUSIC);
|
||||
mMediaPlayer = new MediaPlayer();
|
||||
mMediaPlayer.setAudioAttributes(new AudioAttributes.Builder()
|
||||
.setUsage(AudioAttributes.USAGE_MEDIA)
|
||||
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
|
||||
.build());
|
||||
mMediaPlayer.setLooping(true);
|
||||
try (AssetFileDescriptor afd = getResources().openRawResourceFd(
|
||||
R.raw.clear_speaker_sound)) {
|
||||
mMediaPlayer.setDataSource(afd);
|
||||
mMediaPlayer.setVolume(1.0f, 1.0f);
|
||||
mMediaPlayer.prepare();
|
||||
mMediaPlayer.start();
|
||||
mClearSpeakerPref.setEnabled(false);
|
||||
} catch (IOException | IllegalArgumentException e) {
|
||||
Log.e(TAG, "Failed to play speaker clean sound!", e);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void stopPlaying() {
|
||||
if (mMediaPlayer != null && mMediaPlayer.isPlaying()) {
|
||||
try {
|
||||
mMediaPlayer.stop();
|
||||
} catch (IllegalStateException e) {
|
||||
Log.e(TAG, "Failed to stop media player!", e);
|
||||
} finally {
|
||||
mMediaPlayer.reset();
|
||||
mMediaPlayer.release();
|
||||
mMediaPlayer = null;
|
||||
}
|
||||
}
|
||||
mClearSpeakerPref.setEnabled(true);
|
||||
mClearSpeakerPref.setChecked(false);
|
||||
}
|
||||
}
|
||||
@@ -28,7 +28,7 @@ public class ThermalActivity extends CollapsingToolbarBaseActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
getFragmentManager().beginTransaction().replace(
|
||||
getSupportFragmentManager().beginTransaction().replace(
|
||||
com.android.settingslib.collapsingtoolbar.R.id.content_frame,
|
||||
new ThermalSettingsFragment(), TAG_THERMAL).commit();
|
||||
}
|
||||
|
||||
@@ -76,6 +76,7 @@ public class ThermalService extends Service {
|
||||
private void registerReceiver() {
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.addAction(Intent.ACTION_SCREEN_OFF);
|
||||
filter.addAction(Intent.ACTION_SCREEN_ON);
|
||||
this.registerReceiver(mIntentReceiver, filter);
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.preference.PreferenceFragment;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
@@ -51,7 +51,7 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class ThermalSettingsFragment extends PreferenceFragment
|
||||
public class ThermalSettingsFragment extends PreferenceFragmentCompat
|
||||
implements ApplicationsState.Callbacks {
|
||||
|
||||
private AllPackagesAdapter mAllPackagesAdapter;
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (C) 2018 The OmniROM Project
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.lineageos.settings.thermal;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.content.Intent;
|
||||
import android.service.quicksettings.TileService;
|
||||
|
||||
@TargetApi(24)
|
||||
public class ThermalTileService extends TileService {
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTileAdded() {
|
||||
super.onTileAdded();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTileRemoved() {
|
||||
super.onTileRemoved();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartListening() {
|
||||
super.onStartListening();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStopListening() {
|
||||
super.onStopListening();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick() {
|
||||
super.onClick();
|
||||
Intent ThermalProfiles = new Intent(this, ThermalActivity.class);
|
||||
ThermalProfiles.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
startActivityAndCollapse(ThermalProfiles);
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
LOCAL_PATH:= $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
|
||||
LOCAL_SRC_FILES := $(call all-java-files-under, src)
|
||||
|
||||
LOCAL_PACKAGE_NAME := XiaomiPocketMode
|
||||
LOCAL_CERTIFICATE := platform
|
||||
LOCAL_PRIVATE_PLATFORM_APIS := true
|
||||
LOCAL_PRIVILEGED_MODULE := true
|
||||
LOCAL_SYSTEM_EXT_MODULE := true
|
||||
|
||||
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
|
||||
|
||||
include $(BUILD_PACKAGE)
|
||||
@@ -1,45 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2016 The CyanogenMod Project
|
||||
Copyright (C) 2017-2018 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.
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.lineageos.pocketmode"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0"
|
||||
android:sharedUserId="android.uid.system">
|
||||
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
|
||||
<application
|
||||
android:label="XiaomiPocketMode"
|
||||
android:defaultToDeviceProtectedStorage="true"
|
||||
android:directBootAware="true"
|
||||
android:persistent="true">
|
||||
|
||||
<receiver android:name=".BootCompletedReceiver"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<service android:name=".PocketModeService"
|
||||
android:permission="PocketModeService">
|
||||
</service>
|
||||
|
||||
</application>
|
||||
</manifest>
|
||||
@@ -1,3 +0,0 @@
|
||||
-keep class org.lineageos.pocketmode.* {
|
||||
*;
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2016 The CyanogenMod Project
|
||||
* 2017 The LineageOS Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.lineageos.pocketmode;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.UserHandle;
|
||||
import android.util.Log;
|
||||
|
||||
public class BootCompletedReceiver extends BroadcastReceiver {
|
||||
|
||||
private static final String TAG = "XiaomiPocketMode";
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
Log.d(TAG, "Starting");
|
||||
context.startServiceAsUser(new Intent(context, PocketModeService.class),
|
||||
UserHandle.CURRENT);
|
||||
}
|
||||
}
|
||||
@@ -1,84 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2016 The CyanogenMod Project
|
||||
* 2017 The LineageOS Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.lineageos.pocketmode;
|
||||
|
||||
import android.app.Service;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.os.IBinder;
|
||||
import android.util.Log;
|
||||
|
||||
public class PocketModeService extends Service {
|
||||
private static final String TAG = "PocketModeService";
|
||||
private static final boolean DEBUG = false;
|
||||
|
||||
private ProximitySensor mProximitySensor;
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
if (DEBUG) Log.d(TAG, "Creating service");
|
||||
mProximitySensor = new ProximitySensor(this);
|
||||
|
||||
IntentFilter screenStateFilter = new IntentFilter();
|
||||
screenStateFilter.addAction(Intent.ACTION_SCREEN_OFF);
|
||||
screenStateFilter.addAction(Intent.ACTION_USER_PRESENT);
|
||||
registerReceiver(mScreenStateReceiver, screenStateFilter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int onStartCommand(Intent intent, int flags, int startId) {
|
||||
if (DEBUG) Log.d(TAG, "Starting service");
|
||||
return START_STICKY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
if (DEBUG) Log.d(TAG, "Destroying service");
|
||||
this.unregisterReceiver(mScreenStateReceiver);
|
||||
mProximitySensor.disable();
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBinder onBind(Intent intent) {
|
||||
return null;
|
||||
}
|
||||
|
||||
private void onDeviceUnlocked() {
|
||||
if (DEBUG) Log.d(TAG, "Device unlocked");
|
||||
mProximitySensor.disable();
|
||||
}
|
||||
|
||||
private void onDisplayOff() {
|
||||
if (DEBUG) Log.d(TAG, "Display off");
|
||||
mProximitySensor.enable();
|
||||
}
|
||||
|
||||
private BroadcastReceiver mScreenStateReceiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
if (intent.getAction().equals(Intent.ACTION_USER_PRESENT)) {
|
||||
onDeviceUnlocked();
|
||||
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
|
||||
onDisplayOff();
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2016 The CyanogenMod Project
|
||||
* 2017-2019 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.
|
||||
*/
|
||||
|
||||
package org.lineageos.pocketmode;
|
||||
|
||||
import android.content.Context;
|
||||
import android.hardware.Sensor;
|
||||
import android.hardware.SensorEvent;
|
||||
import android.hardware.SensorEventListener;
|
||||
import android.hardware.SensorManager;
|
||||
import android.os.FileUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.Future;
|
||||
|
||||
public class ProximitySensor implements SensorEventListener {
|
||||
private static final String TAG = "PocketModeProximity";
|
||||
private static final boolean DEBUG = false;
|
||||
|
||||
private static final String FP_PROX_NODE =
|
||||
"/sys/devices/platform/soc/soc:fingerprint_goodix/proximity_state";
|
||||
|
||||
private ExecutorService mExecutorService;
|
||||
private Context mContext;
|
||||
private Sensor mSensor;
|
||||
private SensorManager mSensorManager;
|
||||
|
||||
public ProximitySensor(Context context) {
|
||||
mContext = context;
|
||||
mSensorManager = mContext.getSystemService(SensorManager.class);
|
||||
mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
|
||||
mExecutorService = Executors.newSingleThreadExecutor();
|
||||
}
|
||||
|
||||
private Future<?> submit(Runnable runnable) {
|
||||
return mExecutorService.submit(runnable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSensorChanged(SensorEvent event) {
|
||||
setFPProximityState(event.values[0] < mSensor.getMaximumRange());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAccuracyChanged(Sensor sensor, int accuracy) {
|
||||
/* Empty */
|
||||
}
|
||||
|
||||
private void setFPProximityState(boolean isNear) {
|
||||
try {
|
||||
FileUtils.stringToFile(FP_PROX_NODE, isNear ? "1" : "0");
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "Failed to write to " + FP_PROX_NODE, e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void enable() {
|
||||
if (DEBUG) Log.d(TAG, "Enabling");
|
||||
submit(() -> {
|
||||
mSensorManager.registerListener(this, mSensor,
|
||||
SensorManager.SENSOR_DELAY_NORMAL);
|
||||
});
|
||||
}
|
||||
|
||||
protected void disable() {
|
||||
if (DEBUG) Log.d(TAG, "Disabling");
|
||||
submit(() -> {
|
||||
mSensorManager.unregisterListener(this, mSensor);
|
||||
});
|
||||
// Ensure FP is left enabled
|
||||
setFPProximityState(/* isNear */ false);
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,13 @@
|
||||
cc_library_static {
|
||||
name: "libperfmgr-ext-xiaomi",
|
||||
defaults: [
|
||||
"android.hardware.power-ndk_shared",
|
||||
],
|
||||
vendor: true,
|
||||
srcs: [
|
||||
"power-mode.cpp",
|
||||
],
|
||||
shared_libs: [
|
||||
"android.hardware.power-V4-ndk",
|
||||
"libbase",
|
||||
],
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
"Name": "GPUMaxFreq",
|
||||
"Path": "/sys/class/kgsl/kgsl-3d0/devfreq/max_freq",
|
||||
"Values": [
|
||||
"710000000",
|
||||
"999999999",
|
||||
"342000000"
|
||||
],
|
||||
"DefaultIndex": 0,
|
||||
@@ -213,8 +213,8 @@
|
||||
"Name": "PMQoSCpuDmaLatency",
|
||||
"Path": "/dev/cpu_dma_latency",
|
||||
"Values": [
|
||||
"44",
|
||||
"100"
|
||||
"2c",
|
||||
"64"
|
||||
],
|
||||
"HoldFd": true
|
||||
},
|
||||
@@ -356,7 +356,7 @@
|
||||
"PowerHint": "LAUNCH",
|
||||
"Node": "PMQoSCpuDmaLatency",
|
||||
"Duration": 5000,
|
||||
"Value": "44"
|
||||
"Value": "2c"
|
||||
},
|
||||
{
|
||||
"PowerHint": "LAUNCH",
|
||||
@@ -428,7 +428,7 @@
|
||||
"PowerHint": "AUDIO_LAUNCH",
|
||||
"Node": "PMQoSCpuDmaLatency",
|
||||
"Duration": 2000,
|
||||
"Value": "44"
|
||||
"Value": "2c"
|
||||
},
|
||||
{
|
||||
"PowerHint": "AUDIO_STREAMING_LOW_LATENCY",
|
||||
@@ -440,7 +440,7 @@
|
||||
"PowerHint": "AUDIO_STREAMING_LOW_LATENCY",
|
||||
"Node": "PMQoSCpuDmaLatency",
|
||||
"Duration": 0,
|
||||
"Value": "44"
|
||||
"Value": "2c"
|
||||
},
|
||||
{
|
||||
"PowerHint": "EXPENSIVE_RENDERING",
|
||||
@@ -458,7 +458,7 @@
|
||||
"PowerHint": "EXPENSIVE_RENDERING",
|
||||
"Node": "GPUMaxFreq",
|
||||
"Duration": 0,
|
||||
"Value": "710000000"
|
||||
"Value": "999999999"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -5,8 +5,10 @@ vendor/bin/adsprpcd
|
||||
vendor/etc/init/vendor.qti.adsprpc-guestos-service.rc
|
||||
vendor/lib64/libadsp_default_listener.so
|
||||
vendor/lib64/libadsprpc.so
|
||||
vendor/lib64/libfastrpc_utf_stub.so
|
||||
vendor/lib/libadsp_default_listener.so
|
||||
vendor/lib/libadsprpc.so
|
||||
vendor/lib/libfastrpc_utf_stub.so
|
||||
|
||||
# ADSP modules
|
||||
vendor/lib/rfsa/adsp/capi_v2_aptX_Classic.so
|
||||
@@ -23,17 +25,6 @@ vendor/lib/rfsa/adsp/libsns_device_mode_skel.so
|
||||
vendor/lib/rfsa/adsp/libsns_low_lat_stream_skel.so
|
||||
|
||||
# Audio
|
||||
vendor/lib64/hw/audio.primary.sdm845.so
|
||||
vendor/lib64/libacdb-fts.so
|
||||
vendor/lib64/libacdbrtac.so
|
||||
vendor/lib64/libadiertac.so
|
||||
vendor/lib64/libaudcal.so
|
||||
vendor/lib64/libaudioalsa.so
|
||||
vendor/lib64/libaudio_log_utils.so
|
||||
vendor/lib64/libaudioparsers.so
|
||||
vendor/lib64/libaudioroute_ext.so
|
||||
vendor/lib64/libcsd-client.so
|
||||
vendor/lib64/libqtigef.so
|
||||
vendor/lib/hw/audio.primary.sdm845.so
|
||||
vendor/lib/vndk/libxlog.so
|
||||
vendor/lib/libacdb-fts.so
|
||||
@@ -45,19 +36,9 @@ vendor/lib/libaudioalsa.so
|
||||
vendor/lib/libaudio_log_utils.so
|
||||
vendor/lib/libaudioparsers.so
|
||||
vendor/lib/libaudioroute_ext.so
|
||||
vendor/lib/libcsd-client.so
|
||||
vendor/lib/libqtigef.so
|
||||
|
||||
# Audio extensions
|
||||
vendor/lib64/liba2dpoffload.so
|
||||
vendor/lib64/libbatterylistener.so
|
||||
vendor/lib64/libcomprcapture.so
|
||||
vendor/lib64/libexthwplugin.so
|
||||
vendor/lib64/libhdmiedid.so
|
||||
vendor/lib64/libhdmipassthru.so
|
||||
vendor/lib64/libhfp.so
|
||||
vendor/lib64/libsndmonitor.so
|
||||
vendor/lib64/libspkrprot.so
|
||||
vendor/lib/liba2dpoffload.so
|
||||
vendor/lib/libbatterylistener.so
|
||||
vendor/lib/libcomprcapture.so
|
||||
@@ -71,39 +52,24 @@ vendor/lib/libspkrprot.so
|
||||
# Audio FX modules
|
||||
system/etc/permissions/audiosphere.xml
|
||||
system/framework/audiosphere.jar
|
||||
vendor/lib64/soundfx/libasphere.so
|
||||
vendor/lib64/soundfx/libdirac.so
|
||||
vendor/lib64/soundfx/libshoebox.so
|
||||
vendor/lib/soundfx/libasphere.so
|
||||
vendor/lib/soundfx/libdirac.so
|
||||
vendor/lib/soundfx/libshoebox.so
|
||||
|
||||
# Bluetooth (A2DP)
|
||||
vendor/lib64/hw/vendor.qti.hardware.bluetooth_audio@2.0-impl.so
|
||||
vendor/lib64/hw/vendor.qti.hardware.bluetooth_sar@1.0-impl.so
|
||||
vendor/lib64/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so
|
||||
vendor/lib64/btaudio_offload_if.so
|
||||
vendor/lib64/libbluetooth_audio_session_qti.so
|
||||
vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.0.so
|
||||
vendor/lib/hw/vendor.qti.hardware.bluetooth_audio@2.0-impl.so
|
||||
vendor/lib/hw/vendor.qti.hardware.bluetooth_sar@1.0-impl.so
|
||||
vendor/lib/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so
|
||||
vendor/lib/btaudio_offload_if.so
|
||||
vendor/lib/libbluetooth_audio_session_qti.so
|
||||
vendor/lib/vendor.qti.hardware.bluetooth_sar@1.0.so
|
||||
|
||||
# CDSP
|
||||
vendor/bin/cdsprpcd
|
||||
vendor/lib64/libcdsp_default_listener.so
|
||||
vendor/lib64/libcdsprpc.so
|
||||
vendor/lib64/libfastrpc_utf_stub.so
|
||||
vendor/lib64/libsdsprpc.so
|
||||
vendor/lib64/libsysmon_cdsp_skel.so
|
||||
vendor/lib64/libmdsprpc.so
|
||||
vendor/lib/libcdsp_default_listener.so
|
||||
vendor/lib/libcdsprpc.so
|
||||
vendor/lib/libfastcrc.so
|
||||
vendor/lib/libfastrpc_utf_stub.so
|
||||
vendor/lib/libsdsprpc.so
|
||||
vendor/lib/libsysmon_cdsp_skel.so
|
||||
vendor/lib/libmdsprpc.so
|
||||
@@ -150,7 +116,6 @@ vendor/lib64/libcneoplookup.so
|
||||
vendor/lib64/libcneqmiutils.so
|
||||
vendor/lib64/libwms.so
|
||||
vendor/lib64/libwqe.so
|
||||
vendor/lib64/libxml.so
|
||||
vendor/lib64/vendor.qti.data.factory@2.0.so
|
||||
vendor/lib64/vendor.qti.hardware.data.cne.internal.api@1.0.so
|
||||
vendor/lib64/vendor.qti.hardware.data.cne.internal.constants@1.0.so
|
||||
@@ -167,21 +132,11 @@ vendor/lib64/vendor.qti.latency@2.0.so
|
||||
vendor/bin/hw/vendor.qti.hardware.capabilityconfigstore@1.0-service
|
||||
vendor/etc/init/vendor.qti.hardware.capabilityconfigstore@1.0-service.rc
|
||||
vendor/lib64/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so
|
||||
vendor/lib/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so
|
||||
|
||||
# Display (HDR) - from PNX - RKQ1.200906.002
|
||||
vendor/lib/libhdr_tm.so|1e8a647523db0a09c9587a77f1f7b132a03c2354
|
||||
vendor/lib64/libhdr_tm.so|7ac38563480eab0583cb440e667a44cfa596167a
|
||||
|
||||
# Display (SDM) - from PNX - RKQ1.200906.002
|
||||
vendor/lib/libdisplayqos.so|7b83c36716bae758c71d34b85401d7d77afa2c23
|
||||
vendor/lib/libqseed3.so|ea8d3775ab13c9ebfcdc2a02e60f56cc49a9d695
|
||||
vendor/lib/libsdedrm.so|b11f16f16cdeaecb492b7ff2274cc02bd604bf0f
|
||||
vendor/lib/libsdm-color.so|a18425c4e29bf76f25145d8f839108886283a45f
|
||||
vendor/lib/libsdm-diag.so|52c1b843b733165284445b00cb8525063994f502
|
||||
vendor/lib/libsdm-disp-vndapis.so|8f433d5996f90c584530ed5a6eba504c3b4cc2b1
|
||||
vendor/lib/libsdmextension.so|872876273741968fda9006853979d9da1accc4fb
|
||||
vendor/lib/libtinyxml2_1.so|f00b8f6218271d57fd1fb67b192db956e42e66fb
|
||||
vendor/lib64/libdisplayqos.so|c3d45315871e402053dd1f353e9bde5cbf757277
|
||||
vendor/lib64/libqseed3.so|f5990f19a99ec5f33b5a262493c4e642a1429f69
|
||||
vendor/lib64/libsdedrm.so|5113b02d32b886281a790c8c323498195ec780f8
|
||||
@@ -196,14 +151,6 @@ vendor/bin/hw/vendor.display.color@1.0-service|a9d360976833d863f74df381298de696d
|
||||
vendor/bin/mm-pp-dpps|e825298dc12603df29c35aa6ad86fd0d0a7646a2
|
||||
vendor/bin/ppd|8b60669c32f091dd5832579892c91dc3eb0e8130
|
||||
vendor/etc/init/vendor.display.color@1.0-service.rc|5ad673f879b3685a0e79b5633437e5499cb94f48
|
||||
vendor/lib/libdisp-aba.so|9271ecfa4d389d99bc592ab2a460eacef7515836
|
||||
vendor/lib/vendor.display.color@1.0.so|640ab2b9c2f0077634ed74263c5558076d431203
|
||||
vendor/lib/vendor.display.color@1.1.so|732531bbea59f5c1a90f409350d290607189c47f
|
||||
vendor/lib/vendor.display.color@1.2.so|f1ea074c629f1fc27000efb44617f7e8386b12d4
|
||||
vendor/lib/vendor.display.color@1.3.so|1467fbb9cbbb331da846fd2bcc3e644b55723bd5
|
||||
vendor/lib/vendor.display.color@1.4.so|3b7f6a489f66b2cc8b3e5a467b9fe3f95a59c775
|
||||
vendor/lib/vendor.display.color@1.5.so|e97e31b9567f9a6f9031063d2356e7391ba719e3
|
||||
vendor/lib/vendor.display.postproc@1.0.so|251c33b11743f5e24ca220b220da367996f3077b
|
||||
vendor/lib64/libdisp-aba.so|e76d6756cbb0532bc83ff98a06c4ca02fecdd8fe
|
||||
vendor/lib64/vendor.display.color@1.0.so|253cd210899ea79133c7b7b9d31429e4a8d43c32
|
||||
vendor/lib64/vendor.display.color@1.1.so|fe9b373785571bb890db27523b804dc7d4411bca
|
||||
@@ -213,6 +160,24 @@ vendor/lib64/vendor.display.color@1.4.so|1396673668977af0a8afeaa64f891c3b356f958
|
||||
vendor/lib64/vendor.display.color@1.5.so|f1c12eb133698917385d48913358eaffd9a10879
|
||||
vendor/lib64/vendor.display.postproc@1.0.so|e56b66d744dd77bd87afbb30cab558acf15709fb
|
||||
|
||||
# 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 - from lemonadep - TP1A.220624.003
|
||||
system_ext/bin/dpmd|d158b6ac01005a63fc69a2bd2aa948903d86757c
|
||||
system_ext/etc/dpm/dpm.conf|95e27da8c989e96c6faea6f0697bce11955b62a5
|
||||
@@ -229,7 +194,7 @@ system_ext/lib64/libdpmtcm.so|57b6c42d581305d8ef16aa127cd4cd1672d2e7f1
|
||||
system_ext/priv-app/dpmserviceapp/dpmserviceapp.apk|1850acd0249751c5bcfba2e0bebcbe52c766a79c
|
||||
vendor/bin/dpmQmiMgr|2da835936abc23f39903e68a63c5e7303edac1e7
|
||||
vendor/etc/init/dpmQmiMgr.rc|1538743661a5c48c15cd105beaad20f72953885a
|
||||
vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so|3a407eb9cfe4bda97d793d0b671389aee7afe48f
|
||||
vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so;MODULE_SUFFIX=_vendor|3a407eb9cfe4bda97d793d0b671389aee7afe48f
|
||||
vendor/lib64/libdpmqmihal.so|2656dc27e2da38a482d639701647520d259ff50b
|
||||
|
||||
# DRM
|
||||
@@ -251,71 +216,51 @@ vendor/lib64/libspl.so
|
||||
vendor/lib64/libssd.so
|
||||
vendor/lib64/libStDrvInt.so
|
||||
vendor/lib64/libtzdrmgenprov.so
|
||||
vendor/lib/libcppf.so
|
||||
vendor/lib/libdrmfs.so
|
||||
vendor/lib/libdrmtime.so
|
||||
vendor/lib/libGPreqcancel.so
|
||||
vendor/lib/libGPreqcancel_svc.so
|
||||
vendor/lib/libqisl.so
|
||||
vendor/lib/libQSEEComAPI.so
|
||||
vendor/lib/librpmb.so
|
||||
vendor/lib/libSecureUILib.so
|
||||
vendor/lib/libsecureui.so
|
||||
vendor/lib/libsecureui_svcsock.so
|
||||
vendor/lib/libspl.so
|
||||
vendor/lib/libssd.so
|
||||
vendor/lib/libStDrvInt.so
|
||||
vendor/lib/libtzdrmgenprov.so
|
||||
|
||||
# ESE
|
||||
vendor/bin/hw/vendor.qti.esepowermanager@1.0-service
|
||||
vendor/etc/init/vendor.qti.esepowermanager@1.0-service.rc
|
||||
vendor/lib64/hw/vendor.qti.esepowermanager@1.0-impl.so
|
||||
vendor/lib64/vendor.qti.esepowermanager@1.0.so
|
||||
vendor/lib/hw/vendor.qti.esepowermanager@1.0-impl.so
|
||||
vendor/lib/vendor.qti.esepowermanager@1.0.so
|
||||
|
||||
# Gatekeeper
|
||||
vendor/bin/hw/android.hardware.gatekeeper@1.0-service-qti
|
||||
vendor/etc/init/android.hardware.gatekeeper@1.0-service-qti.rc
|
||||
vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so
|
||||
vendor/lib/hw/android.hardware.gatekeeper@1.0-impl-qti.so
|
||||
|
||||
# Graphics (Adreno) - from PNX - RKQ1.200906.002
|
||||
vendor/lib/egl/eglSubDriverAndroid.so|cc5acc02889131a29b624b4c19ab90b8273f393d
|
||||
vendor/lib/egl/libEGL_adreno.so;SYMLINK=vendor/lib/libEGL_adreno.so|ae30bbf20dc911308407da99cb263e8de6b2eecb
|
||||
vendor/lib/egl/libGLESv1_CM_adreno.so|b94ba8188a14dd262abac1b8d667bce3319cf344
|
||||
vendor/lib/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib/libGLESv2_adreno.so|fc0454b2c9d9997f9b7f0b320482fac6db5cab2c
|
||||
vendor/lib/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib/libq3dtools_adreno.so|2ac81ee05dd4afb34ef6e56342ee1757f2db1409
|
||||
vendor/lib/egl/libq3dtools_esx.so|86bab4e474d680accbc76582c9905fe6824f702d
|
||||
vendor/lib/libC2D2.so|267be7bd6768fa3b9bed2b9a42062cb5a77ca59b
|
||||
vendor/lib/libCB.so|c4c8fbcb73a48aa1dc14a453b47ed7f1223bb933
|
||||
vendor/lib/libOpenCL.so|cbc00e31eedea81f43cc7358181a794503b867b1
|
||||
vendor/lib/libVkLayer_q3dtools.so|a52a6eba8415169a5895b4615f879f966f81d5e2
|
||||
vendor/lib/libadreno_utils.so|0796bc7ce75dbad3d85e52d3aacd4ba8b59fbaf3
|
||||
vendor/lib/libc2d30_bltlib.so|950c705e6dbc02b646a0129e66e94e192f5cd87f
|
||||
vendor/lib/libgpudataproducer.so|c8623c9b2e8f330e7f5e77e5d435677719bf5688
|
||||
vendor/lib/libgsl.so|777dab024670cceb8c60054cfadcccef33151640
|
||||
vendor/lib/libllvm-glnext.so|a20bdbe458c401e9c1726f475f50fb52f9f6fa12
|
||||
vendor/lib/libllvm-qcom.so|063963a7d6dfa90c6fa2cbca55943b23a870e02a
|
||||
vendor/lib/libpvr.so|9d7e50e1deb16ef03e05141e1babcc49160f840c
|
||||
vendor/lib64/egl/eglSubDriverAndroid.so|cd1cb25bfd16f15e0d7c6495493359838a1b6e96
|
||||
vendor/lib64/egl/libEGL_adreno.so;SYMLINK=vendor/lib64/libEGL_adreno.so|96a44c8e3c18c534eb1f333956541955e9f5bd7e
|
||||
vendor/lib64/egl/libGLESv1_CM_adreno.so|e2e8a079e680bf92f686fb79146651c158f6e130
|
||||
vendor/lib64/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib64/libGLESv2_adreno.so|ba9e5618266e50a4d2ef723756e08979e0b4d12b
|
||||
vendor/lib64/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib64/libq3dtools_adreno.so|046be35d03cbea2c73a1339eefa1bffc87ab6ebc
|
||||
vendor/lib64/egl/libq3dtools_esx.so|fe5b3f2dabe3b927544d109ac7d7926d8e3275d6
|
||||
vendor/lib64/libC2D2.so|6fb775e393ce7161b30e3a71fa0f320e86374425
|
||||
vendor/lib64/libCB.so|bfb47fec90627dd68df536dbb4734453ebae1cf6
|
||||
vendor/lib64/libOpenCL.so|4eefe5848a02894166a337abbbc5baddb72c46fb
|
||||
vendor/lib64/libVkLayer_q3dtools.so|4fc15fd2c49e32b2151fb00034d389d45cf240c1
|
||||
vendor/lib64/libadreno_utils.so|010d7079615cf09413640521ed2db53e91721437
|
||||
vendor/lib64/libc2d30_bltlib.so|aa37c84cf6cc1e1ac670b433c97d0bf41308f9ca
|
||||
vendor/lib64/libgpudataproducer.so|7d3c8de131f4d64a8ec82840e097f78f8b9ce004
|
||||
vendor/lib64/libgsl.so|edcab73069716f117394de07be423331631f9366
|
||||
vendor/lib64/libllvm-glnext.so|c11e3f0f5b6d21d1badcca3bc8cac947c781deeb
|
||||
vendor/lib64/libllvm-qcom.so|a80c58c8f316af15a7a2d089536f824836f6c056
|
||||
vendor/lib64/libpvr.so|ac4805ba7a7c78570a60340d01248d258046e456
|
||||
# Graphics (Adreno) - from LA.UM.9.3.r1-02700-sdm845.0
|
||||
vendor/lib/egl/eglSubDriverAndroid.so|de8684b7f60397dde4f7b334074e64fc22bfe529
|
||||
vendor/lib/egl/libEGL_adreno.so;SYMLINK=vendor/lib/libEGL_adreno.so|e73369c2ec0751d6912518de205106d4ee19291c
|
||||
vendor/lib/egl/libGLESv1_CM_adreno.so|715f3463528f1e74ffa02627ee5916a09e0748f5
|
||||
vendor/lib/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib/libGLESv2_adreno.so|e117aacc5e112209a3f69f2dc49496f4eed3f104
|
||||
vendor/lib/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib/libq3dtools_adreno.so|9ec9c053592e58be935e8ae5e0a9d362c101773a
|
||||
vendor/lib/egl/libq3dtools_esx.so|f7136820d0221d380ccd8a79c4d72ebe70daba7d
|
||||
vendor/lib/libC2D2.so|91f015cad79024fdbb6a5603cce48693e58a4510
|
||||
vendor/lib/libCB.so|9fdab0a0d88a3a6b8ad328101b39fb7a354b4e02
|
||||
vendor/lib/libOpenCL.so|6bf59a4c37d3c744448380408f238b87b481b7b5
|
||||
vendor/lib/libVkLayer_q3dtools.so|b28f8ce0300626dd703cf87972444f7b7bccd1fd
|
||||
vendor/lib/libadreno_utils.so|6976022499301813c46c57bba63d7c2bb7f04732
|
||||
vendor/lib/libc2d30_bltlib.so|71703a543760e40ba26cde07c2d41416cc9331ec
|
||||
vendor/lib/libgpudataproducer.so|7dd0b44a49747f79d74b6ecabe168f8b5128a1a8
|
||||
vendor/lib/libgsl.so|3290f0f64edbd499cfc2ae00cd817cd94a85f7e0
|
||||
vendor/lib/libllvm-glnext.so|89591f95f2321b6ae70d91609efcae3761beb00c
|
||||
vendor/lib/libllvm-qcom.so|80b415741f1ac890cff1a4756b1c1fe84edc5747
|
||||
vendor/lib64/egl/eglSubDriverAndroid.so|d6dc70f08a0e68e897c2c8a956a8c2f3e036c540
|
||||
vendor/lib64/egl/libEGL_adreno.so;SYMLINK=vendor/lib64/libEGL_adreno.so|5d517d4b294073bf2773b8223a59c3b4827fd26c
|
||||
vendor/lib64/egl/libGLESv1_CM_adreno.so|0a2a648ca2dcd887ea62860bbfa2ef397f01d42d
|
||||
vendor/lib64/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib64/libGLESv2_adreno.so|366d1e8188e583ae6a923a37f9318b38ad88c7ff
|
||||
vendor/lib64/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib64/libq3dtools_adreno.so|189b9c3d400c6a98c87582b8df0910530cba6d44
|
||||
vendor/lib64/egl/libq3dtools_esx.so|2799b3480cd2c08532ab58b20fe7829e5628a1ac
|
||||
vendor/lib64/libC2D2.so|175115cc36fd471f9eb83af76be21b5f602b9460
|
||||
vendor/lib64/libCB.so|e41ce1d944691107ef081b1d618a4c7d82680416
|
||||
vendor/lib64/libOpenCL.so|ee804e05a12dffd74f98a426d00039a8cfcb5662
|
||||
vendor/lib64/libVkLayer_q3dtools.so|b5a0185f857bb35eb200bf3964fcf7b368dac1f2
|
||||
vendor/lib64/libadreno_utils.so|50916234ddd7ec94540c18747f9c0e80bae29b84
|
||||
vendor/lib64/libc2d30_bltlib.so|b7c7bbc41f317833927d9bf75fbf9b411dd63a96
|
||||
vendor/lib64/libgpudataproducer.so|b6084218f08ca019b4121d5c4346c8cf56d58535
|
||||
vendor/lib64/libgsl.so|b22d3ff79e080a834e67e2103f8b90c6a5c10a2d
|
||||
vendor/lib64/libllvm-glnext.so|696e4a70a6bed9eb9efb8f76ee463f00ca3b4da6
|
||||
vendor/lib64/libllvm-qcom.so|79164daddbfb3c9c7b31933d7dfe144ddf2c858d
|
||||
|
||||
# Graphics (Adreno firmware)
|
||||
vendor/firmware/a630_gmu.bin
|
||||
@@ -326,9 +271,9 @@ vendor/firmware/a630_zap.b02
|
||||
vendor/firmware/a630_zap.elf
|
||||
vendor/firmware/a630_zap.mdt
|
||||
|
||||
# Graphics (Vulkan) - from PNX - RKQ1.200906.002
|
||||
vendor/lib/hw/vulkan.adreno.so|b2680e5b899d75fa3f82b457635e15c6998202a4
|
||||
vendor/lib64/hw/vulkan.adreno.so|fcc99045aaf7eed0925ac2b64ff2af085212954a
|
||||
# Graphics (Vulkan) - from LA.UM.9.3.r1-02700-sdm845.0
|
||||
vendor/lib/hw/vulkan.adreno.so|dfa5eaa05520e4728ee58959c706974eca2432d2
|
||||
vendor/lib64/hw/vulkan.adreno.so|7fe53628fbaf5a4c866fd82c6254021d670c7d83
|
||||
|
||||
# Hotword enrollment
|
||||
product/priv-app/HotwordEnrollmentOKGoogleWCD9340/HotwordEnrollmentOKGoogleWCD9340.apk|1cbc6ae6490cfc6e16619773809b9afcc9998f91
|
||||
@@ -369,12 +314,12 @@ vendor/etc/init/ims_rtp_daemon.rc
|
||||
vendor/etc/init/imsdatadaemon.rc
|
||||
vendor/etc/init/imsqmidaemon.rc
|
||||
vendor/etc/init/imsrcsd.rc
|
||||
vendor/lib64/com.qualcomm.qti.imscmservice@1.0.so
|
||||
vendor/lib64/com.qualcomm.qti.imscmservice@2.0.so
|
||||
vendor/lib64/com.qualcomm.qti.imscmservice@2.1.so
|
||||
vendor/lib64/com.qualcomm.qti.imscmservice@2.2.so
|
||||
vendor/lib64/com.qualcomm.qti.uceservice@2.0.so
|
||||
vendor/lib64/com.qualcomm.qti.uceservice@2.1.so
|
||||
vendor/lib64/com.qualcomm.qti.imscmservice@1.0.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/com.qualcomm.qti.imscmservice@2.0.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/com.qualcomm.qti.imscmservice@2.1.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/com.qualcomm.qti.imscmservice@2.2.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/com.qualcomm.qti.uceservice@2.0.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/com.qualcomm.qti.uceservice@2.1.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/librcc.so
|
||||
vendor/lib64/lib-imscmservice.so
|
||||
vendor/lib64/lib-imsdpl.so
|
||||
@@ -388,18 +333,18 @@ vendor/lib64/lib-rtpcore.so
|
||||
vendor/lib64/lib-rtpsl.so
|
||||
vendor/lib64/lib-siputility.so
|
||||
vendor/lib64/lib-uceservice.so
|
||||
vendor/lib64/vendor.qti.hardware.radio.ims@1.0.so
|
||||
vendor/lib64/vendor.qti.hardware.radio.ims@1.1.so
|
||||
vendor/lib64/vendor.qti.hardware.radio.ims@1.2.so
|
||||
vendor/lib64/vendor.qti.hardware.radio.ims@1.3.so
|
||||
vendor/lib64/vendor.qti.hardware.radio.ims@1.4.so
|
||||
vendor/lib64/vendor.qti.hardware.radio.ims@1.0.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/vendor.qti.hardware.radio.ims@1.1.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/vendor.qti.hardware.radio.ims@1.2.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/vendor.qti.hardware.radio.ims@1.3.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/vendor.qti.hardware.radio.ims@1.4.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/vendor.qti.hardware.radio.ims@1.5.so
|
||||
vendor/lib64/vendor.qti.hardware.radio.ims@1.6.so
|
||||
vendor/lib64/vendor.qti.ims.callinfo@1.0.so
|
||||
vendor/lib64/vendor.qti.ims.rcsconfig@1.0.so
|
||||
vendor/lib64/vendor.qti.imsrtpservice@2.0.so
|
||||
vendor/lib64/vendor.qti.ims.callinfo@1.0.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/vendor.qti.ims.rcsconfig@1.0.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/vendor.qti.imsrtpservice@2.0.so;MODULE_SUFFIX=_vendor
|
||||
vendor/lib64/vendor.qti.imsrtpservice@2.1-service-Impl.so
|
||||
vendor/lib64/vendor.qti.imsrtpservice@2.1.so
|
||||
vendor/lib64/vendor.qti.imsrtpservice@2.1.so;MODULE_SUFFIX=_vendor
|
||||
|
||||
# IPA firmware
|
||||
vendor/etc/init/ipa_fws.rc
|
||||
@@ -415,18 +360,12 @@ vendor/firmware/ipa_fws.mdt
|
||||
vendor/bin/msm_irqbalance
|
||||
vendor/etc/msm_irqbalance.conf
|
||||
|
||||
# Keymaster
|
||||
vendor/lib64/libkeymasterdeviceutils.so
|
||||
vendor/lib64/libkeymasterprovision.so
|
||||
vendor/lib64/libkeymasterutils.so
|
||||
|
||||
# Listen
|
||||
vendor/lib64/hw/sound_trigger.primary.sdm845.so|36f4868c560deaffc07e661893e145167d707fbe
|
||||
vendor/lib64/libcapiv2svacnn.so
|
||||
vendor/lib64/libcapiv2vop.so
|
||||
vendor/lib64/libgcs-calwrapper.so
|
||||
vendor/lib64/libgcs-ipc.so
|
||||
vendor/lib64/libgcs-osal.so
|
||||
vendor/lib64/libgcs.so
|
||||
vendor/lib64/libjnihelper.so
|
||||
vendor/lib64/liblistenjni.so
|
||||
vendor/lib64/liblistensoundmodel2.so
|
||||
vendor/lib64/libmulawdec.so
|
||||
vendor/lib/hw/sound_trigger.primary.sdm845.so|5454d56f9e19a8bcc00c1f3cd0bf305406c125a5
|
||||
vendor/lib/libadpcmdec.so
|
||||
vendor/lib/libcapiv2svacnn.so
|
||||
@@ -435,7 +374,6 @@ vendor/lib/libgcs-calwrapper.so
|
||||
vendor/lib/libgcs-ipc.so
|
||||
vendor/lib/libgcs-osal.so
|
||||
vendor/lib/libgcs.so
|
||||
vendor/lib/libjnihelper.so
|
||||
vendor/lib/liblistenjni.so
|
||||
vendor/lib/liblistensoundmodel2.so
|
||||
vendor/lib/libmulawdec.so
|
||||
@@ -457,37 +395,14 @@ vendor/lib64/unnhal-acc-hvx.so
|
||||
vendor/lib/rfsa/adsp/libhexagon_nn_skel.so
|
||||
|
||||
# OMX - from PNX - RKQ1.200906.002
|
||||
vendor/lib/libOmxAacDec.so|3d90cded7de2423503025d115e2788e0eff7390f
|
||||
vendor/lib/libOmxAlacDec.so|0f0e8be4b1558fb7ab87c3b8dfa7f7a2cf33fe75
|
||||
vendor/lib/libOmxAmrDec.so|942bb36c76ff125849b947acd1dbb8edcfee8b16
|
||||
vendor/lib/libOmxAmrwbplusDec.so|6869d09e4499824a476d3b036e025b5d70a83c70
|
||||
vendor/lib/libOmxApeDec.so|8de514dddfbd5a09f740cecbaf73bfb8c290ca9a
|
||||
vendor/lib/libOmxDsdDec.so|5a58c8b54578c6c7520666df4040a422fea67df9
|
||||
vendor/lib/libOmxEvrcDec.so|58d55a09798ae13c90829c7ced2e7fee1c61d8b1
|
||||
vendor/lib/libOmxG711Dec.so|254245293c12e4d32217b0704bff5f676f4bb5de
|
||||
vendor/lib/libOmxQcelp13Dec.so|6c55114663ba69f2c2a7e6c69989fc79d67977b3
|
||||
vendor/lib/libOmxVideoDSMode.so|5862b9d707ca00cd87b70a7f581df49fa3304d2c
|
||||
vendor/lib/libOmxVpp.so|7a9a96445b55f28013ea8f4ed767c7e245420c4f
|
||||
vendor/lib/libOmxWmaDec.so|eab25fd58910bbeb57812c75fd3c5511c60fa592
|
||||
vendor/lib/libdsd2pcm.so|427be2997fcd72e94c33d08b2cf1fde5bf969fd4
|
||||
vendor/lib64/libOmxAacDec.so|98b894101c87beb61f0f1e5a9e3c6ea430441bdd
|
||||
vendor/lib64/libOmxAlacDec.so|3298ac6565f5362e7ed5c4196cfacc1c8811fa72
|
||||
vendor/lib64/libOmxAmrDec.so|f5302be684af636aa4b3101f268856fc7706a2a0
|
||||
vendor/lib64/libOmxAmrwbplusDec.so|a98845715e128e6c2649289988e4ff4de1ef9f8b
|
||||
vendor/lib64/libOmxApeDec.so|61416c5ed237a741e524b36c2b5c58a067896e9b
|
||||
vendor/lib64/libOmxEvrcDec.so|e4d98d61ad8588956b7f4f937dd720164d584f7e
|
||||
vendor/lib64/libOmxG711Dec.so|53675a26d5386c868127304c6dfe9dd130f106f8
|
||||
vendor/lib64/libOmxQcelp13Dec.so|65952f3680f9865ea601de764037637d6ee8c990
|
||||
vendor/lib64/libOmxVpp.so|a87440c7838b6f03726d97a4a52b695bb4c6e8f8
|
||||
vendor/lib64/libOmxWmaDec.so|7b2a714a74fea03a403a7d0edef61db2f70d7d4e
|
||||
|
||||
# Peripheral manager
|
||||
vendor/bin/pm-proxy
|
||||
vendor/bin/pm-service
|
||||
vendor/lib64/libperipheral_client.so
|
||||
vendor/lib64/libspcom.so
|
||||
vendor/lib/libperipheral_client.so
|
||||
vendor/lib/libspcom.so
|
||||
|
||||
# Power-off alarm - from caymanslm - SKQ1.211103.001
|
||||
product/app/PowerOffAlarm/PowerOffAlarm.apk:system_ext/app/PowerOffAlarm/PowerOffAlarm.apk|f0a86fc11b38c059912303857bc4c79155430bcc
|
||||
@@ -506,7 +421,6 @@ vendor/lib64/libdiag.so
|
||||
vendor/lib64/libdsi_netctrl.so
|
||||
vendor/lib64/libdsutils.so
|
||||
vendor/lib64/libidl.so
|
||||
vendor/lib64/libqcci_legacy.so
|
||||
vendor/lib64/libqcmaputils.so
|
||||
vendor/lib64/libqdi.so
|
||||
vendor/lib64/libqdp.so
|
||||
@@ -520,13 +434,9 @@ vendor/lib64/libqmi_encdec.so
|
||||
vendor/lib64/libqminvapi.so
|
||||
vendor/lib64/libqmiservices.so
|
||||
vendor/lib/libdiag.so
|
||||
vendor/lib/libdsi_netctrl.so
|
||||
vendor/lib/libdsutils.so
|
||||
vendor/lib/libidl.so
|
||||
vendor/lib/libqcci_legacy.so
|
||||
vendor/lib/libqcmaputils.so
|
||||
vendor/lib/libqdi.so
|
||||
vendor/lib/libqdp.so
|
||||
vendor/lib/libqmi.so
|
||||
vendor/lib/libqmi_cci.so
|
||||
vendor/lib/libqmi_client_helper.so
|
||||
@@ -584,6 +494,7 @@ vendor/lib64/libril-qcril-hook-oem.so
|
||||
vendor/lib64/librilqmiservices.so
|
||||
vendor/lib64/libsettings.so
|
||||
vendor/lib64/libsystem_health_mon.so
|
||||
vendor/lib64/libxml.so
|
||||
vendor/lib64/qcrild_librilutils.so
|
||||
vendor/lib64/qtibus.so
|
||||
vendor/lib64/qtimutex.so
|
||||
@@ -602,26 +513,7 @@ vendor/lib64/vendor.qti.hardware.radio.uim@1.2.so
|
||||
vendor/lib64/vendor.qti.hardware.radio.uim_remote_client@1.0.so
|
||||
vendor/lib64/vendor.qti.hardware.radio.uim_remote_client@1.1.so
|
||||
vendor/lib64/vendor.qti.hardware.radio.uim_remote_server@1.0.so
|
||||
vendor/lib/libconfigdb.so
|
||||
vendor/lib/liblqe.so
|
||||
vendor/lib/libmdmdetect.so
|
||||
vendor/lib/libnetmgr.so
|
||||
vendor/lib/libnetmgr_common.so
|
||||
vendor/lib/libnetmgr_nr_fusion.so
|
||||
vendor/lib/libnetmgr_rmnet_ext.so
|
||||
vendor/lib/libpdmapper.so
|
||||
vendor/lib/libpdnotifier.so
|
||||
vendor/lib/libqcrilFramework.so
|
||||
vendor/lib/libqrtr.so
|
||||
vendor/lib/libqsocket.so
|
||||
vendor/lib/libril-qc-ltedirectdisc.so
|
||||
vendor/lib/libril-qc-radioconfig.so
|
||||
vendor/lib/libril-qcril-hook-oem.so
|
||||
vendor/lib/librilqmiservices.so
|
||||
vendor/lib/libsettings.so
|
||||
vendor/lib/libsystem_health_mon.so
|
||||
vendor/lib/qcrild_librilutils.so
|
||||
vendor/lib/qtimutex.so
|
||||
vendor/radio/qcril_database/qcril.db
|
||||
vendor/radio/qcril_database/upgrade/0_initial.sql
|
||||
vendor/radio/qcril_database/upgrade/1_version_intro.sql
|
||||
@@ -641,23 +533,18 @@ vendor/lib64/libsensorcal.so
|
||||
vendor/lib64/libsensorslog.so
|
||||
vendor/lib64/libssc.so
|
||||
vendor/lib64/libssc_default_listener.so
|
||||
vendor/lib64/libssccalapi.so
|
||||
vendor/lib64/libsns_device_mode_stub.so
|
||||
vendor/lib64/libsns_fastRPC_util.so
|
||||
vendor/lib64/libsns_low_lat_stream_stub.so
|
||||
vendor/lib64/libsnsdiaglog.so
|
||||
vendor/lib64/vendor.qti.hardware.sensorscalibrate@1.0.so
|
||||
vendor/lib/hw/vendor.qti.hardware.sensorscalibrate@1.0-impl.so
|
||||
vendor/lib/libsensorcal.so
|
||||
vendor/lib/libsensorslog.so
|
||||
vendor/lib/libssc.so
|
||||
vendor/lib/libssc_default_listener.so
|
||||
vendor/lib/libssccalapi.so
|
||||
vendor/lib/libsns_device_mode_stub.so
|
||||
vendor/lib/libsns_fastRPC_util.so
|
||||
vendor/lib/libsns_low_lat_stream_stub.so
|
||||
vendor/lib/libsnsdiaglog.so
|
||||
vendor/lib/vendor.qti.hardware.sensorscalibrate@1.0.so
|
||||
|
||||
# Snapdragon Computer Vision Engine
|
||||
vendor/etc/scve/facereco/gModel.dat
|
||||
@@ -720,24 +607,17 @@ vendor/lib64/libGPQTEEC_vendor.so
|
||||
vendor/lib64/libGPTEE_vendor.so
|
||||
vendor/lib64/libQTEEConnector_vendor.so
|
||||
vendor/lib64/vendor.qti.hardware.qteeconnector@1.0.so
|
||||
vendor/lib/hw/vendor.qti.hardware.qteeconnector@1.0-impl.so
|
||||
vendor/lib/libGPQTEEC_vendor.so
|
||||
vendor/lib/libGPTEE_vendor.so
|
||||
vendor/lib/libQTEEConnector_vendor.so
|
||||
vendor/lib/vendor.qti.hardware.qteeconnector@1.0.so
|
||||
|
||||
# Trusted User Interface
|
||||
vendor/bin/hw/vendor.qti.hardware.tui_comm@1.0-service-qti
|
||||
vendor/etc/init/vendor.qti.hardware.tui_comm@1.0-service-qti.rc
|
||||
vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so
|
||||
vendor/lib/vendor.qti.hardware.tui_comm@1.0.so
|
||||
|
||||
# Widevine DRM
|
||||
vendor/bin/hw/android.hardware.drm@1.2-service.widevine
|
||||
vendor/etc/init/android.hardware.drm@1.2-service.widevine.rc
|
||||
vendor/lib64/mediadrm/libwvdrmengine.so
|
||||
vendor/lib64/libwvhidl.so
|
||||
vendor/lib/mediadrm/libwvdrmengine.so
|
||||
|
||||
# VPP - from PNX - RKQ1.200906.002
|
||||
vendor/bin/vppservice|555301b19a86374900159423c88efd7bd9cea2f9
|
||||
@@ -758,27 +638,27 @@ vendor/lib64/vendor.qti.hardware.vpp@1.2.so|ca1906012d0ab6dc9048aa49703833512308
|
||||
vendor/bin/cnss-daemon
|
||||
vendor/bin/nv_mac
|
||||
|
||||
# WiFi Display (system) - from KB2001 14.0.0.81(EX01)
|
||||
system/framework/WfdCommon.jar|a661c494d064b79a3f71579592411fada1ea232f
|
||||
system_ext/bin/wfdservice|400d123df78c1ed2e9643ff3ddf5ee5748f954fe
|
||||
# WiFi Display (system) - from lemonadep - UKQ1.230924.001
|
||||
system/framework/WfdCommon.jar;BOOT_JAR|a661c494d064b79a3f71579592411fada1ea232f
|
||||
system_ext/bin/wfdservice|400d123df78c1ed2e9643ff3ddf5ee5748f954fe|8a0be1b9478adf4b44a1ba34f045b1871f64ac5c
|
||||
system_ext/etc/init/wfdservice.rc|907def8565d8f91f531ca7dfad880af05d540b0c
|
||||
system_ext/etc/seccomp_policy/wfdservice.policy|5b3592c965f16b2d55ac89d56d8d3c49a6b5800b
|
||||
system_ext/etc/wfdconfigsink.xml|cb78df66948314a75080a4161321fb3111a0785a
|
||||
system_ext/lib/com.qualcomm.qti.wifidisplayhal@1.0.so|cb88bc73bf9f44d7da000a41d38b309ffdf71370
|
||||
system_ext/lib/libmmosal.so|e806f8040b4e59c6e08e437734a2176090a94ae3
|
||||
system_ext/lib/libmmparser_lite.so|873d818fbfa0ce01a1f9cd951c1fba32d4159735
|
||||
system_ext/lib/libmmparser_lite.so|61bbc90e3a26a64007eb9b0871b43cce72ee6b7e
|
||||
system_ext/lib/libmmrtpdecoder.so|4fc76315f11ff5fe416f36b66c9422ef05eae182
|
||||
system_ext/lib/libmmrtpencoder.so|0fa2096eec29eec395f6bd88d7d1049a127e090c
|
||||
system_ext/lib/libwfdavenhancements.so|581db496334d2adb76e6c6af67620f49ca24eabd
|
||||
system_ext/lib/libwfdclient.so|a9639d9f269880700bac6fc06e8302702fb0ab32
|
||||
system_ext/lib/libwfdcommonutils.so|b738182e77f3e7faf72460f09ebdfca7de5e0c23
|
||||
system_ext/lib/libwfdconfigutils.so|df70b2da2b8aff916a1c2f6e7365d87cf1c4ffdf
|
||||
system_ext/lib/libwfdconfigutils.so|a52a96e2699f3a5ad79838e356cd90838e26218b
|
||||
system_ext/lib/libwfddisplayconfig.so|f46fe63fb3d58c143dc92741a962167af3d8b928
|
||||
system_ext/lib/libwfdmminterface.so|5844114d7cc823090a70fe4f44cbda0ddf585ebd
|
||||
system_ext/lib/libwfdmmsink.so|23fb5c836fc06865b229c30b46998e41c0624dac
|
||||
system_ext/lib/libwfdmmsrc_system.so|0adfc69a5560158f3a6803ba720acc795d6d05dc
|
||||
system_ext/lib/libwfdmmsrc_system.so|0adfc69a5560158f3a6803ba720acc795d6d05dc|f4395e4a22bed41fdbe86c988caba7d46cf0c8bf
|
||||
system_ext/lib/libwfdrtsp.so|afd69963c2bd59bdb3ff23e01710c61ed90c5d87
|
||||
system_ext/lib/libwfdservice.so|07e6d0e00393a8c068f75b46531d2e75fdaebde2
|
||||
system_ext/lib/libwfdservice.so|07e6d0e00393a8c068f75b46531d2e75fdaebde2|679e2cb2b25374a57dfd860286da96abeee04f36
|
||||
system_ext/lib/libwfdsinksm.so|875171cc6ae534dd941eec1c87b78d5961e19c06
|
||||
system_ext/lib/libwfduibcinterface.so|e90fa4920b010bd6ef2bd78c2d2644cbd0fcbffa
|
||||
system_ext/lib/libwfduibcsink.so|91af548471c395a958e6155dd9be19cccbe482d3
|
||||
@@ -787,16 +667,16 @@ system_ext/lib/libwfduibcsrc.so|a0b1c73015c449468db0d2776fdfcc56dfeee53b
|
||||
system_ext/lib/libwfduibcsrcinterface.so|2e24ec6a075407664488b4214eef35cb2ca845f4
|
||||
system_ext/lib/vendor.qti.hardware.wifidisplaysession@1.0.so|45a0a8cd9f1aa5cbe69b113192d42bc42e32e9c3
|
||||
system_ext/lib64/libmmosal.so|8488b27e6a9cda05c68181e8bf20afa7ba345222
|
||||
system_ext/lib64/libmmparser_lite.so|afd7b441e1bce732c14f5f8f49821d43bb2ee791
|
||||
system_ext/lib64/libmmparser_lite.so|59d550a52773722f1fe515bd5fba86918cf6f54e
|
||||
system_ext/lib64/libmmrtpdecoder.so|0da526d51135ea58236ab6bcc2d1b7484931df24
|
||||
system_ext/lib64/libmmrtpencoder.so|fafe00d1ed3d691c6d2c2d963144218764cad5ae
|
||||
system_ext/lib64/libwfdclient.so|0070b1e88cee6ebaf17dcb02c2706232cc087071
|
||||
system_ext/lib64/libwfdcommonutils.so|14b3bd86703f2aca0abb1232d2304e626c1af644
|
||||
system_ext/lib64/libwfdconfigutils.so|3b2d91fe7efefd81a0b5cdff59b9918c063fa7a9
|
||||
system_ext/lib64/libwfdconfigutils.so|6f1a3a862ddde4245ea58ad310101df620d3a00b
|
||||
system_ext/lib64/libwfddisplayconfig.so|5fd7bf7abaedfe890442f88183c49755b25c39aa
|
||||
system_ext/lib64/libwfdmminterface.so|3f16acefbe87741a5841c1c70cf74ff917299c4c
|
||||
system_ext/lib64/libwfdmmsink.so|8150b750357b606475521b491f78d566673f9888
|
||||
system_ext/lib64/libwfdnative.so|6d6dad5e631bc4d63463f608c47f3f9e5493944f
|
||||
system_ext/lib64/libwfdnative.so;SYMLINK=system_ext/priv-app/WfdService/lib/arm64/libwfdnative.so|92ec61d464c07d9e9020cf413489cdc01fb19abc|3112f3492eb52db39ca1d091d9d25f64d625e670
|
||||
system_ext/lib64/libwfdrtsp.so|8181e44d7c1f722218fabd8fe3bf788454a3f586
|
||||
system_ext/lib64/libwfdsinksm.so|c4d68ecbe0accd24296c18444e5a82b6a24be8d8
|
||||
system_ext/lib64/libwfduibcinterface.so|dca32fe063bdba7ce3b131b16cf112b793ae03ad
|
||||
@@ -815,7 +695,7 @@ vendor/etc/seccomp_policy/wfdhdcphalservice.policy|a489ab323be4be2df3de9f84a6b5e
|
||||
vendor/etc/seccomp_policy/wfdvndservice.policy|b46f0c22a1f9b65c6750205e161c0a3f84ac716b
|
||||
vendor/etc/seccomp_policy/wifidisplayhalservice.policy|f113f27e0e301a18baf0ade08c23071a27c7dc52
|
||||
vendor/lib/libFileMux_proprietary.so|e59edd4604a7c73147118161cab5b7ac6bb16c82
|
||||
vendor/lib/libmmosal.so|57185feced72009af2df1b09117702c9fae7182b
|
||||
vendor/lib/libmmosal.so;MODULE_SUFFIX=_vendor|57185feced72009af2df1b09117702c9fae7182b
|
||||
vendor/lib/libmmrtpdecoder_proprietary.so|9232f505ea8f0c1e9f81a049c583fba32a450d73
|
||||
vendor/lib/libmmrtpencoder_proprietary.so|d8386b78c976d94867455c67dd10d63e8a343363
|
||||
vendor/lib/libwfdcodecv4l2_proprietary.so|70a2900804160bc53bb19c11e81278ffde0c5fee
|
||||
@@ -838,9 +718,8 @@ vendor/lib/libwfduibcsinkinterface_proprietary.so|64b802f12ffb30418a072d0ebf3c26
|
||||
vendor/lib/libwfduibcsrc_proprietary.so|b78df6ab7acb850f2adb875ccecb1a3c3539f4d2
|
||||
vendor/lib/libwfduibcsrcinterface_proprietary.so|91837ba6b6692e1d553ece3aa4469dd64f164a04
|
||||
vendor/lib/libwfdutils_proprietary.so|cae4c266704da4ce15b59c13f57ccf8f1391b699
|
||||
vendor/lib/vendor.qti.hardware.wifidisplaysession@1.0.so|fdba1b3c11ace4b0415be4e5944cdb288cd35f58
|
||||
vendor/lib/vendor.qti.hardware.wifidisplaysession@1.0.so;MODULE_SUFFIX=_vendor|fdba1b3c11ace4b0415be4e5944cdb288cd35f58
|
||||
vendor/lib/vendor.qti.hardware.wifidisplaysessionl@1.0-halimpl.so|044c6cfd4bc603e4aa372ab1a3d287a8d8e5fc48
|
||||
vendor/lib64/libwfdhdcpcp.so|ba43f54ee4e34562b31c9595d2ad0639033e8fdc
|
||||
|
||||
# WiFi Display (vendor) - from lemonadep - TP1A.220624.003
|
||||
vendor/etc/wfdconfig.xml|4f863ac9a71bafff8afc14e8fab26af979bbb1d6
|
||||
|
||||
14
recovery/Android.bp
Normal file
14
recovery/Android.bp
Normal file
@@ -0,0 +1,14 @@
|
||||
//
|
||||
// Copyright (C) 2025 The LineageOS Project
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
cc_library_static {
|
||||
name: "librecovery_updater_xiaomi",
|
||||
include_dirs: [
|
||||
"bootable/deprecated-ota/edify/include",
|
||||
"bootable/recovery",
|
||||
"bootable/recovery/otautil/include",
|
||||
],
|
||||
srcs: ["recovery_updater.cpp"],
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_C_INCLUDES := \
|
||||
bootable/recovery \
|
||||
bootable/recovery/edify/include \
|
||||
bootable/recovery/otautil/include
|
||||
LOCAL_SRC_FILES := recovery_updater.cpp
|
||||
LOCAL_MODULE := librecovery_updater_xiaomi
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
@@ -1,6 +1,6 @@
|
||||
# Copyright (C) 2009 The Android Open Source Project
|
||||
# Copyright (c) 2011, The Linux Foundation. All rights reserved.
|
||||
# Copyright (C) 2017-2024 The LineageOS Project
|
||||
# Copyright (C) 2017-2023 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.
|
||||
@@ -17,13 +17,6 @@
|
||||
import common
|
||||
import re
|
||||
|
||||
def FullOTA_InstallBegin(info):
|
||||
AddImage(info, "RADIO", "super_dummy.img", "/tmp/super_dummy.img");
|
||||
info.script.AppendExtra('package_extract_file("install/bin/flash_super_dummy.sh", "/tmp/flash_super_dummy.sh");')
|
||||
info.script.AppendExtra('set_metadata("/tmp/flash_super_dummy.sh", "uid", 0, "gid", 0, "mode", 0755);')
|
||||
info.script.AppendExtra('run_program("/tmp/flash_super_dummy.sh");')
|
||||
return
|
||||
|
||||
def FullOTA_InstallEnd(info):
|
||||
OTA_InstallEnd(info)
|
||||
return
|
||||
@@ -40,8 +33,8 @@ def IncrementalOTA_Assertions(info):
|
||||
AddTrustZoneAssertion(info, info.target_zip)
|
||||
return
|
||||
|
||||
def AddImage(info, dir, basename, dest):
|
||||
path = dir + "/" + basename
|
||||
def AddImage(info, basename, dest):
|
||||
path = "IMAGES/" + basename
|
||||
if path not in info.input_zip.namelist():
|
||||
return
|
||||
|
||||
@@ -51,8 +44,8 @@ def AddImage(info, dir, basename, dest):
|
||||
info.script.AppendExtra('package_extract_file("%s", "%s");' % (basename, dest))
|
||||
|
||||
def OTA_InstallEnd(info):
|
||||
AddImage(info, "IMAGES", "dtbo.img", "/dev/block/bootdevice/by-name/dtbo")
|
||||
AddImage(info, "IMAGES", "vbmeta.img", "/dev/block/bootdevice/by-name/vbmeta")
|
||||
AddImage(info, "dtbo.img", "/dev/block/bootdevice/by-name/dtbo")
|
||||
AddImage(info, "vbmeta.img", "/dev/block/bootdevice/by-name/vbmeta")
|
||||
return
|
||||
|
||||
def AddTrustZoneAssertion(info, input_zip):
|
||||
|
||||
14
remove_packages/Android.bp
Normal file
14
remove_packages/Android.bp
Normal file
@@ -0,0 +1,14 @@
|
||||
cc_library_shared {
|
||||
name: "RemovePackages",
|
||||
overrides: [
|
||||
"arcore",
|
||||
"GoogleTTS",
|
||||
"Photos",
|
||||
"SoundAmplifierPrebuilt",
|
||||
"SwitchAccessPrebuilt",
|
||||
"talkback",
|
||||
"Tycho",
|
||||
"VoiceAccessPrebuilt",
|
||||
],
|
||||
compile_multilib: "64",
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := RemovePackages
|
||||
LOCAL_MODULE_CLASS := APPS
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_OVERRIDES_PACKAGES := \
|
||||
AdaptiveVPNPrebuilt-10307 \
|
||||
AiWallpapers \
|
||||
arcore-1.42 \
|
||||
Backgrounds \
|
||||
Chrome \
|
||||
GoogleTTS \
|
||||
PixelLiveWallpaperPrebuilt \
|
||||
PixelWallpapers2024 \
|
||||
ScribePrebuilt \
|
||||
SoundAmplifierPrebuilt \
|
||||
SwitchAccessPrebuilt \
|
||||
talkback \
|
||||
Photos \
|
||||
Tycho \
|
||||
VoiceAccessPrebuilt
|
||||
|
||||
LOCAL_UNINSTALLABLE_MODULE := true
|
||||
LOCAL_CERTIFICATE := PRESIGNED
|
||||
LOCAL_SRC_FILES := /dev/null
|
||||
include $(BUILD_PREBUILT)
|
||||
@@ -1,74 +0,0 @@
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := fstab.zram
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/fstab.zram
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.qcom.early_boot.sh
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/init.qcom.early_boot.sh
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.qcom.post_boot.sh
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/init.qcom.post_boot.sh
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.qcom.rc
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/init.qcom.rc
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.qcom.power.rc
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/init.qcom.power.rc
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.recovery.qcom.rc
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/init.recovery.qcom.rc
|
||||
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.qcom.sh
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/init.qcom.sh
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := ueventd.qcom.rc
|
||||
LOCAL_MODULE_STEM := ueventd.rc
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/ueventd.qcom.rc
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.qcom.sensors.sh
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/init.qcom.sensors.sh
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
|
||||
include $(BUILD_PREBUILT)
|
||||
160
sdm845.mk
160
sdm845.mk
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2018-2024 The LineageOS Project
|
||||
# Copyright (C) 2018-2025 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
@@ -19,7 +19,8 @@ PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := true
|
||||
# Overlays
|
||||
DEVICE_PACKAGE_OVERLAYS += \
|
||||
$(LOCAL_PATH)/overlay \
|
||||
$(LOCAL_PATH)/overlay-lineage
|
||||
$(LOCAL_PATH)/overlay-lineage \
|
||||
$(LOCAL_PATH)/overlay-evolution
|
||||
|
||||
PRODUCT_ENFORCE_RRO_TARGETS := *
|
||||
|
||||
@@ -71,12 +72,10 @@ PRODUCT_PACKAGES += \
|
||||
android.hardware.audio.service \
|
||||
android.hardware.soundtrigger@2.2-impl:32 \
|
||||
audio.r_submix.default \
|
||||
audio.usb.default \
|
||||
libaudioroute.vendor \
|
||||
audio.usbv2.default \
|
||||
libqcompostprocbundle \
|
||||
libqcomvisualizer \
|
||||
libqcomvoiceprocessing \
|
||||
libtinycompress \
|
||||
libvolumelistener \
|
||||
tinymix
|
||||
|
||||
@@ -87,31 +86,25 @@ PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
|
||||
$(LOCAL_PATH)/audio/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_a2dp_offload_disabled.xml \
|
||||
$(LOCAL_PATH)/audio/bluetooth_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_hearing_aid_audio_policy_configuration.xml \
|
||||
$(LOCAL_PATH)/audio/dax-default.xml:$(TARGET_COPY_OUT_VENDOR)/etc/dolby/dax-default.xml \
|
||||
$(LOCAL_PATH)/audio/graphite_ipc_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/graphite_ipc_platform_info.xml \
|
||||
$(LOCAL_PATH)/audio/listen_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/listen_platform_info.xml \
|
||||
$(LOCAL_PATH)/audio/mixer_paths_tavil.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tavil.xml
|
||||
$(LOCAL_PATH)/audio/mixer_paths_tavil.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_tavil.xml \
|
||||
$(LOCAL_PATH)/audio/usbv2_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usbv2_audio_policy_configuration.xml
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \
|
||||
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
|
||||
frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml
|
||||
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml
|
||||
|
||||
# Bluetooth
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.bluetooth@1.0.vendor \
|
||||
android.hardware.bluetooth.audio-impl \
|
||||
audio.bluetooth.default \
|
||||
vendor.qti.hardware.bluetooth_audio@2.0.vendor \
|
||||
vendor.qti.hardware.btconfigstore@1.0.vendor
|
||||
audio.bluetooth.default
|
||||
|
||||
# Camera
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.camera.provider@2.4-impl:32 \
|
||||
android.hardware.camera.provider@2.4-service \
|
||||
libdng_sdk.vendor \
|
||||
libgui_shim \
|
||||
libpiex_shim \
|
||||
vendor.qti.hardware.camera.device@1.0.vendor
|
||||
android.hardware.camera.provider@2.4-service
|
||||
|
||||
# Common init scripts
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -119,24 +112,18 @@ PRODUCT_PACKAGES += \
|
||||
init.qcom.early_boot.sh \
|
||||
init.qcom.post_boot.sh \
|
||||
init.qcom.rc \
|
||||
init.qcom.recovery.rc \
|
||||
init.qcom.power.rc \
|
||||
init.qcom.sensors.sh \
|
||||
init.qcom.sh \
|
||||
init.qcom.usb.rc \
|
||||
init.qcom.usb.sh \
|
||||
init.recovery.qcom.rc \
|
||||
ueventd.qcom.rc \
|
||||
usb_compositions.conf
|
||||
ueventd.qcom.rc
|
||||
|
||||
# Configstore
|
||||
PRODUCT_PACKAGES += \
|
||||
disable_configstore
|
||||
|
||||
# Cgroup and task profiles
|
||||
PRODUCT_COPY_FILES += \
|
||||
system/core/libprocessgroup/profiles/cgroups_28.json:$(TARGET_COPY_OUT_VENDOR)/etc/cgroups.json \
|
||||
system/core/libprocessgroup/profiles/task_profiles_28.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json
|
||||
|
||||
# Context Hub
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.contexthub@1.0-impl.generic \
|
||||
@@ -147,44 +134,25 @@ PRODUCT_SET_DEBUGFS_RESTRICTIONS := true
|
||||
|
||||
# Device-specific settings
|
||||
PRODUCT_PACKAGES += \
|
||||
XiaomiDolby \
|
||||
XiaomiParts
|
||||
|
||||
# Display
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.graphics.composer@2.3-service \
|
||||
android.hardware.graphics.mapper@2.0-impl-qti-display \
|
||||
android.hardware.memtrack@1.0-impl \
|
||||
android.hardware.memtrack@1.0-service \
|
||||
gralloc.sdm845 \
|
||||
hwcomposer.sdm845 \
|
||||
libdisplayconfig.qti \
|
||||
libdisplayconfig.system.qti \
|
||||
libqdMetaData \
|
||||
libqdMetaData.system \
|
||||
libtinyxml \
|
||||
memtrack.sdm845 \
|
||||
vendor.display.config@1.0.vendor \
|
||||
vendor.display.config@2.0 \
|
||||
hwcomposer.qcom \
|
||||
vendor.qti.hardware.display.allocator@1.0-service \
|
||||
vendor.qti.hardware.display.config-V5-ndk
|
||||
vendor.qti.hardware.memtrack-service
|
||||
|
||||
# DRM
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.drm@1.3.vendor \
|
||||
android.hardware.drm-service.clearkey
|
||||
|
||||
# Fingerprint
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.biometrics.fingerprint@2.3-service.xiaomi
|
||||
|
||||
# Gatekeeper
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.gatekeeper@1.0.vendor \
|
||||
libion.vendor
|
||||
|
||||
# GNSS
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.gnss@2.0.vendor
|
||||
android.hardware.biometrics.fingerprint-service.xiaomi
|
||||
|
||||
# fastbootd
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -195,18 +163,6 @@ PRODUCT_PACKAGES += \
|
||||
android.hardware.health-service.qti \
|
||||
android.hardware.health-service.qti_recovery
|
||||
|
||||
# HIDL
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hidl.allocator@1.0.vendor \
|
||||
android.hidl.base@1.0 \
|
||||
android.hidl.base@1.0.vendor \
|
||||
android.hidl.memory@1.0.vendor \
|
||||
libhidlmemory.vendor \
|
||||
libhidltransport \
|
||||
libhidltransport.vendor \
|
||||
libhwbinder \
|
||||
libhwbinder.vendor
|
||||
|
||||
# HotwordEnrollement app permissions
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/permissions/privapp-permissions-hotword.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-hotword.xml
|
||||
@@ -224,13 +180,9 @@ PRODUCT_PACKAGES += \
|
||||
ipacm \
|
||||
IPACM_cfg.xml
|
||||
|
||||
# Keymaster
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.keymaster@4.0.vendor
|
||||
|
||||
# Lights
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.light-service.xiaomi
|
||||
android.hardware.light-service.lineage
|
||||
|
||||
# Lineage Health
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -238,21 +190,15 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
# LiveDisplay
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.lineage.livedisplay@2.0-service-sdm
|
||||
vendor.lineage.livedisplay-service.sdm
|
||||
|
||||
# Media
|
||||
PRODUCT_PACKAGES += \
|
||||
libavservices_minijail \
|
||||
libc2dcolorconvert \
|
||||
libOmxAacEnc \
|
||||
libOmxAmrEnc \
|
||||
libOmxCore \
|
||||
libOmxEvrcEnc \
|
||||
libOmxG711Enc \
|
||||
libOmxQcelp13Enc \
|
||||
libOmxVdec \
|
||||
libOmxVenc \
|
||||
libstagefrighthw
|
||||
libstagefrighthw \
|
||||
libstagefright_foundation-v33
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
|
||||
@@ -267,60 +213,36 @@ 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 \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_c2_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_video.xml
|
||||
|
||||
# Mlipay
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.xiaomi.hardware.mlipay@1.1.vendor:64 \
|
||||
vendor.xiaomi.hardware.mtdservice@1.0.vendor:64
|
||||
|
||||
# Native libraries whitelist
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt
|
||||
|
||||
# Net
|
||||
PRODUCT_PACKAGES += \
|
||||
android.system.net.netd@1.1.vendor
|
||||
|
||||
# Neural Network
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.neuralnetworks@1.2.vendor
|
||||
|
||||
# Partitions
|
||||
PRODUCT_USE_DYNAMIC_PARTITIONS := true
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor_bt_firmware_mountpoint \
|
||||
vendor_dsp_mountpoint \
|
||||
vendor_firmware_mnt_mountpoint
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/partitions/flash_super_dummy.sh:install/bin/flash_super_dummy.sh
|
||||
PRODUCT_USE_DYNAMIC_PARTITIONS := true
|
||||
|
||||
# Power
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.power-service.lineage-libperfmgr \
|
||||
android.hardware.power@1.2.vendor \
|
||||
libqti-perfd-client
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/power/configs/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
|
||||
|
||||
# Protobuf
|
||||
PRODUCT_PACKAGES += \
|
||||
libprotobuf-cpp-full-vendorcompat \
|
||||
libprotobuf-cpp-lite-vendorcompat
|
||||
$(call soong_config_set,power_libperfmgr,mode_extension_lib,//$(LOCAL_PATH):libperfmgr-ext-xiaomi)
|
||||
|
||||
# QTI
|
||||
PRODUCT_PACKAGES += \
|
||||
libqti_vndfwk_detect.vendor
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/qti_whitelist.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/sysconfig/qti_whitelist.xml \
|
||||
$(LOCAL_PATH)/permissions/system_ext-privapp-permissions-qti.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/privapp-permissions-qti.xml
|
||||
|
||||
# Radio
|
||||
# QTI fwk-detect
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.secure_element@1.0.vendor \
|
||||
android.hardware.radio@1.4.vendor \
|
||||
android.hardware.radio.config@1.2.vendor \
|
||||
android.hardware.radio.deprecated@1.0.vendor \
|
||||
libjson \
|
||||
librmnetctl \
|
||||
libsqlite.vendor:64
|
||||
libqti_vndfwk_detect.vendor:32
|
||||
|
||||
# Recovery
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -336,10 +258,8 @@ PRODUCT_COPY_FILES += \
|
||||
|
||||
# Sensors
|
||||
PRODUCT_PACKAGES += \
|
||||
android.frameworks.sensorservice@1.0.vendor \
|
||||
android.hardware.sensors@1.0-impl:64 \
|
||||
android.hardware.sensors@1.0-service \
|
||||
libsensorndkbridge
|
||||
android.hardware.sensors@1.0-service
|
||||
|
||||
# Soong namespaces
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
@@ -353,8 +273,6 @@ PRODUCT_SOONG_NAMESPACES += \
|
||||
|
||||
# Speed profile services and wifi-service to reduce RAM and storage
|
||||
PRODUCT_SYSTEM_SERVER_COMPILER_FILTER := speed-profile
|
||||
PRODUCT_USE_PROFILE_FOR_BOOT_IMAGE := true
|
||||
PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION := frameworks/base/config/boot-image-profile.txt
|
||||
|
||||
# Telephony
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -375,23 +293,17 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
# USB
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.usb@1.3-service.dual_role_usb \
|
||||
android.hardware.usb.gadget@1.2-service-qti
|
||||
android.hardware.usb@1.3-service.dual_role_usb
|
||||
|
||||
# Vibrator
|
||||
PRODUCT_PACKAGES += \
|
||||
vendor.qti.hardware.vibrator.service
|
||||
|
||||
# VNDK
|
||||
PRODUCT_COPY_FILES += \
|
||||
prebuilts/vndk/v33/arm64/arch-arm64-armv8-a/shared/vndk-sp/libutils.so:$(TARGET_COPY_OUT_VENDOR)/lib64/libutils-v33.so
|
||||
|
||||
# WiFi
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.wifi-service \
|
||||
hostapd \
|
||||
libwifi-hal-qcom \
|
||||
libwpa_client \
|
||||
WifiOverlay \
|
||||
wpa_supplicant \
|
||||
wpa_supplicant.conf
|
||||
@@ -404,16 +316,10 @@ PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
|
||||
$(LOCAL_PATH)/wifi/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_qcom_cfg.ini
|
||||
|
||||
# WiFi Display
|
||||
# WiFi firmware symlinks
|
||||
PRODUCT_PACKAGES += \
|
||||
android.media.audio.common.types-V2-cpp \
|
||||
libnl \
|
||||
libpng.vendor \
|
||||
libprocessgroup.vendor \
|
||||
libwfdaac_vendor
|
||||
|
||||
PRODUCT_BOOT_JARS += \
|
||||
WfdCommon
|
||||
firmware_wlan_mac.bin_symlink \
|
||||
firmware_WCNSS_qcom_cfg.ini_symlink
|
||||
|
||||
# Inherit the proprietary files
|
||||
$(call inherit-product, vendor/xiaomi/sdm845-common/sdm845-common-vendor.mk)
|
||||
|
||||
@@ -22,3 +22,11 @@ allow xiaomiparts_app sysfs_thermal:file w_file_perms;
|
||||
|
||||
# Allow XiaomiParts to get settingsdebug.instant.packages prop
|
||||
get_prop(xiaomiparts_app, settingslib_prop)
|
||||
|
||||
# Allow XiaomiParts to read specific system properties
|
||||
get_prop(xiaomiparts_app, system_prop)
|
||||
get_prop(xiaomiparts_app, exported_system_prop)
|
||||
|
||||
# Allow XiaomiParts to access to media player service
|
||||
allow xiaomiparts_app mediaserver_service:service_manager find;
|
||||
binder_call(xiaomiparts_app, mediaserver)
|
||||
|
||||
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;
|
||||
1
sepolicy/vendor/donaudit.te
vendored
Normal file
1
sepolicy/vendor/donaudit.te
vendored
Normal file
@@ -0,0 +1 @@
|
||||
dontaudit untrusted_app ashmem_device:chr_file open;
|
||||
9
sepolicy/vendor/dontaudit.te
vendored
Normal file
9
sepolicy/vendor/dontaudit.te
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
# Ignore harmless QCOM denials
|
||||
dontaudit {
|
||||
gmscore_app
|
||||
init
|
||||
priv_app
|
||||
} {
|
||||
bt_firmware_file
|
||||
firmware_file
|
||||
}:filesystem getattr;
|
||||
1
sepolicy/vendor/file.te
vendored
1
sepolicy/vendor/file.te
vendored
@@ -4,6 +4,7 @@ type fingerprint_data_file, data_file_type, file_type;
|
||||
type gps_data_file, data_file_type, file_type;
|
||||
type gps_socket, file_type;
|
||||
type thermal_data_file, data_file_type, file_type;
|
||||
type vendor_convergence_data_file, data_file_type, file_type;
|
||||
|
||||
type proc_tp, proc_type, fs_type;
|
||||
|
||||
|
||||
9
sepolicy/vendor/file_contexts
vendored
9
sepolicy/vendor/file_contexts
vendored
@@ -12,11 +12,12 @@
|
||||
/(vendor|system/vendor)/bin/remosaic_daemon u:object_r:remosaic_daemon_exec:s0
|
||||
|
||||
# Data files
|
||||
/data/vendor/dolby(/.*)? u:object_r:vendor_data_file:s0
|
||||
/data/vendor/fpc(/.*)? u:object_r:fingerprint_data_file:s0
|
||||
/data/vendor/goodix(/.*)? u:object_r:fingerprint_data_file:s0
|
||||
/data/vendor/gps(/.*)? u:object_r:gps_data_file:s0
|
||||
/data/vendor/mac_addr(/.*)? u:object_r:vendor_convergence_data_file:s0
|
||||
/data/vendor/syna(/.*)? u:object_r:fingerprint_data_file:s0
|
||||
/data/vendor/mac_addr(/.*)? u:object_r:wifi_vendor_data_file:s0
|
||||
/data/vendor/thermal(/.*)? u:object_r:thermal_data_file:s0
|
||||
|
||||
# Executables
|
||||
@@ -49,10 +50,10 @@
|
||||
/sys/devices/platform/soc/[a-z0-9]+.i2c/i2c-[0-9]/[0-9]-[a-z0-9]+/leds/ir(/.*)? u:object_r:sysfs_leds:s0
|
||||
|
||||
# HALs
|
||||
/vendor/bin/hw/android\.hardware\.biometrics\.fingerprint@2\.3-service\.xiaomi u:object_r:hal_fingerprint_default_exec:s0
|
||||
/vendor/bin/hw/android\.hardware\.light-service\.xiaomi u:object_r:hal_light_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\.neuralnetworks@1\.2-service-qti u:object_r:hal_neuralnetworks_default_exec:s0
|
||||
/vendor/bin/hw/vendor\.lineage\.livedisplay@2\.0-service\.xiaomi_sdm845 u:object_r:hal_lineage_livedisplay_qti_exec:s0
|
||||
/vendor/bin/hw/vendor\.lineage\.livedisplay-service\.xiaomi_sdm845 u:object_r:hal_lineage_livedisplay_qti_exec:s0
|
||||
/vendor/bin/hw/vendor\.dolby\.hardware\.dms@2\.0-service u:object_r:hal_dms_default_exec:s0
|
||||
|
||||
# Persist files
|
||||
/mnt/vendor/persist/audio(/.*)? u:object_r:persist_audio_file:s0
|
||||
|
||||
1
sepolicy/vendor/genfs_contexts
vendored
1
sepolicy/vendor/genfs_contexts
vendored
@@ -11,6 +11,7 @@ genfscon sysfs /devices/platform/soc/8300000.qcom,turing/subsys6/restart_level u
|
||||
genfscon sysfs /devices/platform/soc/a88000.i2c/i2c-0/0-0061/power_supply/idt u:object_r:sysfs_wireless_supply:s0
|
||||
genfscon sysfs /devices/platform/soc/aae0000.qcom,venus/subsys1/restart_level u:object_r:sysfs_ssr_toggle:s0
|
||||
genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/idle_state u:object_r:sysfs_graphics:s0
|
||||
genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/sde-crtc-0/measured_fps u:object_r:sysfs_graphics:s0
|
||||
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pmi8998@2:qcom,qpnp-smb2/power_supply/wireless u:object_r:sysfs_wireless_supply:s0
|
||||
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-03/c440000.qcom,spmi:qcom,pmi8998@3:qcom,leds@d000/leds/white u:object_r:sysfs_graphics:s0
|
||||
genfscon sysfs /devices/platform/soc/soc:fingerprint_fpc/device_prepare u:object_r:sysfs_fingerprint:s0
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user