diff --git a/Android.mk b/Android.mk
index a85bbc4..0c6214e 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,6 +1,6 @@
#
# Copyright (C) 2022 The Android Open Source Project
-# Copyright (C) 2022 SebaUbuntu's TWRP device tree generator
+# Copyright (C) 2022 PitchBlack Recovery Project
#
# SPDX-License-Identifier: Apache-2.0
#
diff --git a/AndroidProducts.mk b/AndroidProducts.mk
index a2e2128..cc7d2a4 100644
--- a/AndroidProducts.mk
+++ b/AndroidProducts.mk
@@ -1,12 +1,12 @@
#
# Copyright (C) 2022 The Android Open Source Project
-# Copyright (C) 2022 SebaUbuntu's TWRP device tree generator
+# Copyright (C) 2022 PitchBlack Recovery Project
#
# SPDX-License-Identifier: Apache-2.0
#
PRODUCT_MAKEFILES := \
- $(LOCAL_DIR)/pbrp_avicii.mk
+ $(LOCAL_DIR)/omni_avicii.mk
COMMON_LUNCH_CHOICES := \
- pbrp_avicii-eng
+ omni_avicii-eng
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 5ae2458..00c49b0 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -1,6 +1,6 @@
#
# Copyright (C) 2022 The Android Open Source Project
-# Copyright (C) 2022 SebaUbuntu's TWRP device tree generator
+# Copyright (C) 2022 PitchBlack Recovery Project
#
# SPDX-License-Identifier: Apache-2.0
#
@@ -22,13 +22,15 @@ TARGET_2ND_CPU_ABI := armeabi-v7a
TARGET_2ND_CPU_ABI2 := armeabi
TARGET_2ND_CPU_VARIANT := cortex-a76
-
# Enable CPUSets
ENABLE_CPUSETS := true
ENABLE_SCHEDBOOST := true
+# APEX
+DEXPREOPT_GENERATE_APEX_IMAGE := true
+
# Assert
-TARGET_OTA_ASSERT_DEVICE := avicii,OnePlusNord,Nord
+TARGET_OTA_ASSERT_DEVICE := avicii,OnePlusNord,Nord,ossi,AC2001,AC2003,OnePlus Nord
# Bootloader
TARGET_BOOTLOADER_BOARD_NAME := $(PRODUCT_PLATFORM)
@@ -49,6 +51,7 @@ BOARD_KERNEL_CMDLINE := \
androidboot.hardware=qcom \
androidboot.console=ttyMSM0 \
androidboot.memcg=1 \
+ video=vfb:640x400,bpp=32,memsize=3072000 \
lpm_levels.sleep_disabled=1 \
msm_rtb.filter=0x237 \
service_locator.enable=1 \
@@ -58,7 +61,7 @@ BOARD_KERNEL_CMDLINE := \
cgroup.memory=nokmem,nosocket \
reboot=panic_warm
BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
-BOARD_KERNEL_IMAGE_NAME := Image.gz
+BOARD_KERNEL_IMAGE_NAME := Image
BOARD_KERNEL_PAGESIZE := 4096
BOARD_KERNEL_SEPARATED_DTBO := true
BOARD_KERNEL_TAGS_OFFSET := 0x00000100
@@ -77,49 +80,63 @@ TARGET_NO_KERNEL := false
# Platform
TARGET_BOARD_PLATFORM := $(TARGET_BOOTLOADER_BOARD_NAME)
TARGET_USES_HARDWARE_QCOM_BOOTCTRL := true
+TARGET_BOARD_PLATFORM_GPU := qcom-adreno620
QCOM_BOARD_PLATFORMS += $(TARGET_BOARD_PLATFORM)
# Properties
-TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
# Partition Info
BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
BOARD_USES_PRODUCTIMAGE := true
-BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
-BOARD_RECOVERYIMAGE_PARTITION_SIZE := 100663296
+BOARD_BOOTIMAGE_PARTITION_SIZE := 104857600
+BOARD_RECOVERYIMAGE_PARTITION_SIZE := 104857600
BOARD_SYSTEMIMAGE_JOURNAL_SIZE := 0
BOARD_SYSTEMIMAGE_EXTFS_INODE_COUNT := 4096
TARGET_USERIMAGES_USE_EXT4 := true
TARGET_USERIMAGES_USE_F2FS := true
+BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
+BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
BOARD_BUILD_SYSTEM_ROOT_IMAGE := false
+BOARD_HAS_LARGE_FILESYSTEM := true
-# File System Tables for Recovery
-TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/recovery/root/system/etc/recovery.fstab
+# Recovery
+BOARD_SUPPRESS_SECURE_ERASE := true
+TARGET_NO_RECOVERY := false
+TARGET_RECOVERY_DEVICE_MODULES += \
+ libion \
+ libxml2 \
+ android.hidl.base@1.0 \
+ ashmemd \
+ ashmemd_aidl_interface-cpp \
+ bootctrl.$(TARGET_BOARD_PLATFORM).recovery \
+ libashmemd_client \
+ libcap \
+ libpcrecpp
+
+# Partitions (listed in the file) to be wiped under recovery
TARGET_RECOVERY_WIPE := $(DEVICE_PATH)/recovery/root/system/etc/recovery.wipe
-# Dynamic/Logical Partitions
-BOARD_ONEPLUS_DYNAMIC_PARTITIONS_PARTITION_LIST := odm product system system_ext vendor
-BOARD_ONEPLUS_DYNAMIC_PARTITIONS_SIZE := 7511998464
-BOARD_SUPER_PARTITION_GROUPS := oneplus_dynamic_partitions
-BOARD_SUPER_PARTITION_SIZE := 15032385536
+# Recovery fstab
+TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/recovery/root/system/etc/recovery.fstab
+# Dynamic Partitions
+BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions
+BOARD_SUPER_PARTITION_SIZE := 15032385536
+BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 751199846
+BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := \
+ system \
+ system_ext \
+ vendor \
+ product \
+ odm
+
# Workaround for error copying vendor files to recovery ramdisk
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
TARGET_COPY_OUT_PRODUCT := product
TARGET_COPY_OUT_VENDOR := vendor
-# Recovery
-BOARD_HAS_LARGE_FILESYSTEM := true
-BOARD_SUPPRESS_SECURE_ERASE := true
-TARGET_NO_RECOVERY := false
-TARGET_RECOVERY_DEVICE_MODULES += \
- libion \
- libxml2 \
- vendor.display.config@1.0 \
- vendor.display.config@2.0
-
# Use mke2fs to create ext4 images
TARGET_USES_MKE2FS := true
@@ -130,17 +147,19 @@ BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1
+BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --set_hashtree_disabled_flag
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3
# Encryption
BOARD_USES_METADATA_PARTITION := true
BOARD_USES_QCOM_FBE_DECRYPTION := true
+TW_INCLUDE_FBE_METADATA_DECRYPT := true
PLATFORM_SECURITY_PATCH := 2127-12-31
+TW_USE_FSCRYPT_POLICY := 2
PLATFORM_VERSION := 99.87.36
PLATFORM_VERSION_LAST_STABLE := $(PLATFORM_VERSION)
TW_INCLUDE_CRYPTO := true
TW_INCLUDE_CRYPTO_FBE := true
-TW_USE_FSCRYPT_POLICY := 1
VENDOR_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH)
# TWRP specific build flags
@@ -148,38 +167,55 @@ TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
TARGET_RECOVERY_QCOM_RTC_FIX := true
TARGET_USE_CUSTOM_LUN_FILE_PATH := /config/usb_gadget/g1/functions/mass_storage.0/lun.%d/file
TW_THEME := portrait_hdpi
-TW_H_OFFSET := -103
-TW_Y_OFFSET := 103
TW_BRIGHTNESS_PATH := "/sys/class/backlight/panel0-backlight/brightness"
TW_CUSTOM_CPU_TEMP_PATH := "/sys/devices/virtual/thermal/thermal_zone94/temp"
-TW_EXCLUDE_APEX := true
+TW_EXCLUDE_TWRPAPP := true
+TW_FRAMERATE := 60
+TW_USE_TOOLBOX := true
+TW_H_OFFSET := -103
+TW_Y_OFFSET := 103
TW_DEFAULT_BRIGHTNESS := 200
TW_EXCLUDE_DEFAULT_USB_INIT := true
+TW_EXCLUDE_ENCRYPTED_BACKUPS := false
TW_EXTRA_LANGUAGES := true
+TW_NO_BIND_SYSTEM := true
+TW_NO_EXFAT_FUSE := true
TW_INCLUDE_REPACKTOOLS := true
TW_HAS_EDL_MODE := true
+TW_NO_USB_STORAGE := false
+TW_NO_SCREEN_BLANK := true
+TW_SCREEN_BLANK_ON_BOOT := true
TW_INCLUDE_NTFS_3G := true
+TW_EXCLUDE_TWRPAPP := true
TW_INCLUDE_RESETPROP := true
+TW_INCLUDE_FASTBOOTD := true
+TW_BACKUP_EXCLUSIONS := /data/nandswap
TW_INPUT_BLACKLIST := "hbtp_vm"
-TW_OVERRIDE_SYSTEM_PROPS := \
- "ro.build.date.utc;ro.bootimage.build.date.utc=ro.build.date.utc;ro.odm.build.date.utc=ro.build.date.utc;ro.product.build.date.utc=ro.build.date.utc;ro.system.build.date.utc=ro.build.date.utc;ro.system_ext.build.date.utc=ro.build.date.utc;ro.vendor.build.date.utc=ro.build.date.utc;ro.build.product;ro.build.fingerprint=ro.system.build.fingerprint;ro.build.version.incremental;ro.product.device=ro.product.system.device;ro.product.model=ro.product.system.model;ro.product.name=ro.product.system.name"
-RECOVERY_LIBRARY_SOURCE_FILES += \
+TW_SYSTEM_BUILD_PROP_ADDITIONAL_PATHS := build.prop
+TW_OVERRIDE_SYSTEM_PROPS := "ro.build.fingerprint=ro.system.build.fingerprint;ro.build.version.incremental"
+
+TW_RECOVERY_ADDITIONAL_RELINK_BINARY_FILES += \
+ $(TARGET_OUT_EXECUTABLES)/ashmemd \
+ $(TARGET_OUT_EXECUTABLES)/strace
+
+TW_RECOVERY_ADDITIONAL_RELINK_LIBRARY_FILES += \
+ $(TARGET_OUT_SHARED_LIBRARIES)/android.hidl.base@1.0.so \
+ $(TARGET_OUT_SHARED_LIBRARIES)/ashmemd_aidl_interface-cpp.so \
+ $(TARGET_OUT_SHARED_LIBRARIES)/libashmemd_client.so \
+ $(TARGET_OUT_SHARED_LIBRARIES)/libcap.so \
+ $(TARGET_OUT_SHARED_LIBRARIES)/libpcrecpp.so \
$(TARGET_OUT_SHARED_LIBRARIES)/libion.so \
- $(TARGET_OUT_SHARED_LIBRARIES)/libxml2.so \
- $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.0.so \
- $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@2.0.so
+ $(TARGET_OUT_SHARED_LIBRARIES)/libxml2.so
# PBRP specific build flags
PB_DISABLE_DEFAULT_TREBLE_COMP := true
PB_TORCH_PATH := "/sys/class/leds/led:torch_0"
PB_DISABLE_DEFAULT_DM_VERITY := true
PB_DEVICE_RATIO := "20:9"
-
+
# TWRP Debug Flags
TARGET_USES_LOGD := true
+TWRP_EVENT_LOGGING := false
TWRP_INCLUDE_LOGCAT := true
TARGET_RECOVERY_DEVICE_MODULES += debuggerd
RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/debuggerd
-TARGET_RECOVERY_DEVICE_MODULES += strace
-RECOVERY_BINARY_SOURCE_FILES += $(TARGET_OUT_EXECUTABLES)/strace
-
diff --git a/README.md b/README.md
index bad3d01..f9e0282 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# PBRP Device Tree for OnePlus Nord (avicii)
+# OnePlus Nord (avicii) FBEv2 Device Tree for PitchBlack Recovery Build
@@ -7,7 +7,7 @@
OnePlus Nord (codename:- avicii) is the first upper mid-range non-flagship smartphone from OnePlus Technology Co., Ltd. released in the year 2020.
-The phone is avialable in 2 variants based on region: AC2001 (India) & AC2003 (Europe)
+The phone is available in 2 variants based on region: AC2001 (India) & AC2003 (Europe)
@@ -38,27 +38,11 @@ The phone is avialable in 2 variants based on region: AC2001 (India) & AC2003 (E
| Sensors | Accelerometer, Electronic compass, Gyroscope, Ambient light sensor, Proximity sensor, Sensor Core |
| Extras | Bluetooth 5.1 (support aptX & aptX HD & LDAC & AAC), NFC enabled |
-### To clone this repo
-
-1) Open terminal in the root directory of twrp source.
-
-2) Copy and paste the below command in terminal. (Use Ctrl+C to copy and Shift+Ctrl+V to paste in terminal)
-
- git clone https://github.com/Sanju0910/pbrp_device_oneplus_avicii.git -b pbrp-12.1 device/oneplus/avicii
-
-### To build
-
- source build/envsetup.sh
-
- lunch pbrp_avicii-eng
-
- mka adbd recoveryimage
-
### Copyright
- # Copyright (C) 2022 The PBRP Open Source Project
+ # Copyright (C) 2022 The PitchBlack Recovery Project
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
diff --git a/device.mk b/device.mk
index f8ff61f..d9ec18c 100644
--- a/device.mk
+++ b/device.mk
@@ -1,21 +1,15 @@
#
# Copyright (C) 2022 The Android Open Source Project
-# Copyright (C) 2022 SebaUbuntu's TWRP device tree generator
+# Copyright (C) 2022 PitchBlack Recovery Project
#
# SPDX-License-Identifier: Apache-2.0
#
LOCAL_PATH := device/oneplus/avicii
-# Enable project quotas and casefolding for emulated storage without sdcardfs
-$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
-
# A/B support
AB_OTA_UPDATER := true
-# A/B updater updatable partitions list. Keep in sync with the partition list
-# with "_a" and "_b" variants in the device. Note that the vendor can add more
-# more partitions to this list for the bootloader and radio.
AB_OTA_PARTITIONS += \
boot \
dtbo \
@@ -30,9 +24,11 @@ AB_OTA_PARTITIONS += \
PRODUCT_PACKAGES += \
otapreopt_script \
+ cppreopts.sh \
update_engine \
- update_engine_sideload \
- update_verifier
+ update_verifier \
+ checkpoint_gc \
+ update_engine_sideload
AB_OTA_POSTINSTALL_CONFIG += \
RUN_POSTINSTALL_system=true \
@@ -40,39 +36,40 @@ AB_OTA_POSTINSTALL_CONFIG += \
FILESYSTEM_TYPE_system=ext4 \
POSTINSTALL_OPTIONAL_system=true
-# tell update_engine to not change dynamic partition table during updates
-# needed since our qti_dynamic_partitions does not include
-# vendor and odm and we also dont want to AB update them
-TARGET_ENFORCE_AB_OTA_PARTITION_LIST := true
+AB_OTA_POSTINSTALL_CONFIG += \
+ RUN_POSTINSTALL_vendor=true \
+ POSTINSTALL_PATH_vendor=bin/checkpoint_gc \
+ FILESYSTEM_TYPE_vendor=ext4 \
+ POSTINSTALL_OPTIONAL_vendor=true
+BOARD_USES_RECOVERY_AS_BOOT := false
+
# API
PRODUCT_SHIPPING_API_LEVEL := 29
+# Dynamic Partitions
+PRODUCT_USE_DYNAMIC_PARTITIONS := true
+
# Boot control HAL
PRODUCT_PACKAGES += \
- android.hardware.boot@1.0-impl \
- android.hardware.boot@1.1-service \
- android.hardware.boot@1.0-impl-wrapper.recovery \
- android.hardware.boot@1.1-impl-qti.recovery \
- android.hardware.boot@1.0-impl-wrapper \
- android.hardware.boot@1.0-impl.recovery \
+ android.hardware.boot@1.2-impl \
+ android.hardware.boot@1.2-service \
+ android.hardware.boot@1.2-impl-wrapper.recovery \
+ android.hardware.boot@1.2-impl-wrapper \
+ android.hardware.boot@1.2-impl.recovery \
+ bootctrl.$(PRODUCT_PLATFORM) \
bootctrl.$(PRODUCT_PLATFORM).recovery \
- bootctrl.$(PRODUCT_PLATFORM)
PRODUCT_PACKAGES_DEBUG += \
bootctl
-
+
# Health HAL
PRODUCT_PACKAGES += \
android.hardware.health@2.1-impl.recovery
-
-# Dynamic partitions
-PRODUCT_USE_DYNAMIC_PARTITIONS := true
-
# fastbootd
PRODUCT_PACKAGES += \
- android.hardware.fastboot@1.1-impl-mock \
+ android.hardware.fastboot@1.0-impl-mock \
fastbootd
# Soong namespaces
@@ -82,4 +79,27 @@ PRODUCT_SOONG_NAMESPACES += \
# qcom ncryption
PRODUCT_PACKAGES += \
qcom_decrypt \
- qcom_decrypt_fbe
+ qcom_decrypt_fbe
+
+# tzdata
+PRODUCT_PACKAGES_ENG += \
+ tzdata_twrp
+
+# Hidl Service
+PRODUCT_ENFORCE_VINTF_MANIFEST := true
+
+# Recovery
+RECOVERY_LIBRARY_SOURCE_FILES += \
+ $(TARGET_OUT_SHARED_LIBRARIES)/libion.so \
+ $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.0.so \
+ $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@2.0.so \
+ $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/libdisplayconfig.qti.so
+
+# OEM otacert
+PRODUCT_EXTRA_RECOVERY_KEYS += \
+ $(LOCAL_PATH)/security/local_OTA
+
+# Manifest
+PRODUCT_COPY_FILES += \
+ device/oneplus/avicii/manifest/system_manifest.xml:$(TARGET_COPY_OUT_RECOVERY)/root/system/manifest.xml \
+ device/oneplus/avicii/manifest/vendor_manifest.xml:$(TARGET_COPY_OUT_RECOVERY)/root/vendor/manifest.xml
diff --git a/manifest/system_manifest.xml b/manifest/system_manifest.xml
new file mode 100644
index 0000000..30725a1
--- /dev/null
+++ b/manifest/system_manifest.xml
@@ -0,0 +1,155 @@
+
+
+
+ android.frameworks.displayservice
+ hwbinder
+ 1.0
+
+ IDisplayService
+ default
+
+ @1.0::IDisplayService/default
+
+
+ android.frameworks.schedulerservice
+ hwbinder
+ 1.0
+
+ ISchedulingPolicyService
+ default
+
+ @1.0::ISchedulingPolicyService/default
+
+
+ android.frameworks.sensorservice
+ hwbinder
+ 1.0
+
+ ISensorManager
+ default
+
+ @1.0::ISensorManager/default
+
+
+ android.hidl.manager
+ hwbinder
+ 1.2
+
+ IServiceManager
+ default
+
+ @1.2::IServiceManager/default
+
+
+ android.hidl.memory
+ passthrough
+ 1.0
+
+ IMapper
+ ashmem
+
+ @1.0::IMapper/ashmem
+
+
+ android.hidl.token
+ hwbinder
+ 1.0
+
+ ITokenManager
+ default
+
+ @1.0::ITokenManager/default
+
+
+ android.system.net.netd
+ hwbinder
+ 1.1
+
+ INetd
+ default
+
+ @1.1::INetd/default
+
+
+ android.system.wifi.keystore
+ hwbinder
+ 1.0
+
+ IKeystore
+ default
+
+ @1.0::IKeystore/default
+
+
+ netutils-wrapper
+ 1.0
+
+
+ vendor.qti.hardware.qccsyshal
+ hwbinder
+ 1.0
+
+ IQccsyshal
+ qccsyshal
+
+ @1.0::IQccsyshal/qccsyshal
+
+
+ vendor.qti.hardware.radio.atcmdfwd
+ hwbinder
+ 1.0
+
+ IAtCmdFwd
+ AtCmdFwdService
+
+ @1.0::IAtCmdFwd/AtCmdFwdService
+
+
+ vendor.qti.hardware.sigma_miracast
+ hwbinder
+ 1.0
+
+ Isigma_miracast
+ sigmahal
+
+ @1.0::Isigma_miracast/sigmahal
+
+
+ vendor.qti.hardware.systemhelper
+ hwbinder
+ 1.0
+
+ ISystemEvent
+ default
+
+
+ ISystemResource
+ default
+
+ @1.0::ISystemEvent/default
+ @1.0::ISystemResource/default
+
+
+ vendor.qti.hardware.wifi.keystore
+ hwbinder
+ 1.0
+
+ IKeystoreExt
+ default
+
+ @1.0::IKeystoreExt/default
+
+
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+
+
diff --git a/manifest/vendor_manifest.xml b/manifest/vendor_manifest.xml
new file mode 100644
index 0000000..dfd1796
--- /dev/null
+++ b/manifest/vendor_manifest.xml
@@ -0,0 +1,20 @@
+
+
+ android.hardware.wifi.supplicant
+ hwbinder
+ 1.3
+
+ ISupplicant
+ default
+
+
+
+ vendor.qti.hardware.wifi.supplicant
+ hwbinder
+ 2.0
+
+ ISupplicantVendor
+ default
+
+
+
diff --git a/omni_avicii.mk b/omni_avicii.mk
new file mode 100644
index 0000000..5dd480d
--- /dev/null
+++ b/omni_avicii.mk
@@ -0,0 +1,40 @@
+#
+# Copyright (C) 2022 The Android Open Source Project
+#
+# Copyright (C) 2022 PitchBlack Recovery 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.
+#
+
+DEVICE_PATH := device/oneplus/avicii
+
+# Release name
+PRODUCT_RELEASE_NAME := avicii
+
+# Inherit from those products. Most specific first.
+$(call inherit-product, $(SRC_TARGET_DIR)/product/base.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
+
+# Inherit from avicii device
+$(call inherit-product, device/oneplus/avicii/device.mk)
+
+# Inherit some common TWRP stuff.
+$(call inherit-product, vendor/pb/config/common.mk)
+
+## Device identifier. This must come after all inclusions
+PRODUCT_DEVICE := $(PRODUCT_RELEASE_NAME)
+PRODUCT_NAME := omni_$(PRODUCT_DEVICE)
+PRODUCT_BRAND := OnePlus
+PRODUCT_MODEL := Nord
+PRODUCT_MANUFACTURER := $(PRODUCT_BRAND)
diff --git a/pbrp_avicii.mk b/pbrp_avicii.mk
deleted file mode 100644
index a133890..0000000
--- a/pbrp_avicii.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Copyright (C) 2022 The Android Open Source Project
-# Copyright (C) 2022 SebaUbuntu's TWRP device tree generator
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-# Inherit from those products. Most specific first.
-$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
-$(call inherit-product-if-exists, $(SRC_TARGET_DIR)/product/embedded.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
-
-# Inherit from avicii device
-$(call inherit-product, device/oneplus/avicii/device.mk)
-
-# Inherit some common TWRP stuff.
-$(call inherit-product, vendor/pb/config/common.mk)
-
-# Release name
-PRODUCT_RELEASE_NAME := avicii
-
-# Device identifier. This must come after all inclusions
-PRODUCT_DEVICE := avicii
-PRODUCT_NAME := pbrp_avicii
-PRODUCT_BRAND := OnePlus
-PRODUCT_MODEL := Nord
-PRODUCT_MANUFACTURER := oneplus
diff --git a/prebuilt/kernel b/prebuilt/kernel
index c79ab14..9f1e1d2 100644
Binary files a/prebuilt/kernel and b/prebuilt/kernel differ
diff --git a/recovery/root/init.recovery.qcom.rc b/recovery/root/init.recovery.qcom.rc
index 105d89e..5e596e0 100644
--- a/recovery/root/init.recovery.qcom.rc
+++ b/recovery/root/init.recovery.qcom.rc
@@ -27,24 +27,38 @@
import /init.recovery.qcom_decrypt.rc
-service boot-1-0 /system/bin/android.hardware.boot@1.0-service
+service hal_cryptoeng_oplus /system/bin/hw/vendor.oplus.hardware.cryptoeng@1.0-service
+ class late_start
+ user system
+ group system input sdcard_rw sdcard_r
+ seclabel u:r:recovery:s0
+
+service make-fake-partitions-service /system/bin/make-fake-partitions-service.sh reserve
user root
group root
disabled
+ oneshot
seclabel u:r:recovery:s0
-
-service boot-1-1 /system/bin/android.hardware.boot@1.1-service
+
+service qti.vibrator-1-2 /system/bin/vendor.qti.hardware.vibrator@1.2-service
user root
group root
disabled
+ setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib:/system/lib64:/system/lib:/sbin
seclabel u:r:recovery:s0
-
+
on init
write /sys/class/backlight/panel0-backlight/brightness 200
setprop sys.usb.configfs 1
- start boot-1-1
+ mkdir /dev/fscklogs 0770 root system
+
+on boot
+ start boot-hal-1-1
+ start qti.vibrator-1-2
start health-hal-2-1
-
+ chmod 0777 /system/bin/make-fake-partitions-service.sh
+ start make-fake-partitions-service
+
on property:ro.boot.usbcontroller=*
setprop sys.usb.controller ${ro.boot.usbcontroller}
write /sys/class/udc/${ro.boot.usbcontroller}/device/../mode peripheral
@@ -52,3 +66,9 @@ on property:ro.boot.usbcontroller=*
on fs
wait /dev/block/platform/soc/${ro.boot.bootdevice}
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
+ symlink /dev/block/bootdevice/by-name/oem_stanvbk /dev/block/bootdevice/by-name/oem_stanvbk_a
+ symlink /dev/block/bootdevice/by-name/oem_stanvbk /dev/block/bootdevice/by-name/oem_stanvbk_b
+ symlink /dev/block/bootdevice/by-name/oem_dycnvbk /dev/block/bootdevice/by-name/oem_dycnvbk_a
+ symlink /dev/block/bootdevice/by-name/oem_dycnvbk /dev/block/bootdevice/by-name/oem_dycnvbk_b
+ chown root system /dev/fscklogs/log
+ chmod 0770 /dev/fscklogs/log
diff --git a/recovery/root/system/bin/android.hardware.gatekeeper@1.0-service-qti b/recovery/root/system/bin/android.hardware.gatekeeper@1.0-service-qti
index 47a72b0..64838cb 100644
Binary files a/recovery/root/system/bin/android.hardware.gatekeeper@1.0-service-qti and b/recovery/root/system/bin/android.hardware.gatekeeper@1.0-service-qti differ
diff --git a/recovery/root/system/bin/android.hardware.keymaster@4.1-service-qti b/recovery/root/system/bin/android.hardware.keymaster@4.1-service-qti
new file mode 100644
index 0000000..281f21a
Binary files /dev/null and b/recovery/root/system/bin/android.hardware.keymaster@4.1-service-qti differ
diff --git a/recovery/root/system/bin/make-fake-partitions-service.sh b/recovery/root/system/bin/make-fake-partitions-service.sh
new file mode 100644
index 0000000..a103a6a
--- /dev/null
+++ b/recovery/root/system/bin/make-fake-partitions-service.sh
@@ -0,0 +1,23 @@
+#!/system/bin/sh
+# This script is needed to permanently keep, for example:
+# reserve_a and reserve_b fake partition symlinks to /data/reserve/reserve.img
+# india_a and india_b fake partition symlinks to /data/india/india.img
+
+make_fake_partition() {
+ [ -f /data/$1/$1.img ] || echo "make-fake-partitions: $1 missing, recreating..." >> /tmp/recovery.log
+ mkdir -p /data/$1
+ touch /data/$1/$1.img
+ ln -sf /data/$1/$1.img /dev/block/by-name/$1_a
+ ln -sf /data/$1/$1.img /dev/block/by-name/$1_b
+ ln -sf /data/$1/$1.img /dev/block/bootdevice/by-name/$1_a
+ ln -sf /data/$1/$1.img /dev/block/bootdevice/by-name/$1_b
+}
+
+echo "Starting make-fake-partitions service for partitions $*..." >> /tmp/recovery.log
+
+while sleep 1; do
+ for name in $*; do
+ make_fake_partition $name
+ done
+done
+
diff --git a/recovery/root/system/bin/vendor.oplus.hardware.cryptoeng@1.0-service b/recovery/root/system/bin/vendor.oplus.hardware.cryptoeng@1.0-service
new file mode 100644
index 0000000..eed87bb
Binary files /dev/null and b/recovery/root/system/bin/vendor.oplus.hardware.cryptoeng@1.0-service differ
diff --git a/recovery/root/system/bin/vendor.qti.hardware.vibrator@1.2-service b/recovery/root/system/bin/vendor.qti.hardware.vibrator@1.2-service
new file mode 100644
index 0000000..02952ba
Binary files /dev/null and b/recovery/root/system/bin/vendor.qti.hardware.vibrator@1.2-service differ
diff --git a/recovery/root/system/etc/event-log-tags b/recovery/root/system/etc/event-log-tags
new file mode 100644
index 0000000..c37c4fc
--- /dev/null
+++ b/recovery/root/system/etc/event-log-tags
@@ -0,0 +1,482 @@
+42 answer (to life the universe etc|3)
+314 pi
+1003 auditd (avc|3)
+1004 chatty (dropped|3)
+1005 tag_def (tag|1),(name|3),(format|3)
+1006 liblog (dropped|1)
+2718 e
+2719 configuration_changed (config mask|1|5)
+2720 sync (id|3),(event|1|5),(source|1|5),(account|1|5)
+2721 cpu (total|1|6),(user|1|6),(system|1|6),(iowait|1|6),(irq|1|6),(softirq|1|6)
+2722 battery_level (level|1|6),(voltage|1|1),(temperature|1|1)
+2723 battery_status (status|1|5),(health|1|5),(present|1|5),(plugged|1|5),(technology|3)
+2724 power_sleep_requested (wakeLocksCleared|1|1)
+2725 power_screen_broadcast_send (wakelockCount|1|1)
+2726 power_screen_broadcast_done (on|1|5),(broadcastDuration|2|3),(wakelockCount|1|1)
+2727 power_screen_broadcast_stop (which|1|5),(wakelockCount|1|1)
+2728 power_screen_state (offOrOn|1|5),(becauseOfUser|1|5),(totalTouchDownTime|2|3),(touchCycles|1|1),(latency|1|3)
+2729 power_partial_wake_state (releasedorAcquired|1|5),(tag|3)
+2730 battery_discharge (duration|2|3),(minLevel|1|6),(maxLevel|1|6)
+2731 power_soft_sleep_requested (savedwaketimems|2)
+2732 storaged_disk_stats (type|3),(start_time|2|3),(end_time|2|3),(read_ios|2|1),(read_merges|2|1),(read_sectors|2|1),(read_ticks|2|3),(write_ios|2|1),(write_merges|2|1),(write_sectors|2|1),(write_ticks|2|3),(o_in_flight|2|1),(io_ticks|2|3),(io_in_queue|2|1)
+2733 storaged_emmc_info (mmc_ver|3),(eol|1),(lifetime_a|1),(lifetime_b|1)
+2737 thermal_changed (name|3),(type|1|5),(temperature|5),(sensor_status|1|5),(previous_system_status|1|5)
+2739 battery_saver_mode (fullPrevOffOrOn|1|5),(adaptivePrevOffOrOn|1|5),(fullNowOffOrOn|1|5),(adaptiveNowOffOrOn|1|5),(interactive|1|5),(features|3|5),(reason|1|5)
+2740 location_controller
+2741 force_gc (reason|3)
+2742 tickle (authority|3)
+2747 contacts_aggregation (aggregation time|2|3), (count|1|1)
+2748 cache_file_deleted (path|3)
+2749 storage_state (uuid|3),(old_state|1),(new_state|1),(usable|2),(total|2)
+2750 notification_enqueue (uid|1|5),(pid|1|5),(pkg|3),(id|1|5),(tag|3),(userid|1|5),(notification|3),(status|1)
+2751 notification_cancel (uid|1|5),(pid|1|5),(pkg|3),(id|1|5),(tag|3),(userid|1|5),(required_flags|1),(forbidden_flags|1),(reason|1|5),(listener|3)
+2752 notification_cancel_all (uid|1|5),(pid|1|5),(pkg|3),(userid|1|5),(required_flags|1),(forbidden_flags|1),(reason|1|5),(listener|3)
+2755 fstrim_start (time|2|3)
+2756 fstrim_finish (time|2|3)
+2802 watchdog (Service|3)
+2803 watchdog_proc_pss (Process|3),(Pid|1|5),(Pss|1|2)
+2804 watchdog_soft_reset (Process|3),(Pid|1|5),(MaxPss|1|2),(Pss|1|2),(Skip|3)
+2805 watchdog_hard_reset (Process|3),(Pid|1|5),(MaxPss|1|2),(Pss|1|2)
+2806 watchdog_pss_stats (EmptyPss|1|2),(EmptyCount|1|1),(BackgroundPss|1|2),(BackgroundCount|1|1),(ServicePss|1|2),(ServiceCount|1|1),(VisiblePss|1|2),(VisibleCount|1|1),(ForegroundPss|1|2),(ForegroundCount|1|1),(NoPssCount|1|1)
+2807 watchdog_proc_stats (DeathsInOne|1|1),(DeathsInTwo|1|1),(DeathsInThree|1|1),(DeathsInFour|1|1),(DeathsInFive|1|1)
+2808 watchdog_scheduled_reboot (Now|2|1),(Interval|1|3),(StartTime|1|3),(Window|1|3),(Skip|3)
+2809 watchdog_meminfo (MemFree|1|2),(Buffers|1|2),(Cached|1|2),(Active|1|2),(Inactive|1|2),(AnonPages|1|2),(Mapped|1|2),(Slab|1|2),(SReclaimable|1|2),(SUnreclaim|1|2),(PageTables|1|2)
+2810 watchdog_vmstat (runtime|2|3),(pgfree|1|1),(pgactivate|1|1),(pgdeactivate|1|1),(pgfault|1|1),(pgmajfault|1|1)
+2811 watchdog_requested_reboot (NoWait|1|1),(ScheduleInterval|1|3),(RecheckInterval|1|3),(StartTime|1|3),(Window|1|3),(MinScreenOff|1|3),(MinNextAlarm|1|3)
+2820 backup_data_changed (Package|3)
+2821 backup_start (Transport|3)
+2822 backup_transport_failure (Package|3)
+2823 backup_agent_failure (Package|3),(Message|3)
+2824 backup_package (Package|3),(Size|1|2)
+2825 backup_success (Packages|1|1),(Time|1|3)
+2826 backup_reset (Transport|3)
+2827 backup_initialize
+2828 backup_requested (Total|1|1),(Key-Value|1|1),(Full|1|1)
+2829 backup_quota_exceeded (Package|3)
+2830 restore_start (Transport|3),(Source|2|5)
+2831 restore_transport_failure
+2832 restore_agent_failure (Package|3),(Message|3)
+2833 restore_package (Package|3),(Size|1|2)
+2834 restore_success (Packages|1|1),(Time|1|3)
+2840 full_backup_package (Package|3)
+2841 full_backup_agent_failure (Package|3),(Message|3)
+2842 full_backup_transport_failure
+2843 full_backup_success (Package|3)
+2844 full_restore_package (Package|3)
+2845 full_backup_quota_exceeded (Package|3)
+2846 full_backup_cancelled (Package|3),(Message|3)
+2850 backup_transport_lifecycle (Transport|3),(Bound|1|1)
+2851 backup_transport_connection (Transport|3),(Connected|1|1)
+2900 rescue_note (uid|1),(count|1),(window|2)
+2901 rescue_level (level|1),(trigger_uid|1)
+2902 rescue_success (level|1)
+2903 rescue_failure (level|1),(msg|3)
+3000 boot_progress_start (time|2|3)
+3010 boot_progress_system_run (time|2|3)
+3011 system_server_start (start_count|1),(uptime|2|3),(elapse_time|2|3)
+3020 boot_progress_preload_start (time|2|3)
+3030 boot_progress_preload_end (time|2|3)
+3040 boot_progress_ams_ready (time|2|3)
+3050 boot_progress_enable_screen (time|2|3)
+3060 boot_progress_pms_start (time|2|3)
+3070 boot_progress_pms_system_scan_start (time|2|3)
+3080 boot_progress_pms_data_scan_start (time|2|3)
+3090 boot_progress_pms_scan_end (time|2|3)
+3100 boot_progress_pms_ready (time|2|3)
+3110 unknown_sources_enabled (value|1)
+3120 pm_critical_info (msg|3)
+3121 pm_package_stats (manual_time|2|3),(quota_time|2|3),(manual_data|2|2),(quota_data|2|2),(manual_cache|2|2),(quota_cache|2|2)
+8000 job_deferred_execution (time|2|3)
+20003 dvm_lock_sample (process|3),(main|1|5),(thread|3),(time|1|3),(file|3),(line|1|5),(ownerfile|3),(ownerline|1|5),(sample_percent|1|6)
+20004 art_hidden_api_access (access_method|1),(flags|1),(class|3),(member|3),(type_signature|3)
+27390 battery_saving_stats (batterySaver|1|5),(interactive|1|5),(doze|1|5),(delta_duration|2|3),(delta_battery_drain|1|1),(delta_battery_drain_percent|1|6),(total_duration|2|3),(total_battery_drain|1|1),(total_battery_drain_percent|1|6)
+27391 user_activity_timeout_override (override|2|3)
+27392 battery_saver_setting (threshold|1)
+27500 notification_panel_revealed (items|1)
+27501 notification_panel_hidden
+27510 notification_visibility_changed (newlyVisibleKeys|3),(noLongerVisibleKeys|3)
+27511 notification_expansion (key|3),(user_action|1),(expanded|1),(lifespan|1),(freshness|1),(exposure|1)
+27520 notification_clicked (key|3),(lifespan|1),(freshness|1),(exposure|1),(rank|1),(count|1)
+27521 notification_action_clicked (key|3),(action_index|1),(lifespan|1),(freshness|1),(exposure|1),(rank|1),(count|1)
+27530 notification_canceled (key|3),(reason|1),(lifespan|1),(freshness|1),(exposure|1),(rank|1),(count|1),(listener|3)
+27531 notification_visibility (key|3),(visibile|1),(lifespan|1),(freshness|1),(exposure|1),(rank|1)
+27532 notification_alert (key|3),(buzz|1),(beep|1),(blink|1)
+27533 notification_autogrouped (key|3)
+30001 wm_finish_activity (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3),(Reason|3)
+30002 wm_task_to_front (User|1|5),(Task|1|5)
+30003 wm_new_intent (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3),(Action|3),(MIME Type|3),(URI|3),(Flags|1|5)
+30004 wm_create_task (User|1|5),(Task ID|1|5)
+30005 wm_create_activity (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3),(Action|3),(MIME Type|3),(URI|3),(Flags|1|5)
+30006 wm_restart_activity (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3)
+30007 wm_resume_activity (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3)
+30008 am_anr (User|1|5),(pid|1|5),(Package Name|3),(Flags|1|5),(reason|3)
+30009 wm_activity_launch_time (User|1|5),(Token|1|5),(Component Name|3),(time|2|3)
+30010 am_proc_bound (User|1|5),(PID|1|5),(Process Name|3)
+30011 am_proc_died (User|1|5),(PID|1|5),(Process Name|3),(OomAdj|1|5),(ProcState|1|5)
+30012 wm_failed_to_pause (User|1|5),(Token|1|5),(Wanting to pause|3),(Currently pausing|3)
+30013 wm_pause_activity (User|1|5),(Token|1|5),(Component Name|3),(User Leaving|3)
+30014 am_proc_start (User|1|5),(PID|1|5),(UID|1|5),(Process Name|3),(Type|3),(Component|3)
+30015 am_proc_bad (User|1|5),(UID|1|5),(Process Name|3)
+30016 am_proc_good (User|1|5),(UID|1|5),(Process Name|3)
+30017 am_low_memory (Num Processes|1|1)
+30018 wm_destroy_activity (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3),(Reason|3)
+30019 wm_relaunch_resume_activity (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3)
+30020 wm_relaunch_activity (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3)
+30021 wm_on_paused_called (Token|1|5),(Component Name|3),(Reason|3)
+30022 wm_on_resume_called (Token|1|5),(Component Name|3),(Reason|3)
+30023 am_kill (User|1|5),(PID|1|5),(Process Name|3),(OomAdj|1|5),(Reason|3)
+30024 am_broadcast_discard_filter (User|1|5),(Broadcast|1|5),(Action|3),(Receiver Number|1|1),(BroadcastFilter|1|5)
+30025 am_broadcast_discard_app (User|1|5),(Broadcast|1|5),(Action|3),(Receiver Number|1|1),(App|3)
+30030 am_create_service (User|1|5),(Service Record|1|5),(Name|3),(UID|1|5),(PID|1|5)
+30031 am_destroy_service (User|1|5),(Service Record|1|5),(PID|1|5)
+30032 am_process_crashed_too_much (User|1|5),(Name|3),(PID|1|5)
+30033 am_drop_process (PID|1|5)
+30034 am_service_crashed_too_much (User|1|5),(Crash Count|1|1),(Component Name|3),(PID|1|5)
+30035 am_schedule_service_restart (User|1|5),(Component Name|3),(Time|2|3)
+30036 am_provider_lost_process (User|1|5),(Package Name|3),(UID|1|5),(Name|3)
+30037 am_process_start_timeout (User|1|5),(PID|1|5),(UID|1|5),(Process Name|3)
+30039 am_crash (User|1|5),(PID|1|5),(Process Name|3),(Flags|1|5),(Exception|3),(Message|3),(File|3),(Line|1|5)
+30040 am_wtf (User|1|5),(PID|1|5),(Process Name|3),(Flags|1|5),(Tag|3),(Message|3)
+30041 am_switch_user (id|1|5)
+30043 wm_set_resumed_activity (User|1|5),(Component Name|3),(Reason|3)
+30044 wm_focused_stack (User|1|5),(Display Id|1|5),(Focused Stack Id|1|5),(Last Focused Stack Id|1|5),(Reason|3)
+30045 am_pre_boot (User|1|5),(Package|3)
+30046 am_meminfo (Cached|2|2),(Free|2|2),(Zram|2|2),(Kernel|2|2),(Native|2|2)
+30047 am_pss (Pid|1|5),(UID|1|5),(Process Name|3),(Pss|2|2),(Uss|2|2),(SwapPss|2|2),(Rss|2|2),(StatType|1|5),(ProcState|1|5),(TimeToCollect|2|2)
+30048 wm_stop_activity (User|1|5),(Token|1|5),(Component Name|3)
+30049 wm_on_stop_called (Token|1|5),(Component Name|3),(Reason|3)
+30050 am_mem_factor (Current|1|5),(Previous|1|5)
+30051 am_user_state_changed (id|1|5),(state|1|5)
+30052 am_uid_running (UID|1|5)
+30053 am_uid_stopped (UID|1|5)
+30054 am_uid_active (UID|1|5)
+30055 am_uid_idle (UID|1|5)
+30056 am_stop_idle_service (UID|1|5),(Component Name|3)
+30057 wm_on_create_called (Token|1|5),(Component Name|3),(Reason|3)
+30058 wm_on_restart_called (Token|1|5),(Component Name|3),(Reason|3)
+30059 wm_on_start_called (Token|1|5),(Component Name|3),(Reason|3)
+30060 wm_on_destroy_called (Token|1|5),(Component Name|3),(Reason|3)
+30061 wm_remove_task (Task ID|1|5), (Stack ID|1|5)
+30062 wm_on_activity_result_called (Token|1|5),(Component Name|3),(Reason|3)
+30063 am_compact (Pid|1|5),(Process Name|3),(Action|3),(BeforeRssTotal|2|2),(BeforeRssFile|2|2),(BeforeRssAnon|2|2),(BeforeRssSwap|2|2),(DeltaRssTotal|2|2),(DeltaRssFile|2|2),(DeltaRssAnon|2|2),(DeltaRssSwap|2|2),(Time|2|3),(LastAction|1|2),(LastActionTimestamp|2|3),(setAdj|1|2),(procState|1|2),(BeforeZRAMFree|2|2),(DeltaZRAMFree|2|2)
+30064 wm_on_top_resumed_gained_called (Token|1|5),(Component Name|3),(Reason|3)
+30065 wm_on_top_resumed_lost_called (Token|1|5),(Component Name|3),(Reason|3)
+30066 wm_add_to_stopping (User|1|5),(Token|1|5),(Component Name|3),(Reason|3)
+30067 wm_set_keyguard_shown (keyguardShowing|1),(aodShowing|1),(keyguardGoingAway|1),(Reason|3)
+30068 am_freeze (Pid|1|5),(Process Name|3)
+30069 am_unfreeze (Pid|1|5),(Process Name|3)
+30070 uc_finish_user_unlocking (userId|1|5)
+30071 uc_finish_user_unlocked (userId|1|5)
+30072 uc_finish_user_unlocked_completed (userId|1|5)
+30073 uc_finish_user_stopping (userId|1|5)
+30074 uc_finish_user_stopped (userId|1|5)
+30075 uc_switch_user (userId|1|5)
+30076 uc_start_user_internal (userId|1|5)
+30077 uc_unlock_user (userId|1|5)
+30078 uc_finish_user_boot (userId|1|5)
+30079 uc_dispatch_user_switch (oldUserId|1|5) (newUserId|1|5)
+30080 uc_continue_user_switch (oldUserId|1|5) (newUserId|1|5)
+30081 uc_send_user_broadcast (userId|1|5),(IntentAction|3)
+31000 wm_no_surface_memory (Window|3),(PID|1|5),(Operation|3)
+31001 wm_task_created (TaskId|1|5),(StackId|1|5)
+31002 wm_task_moved (TaskId|1|5),(ToTop|1),(Index|1)
+31003 wm_task_removed (TaskId|1|5),(Reason|3)
+31004 wm_stack_created (StackId|1|5)
+31005 wm_home_stack_moved (ToTop|1)
+31006 wm_stack_removed (StackId|1|5)
+31007 wm_boot_animation_done (time|2|3)
+32000 imf_force_reconnect_ime (IME|4),(Time Since Connect|2|3),(Showing|1|1)
+33000 wp_wallpaper_crashed (component|3)
+34000 device_idle (state|1|5), (reason|3)
+34001 device_idle_step
+34002 device_idle_wake_from_idle (is_idle|1|5), (reason|3)
+34003 device_idle_on_start
+34004 device_idle_on_phase (what|3)
+34005 device_idle_on_complete
+34006 device_idle_off_start (reason|3)
+34007 device_idle_off_phase (what|3)
+34008 device_idle_off_complete
+34009 device_idle_light (state|1|5), (reason|3)
+34010 device_idle_light_step
+35000 auto_brightness_adj (old_lux|5),(old_brightness|5),(new_lux|5),(new_brightness|5)
+36000 sysui_statusbar_touch (type|1),(x|1),(y|1),(disable1|1),(disable2|1)
+36001 sysui_heads_up_status (key|3),(visible|1)
+36002 sysui_fullscreen_notification (key|3)
+36003 sysui_heads_up_escalation (key|3)
+36004 sysui_status_bar_state (state|1),(keyguardShowing|1),(keyguardOccluded|1),(bouncerShowing|1),(secure|1),(currentlyInsecure|1)
+36010 sysui_panelbar_touch (type|1),(x|1),(y|1),(enabled|1)
+36020 sysui_notificationpanel_touch (type|1),(x|1),(y|1)
+36021 sysui_lockscreen_gesture (type|1),(lengthDp|1),(velocityDp|1)
+36030 sysui_quickpanel_touch (type|1),(x|1),(y|1)
+36040 sysui_panelholder_touch (type|1),(x|1),(y|1)
+36050 sysui_searchpanel_touch (type|1),(x|1),(y|1)
+36060 sysui_recents_connection (type|1),(user|1)
+36070 sysui_latency (action|1|6),(latency|1|3)
+40000 volume_changed (stream|1), (prev_level|1), (level|1), (max_level|1), (caller|3)
+40001 stream_devices_changed (stream|1), (prev_devices|1), (devices|1)
+40100 camera_gesture_triggered (gesture_on_time|2|3), (sensor1_on_time|2|3), (sensor2_on_time|2|3), (event_extra|1|1)
+50000 menu_item_selected (Menu type where 0 is options and 1 is context|1|5),(Menu item title|3)
+50001 menu_opened (Menu type where 0 is options and 1 is context|1|5)
+50020 connectivity_state_changed (type|1),(subtype|1),(state|1)
+50021 wifi_state_changed (wifi_state|3)
+50022 wifi_event_handled (wifi_event|1|5)
+50023 wifi_supplicant_state_changed (supplicant_state|1|5)
+50080 ntp_success (server|3),(rtt|2),(offset|2)
+50081 ntp_failure (server|3),(msg|3)
+50100 pdp_bad_dns_address (dns_address|3)
+50101 pdp_radio_reset_countdown_triggered (out_packet_count|1|1)
+50102 pdp_radio_reset (out_packet_count|1|1)
+50103 pdp_context_reset (out_packet_count|1|1)
+50104 pdp_reregister_network (out_packet_count|1|1)
+50105 pdp_setup_fail (cause|1|5), (cid|1|5), (network_type|1|5)
+50106 call_drop (cause|1|5), (cid|1|5), (network_type|1|5)
+50107 data_network_registration_fail (op_numeric|1|5), (cid|1|5)
+50108 data_network_status_on_radio_off (dc_state|3), (enable|1|5)
+50109 pdp_network_drop (cid|1|5), (network_type|1|5)
+50110 cdma_data_setup_failed (cause|1|5), (cid|1|5), (network_type|1|5)
+50111 cdma_data_drop (cid|1|5), (network_type|1|5)
+50112 gsm_rat_switched (cid|1|5), (network_from|1|5), (network_to|1|5)
+50113 gsm_data_state_change (oldState|3), (newState|3)
+50114 gsm_service_state_change (oldState|1|5), (oldGprsState|1|5), (newState|1|5), (newGprsState|1|5)
+50115 cdma_data_state_change (oldState|3), (newState|3)
+50116 cdma_service_state_change (oldState|1|5), (oldDataState|1|5), (newState|1|5), (newDataState|1|5)
+50117 bad_ip_address (ip_address|3)
+50118 data_stall_recovery_get_data_call_list (out_packet_count|1|1)
+50119 data_stall_recovery_cleanup (out_packet_count|1|1)
+50120 data_stall_recovery_reregister (out_packet_count|1|1)
+50121 data_stall_recovery_radio_restart (out_packet_count|1|1)
+50122 data_stall_recovery_radio_restart_with_prop (out_packet_count|1|1)
+50123 gsm_rat_switched_new (cid|1|5), (network_from|1|5), (network_to|1|5)
+50125 exp_det_sms_denied_by_user (app_signature|3)
+50128 exp_det_sms_sent_by_user (app_signature|3)
+51100 netstats_mobile_sample (dev_rx_bytes|2|2),(dev_tx_bytes|2|2),(dev_rx_pkts|2|1),(dev_tx_pkts|2|1),(xt_rx_bytes|2|2),(xt_tx_bytes|2|2),(xt_rx_pkts|2|1),(xt_tx_pkts|2|1),(uid_rx_bytes|2|2),(uid_tx_bytes|2|2),(uid_rx_pkts|2|1),(uid_tx_pkts|2|1),(trusted_time|2|3)
+51101 netstats_wifi_sample (dev_rx_bytes|2|2),(dev_tx_bytes|2|2),(dev_rx_pkts|2|1),(dev_tx_pkts|2|1),(xt_rx_bytes|2|2),(xt_tx_bytes|2|2),(xt_rx_pkts|2|1),(xt_tx_pkts|2|1),(uid_rx_bytes|2|2),(uid_tx_bytes|2|2),(uid_rx_pkts|2|1),(uid_tx_pkts|2|1),(trusted_time|2|3)
+51200 lockdown_vpn_connecting (egress_net|1)
+51201 lockdown_vpn_connected (egress_net|1)
+51202 lockdown_vpn_error (egress_net|1)
+51300 config_install_failed (dir|3)
+51400 ifw_intent_matched (Intent Type|1|5),(Component Name|3),(Caller Uid|1|5),(Caller Pkg Count|1|1),(Caller Pkgs|3),(Action|3),(MIME Type|3),(URI|3),(Flags|1|5)
+51500 idle_maintenance_window_start (time|2|3), (lastUserActivity|2|3), (batteryLevel|1|6), (batteryCharging|1|5)
+51501 idle_maintenance_window_finish (time|2|3), (lastUserActivity|2|3), (batteryLevel|1|6), (batteryCharging|1|5)
+51600 timezone_trigger_check (token|3)
+51610 timezone_request_install (token|3)
+51611 timezone_install_started (token|3)
+51612 timezone_install_complete (token|3), (result|1)
+51620 timezone_request_uninstall (token|3)
+51621 timezone_uninstall_started (token|3)
+51622 timezone_uninstall_complete (token|3), (result|1)
+51630 timezone_request_nothing (token|3)
+51631 timezone_nothing_complete (token|3)
+51690 timezone_check_trigger_received (token_bytes|3)
+51691 timezone_check_read_from_data_app (token_bytes|3)
+51692 timezone_check_request_uninstall (token_bytes|3)
+51693 timezone_check_request_install (token_bytes|3)
+51694 timezone_check_request_nothing (token_bytes|3), (success|1)
+52000 db_sample (db|3),(sql|3),(time|1|3),(blocking_package|3),(sample_percent|1|6)
+52001 http_stats (useragent|3),(response|2|3),(processing|2|3),(tx|1|2),(rx|1|2)
+52002 content_query_sample (uri|3),(projection|3),(selection|3),(sortorder|3),(time|1|3),(blocking_package|3),(sample_percent|1|6)
+52003 content_update_sample (uri|3),(operation|3),(selection|3),(time|1|3),(blocking_package|3),(sample_percent|1|6)
+52004 binder_sample (descriptor|3),(method_num|1|5),(time|1|3),(blocking_package|3),(sample_percent|1|6)
+53000 harmful_app_warning_uninstall (package_name|3)
+53001 harmful_app_warning_launch_anyway (package_name|3)
+60000 viewroot_draw (Draw time|1|3)
+60001 viewroot_layout (Layout time|1|3)
+60002 view_build_drawing_cache (View created drawing cache|1|5)
+60003 view_use_drawing_cache (View drawn using bitmap cache|1|5)
+60100 sf_frame_dur (window|3),(dur0|1),(dur1|1),(dur2|1),(dur3|1),(dur4|1),(dur5|1),(dur6|1)
+60110 sf_stop_bootanim (time|2|3)
+61000 audioserver_binder_timeout (command|3)
+65537 exp_det_netlink_failure (uid|1)
+70000 screen_toggled (screen_state|1|5)
+70001 intercept_power (action|3),(mPowerKeyHandled|1),(mPowerKeyPressCounter|1)
+70101 browser_zoom_level_change (start level|1|5),(end level|1|5),(time|2|3)
+70102 browser_double_tap_duration (duration|1|3),(time|2|3)
+70150 browser_snap_center
+70151 exp_det_attempt_to_call_object_getclass (app_signature|3)
+70200 aggregation (aggregation time|2|3)
+70201 aggregation_test (field1|1|2),(field2|1|2),(field3|1|2),(field4|1|2),(field5|1|2)
+70220 gms_unknown
+70301 phone_ui_enter
+70302 phone_ui_exit
+70303 phone_ui_button_click (text|3)
+70304 phone_ui_ringer_query_elapsed
+70305 phone_ui_multiple_query
+75000 sqlite_mem_alarm_current (current|1|2)
+75001 sqlite_mem_alarm_max (max|1|2)
+75002 sqlite_mem_alarm_alloc_attempt (attempts|1|4)
+75003 sqlite_mem_released (Memory released|1|2)
+75004 sqlite_db_corrupt (Database file corrupt|3)
+76001 tts_speak_success (engine|3),(caller_uid|1),(caller_pid|1),(length|1),(locale|3),(rate|1),(pitch|1),(engine_latency|2|3),(engine_total|2|3),(audio_latency|2|3)
+76002 tts_speak_failure (engine|3),(caller_uid|1),(caller_pid|1),(length|1),(locale|3),(rate|1),(pitch|1)
+76003 tts_v2_speak_success (engine|3),(caller_uid|1),(caller_pid|1),(length|1),(request_config|3),(engine_latency|2|3),(engine_total|2|3),(audio_latency|2|3)
+76004 tts_v2_speak_failure (engine|3),(caller_uid|1),(caller_pid|1),(length|1),(request_config|3), (statusCode|1)
+78001 exp_det_dispatchCommand_overflow
+80100 bionic_event_memcpy_buffer_overflow (uid|1)
+80105 bionic_event_strcat_buffer_overflow (uid|1)
+80110 bionic_event_memmov_buffer_overflow (uid|1)
+80115 bionic_event_strncat_buffer_overflow (uid|1)
+80120 bionic_event_strncpy_buffer_overflow (uid|1)
+80125 bionic_event_memset_buffer_overflow (uid|1)
+80130 bionic_event_strcpy_buffer_overflow (uid|1)
+80200 bionic_event_strcat_integer_overflow (uid|1)
+80205 bionic_event_strncat_integer_overflow (uid|1)
+80300 bionic_event_resolver_old_response (uid|1)
+80305 bionic_event_resolver_wrong_server (uid|1)
+80310 bionic_event_resolver_wrong_query (uid|1)
+81002 dropbox_file_copy (FileName|3),(Size|1),(Tag|3)
+90100 exp_det_cert_pin_failure (certs|4)
+90200 lock_screen_type (type|3)
+90201 exp_det_device_admin_activated_by_user (app_signature|3)
+90202 exp_det_device_admin_declined_by_user (app_signature|3)
+90203 exp_det_device_admin_uninstalled_by_user (app_signature|3)
+90204 settings_latency (action|1|6),(latency|1|3)
+150000 car_helper_start (uses_hal|1)
+150001 car_helper_boot_phase (phase|1)
+150002 car_helper_user_starting (user_id|1)
+150003 car_helper_user_switching (from_user_id|1),(to_user_id|1)
+150004 car_helper_user_unlocking (user_id|1)
+150005 car_helper_user_unlocked (user_id|1)
+150006 car_helper_user_stopping (user_id|1)
+150007 car_helper_user_stopped (user_id|1)
+150008 car_helper_svc_connected (pending_operations|1)
+150009 car_helper_hal_request (request_type|1)
+150010 car_helper_hal_response (result_code|1)
+150011 car_helper_hal_default_behavior (fallback|1),(user_locales|3)
+150012 car_helper_hal_start_user (user_id|1),(user_locales|3)
+150013 car_helper_hal_create_user (flags|1),(safe_name|3),(user_locales|3)
+150014 car_helper_pre_creation_requested (number_users|1),(number_guests|1)
+150015 car_helper_pre_creation_status (number_existing_users|1),(number_users_to_add|1),(number_users_to_remove|1),(number_existing_guests|1),(number_guests_to_add|1),(number_guests_to_remove|1),(number_invalid_users_to_remove|1)
+150050 car_service_init (number_services|1)
+150051 car_service_vhal_reconnected (number_services|1)
+150052 car_service_set_car_service_helper (pid|1)
+150053 car_service_on_user_lifecycle (type|1),(from_user_id|1),(to_user_id|1)
+150054 car_service_set_initial_user (user_id|1)
+150055 car_service_create (has_vhal|1)
+150056 car_service_connected (interface|3)
+150057 car_service_destroy (has_vhal|1)
+150058 car_service_vhal_died (cookie|2)
+150100 car_user_svc_initial_user_info_req (request_type|1),(timeout|1)
+150101 car_user_svc_initial_user_info_resp (status|1),(action|1),(user_id|1),(flags|1),(safe_name|3),(user_locales|3)
+150103 car_user_svc_set_initial_user (user_id|1)
+150104 car_user_svc_set_lifecycle_listener (uid|1)
+150105 car_user_svc_reset_lifecycle_listener (uid|1)
+150106 car_user_svc_switch_user_req (user_id|1),(timeout|1)
+150107 car_user_svc_switch_user_resp (status|1),(result|1),(error_message|3)
+150108 car_user_svc_post_switch_user_req (target_user_id|1),(current_user_id|1)
+150109 car_user_svc_get_user_auth_req (uid|1),(user_id|1),(number_types|1)
+150110 car_user_svc_get_user_auth_resp (number_values|1)
+150111 car_user_svc_switch_user_ui_req (user_id|1)
+150112 car_user_svc_switch_user_from_hal_req (request_id|1),(uid|1)
+150113 car_user_svc_set_user_auth_req (uid|1),(user_id|1),(number_associations|1)
+150114 car_user_svc_set_user_auth_resp (number_values|1),(error_message|3)
+150115 car_user_svc_create_user_req (safe_name|3),(user_type|3),(flags|1),(timeout|1)
+150116 car_user_svc_create_user_resp (status|1),(result|1),(error_message|3)
+150117 car_user_svc_create_user_user_created (user_id|1),(safe_name|3),(user_type|3),(flags|1)
+150118 car_user_svc_create_user_user_removed (user_id|1),(reason|3)
+150119 car_user_svc_remove_user_req (user_id|1)
+150120 car_user_svc_remove_user_resp (user_id|1),(result|1)
+150121 car_user_svc_notify_app_lifecycle_listener (uid|1),(event_type|1),(from_user_id|1),(to_user_id|1)
+150122 car_user_svc_notify_internal_lifecycle_listener (listener_name|3),(event_type|1),(from_user_id|1),(to_user_id|1)
+150140 car_user_hal_initial_user_info_req (request_id|1),(request_type|1),(timeout|1)
+150141 car_user_hal_initial_user_info_resp (request_id|1),(status|1),(action|1),(user_id|1),(flags|1),(safe_name|3),(user_locales|3)
+150142 car_user_hal_switch_user_req (request_id|1),(user_id|1),(user_flags|1),(timeout|1)
+150143 car_user_hal_switch_user_resp (request_id|1),(status|1),(result|1),(error_message|3)
+150144 car_user_hal_post_switch_user_req (request_id|1),(target_user_id|1),(current_user_id|1)
+150145 car_user_hal_get_user_auth_req (int32values|4)
+150146 car_user_hal_get_user_auth_resp (int32values|4),(error_message|3)
+150147 car_user_hal_legacy_switch_user_req (request_id|1),(target_user_id|1),(current_user_id|1)
+150148 car_user_hal_set_user_auth_req (int32values|4)
+150149 car_user_hal_set_user_auth_resp (int32values|4),(error_message|3)
+150150 car_user_hal_oem_switch_user_req (request_id|1),(target_user_id|1)
+150151 car_user_hal_create_user_req (request_id|1),(safe_name|3),(flags|1),(timeout|1)
+150152 car_user_hal_create_user_resp (request_id|1),(status|1),(result|1),(error_message|3)
+150153 car_user_hal_remove_user_req (target_user_id|1),(current_user_id|1)
+150171 car_user_mgr_add_listener (uid|1)
+150172 car_user_mgr_remove_listener (uid|1)
+150173 car_user_mgr_disconnected (uid|1)
+150174 car_user_mgr_switch_user_req (uid|1),(user_id|1)
+150175 car_user_mgr_switch_user_resp (uid|1),(status|1),(error_message|3)
+150176 car_user_mgr_get_user_auth_req (types|4)
+150177 car_user_mgr_get_user_auth_resp (values|4)
+150178 car_user_mgr_set_user_auth_req (types_and_values_pairs|4)
+150179 car_user_mgr_set_user_auth_resp (values|4)
+150180 car_user_mgr_create_user_req (uid|1),(safe_name|3),(user_type|3),(flags|1)
+150181 car_user_mgr_create_user_resp (uid|1),(status|1),(error_message|3)
+150182 car_user_mgr_remove_user_req (uid|1),(user_id|1)
+150183 car_user_mgr_remove_user_resp (uid|1),(status|1)
+150184 car_user_mgr_notify_lifecycle_listener (number_listeners|1),(event_type|1),(from_user_id|1),(to_user_id|1)
+201001 system_update (status|1|5),(download_result|1|5),(bytes|2|2),(url|3)
+201002 system_update_user (action|3)
+202001 vending_reconstruct (changes|1)
+202901 transaction_event (data|3)
+203001 sync_details (authority|3),(send|1|2),(recv|1|2),(details|3)
+203002 google_http_request (elapsed|2|3),(status|1),(appname|3),(reused|1)
+204001 gtalkservice (eventType|1)
+204002 gtalk_connection (status|1)
+204003 gtalk_conn_close (status|1),(duration|1)
+204004 gtalk_heartbeat_reset (interval_and_nt|1),(ip|3)
+204005 c2dm (packet_type|1),(persistent_id|3),(stream_id|1),(last_stream_id|1)
+205001 setup_server_timeout
+205002 setup_required_captcha (action|3)
+205003 setup_io_error (status|3)
+205004 setup_server_error
+205005 setup_retries_exhausted
+205006 setup_no_data_network
+205007 setup_completed
+205008 gls_account_tried (status|1)
+205009 gls_account_saved (status|1)
+205010 gls_authenticate (status|1),(service|3)
+205011 google_mail_switch (direction|1)
+206001 snet (payload|3)
+206003 exp_det_snet (payload|3)
+208000 metrics_heartbeat
+210001 security_adb_shell_interactive
+210002 security_adb_shell_command (command|3)
+210003 security_adb_sync_recv (path|3)
+210004 security_adb_sync_send (path|3)
+210005 security_app_process_start (process|3),(start_time|2|3),(uid|1),(pid|1),(seinfo|3),(sha256|3)
+210006 security_keyguard_dismissed
+210007 security_keyguard_dismiss_auth_attempt (success|1),(method_strength|1)
+210008 security_keyguard_secured
+210009 security_os_startup (boot_state|3),(verity_mode|3)
+210010 security_os_shutdown
+210011 security_logging_started
+210012 security_logging_stopped
+210013 security_media_mounted (path|3),(label|3)
+210014 security_media_unmounted (path|3),(label|3)
+210015 security_log_buffer_size_critical
+210016 security_password_expiration_set (package|3),(admin_user|1),(target_user|1),(timeout|2|3)
+210017 security_password_complexity_set (package|3),(admin_user|1),(target_user|1),(length|1),(quality|1),(num_letters|1),(num_non_letters|1),(num_numeric|1),(num_uppercase|1),(num_lowercase|1),(num_symbols|1)
+210018 security_password_history_length_set (package|3),(admin_user|1),(target_user|1),(length|1)
+210019 security_max_screen_lock_timeout_set (package|3),(admin_user|1),(target_user|1),(timeout|2|3)
+210020 security_max_password_attempts_set (package|3),(admin_user|1),(target_user|1),(num_failures|1)
+210021 security_keyguard_disabled_features_set (package|3),(admin_user|1),(target_user|1),(features|1)
+210022 security_remote_lock (package|3),(admin_user|1),(target_user|1)
+210023 security_wipe_failed (package|3),(admin_user|1)
+210024 security_key_generated (success|1),(key_id|3),(uid|1)
+210025 security_key_imported (success|1),(key_id|3),(uid|1)
+210026 security_key_destroyed (success|1),(key_id|3),(uid|1)
+210027 security_user_restriction_added (package|3),(admin_user|1),(restriction|3)
+210028 security_user_restriction_removed (package|3),(admin_user|1),(restriction|3)
+210029 security_cert_authority_installed (success|1),(subject|3),(target_user|1)
+210030 security_cert_authority_removed (success|1),(subject|3),(target_user|1)
+210031 security_crypto_self_test_completed (success|1)
+210032 security_key_integrity_violation (key_id|3),(uid|1)
+210033 security_cert_validation_failure (reason|3)
+210034 security_camera_policy_set (package|3),(admin_user|1),(target_user|1),(disabled|1)
+230000 service_manager_stats (call_count|1),(total_time|1|3),(duration|1|3)
+230001 service_manager_slow (time|1|3),(service|3)
+275534 notification_unautogrouped (key|3)
+300000 arc_system_event (event|3)
+524287 sysui_view_visibility (category|1|5),(visible|1|6)
+524288 sysui_action (category|1|5),(pkg|3)
+524290 sysui_count (name|3),(increment|1)
+524291 sysui_histogram (name|3),(bucket|1)
+524292 sysui_multi_action (content|4)
+525000 commit_sys_config_file (name|3),(time|2|3)
+1010000 bt_hci_timeout (opcode|1)
+1010001 bt_config_source (opcode|1)
+1010002 bt_hci_unknown_type (hci_type|1)
+10195355 killinfo (Pid|1|5),(Uid|1|5),(OomAdj|1),(MinOomAdj|1),(TaskSize|1),(enum kill_reasons|1|5),(MemFree|1),(Cached|1),(SwapCached|1),(Buffers|1),(Shmem|1),(Unevictable|1),(SwapTotal|1),(SwapFree|1),(ActiveAnon|1),(InactiveAnon|1),(ActiveFile|1),(InactiveFile|1),(SReclaimable|1),(SUnreclaim|1),(KernelStack|1),(PageTables|1),(IonHeap|1),(IonHeapPool|1),(CmaFree|1)
+1397638484 snet_event_log (subtag|3) (uid|1) (message|3)
+1937006964 stats_log (atom_id|1|5),(data|4)
diff --git a/recovery/root/system/etc/init/ashmemd.rc b/recovery/root/system/etc/init/ashmemd.rc
new file mode 100644
index 0000000..096bdff
--- /dev/null
+++ b/recovery/root/system/etc/init/ashmemd.rc
@@ -0,0 +1,9 @@
+on boot
+ start ashmemd
+
+service ashmemd /system/bin/ashmemd
+ user root
+ group root
+ disabled
+ oneshot
+ seclabel u:r:recovery:s0
diff --git a/recovery/root/system/etc/recovery.fstab b/recovery/root/system/etc/recovery.fstab
index d3f4696..814bf58 100644
--- a/recovery/root/system/etc/recovery.fstab
+++ b/recovery/root/system/etc/recovery.fstab
@@ -30,18 +30,12 @@
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#
-system /system ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey
-system_ext /system_ext ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
-product /product ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
-vendor /vendor ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount
-odm /odm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount
-/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,sync wait,check,formattable,first_stage_mount
-/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,quota,reservedsize=512M,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,metadata_encryption=aes-256-xts:wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc
-#/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait
+system /system ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey
+system_ext /system_ext ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
+product /product ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
+vendor /vendor ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount
+odm /odm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount
+/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,sync wait,check,formattable,first_stage_mount
+/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,quota,reservedsize=512M,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,metadata_encryption=aes-256-xts:wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
-#/devices/platform/soc/8804000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer
-#/devices/platform/soc/1da4000.ufshc_card/host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer
-#/devices/platform/soc/a600000.ssusb/a600000.dwc3/xhci-hcd.*.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto
-#/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait,slotselect
-#/dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait,slotselect
-#/dev/block/bootdevice/by-name/bluetooth /vendor/bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0 wait,slotselect
+/dev/block/bootdevice/by-name/op2 /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered wait,check,display=Cache
diff --git a/recovery/root/system/etc/security/sepcialkeys.zip b/recovery/root/system/etc/security/sepcialkeys.zip
new file mode 100644
index 0000000..84f913e
Binary files /dev/null and b/recovery/root/system/etc/security/sepcialkeys.zip differ
diff --git a/recovery/root/system/etc/task_profiles.json b/recovery/root/system/etc/task_profiles.json
new file mode 100644
index 0000000..02cbca4
--- /dev/null
+++ b/recovery/root/system/etc/task_profiles.json
@@ -0,0 +1,673 @@
+{
+ "Attributes": [
+ {
+ "Name": "LowCapacityCPUs",
+ "Controller": "cpuset",
+ "File": "background/cpus"
+ },
+ {
+ "Name": "HighCapacityCPUs",
+ "Controller": "cpuset",
+ "File": "foreground/cpus"
+ },
+ {
+ "Name": "MaxCapacityCPUs",
+ "Controller": "cpuset",
+ "File": "top-app/cpus"
+ },
+ {
+ "Name": "AudioAppCapacityCPUs",
+ "Controller": "cpuset",
+ "File": "audio-app/cpus"
+ },
+
+ {
+ "Name": "MemLimit",
+ "Controller": "memory",
+ "File": "memory.limit_in_bytes"
+ },
+ {
+ "Name": "MemSoftLimit",
+ "Controller": "memory",
+ "File": "memory.soft_limit_in_bytes"
+ },
+ {
+ "Name": "MemSwappiness",
+ "Controller": "memory",
+ "File": "memory.swappiness"
+ },
+ {
+ "Name": "STuneBoost",
+ "Controller": "schedtune",
+ "File": "schedtune.boost"
+ },
+ {
+ "Name": "STunePreferIdle",
+ "Controller": "schedtune",
+ "File": "schedtune.prefer_idle"
+ },
+ {
+ "Name": "UClampMin",
+ "Controller": "cpu",
+ "File": "cpu.uclamp.min"
+ },
+ {
+ "Name": "UClampMax",
+ "Controller": "cpu",
+ "File": "cpu.uclamp.max"
+ },
+ {
+ "Name": "FreezerState",
+ "Controller": "freezer",
+ "File": "frozen/freezer.state"
+ }
+ ],
+
+ "Profiles": [
+ {
+ "Name": "HighEnergySaving",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "schedtune",
+ "Path": "background"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "Frozen",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "freezer",
+ "Path": "frozen"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "Unfrozen",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "freezer",
+ "Path": ""
+ }
+ }
+ ]
+ },
+ {
+ "Name": "NormalPerformance",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "schedtune",
+ "Path": ""
+ }
+ }
+ ]
+ },
+ {
+ "Name": "HighPerformance",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "schedtune",
+ "Path": "foreground"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "MaxPerformance",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "schedtune",
+ "Path": "top-app"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "RealtimePerformance",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "schedtune",
+ "Path": "rt"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "CameraServicePerformance",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "schedtune",
+ "Path": "camera-daemon"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "AudioAppPerformance",
+ "Actions" : [
+ {
+ "Name" : "JoinCgroup",
+ "Params" :
+ {
+ "Controller": "schedtune",
+ "Path": "audio-app"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "CpuPolicySpread",
+ "Actions": [
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "STunePreferIdle",
+ "Value": "1"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "CpuPolicyPack",
+ "Actions": [
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "STunePreferIdle",
+ "Value": "0"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "VrKernelCapacity",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": ""
+ }
+ }
+ ]
+ },
+ {
+ "Name": "VrServiceCapacityLow",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "system/background"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "VrServiceCapacityNormal",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "system"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "VrServiceCapacityHigh",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "system/performance"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "VrProcessCapacityLow",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "application/background"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "VrProcessCapacityNormal",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "application"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "VrProcessCapacityHigh",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "application/performance"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "ProcessCapacityLow",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "background"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "ProcessCapacityNormal",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": ""
+ }
+ }
+ ]
+ },
+ {
+ "Name": "ProcessCapacityHigh",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "foreground"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "ProcessCapacityMax",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "top-app"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "ServiceCapacityLow",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "system-background"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "ServiceCapacityRestricted",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "restricted"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "CameraServiceCapacity",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "cpuset",
+ "Path": "camera-daemon"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "AudioAppCapacity",
+ "Actions" : [
+ {
+ "Name" : "JoinCgroup",
+ "Params" :
+ {
+ "Controller": "cpuset",
+ "Path": "audio-app"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "BlkIOForeground",
+ "Actions" : [
+ {
+ "Name" : "JoinCgroup",
+ "Params" :
+ {
+ "Controller": "blkio",
+ "Path": ""
+ }
+ }
+ ]
+ },
+ {
+ "Name": "BlkIOBackground",
+ "Actions" : [
+ {
+ "Name" : "JoinCgroup",
+ "Params" :
+ {
+ "Controller": "blkio",
+ "Path": "bg"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "LowIoPriority",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "blkio",
+ "Path": "background"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "NormalIoPriority",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "blkio",
+ "Path": ""
+ }
+ }
+ ]
+ },
+ {
+ "Name": "HighIoPriority",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "blkio",
+ "Path": ""
+ }
+ }
+ ]
+ },
+ {
+ "Name": "MaxIoPriority",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "blkio",
+ "Path": ""
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "TimerSlackHigh",
+ "Actions": [
+ {
+ "Name": "SetTimerSlack",
+ "Params":
+ {
+ "Slack": "40000000"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "TimerSlackNormal",
+ "Actions": [
+ {
+ "Name": "SetTimerSlack",
+ "Params":
+ {
+ "Slack": "50000"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "PerfBoost",
+ "Actions": [
+ {
+ "Name": "SetClamps",
+ "Params":
+ {
+ "Boost": "50%",
+ "Clamp": "0"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "PerfClamp",
+ "Actions": [
+ {
+ "Name": "SetClamps",
+ "Params":
+ {
+ "Boost": "0",
+ "Clamp": "30%"
+ }
+ }
+ ]
+ },
+
+ {
+ "Name": "LowMemoryUsage",
+ "Actions": [
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "MemSoftLimit",
+ "Value": "16MB"
+ }
+ },
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "MemSwappiness",
+ "Value": "150"
+
+ }
+ }
+ ]
+ },
+ {
+ "Name": "HighMemoryUsage",
+ "Actions": [
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "MemSoftLimit",
+ "Value": "512MB"
+ }
+ },
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "MemSwappiness",
+ "Value": "100"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "SystemMemoryProcess",
+ "Actions": [
+ {
+ "Name": "JoinCgroup",
+ "Params":
+ {
+ "Controller": "memory",
+ "Path": "system"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "FreezerThawed",
+ "Actions": [
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "FreezerState",
+ "Value": "THAWED"
+ }
+ }
+ ]
+ },
+ {
+ "Name": "FreezerFrozen",
+ "Actions": [
+ {
+ "Name": "SetAttribute",
+ "Params":
+ {
+ "Name": "FreezerState",
+ "Value": "FROZEN"
+ }
+ }
+ ]
+ }
+ ],
+
+ "AggregateProfiles": [
+ {
+ "Name": "SCHED_SP_DEFAULT",
+ "Profiles": [ "TimerSlackNormal" ]
+ },
+ {
+ "Name": "SCHED_SP_BACKGROUND",
+ "Profiles": [ "HighEnergySaving", "LowIoPriority", "TimerSlackHigh" ]
+ },
+ {
+ "Name": "SCHED_SP_FOREGROUND",
+ "Profiles": [ "HighPerformance", "HighIoPriority", "TimerSlackNormal" ]
+ },
+ {
+ "Name": "SCHED_SP_TOP_APP",
+ "Profiles": [ "MaxPerformance", "MaxIoPriority", "TimerSlackNormal" ]
+ },
+ {
+ "Name": "SCHED_SP_RT_APP",
+ "Profiles": [ "RealtimePerformance", "MaxIoPriority", "TimerSlackNormal" ]
+ },
+ {
+ "Name": "CPUSET_SP_DEFAULT",
+ "Profiles": [ "TimerSlackNormal" ]
+ },
+ {
+ "Name": "CPUSET_SP_BACKGROUND",
+ "Profiles": [ "HighEnergySaving", "ProcessCapacityLow", "LowIoPriority", "TimerSlackHigh" ]
+ },
+ {
+ "Name": "CPUSET_SP_FOREGROUND",
+ "Profiles": [ "HighPerformance", "ProcessCapacityHigh", "HighIoPriority", "TimerSlackNormal" ]
+ },
+ {
+ "Name": "CPUSET_SP_TOP_APP",
+ "Profiles": [ "MaxPerformance", "ProcessCapacityMax", "MaxIoPriority", "TimerSlackNormal" ]
+ },
+ {
+ "Name": "CPUSET_SP_SYSTEM",
+ "Profiles": [ "ServiceCapacityLow", "TimerSlackNormal" ]
+ },
+ {
+ "Name": "CPUSET_SP_RESTRICTED",
+ "Profiles": [ "ServiceCapacityRestricted", "TimerSlackNormal" ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/recovery/root/system/etc/twrp.flags b/recovery/root/system/etc/twrp.flags
index 9025cf6..8622543 100644
--- a/recovery/root/system/etc/twrp.flags
+++ b/recovery/root/system/etc/twrp.flags
@@ -1,20 +1,19 @@
-# mount point fstype device device2 flags
-/boot emmc /dev/block/bootdevice/by-name/boot flags=slotselect
-/dtbo emmc /dev/block/bootdevice/by-name/dtbo flags=backup=1;display="Dtbo";flashimg=1;slotselect
-/firmware vfat /dev/block/bootdevice/by-name/modem flags=slotselect;display="Firmware";mounttodecrypt;fsflags=ro
-/firmware_image emmc /dev/block/bootdevice/by-name/modem flags=display="Firmware";backup=1;flashimg=1
-/misc emmc /dev/block/bootdevice/by-name/misc
-/modem emmc /dev/block/bootdevice/by-name/modem flags=slotselect;backup=1;display="Modem"
-/bluetooth emmc /dev/block/bootdevice/by-name/bluetooth flags=slotselect;backup=1;subpartitionof=/modem
-/dsp emmc /dev/block/bootdevice/by-name/dsp flags=slotselect;backup=1;subpartitionof=/modem
-/efs1 emmc /dev/block/bootdevice/by-name/modemst1 flags=backup=1;display=EFS
-/efs2 emmc /dev/block/bootdevice/by-name/modemst2 flags=backup=1;subpartitionof=/efs1
-/efsc emmc /dev/block/bootdevice/by-name/fsc flags=backup=1;subpartitionof=/efs1
-/efsg emmc /dev/block/bootdevice/by-name/fsg flags=backup=1;subpartitionof=/efs1
-/persist ext4 /dev/block/bootdevice/by-name/persist flags=display="Persist"
-/persist_image emmc /dev/block/bootdevice/by-name/persist flags=display="Persist";flashimg=1
-/storage f2fs /data/media/0 flags=display="Internal Storage";usermrf;backup=1;fsflags="bind";removable
-/op2 ext4 /dev/block/bootdevice/by-name/op2
-
-# Removable storage
-/usb_otg vfat /dev/block/sdg1 /dev/block/sdg flags=fsflags=utf8;display="USB-Storage";storage;wipeingui;removable
+# mount point fstype device device2 flags
+/boot emmc /dev/block/bootdevice/by-name/boot flags=display="Boot";slotselect;backup=1;flashimg=1
+/recovery emmc /dev/block/bootdevice/by-name/recovery flags=slotselect;display="Recovery";backup=1;flashimg=1
+/metadata ext4 /dev/block/bootdevice/by-name/metadata flags=display=Metadata
+/dtbo emmc /dev/block/bootdevice/by-name/dtbo flags=backup=1;display="Dtbo";flashimg=1;slotselect
+/firmware vfat /dev/block/bootdevice/by-name/modem flags=slotselect;display="Firmware";mounttodecrypt;fsflags=ro
+/firmware_image emmc /dev/block/bootdevice/by-name/modem flags=display="Firmware";backup=1;flashimg=1
+/misc emmc /dev/block/bootdevice/by-name/misc
+/modem emmc /dev/block/bootdevice/by-name/modem flags=slotselect;backup=1;display="Modem"
+/bluetooth emmc /dev/block/bootdevice/by-name/bluetooth flags=slotselect;backup=1;subpartitionof=/modem
+/dsp emmc /dev/block/bootdevice/by-name/dsp flags=slotselect;backup=1;subpartitionof=/modem
+/efs1 emmc /dev/block/bootdevice/by-name/modemst1 flags=backup=1;display=EFS
+/efs2 emmc /dev/block/bootdevice/by-name/modemst2 flags=backup=1;subpartitionof=/efs1
+/efsc emmc /dev/block/bootdevice/by-name/fsc flags=backup=1;subpartitionof=/efs1
+/efsg emmc /dev/block/bootdevice/by-name/fsg flags=backup=1;subpartitionof=/efs1
+/persist ext4 /dev/block/bootdevice/by-name/persist flags=display="Persist";fsflags=ro
+/persist_image emmc /dev/block/bootdevice/by-name/persist flags=display="Persist";flashimg=1;backup=1
+/storage f2fs /data/media/0 flags=display="Internal Storage";usermrf;backup=1;fsflags="bind";removable
+/usb_otg vfat /dev/block/sdg1 /dev/block/sdg flags=fsflags=utf8;display="USB Storage";storage;wipeingui;removable
diff --git a/recovery/root/system/etc/vintf/manifest.xml b/recovery/root/system/etc/vintf/manifest.xml
index e17133f..01719f6 100644
--- a/recovery/root/system/etc/vintf/manifest.xml
+++ b/recovery/root/system/etc/vintf/manifest.xml
@@ -1,4 +1,34 @@
-
+
+
+ android.frameworks.displayservice
+ hwbinder
+ 1.0
+
+ IDisplayService
+ default
+
+ @1.0::IDisplayService/default
+
+
+ android.frameworks.schedulerservice
+ hwbinder
+ 1.0
+
+ ISchedulingPolicyService
+ default
+
+ @1.0::ISchedulingPolicyService/default
+
+
+ android.frameworks.sensorservice
+ hwbinder
+ 1.0
+
+ ISensorManager
+ default
+
+ @1.0::ISensorManager/default
+
android.hidl.manager
hwbinder
@@ -9,4 +39,113 @@
@1.2::IServiceManager/default
+
+ android.hidl.memory
+ passthrough
+ 1.0
+
+ IMapper
+ ashmem
+
+ @1.0::IMapper/ashmem
+
+
+ android.hidl.token
+ hwbinder
+ 1.0
+
+ ITokenManager
+ default
+
+ @1.0::ITokenManager/default
+
+
+ android.system.net.netd
+ hwbinder
+ 1.1
+
+ INetd
+ default
+
+ @1.1::INetd/default
+
+
+ android.system.wifi.keystore
+ hwbinder
+ 1.0
+
+ IKeystore
+ default
+
+ @1.0::IKeystore/default
+
+
+ netutils-wrapper
+ 1.0
+
+
+ vendor.pixelworks.hardware.display
+ hwbinder
+ 1.1
+
+ IIris
+ default
+
+ @1.1::IIris/default
+
+
+ vendor.pixelworks.hardware.feature
+ hwbinder
+ 1.0
+
+ IIrisFeature
+ default
+
+ @1.0::IIrisFeature/default
+
+
+ vendor.qti.hardware.qccsyshal
+ hwbinder
+ 1.0
+
+ IQccsyshal
+ qccsyshal
+
+ @1.0::IQccsyshal/qccsyshal
+
+
+ vendor.qti.hardware.radio.atcmdfwd
+ hwbinder
+ 1.0
+
+ IAtCmdFwd
+ AtCmdFwdService
+
+ @1.0::IAtCmdFwd/AtCmdFwdService
+
+
+ vendor.qti.hardware.wifi.keystore
+ hwbinder
+ 1.0
+
+ IKeystoreExt
+ default
+
+ @1.0::IKeystoreExt/default
+
+
+ android.system.keystore2
+
+ IKeystoreService
+ default
+
+
+
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+
diff --git a/recovery/root/system/etc/vintf/manifest/android.frameworks.stats@1.0-service.xml b/recovery/root/system/etc/vintf/manifest/android.frameworks.stats@1.0-service.xml
new file mode 100644
index 0000000..bb02f66
--- /dev/null
+++ b/recovery/root/system/etc/vintf/manifest/android.frameworks.stats@1.0-service.xml
@@ -0,0 +1,11 @@
+
+
+ android.frameworks.stats
+ hwbinder
+ 1.0
+
+ IStats
+ default
+
+
+
diff --git a/recovery/root/system/etc/vintf/manifest/android.hidl.allocator@1.0-service.xml b/recovery/root/system/etc/vintf/manifest/android.hidl.allocator@1.0-service.xml
new file mode 100644
index 0000000..5218241
--- /dev/null
+++ b/recovery/root/system/etc/vintf/manifest/android.hidl.allocator@1.0-service.xml
@@ -0,0 +1,11 @@
+
+
+ android.hidl.allocator
+ hwbinder
+ 1.0
+
+ IAllocator
+ ashmem
+
+
+
diff --git a/recovery/root/system/etc/vintf/manifest/android.system.suspend@1.0-service.xml b/recovery/root/system/etc/vintf/manifest/android.system.suspend@1.0-service.xml
new file mode 100644
index 0000000..9f06ae3
--- /dev/null
+++ b/recovery/root/system/etc/vintf/manifest/android.system.suspend@1.0-service.xml
@@ -0,0 +1,11 @@
+
+
+ android.system.suspend
+ hwbinder
+ 1.0
+
+ ISystemSuspend
+ default
+
+
+
diff --git a/recovery/root/system/etc/vintf/manifest/manifest_android.frameworks.cameraservice.service@2.1.xml b/recovery/root/system/etc/vintf/manifest/manifest_android.frameworks.cameraservice.service@2.1.xml
new file mode 100644
index 0000000..5a15b35
--- /dev/null
+++ b/recovery/root/system/etc/vintf/manifest/manifest_android.frameworks.cameraservice.service@2.1.xml
@@ -0,0 +1,11 @@
+
+
+ android.frameworks.cameraservice.service
+ hwbinder
+ 2.1
+
+ ICameraService
+ default
+
+
+
diff --git a/recovery/root/system/etc/vintf/manifest/manifest_media_c2_software.xml b/recovery/root/system/etc/vintf/manifest/manifest_media_c2_software.xml
new file mode 100644
index 0000000..f23ed44
--- /dev/null
+++ b/recovery/root/system/etc/vintf/manifest/manifest_media_c2_software.xml
@@ -0,0 +1,11 @@
+
+
+ android.hardware.media.c2
+ hwbinder
+ 1.1
+
+ IComponentStore
+ software
+
+
+
diff --git a/recovery/root/system/lib64/libboot_control_qti.so b/recovery/root/system/lib64/libboot_control_qti.so
deleted file mode 100644
index b6a289d..0000000
Binary files a/recovery/root/system/lib64/libboot_control_qti.so and /dev/null differ
diff --git a/recovery/root/vendor/etc/vintf/manifest.xml b/recovery/root/vendor/etc/vintf/manifest.xml
index 1b305ef..fc6af13 100644
--- a/recovery/root/vendor/etc/vintf/manifest.xml
+++ b/recovery/root/vendor/etc/vintf/manifest.xml
@@ -6,7 +6,7 @@
IKeymasterDevice
default
- @4.0::IKeymasterDevice/default
+ @4.1::IKeymasterDevice/default
android.hardware.gatekeeper
diff --git a/recovery/root/vendor/etc/vintf/manifest/android.hardware.atrace@1.0-service.xml b/recovery/root/vendor/etc/vintf/manifest/android.hardware.atrace@1.0-service.xml
new file mode 100644
index 0000000..fd3631c
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/android.hardware.atrace@1.0-service.xml
@@ -0,0 +1,11 @@
+
+
+ android.hardware.atrace
+ hwbinder
+ 1.0
+
+ IAtraceDevice
+ default
+
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/android.hardware.boot@1.1.xml b/recovery/root/vendor/etc/vintf/manifest/android.hardware.boot@1.1.xml
new file mode 100644
index 0000000..83d5d2e
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/android.hardware.boot@1.1.xml
@@ -0,0 +1,7 @@
+
+
+ android.hardware.boot
+ hwbinder
+ @1.1::IBootControl/default
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/android.hardware.cas@1.2-service.xml b/recovery/root/vendor/etc/vintf/manifest/android.hardware.cas@1.2-service.xml
new file mode 100644
index 0000000..9b36406
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/android.hardware.cas@1.2-service.xml
@@ -0,0 +1,11 @@
+
+
+ android.hardware.cas
+ hwbinder
+ 1.2
+
+ IMediaCasService
+ default
+
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml b/recovery/root/vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml
new file mode 100644
index 0000000..842fb6e
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml
@@ -0,0 +1,36 @@
+
+
+
+ android.hardware.gnss
+ hwbinder
+ @1.1::IGnss/default
+ @2.1::IGnss/default
+
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/android.hardware.graphics.mapper-impl-qti-display.xml b/recovery/root/vendor/etc/vintf/manifest/android.hardware.graphics.mapper-impl-qti-display.xml
new file mode 100644
index 0000000..4e5c3ad
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/android.hardware.graphics.mapper-impl-qti-display.xml
@@ -0,0 +1,52 @@
+
+
+
+ vendor.qti.hardware.display.mapper
+ passthrough
+ 3.0
+ 4.0
+
+ IQtiMapper
+ default
+
+
+
+ android.hardware.graphics.mapper
+ passthrough
+ 3.0
+ 4.0
+
+ IMapper
+ default
+
+
+
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/android.hardware.health@2.1.xml b/recovery/root/vendor/etc/vintf/manifest/android.hardware.health@2.1.xml
new file mode 100644
index 0000000..34fdca6
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/android.hardware.health@2.1.xml
@@ -0,0 +1,7 @@
+
+
+ android.hardware.health
+ hwbinder
+ @2.1::IHealth/default
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/android.hardware.lights-qti.xml b/recovery/root/vendor/etc/vintf/manifest/android.hardware.lights-qti.xml
new file mode 100644
index 0000000..db604d6
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/android.hardware.lights-qti.xml
@@ -0,0 +1,6 @@
+
+
+ android.hardware.light
+ ILights/default
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti-hta.xml b/recovery/root/vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti-hta.xml
new file mode 100644
index 0000000..4442341
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti-hta.xml
@@ -0,0 +1,13 @@
+
+
+
+ android.hardware.neuralnetworks
+ hwbinder
+ @1.3::IDevice/qti-hta
+
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti.xml b/recovery/root/vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti.xml
new file mode 100644
index 0000000..b49adac
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti.xml
@@ -0,0 +1,14 @@
+
+
+
+ android.hardware.neuralnetworks
+ hwbinder
+ @1.3::IDevice/qti-default
+ @1.3::IDevice/qti-dsp
+ @1.3::IDevice/qti-gpu
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/android.hardware.sensors@2.0-multihal.xml b/recovery/root/vendor/etc/vintf/manifest/android.hardware.sensors@2.0-multihal.xml
new file mode 100644
index 0000000..1acc8e6
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/android.hardware.sensors@2.0-multihal.xml
@@ -0,0 +1,11 @@
+
+
+ android.hardware.sensors
+ hwbinder
+ 2.0
+
+ ISensors
+ default
+
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/android.hardware.thermal@2.0-service.qti.xml b/recovery/root/vendor/etc/vintf/manifest/android.hardware.thermal@2.0-service.qti.xml
new file mode 100644
index 0000000..26c3e56
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/android.hardware.thermal@2.0-service.qti.xml
@@ -0,0 +1,42 @@
+
+
+
+
+ android.hardware.thermal
+ hwbinder
+ 1.0
+ 2.0
+
+ IThermal
+ default
+
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/android.hardware.usb@1.2-service.xml b/recovery/root/vendor/etc/vintf/manifest/android.hardware.usb@1.2-service.xml
new file mode 100644
index 0000000..3af5c1f
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/android.hardware.usb@1.2-service.xml
@@ -0,0 +1,39 @@
+
+
+
+ android.hardware.usb
+ hwbinder
+ 1.2
+
+ IUsb
+ default
+
+ @1.2::IUsb/default
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/android.hardware.wifi.hostapd.xml b/recovery/root/vendor/etc/vintf/manifest/android.hardware.wifi.hostapd.xml
new file mode 100644
index 0000000..64a930b
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/android.hardware.wifi.hostapd.xml
@@ -0,0 +1,22 @@
+
+
+ android.hardware.wifi.hostapd
+ hwbinder
+ 1.2
+
+ IHostapd
+ default
+ wigighostapd
+
+
+
+ vendor.qti.hardware.wifi.hostapd
+ hwbinder
+ 1.2
+
+ IHostapdVendor
+ default
+ wigighostapd
+
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/android.hardware.wifi@1.0-service.xml b/recovery/root/vendor/etc/vintf/manifest/android.hardware.wifi@1.0-service.xml
new file mode 100644
index 0000000..b5d25cd
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/android.hardware.wifi@1.0-service.xml
@@ -0,0 +1,11 @@
+
+
+ android.hardware.wifi
+ hwbinder
+ 1.4
+
+ IWifi
+ default
+
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/manifest.xml b/recovery/root/vendor/etc/vintf/manifest/manifest.xml
new file mode 100644
index 0000000..98a21d9
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/manifest.xml
@@ -0,0 +1,20 @@
+
+
+ android.hardware.wifi.supplicant
+ hwbinder
+ 1.3
+
+ ISupplicant
+ default
+
+
+
+ vendor.qti.hardware.wifi.supplicant
+ hwbinder
+ 2.2
+
+ ISupplicantVendor
+ default
+
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.clearkey.xml b/recovery/root/vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.clearkey.xml
new file mode 100644
index 0000000..229ee96
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.clearkey.xml
@@ -0,0 +1,23 @@
+
+
+
+
+ android.hardware.drm
+ hwbinder
+ @1.3::ICryptoFactory/clearkey
+ @1.3::IDrmFactory/clearkey
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/manifest_oplus_cameramdm.xml b/recovery/root/vendor/etc/vintf/manifest/manifest_oplus_cameramdm.xml
new file mode 100644
index 0000000..0e2d753
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/manifest_oplus_cameramdm.xml
@@ -0,0 +1,39 @@
+
+
+
+
+ vendor.oplus.hardware.cameraMDM
+ hwbinder
+ 1.0
+
+ IOPlusCameraMDM
+ default
+
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/manifest_oplus_osiesr.xml b/recovery/root/vendor/etc/vintf/manifest/manifest_oplus_osiesr.xml
new file mode 100644
index 0000000..6fadb4f
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/manifest_oplus_osiesr.xml
@@ -0,0 +1,11 @@
+
+
+ vendor.qti.hardware.vpp
+ hwbinder
+ 1.4
+
+ IHidlVppService
+ vppService
+
+
+
\ No newline at end of file
diff --git a/recovery/root/vendor/etc/vintf/manifest/oplus_wifi_hostapd_device.xml b/recovery/root/vendor/etc/vintf/manifest/oplus_wifi_hostapd_device.xml
new file mode 100644
index 0000000..c6a51e8
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/oplus_wifi_hostapd_device.xml
@@ -0,0 +1,12 @@
+
+
+ vendor.oplus.hardware.wifi.hostapd
+ hwbinder
+ 1.0
+
+ IOplusHostapd
+ default
+ wigighostapd
+
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/oplus_wifi_supplicant_device.xml b/recovery/root/vendor/etc/vintf/manifest/oplus_wifi_supplicant_device.xml
new file mode 100644
index 0000000..aa44fb9
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/oplus_wifi_supplicant_device.xml
@@ -0,0 +1,11 @@
+
+
+ vendor.oplus.hardware.wifi.supplicant
+ hwbinder
+ 2.0
+
+ IOplusSupplicant
+ default
+
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/power.xml b/recovery/root/vendor/etc/vintf/manifest/power.xml
new file mode 100644
index 0000000..016665e
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/power.xml
@@ -0,0 +1,33 @@
+
+
+
+ android.hardware.power
+ IPower/default
+
+
\ No newline at end of file
diff --git a/recovery/root/vendor/etc/vintf/manifest/vendor.qti.gnss@4.0-service.xml b/recovery/root/vendor/etc/vintf/manifest/vendor.qti.gnss@4.0-service.xml
new file mode 100644
index 0000000..0ec38c5
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/vendor.qti.gnss@4.0-service.xml
@@ -0,0 +1,19 @@
+
+
+
+ vendor.qti.gnss
+ hwbinder
+ @1.2::ILocHidlGnss/gnss_vendor
+ @2.1::ILocHidlGnss/gnss_vendor
+ @3.0::ILocHidlGnss/gnss_vendor
+ @4.0::ILocHidlGnss/gnss_vendor
+
+
+ android.hardware.gnss
+ hwbinder
+ @1.0::IGnss/gnss_vendor
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/vendor.qti.hardware.display.allocator-service.xml b/recovery/root/vendor/etc/vintf/manifest/vendor.qti.hardware.display.allocator-service.xml
new file mode 100644
index 0000000..506c58b
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/vendor.qti.hardware.display.allocator-service.xml
@@ -0,0 +1,50 @@
+
+
+
+ android.hardware.graphics.allocator
+ hwbinder
+ 3.0
+ 4.0
+
+ IAllocator
+ default
+
+
+
+ vendor.qti.hardware.display.allocator
+ hwbinder
+ 3.0
+ 4.0
+
+ IQtiAllocator
+ default
+
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/vendor.qti.hardware.display.composer-service.xml b/recovery/root/vendor/etc/vintf/manifest/vendor.qti.hardware.display.composer-service.xml
new file mode 100644
index 0000000..a0fdcce
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/vendor.qti.hardware.display.composer-service.xml
@@ -0,0 +1,75 @@
+
+
+
+ vendor.qti.hardware.display.composer
+ hwbinder
+ 3.0
+
+ IQtiComposer
+ default
+
+
+
+ android.hardware.graphics.composer
+ hwbinder
+ 2.4
+
+ IComposer
+ default
+
+
+
+ vendor.display.config
+ hwbinder
+ 2.0
+
+ IDisplayConfig
+ default
+
+
+
+ vendor.display.color
+ hwbinder
+ 1.5
+
+ IDisplayColor
+ default
+
+
+
+ vendor.display.postproc
+ hwbinder
+ 1.0
+
+ IDisplayPostproc
+ default
+
+
+
diff --git a/recovery/root/vendor/etc/vintf/manifest/vendor.qti.hardware.servicetracker@1.2-service.xml b/recovery/root/vendor/etc/vintf/manifest/vendor.qti.hardware.servicetracker@1.2-service.xml
new file mode 100644
index 0000000..b685dfe
--- /dev/null
+++ b/recovery/root/vendor/etc/vintf/manifest/vendor.qti.hardware.servicetracker@1.2-service.xml
@@ -0,0 +1,16 @@
+
+
+
+ vendor.qti.hardware.servicetracker
+ hwbinder
+ 1.2
+
+ IServicetracker
+ default
+
+
+
diff --git a/recovery/root/vendor/firmware/100ms_RTP.bin b/recovery/root/vendor/firmware/100ms_RTP.bin
new file mode 100644
index 0000000..002edfa
Binary files /dev/null and b/recovery/root/vendor/firmware/100ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/120ms_RTP.bin b/recovery/root/vendor/firmware/120ms_RTP.bin
new file mode 100644
index 0000000..5d8d918
Binary files /dev/null and b/recovery/root/vendor/firmware/120ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/140ms_RTP.bin b/recovery/root/vendor/firmware/140ms_RTP.bin
new file mode 100644
index 0000000..3832151
Binary files /dev/null and b/recovery/root/vendor/firmware/140ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/160ms_RTP.bin b/recovery/root/vendor/firmware/160ms_RTP.bin
new file mode 100644
index 0000000..dbd7ed6
Binary files /dev/null and b/recovery/root/vendor/firmware/160ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/180ms_RTP.bin b/recovery/root/vendor/firmware/180ms_RTP.bin
new file mode 100644
index 0000000..bf945f0
Binary files /dev/null and b/recovery/root/vendor/firmware/180ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/200ms_RTP.bin b/recovery/root/vendor/firmware/200ms_RTP.bin
new file mode 100644
index 0000000..457a0e4
Binary files /dev/null and b/recovery/root/vendor/firmware/200ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/20ms_RTP.bin b/recovery/root/vendor/firmware/20ms_RTP.bin
new file mode 100644
index 0000000..a93f08d
Binary files /dev/null and b/recovery/root/vendor/firmware/20ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/220ms_RTP.bin b/recovery/root/vendor/firmware/220ms_RTP.bin
new file mode 100644
index 0000000..184d692
Binary files /dev/null and b/recovery/root/vendor/firmware/220ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/240ms_RTP.bin b/recovery/root/vendor/firmware/240ms_RTP.bin
new file mode 100644
index 0000000..96475e8
Binary files /dev/null and b/recovery/root/vendor/firmware/240ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/260ms_RTP.bin b/recovery/root/vendor/firmware/260ms_RTP.bin
new file mode 100644
index 0000000..cf6d734
Binary files /dev/null and b/recovery/root/vendor/firmware/260ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/280ms_RTP.bin b/recovery/root/vendor/firmware/280ms_RTP.bin
new file mode 100644
index 0000000..9c68213
Binary files /dev/null and b/recovery/root/vendor/firmware/280ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/300ms_RTP.bin b/recovery/root/vendor/firmware/300ms_RTP.bin
new file mode 100644
index 0000000..eb81ac9
Binary files /dev/null and b/recovery/root/vendor/firmware/300ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/320ms_RTP.bin b/recovery/root/vendor/firmware/320ms_RTP.bin
new file mode 100644
index 0000000..a68cd9a
Binary files /dev/null and b/recovery/root/vendor/firmware/320ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/340ms_RTP.bin b/recovery/root/vendor/firmware/340ms_RTP.bin
new file mode 100644
index 0000000..db8f06c
Binary files /dev/null and b/recovery/root/vendor/firmware/340ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/360ms_RTP.bin b/recovery/root/vendor/firmware/360ms_RTP.bin
new file mode 100644
index 0000000..8cc56fc
Binary files /dev/null and b/recovery/root/vendor/firmware/360ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/380ms_RTP.bin b/recovery/root/vendor/firmware/380ms_RTP.bin
new file mode 100644
index 0000000..944f6a5
Binary files /dev/null and b/recovery/root/vendor/firmware/380ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/400ms_RTP.bin b/recovery/root/vendor/firmware/400ms_RTP.bin
new file mode 100644
index 0000000..426c638
Binary files /dev/null and b/recovery/root/vendor/firmware/400ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/40ms_RTP.bin b/recovery/root/vendor/firmware/40ms_RTP.bin
new file mode 100644
index 0000000..e3e1bba
Binary files /dev/null and b/recovery/root/vendor/firmware/40ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/420ms_RTP.bin b/recovery/root/vendor/firmware/420ms_RTP.bin
new file mode 100644
index 0000000..61e5f86
Binary files /dev/null and b/recovery/root/vendor/firmware/420ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/440ms_RTP.bin b/recovery/root/vendor/firmware/440ms_RTP.bin
new file mode 100644
index 0000000..ef37795
Binary files /dev/null and b/recovery/root/vendor/firmware/440ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/460ms_RTP.bin b/recovery/root/vendor/firmware/460ms_RTP.bin
new file mode 100644
index 0000000..2ff4afa
Binary files /dev/null and b/recovery/root/vendor/firmware/460ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/480ms_RTP.bin b/recovery/root/vendor/firmware/480ms_RTP.bin
new file mode 100644
index 0000000..fdc3feb
Binary files /dev/null and b/recovery/root/vendor/firmware/480ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/500ms_RTP.bin b/recovery/root/vendor/firmware/500ms_RTP.bin
new file mode 100644
index 0000000..419f64f
Binary files /dev/null and b/recovery/root/vendor/firmware/500ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/60ms_RTP.bin b/recovery/root/vendor/firmware/60ms_RTP.bin
new file mode 100644
index 0000000..21ea644
Binary files /dev/null and b/recovery/root/vendor/firmware/60ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/80ms_RTP.bin b/recovery/root/vendor/firmware/80ms_RTP.bin
new file mode 100644
index 0000000..e307992
Binary files /dev/null and b/recovery/root/vendor/firmware/80ms_RTP.bin differ
diff --git a/recovery/root/vendor/firmware/cryptoeng.b00 b/recovery/root/vendor/firmware/cryptoeng.b00
new file mode 100644
index 0000000..0ecc2e8
Binary files /dev/null and b/recovery/root/vendor/firmware/cryptoeng.b00 differ
diff --git a/recovery/root/vendor/firmware/cryptoeng.b01 b/recovery/root/vendor/firmware/cryptoeng.b01
new file mode 100644
index 0000000..e259dca
Binary files /dev/null and b/recovery/root/vendor/firmware/cryptoeng.b01 differ
diff --git a/recovery/root/vendor/firmware/cryptoeng.b02 b/recovery/root/vendor/firmware/cryptoeng.b02
new file mode 100644
index 0000000..4ce1a2a
Binary files /dev/null and b/recovery/root/vendor/firmware/cryptoeng.b02 differ
diff --git a/recovery/root/vendor/firmware/cryptoeng.b03 b/recovery/root/vendor/firmware/cryptoeng.b03
new file mode 100644
index 0000000..2ebfa35
Binary files /dev/null and b/recovery/root/vendor/firmware/cryptoeng.b03 differ
diff --git a/recovery/root/vendor/firmware/cryptoeng.b04 b/recovery/root/vendor/firmware/cryptoeng.b04
new file mode 100644
index 0000000..449be48
Binary files /dev/null and b/recovery/root/vendor/firmware/cryptoeng.b04 differ
diff --git a/recovery/root/vendor/firmware/cryptoeng.b05 b/recovery/root/vendor/firmware/cryptoeng.b05
new file mode 100644
index 0000000..f85bd9c
Binary files /dev/null and b/recovery/root/vendor/firmware/cryptoeng.b05 differ
diff --git a/recovery/root/vendor/firmware/cryptoeng.b06 b/recovery/root/vendor/firmware/cryptoeng.b06
new file mode 100644
index 0000000..5f42134
Binary files /dev/null and b/recovery/root/vendor/firmware/cryptoeng.b06 differ
diff --git a/recovery/root/vendor/firmware/cryptoeng.b07 b/recovery/root/vendor/firmware/cryptoeng.b07
new file mode 100644
index 0000000..d77d144
Binary files /dev/null and b/recovery/root/vendor/firmware/cryptoeng.b07 differ
diff --git a/recovery/root/vendor/firmware/cryptoeng.mdt b/recovery/root/vendor/firmware/cryptoeng.mdt
new file mode 100644
index 0000000..4eecf48
Binary files /dev/null and b/recovery/root/vendor/firmware/cryptoeng.mdt differ
diff --git a/recovery/root/system/lib64/hw/android.hardware.boot@1.0-impl-1.1-qti.so b/recovery/root/vendor/lib64/hw/android.hardware.boot@1.0-impl-1.1-qti.so
similarity index 93%
rename from recovery/root/system/lib64/hw/android.hardware.boot@1.0-impl-1.1-qti.so
rename to recovery/root/vendor/lib64/hw/android.hardware.boot@1.0-impl-1.1-qti.so
index 26265dc..0547246 100644
Binary files a/recovery/root/system/lib64/hw/android.hardware.boot@1.0-impl-1.1-qti.so and b/recovery/root/vendor/lib64/hw/android.hardware.boot@1.0-impl-1.1-qti.so differ
diff --git a/recovery/root/vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so b/recovery/root/vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so
index a5c8c2b..ae6948c 100644
Binary files a/recovery/root/vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so and b/recovery/root/vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so differ
diff --git a/recovery/root/vendor/lib64/hw/libboot_control_qti.so b/recovery/root/vendor/lib64/hw/libboot_control_qti.so
new file mode 100644
index 0000000..f5ddd47
Binary files /dev/null and b/recovery/root/vendor/lib64/hw/libboot_control_qti.so differ
diff --git a/recovery/root/system/lib64/librecovery_updater.so b/recovery/root/vendor/lib64/hw/librecovery_updater.so
similarity index 65%
rename from recovery/root/system/lib64/librecovery_updater.so
rename to recovery/root/vendor/lib64/hw/librecovery_updater.so
index 97a804a..79af775 100644
Binary files a/recovery/root/system/lib64/librecovery_updater.so and b/recovery/root/vendor/lib64/hw/librecovery_updater.so differ
diff --git a/recovery/root/vendor/lib64/libGPreqcancel.so b/recovery/root/vendor/lib64/libGPreqcancel.so
index 101c182..4f1c8a9 100644
Binary files a/recovery/root/vendor/lib64/libGPreqcancel.so and b/recovery/root/vendor/lib64/libGPreqcancel.so differ
diff --git a/recovery/root/vendor/lib64/libGPreqcancel_svc.so b/recovery/root/vendor/lib64/libGPreqcancel_svc.so
index 8332e08..5fe5c75 100644
Binary files a/recovery/root/vendor/lib64/libGPreqcancel_svc.so and b/recovery/root/vendor/lib64/libGPreqcancel_svc.so differ
diff --git a/recovery/root/vendor/lib64/libQSEEComAPI.so b/recovery/root/vendor/lib64/libQSEEComAPI.so
index a11b0bb..435a52c 100644
Binary files a/recovery/root/vendor/lib64/libQSEEComAPI.so and b/recovery/root/vendor/lib64/libQSEEComAPI.so differ
diff --git a/recovery/root/vendor/lib64/libSecureUILib.so b/recovery/root/vendor/lib64/libSecureUILib.so
new file mode 100644
index 0000000..acab918
Binary files /dev/null and b/recovery/root/vendor/lib64/libSecureUILib.so differ
diff --git a/recovery/root/vendor/lib64/libStDrvInt.so b/recovery/root/vendor/lib64/libStDrvInt.so
index 58d1c92..a894540 100644
Binary files a/recovery/root/vendor/lib64/libStDrvInt.so and b/recovery/root/vendor/lib64/libStDrvInt.so differ
diff --git a/recovery/root/vendor/lib64/libboot_control_qti.so b/recovery/root/vendor/lib64/libboot_control_qti.so
new file mode 100644
index 0000000..f5ddd47
Binary files /dev/null and b/recovery/root/vendor/lib64/libboot_control_qti.so differ
diff --git a/recovery/root/vendor/lib64/libdiag.so b/recovery/root/vendor/lib64/libdiag.so
index 3ad17be..7b3552d 100644
Binary files a/recovery/root/vendor/lib64/libdiag.so and b/recovery/root/vendor/lib64/libdiag.so differ
diff --git a/recovery/root/vendor/lib64/libdisplayconfig.qti.so b/recovery/root/vendor/lib64/libdisplayconfig.qti.so
index ed7956e..5bfdbbf 100644
Binary files a/recovery/root/vendor/lib64/libdisplayconfig.qti.so and b/recovery/root/vendor/lib64/libdisplayconfig.qti.so differ
diff --git a/recovery/root/vendor/lib64/libdrm.so b/recovery/root/vendor/lib64/libdrm.so
index 5302a8d..6b10718 100644
Binary files a/recovery/root/vendor/lib64/libdrm.so and b/recovery/root/vendor/lib64/libdrm.so differ
diff --git a/recovery/root/vendor/lib64/libdrmfs.so b/recovery/root/vendor/lib64/libdrmfs.so
index 501e0a7..e9271d0 100644
Binary files a/recovery/root/vendor/lib64/libdrmfs.so and b/recovery/root/vendor/lib64/libdrmfs.so differ
diff --git a/recovery/root/vendor/lib64/libdrmtime.so b/recovery/root/vendor/lib64/libdrmtime.so
index 1bbe2bd..c0e0cf6 100644
Binary files a/recovery/root/vendor/lib64/libdrmtime.so and b/recovery/root/vendor/lib64/libdrmtime.so differ
diff --git a/recovery/root/vendor/lib64/libdrmutils.so b/recovery/root/vendor/lib64/libdrmutils.so
new file mode 100644
index 0000000..2138756
Binary files /dev/null and b/recovery/root/vendor/lib64/libdrmutils.so differ
diff --git a/recovery/root/vendor/lib64/libdsutils.so b/recovery/root/vendor/lib64/libdsutils.so
new file mode 100644
index 0000000..209612a
Binary files /dev/null and b/recovery/root/vendor/lib64/libdsutils.so differ
diff --git a/recovery/root/vendor/lib64/libidl.so b/recovery/root/vendor/lib64/libidl.so
new file mode 100644
index 0000000..f187514
Binary files /dev/null and b/recovery/root/vendor/lib64/libidl.so differ
diff --git a/recovery/root/vendor/lib64/libkeymasterdeviceutils.so b/recovery/root/vendor/lib64/libkeymasterdeviceutils.so
index 0a7a088..e6995f8 100644
Binary files a/recovery/root/vendor/lib64/libkeymasterdeviceutils.so and b/recovery/root/vendor/lib64/libkeymasterdeviceutils.so differ
diff --git a/recovery/root/vendor/lib64/libkeymasterprovision.so b/recovery/root/vendor/lib64/libkeymasterprovision.so
new file mode 100644
index 0000000..a74312b
Binary files /dev/null and b/recovery/root/vendor/lib64/libkeymasterprovision.so differ
diff --git a/recovery/root/vendor/lib64/libkeymasterutils.so b/recovery/root/vendor/lib64/libkeymasterutils.so
index 2651628..c793c60 100644
Binary files a/recovery/root/vendor/lib64/libkeymasterutils.so and b/recovery/root/vendor/lib64/libkeymasterutils.so differ
diff --git a/recovery/root/vendor/lib64/libkeystore-engine-wifi-hidl.so b/recovery/root/vendor/lib64/libkeystore-engine-wifi-hidl.so
new file mode 100644
index 0000000..b84706b
Binary files /dev/null and b/recovery/root/vendor/lib64/libkeystore-engine-wifi-hidl.so differ
diff --git a/recovery/root/vendor/lib64/libkeystore-wifi-hidl.so b/recovery/root/vendor/lib64/libkeystore-wifi-hidl.so
new file mode 100644
index 0000000..5d6c568
Binary files /dev/null and b/recovery/root/vendor/lib64/libkeystore-wifi-hidl.so differ
diff --git a/recovery/root/vendor/lib64/libmdmdetect.so b/recovery/root/vendor/lib64/libmdmdetect.so
new file mode 100644
index 0000000..fe11f15
Binary files /dev/null and b/recovery/root/vendor/lib64/libmdmdetect.so differ
diff --git a/recovery/root/vendor/lib64/libops.so b/recovery/root/vendor/lib64/libops.so
index 3efa847..ac80d17 100644
Binary files a/recovery/root/vendor/lib64/libops.so and b/recovery/root/vendor/lib64/libops.so differ
diff --git a/recovery/root/vendor/lib64/libqcbor.so b/recovery/root/vendor/lib64/libqcbor.so
index 79ae8f4..600e641 100644
Binary files a/recovery/root/vendor/lib64/libqcbor.so and b/recovery/root/vendor/lib64/libqcbor.so differ
diff --git a/recovery/root/vendor/lib64/libqdutils.so b/recovery/root/vendor/lib64/libqdutils.so
index 2136c3d..b0db220 100644
Binary files a/recovery/root/vendor/lib64/libqdutils.so and b/recovery/root/vendor/lib64/libqdutils.so differ
diff --git a/recovery/root/vendor/lib64/libqisl.so b/recovery/root/vendor/lib64/libqisl.so
index 0889744..73fe4f5 100644
Binary files a/recovery/root/vendor/lib64/libqisl.so and b/recovery/root/vendor/lib64/libqisl.so differ
diff --git a/recovery/root/vendor/lib64/libqmi_cci.so b/recovery/root/vendor/lib64/libqmi_cci.so
new file mode 100644
index 0000000..253fe41
Binary files /dev/null and b/recovery/root/vendor/lib64/libqmi_cci.so differ
diff --git a/recovery/root/vendor/lib64/libqmi_client_qmux.so b/recovery/root/vendor/lib64/libqmi_client_qmux.so
new file mode 100644
index 0000000..5bff3bf
Binary files /dev/null and b/recovery/root/vendor/lib64/libqmi_client_qmux.so differ
diff --git a/recovery/root/vendor/lib64/libqmi_common_so.so b/recovery/root/vendor/lib64/libqmi_common_so.so
new file mode 100644
index 0000000..0e5dd86
Binary files /dev/null and b/recovery/root/vendor/lib64/libqmi_common_so.so differ
diff --git a/recovery/root/vendor/lib64/libqmi_encdec.so b/recovery/root/vendor/lib64/libqmi_encdec.so
new file mode 100644
index 0000000..a5a4db6
Binary files /dev/null and b/recovery/root/vendor/lib64/libqmi_encdec.so differ
diff --git a/recovery/root/vendor/lib64/libqmiservices.so b/recovery/root/vendor/lib64/libqmiservices.so
new file mode 100644
index 0000000..91f5bee
Binary files /dev/null and b/recovery/root/vendor/lib64/libqmiservices.so differ
diff --git a/recovery/root/vendor/lib64/libqservice.so b/recovery/root/vendor/lib64/libqservice.so
new file mode 100644
index 0000000..3be33e9
Binary files /dev/null and b/recovery/root/vendor/lib64/libqservice.so differ
diff --git a/recovery/root/vendor/lib64/libqtikeymaster4.so b/recovery/root/vendor/lib64/libqtikeymaster4.so
index 889c19a..2da1f9a 100644
Binary files a/recovery/root/vendor/lib64/libqtikeymaster4.so and b/recovery/root/vendor/lib64/libqtikeymaster4.so differ
diff --git a/recovery/root/vendor/lib64/librecovery_updater.so b/recovery/root/vendor/lib64/librecovery_updater.so
new file mode 100644
index 0000000..79af775
Binary files /dev/null and b/recovery/root/vendor/lib64/librecovery_updater.so differ
diff --git a/recovery/root/vendor/lib64/librecovery_updater_msm.so b/recovery/root/vendor/lib64/librecovery_updater_msm.so
new file mode 100644
index 0000000..a3eaf0a
Binary files /dev/null and b/recovery/root/vendor/lib64/librecovery_updater_msm.so differ
diff --git a/recovery/root/vendor/lib64/librpmb.so b/recovery/root/vendor/lib64/librpmb.so
index e3b13f4..6ba65c4 100644
Binary files a/recovery/root/vendor/lib64/librpmb.so and b/recovery/root/vendor/lib64/librpmb.so differ
diff --git a/recovery/root/vendor/lib64/libsecureui.so b/recovery/root/vendor/lib64/libsecureui.so
index c37890e..b5c7f54 100644
Binary files a/recovery/root/vendor/lib64/libsecureui.so and b/recovery/root/vendor/lib64/libsecureui.so differ
diff --git a/recovery/root/vendor/lib64/libsecureui_svcsock.so b/recovery/root/vendor/lib64/libsecureui_svcsock.so
index 782690d..f4e18f0 100644
Binary files a/recovery/root/vendor/lib64/libsecureui_svcsock.so and b/recovery/root/vendor/lib64/libsecureui_svcsock.so differ
diff --git a/recovery/root/vendor/lib64/libspcom.so b/recovery/root/vendor/lib64/libspcom.so
new file mode 100644
index 0000000..2072529
Binary files /dev/null and b/recovery/root/vendor/lib64/libspcom.so differ
diff --git a/recovery/root/vendor/lib64/libspl.so b/recovery/root/vendor/lib64/libspl.so
new file mode 100644
index 0000000..8703e81
Binary files /dev/null and b/recovery/root/vendor/lib64/libspl.so differ
diff --git a/recovery/root/vendor/lib64/libssd.so b/recovery/root/vendor/lib64/libssd.so
index 6831fb1..4727526 100644
Binary files a/recovery/root/vendor/lib64/libssd.so and b/recovery/root/vendor/lib64/libssd.so differ
diff --git a/recovery/root/vendor/lib64/libtime_genoff.so b/recovery/root/vendor/lib64/libtime_genoff.so
index 76bb400..596dcaf 100644
Binary files a/recovery/root/vendor/lib64/libtime_genoff.so and b/recovery/root/vendor/lib64/libtime_genoff.so differ
diff --git a/recovery/root/vendor/lib64/vendor.display.color@1.0.so b/recovery/root/vendor/lib64/vendor.display.color@1.0.so
new file mode 100644
index 0000000..dae20c2
Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.display.color@1.0.so differ
diff --git a/recovery/root/vendor/lib64/vendor.display.config@1.0.so b/recovery/root/vendor/lib64/vendor.display.config@1.0.so
new file mode 100644
index 0000000..68c9898
Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.display.config@1.0.so differ
diff --git a/recovery/root/vendor/lib64/vendor.oplus.hardware.commondcs@1.0.so b/recovery/root/vendor/lib64/vendor.oplus.hardware.commondcs@1.0.so
new file mode 100644
index 0000000..30ec09f
Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.oplus.hardware.commondcs@1.0.so differ
diff --git a/recovery/root/vendor/lib64/vendor.oplus.hardware.cryptoeng@1.0.so b/recovery/root/vendor/lib64/vendor.oplus.hardware.cryptoeng@1.0.so
new file mode 100644
index 0000000..20e84be
Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.oplus.hardware.cryptoeng@1.0.so differ
diff --git a/recovery/root/vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so b/recovery/root/vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so
index 4698cb1..6c1ff8e 100644
Binary files a/recovery/root/vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so and b/recovery/root/vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so differ
diff --git a/security/local_OTA.x509.pem b/security/local_OTA.x509.pem
new file mode 100755
index 0000000..faf7405
--- /dev/null
+++ b/security/local_OTA.x509.pem
@@ -0,0 +1,23 @@
+-----BEGIN CERTIFICATE-----
+MIID5TCCAs2gAwIBAgIJAIq+Thrh2EfxMA0GCSqGSIb3DQEBBQUAMIGIMQswCQYD
+VQQGEwJDTjESMBAGA1UECAwJR3Vhbmdkb25nMREwDwYDVQQHDAhTaGVuemhlbjEQ
+MA4GA1UECgwHT25lUGx1czELMAkGA1UECwwCU1cxEDAOBgNVBAMMB09uZVBsdXMx
+ITAfBgkqhkiG9w0BCQEWEm9uZXBsdXNAb25lcGx1cy5jbjAeFw0xNTA1MDcwNzI1
+MTlaFw00MjA5MjIwNzI1MTlaMIGIMQswCQYDVQQGEwJDTjESMBAGA1UECAwJR3Vh
+bmdkb25nMREwDwYDVQQHDAhTaGVuemhlbjEQMA4GA1UECgwHT25lUGx1czELMAkG
+A1UECwwCU1cxEDAOBgNVBAMMB09uZVBsdXMxITAfBgkqhkiG9w0BCQEWEm9uZXBs
+dXNAb25lcGx1cy5jbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKyN
+lW3YKqrva+gVWu998t7Th8ypuw4ATKp/vvhaeNFMPOf0Umy4tSDUKtQEz4BkX5ez
+4jRiACwSpk4YmZJSaKdpRjvfABSGvTT+qlNi1T0CmxnXVH6sZP1G2uDQBcIOqP1c
+//7U/LREC/+nSwu+RrONJ5DtFkN9PNaMS77gEW9OmiLtqFMPRYRl8LU8YNpVxPV8
+eH+89KeQ9kLQTa6khCq4plR2JYU2sOdWMOcUV9epO8wZESNodA2XhD0aXroxazR7
+BaucnTUXOvKyBM8+m3N5wSBJ/MnJDoJnCWj0TMNDT9BSmfa9vtsEn3kygyLZwCNY
+GjseuIPkwnKPQ5+prsECAwEAAaNQME4wHQYDVR0OBBYEFFRh4rGpFeFNnw+S3UgB
+EzGoSa5kMB8GA1UdIwQYMBaAFFRh4rGpFeFNnw+S3UgBEzGoSa5kMAwGA1UdEwQF
+MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBACWtSVreqY47Zdo+1LBY2QriRN3iSYzq
+JoiHYaDE86lwvVgufWS0J2sgmL2HUo59/r+xOAP3S9tTDAoMvpRV7JloHs0w0LeB
+U34X24cpdD9rBqbidJECzG3iJSXr8G65Tugq1yQjZYr2mF8F96nbQkiSrHYKN8FY
+aVLpxaowyrVu02VBWraRHDOHdiDyj3yHd5f4HR6ALqG5jpA7jlUd+h8BswmQzI8X
+M/Dpgjy8g2ZEljCJKy+rsNEJpKhv783TV9aWBNDdrKqfp54a6j3Z1dgYwXJ75m+l
+J9klsKhBTKKsNeRhR7A0w3Pejuv61//MDYiqk1CpEIF+akIquJvyRLc=
+-----END CERTIFICATE-----
diff --git a/security/pixelexperience.x509.pem b/security/pixelexperience.x509.pem
new file mode 100644
index 0000000..faf7405
--- /dev/null
+++ b/security/pixelexperience.x509.pem
@@ -0,0 +1,23 @@
+-----BEGIN CERTIFICATE-----
+MIID5TCCAs2gAwIBAgIJAIq+Thrh2EfxMA0GCSqGSIb3DQEBBQUAMIGIMQswCQYD
+VQQGEwJDTjESMBAGA1UECAwJR3Vhbmdkb25nMREwDwYDVQQHDAhTaGVuemhlbjEQ
+MA4GA1UECgwHT25lUGx1czELMAkGA1UECwwCU1cxEDAOBgNVBAMMB09uZVBsdXMx
+ITAfBgkqhkiG9w0BCQEWEm9uZXBsdXNAb25lcGx1cy5jbjAeFw0xNTA1MDcwNzI1
+MTlaFw00MjA5MjIwNzI1MTlaMIGIMQswCQYDVQQGEwJDTjESMBAGA1UECAwJR3Vh
+bmdkb25nMREwDwYDVQQHDAhTaGVuemhlbjEQMA4GA1UECgwHT25lUGx1czELMAkG
+A1UECwwCU1cxEDAOBgNVBAMMB09uZVBsdXMxITAfBgkqhkiG9w0BCQEWEm9uZXBs
+dXNAb25lcGx1cy5jbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKyN
+lW3YKqrva+gVWu998t7Th8ypuw4ATKp/vvhaeNFMPOf0Umy4tSDUKtQEz4BkX5ez
+4jRiACwSpk4YmZJSaKdpRjvfABSGvTT+qlNi1T0CmxnXVH6sZP1G2uDQBcIOqP1c
+//7U/LREC/+nSwu+RrONJ5DtFkN9PNaMS77gEW9OmiLtqFMPRYRl8LU8YNpVxPV8
+eH+89KeQ9kLQTa6khCq4plR2JYU2sOdWMOcUV9epO8wZESNodA2XhD0aXroxazR7
+BaucnTUXOvKyBM8+m3N5wSBJ/MnJDoJnCWj0TMNDT9BSmfa9vtsEn3kygyLZwCNY
+GjseuIPkwnKPQ5+prsECAwEAAaNQME4wHQYDVR0OBBYEFFRh4rGpFeFNnw+S3UgB
+EzGoSa5kMB8GA1UdIwQYMBaAFFRh4rGpFeFNnw+S3UgBEzGoSa5kMAwGA1UdEwQF
+MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBACWtSVreqY47Zdo+1LBY2QriRN3iSYzq
+JoiHYaDE86lwvVgufWS0J2sgmL2HUo59/r+xOAP3S9tTDAoMvpRV7JloHs0w0LeB
+U34X24cpdD9rBqbidJECzG3iJSXr8G65Tugq1yQjZYr2mF8F96nbQkiSrHYKN8FY
+aVLpxaowyrVu02VBWraRHDOHdiDyj3yHd5f4HR6ALqG5jpA7jlUd+h8BswmQzI8X
+M/Dpgjy8g2ZEljCJKy+rsNEJpKhv783TV9aWBNDdrKqfp54a6j3Z1dgYwXJ75m+l
+J9klsKhBTKKsNeRhR7A0w3Pejuv61//MDYiqk1CpEIF+akIquJvyRLc=
+-----END CERTIFICATE-----
diff --git a/system.prop b/system.prop
index 3679e5c..e4fa31f 100644
--- a/system.prop
+++ b/system.prop
@@ -1,3 +1,11 @@
-ro.display.series=OnePlus Nord
+ro.product.device=avicii
+ro.display.series=Nord
ro.product.board=lito
ro.product.platform=lito
+ro.crypto.allow_encrypt_override=true
+ro.crypto.dm_default_key.options_format.version=2
+ro.crypto.volume.filenames_mode=aes-256-cts
+ro.crypto.volume.metadata.method=dm-default-key
+ro.crypto.volume.options=::v2
+vendor.gatekeeper.disable_spu=true
+ro.adb.secure=0
diff --git a/vendor.prop b/vendor.prop
deleted file mode 100644
index 6dbb520..0000000
--- a/vendor.prop
+++ /dev/null
@@ -1,8 +0,0 @@
-# Crypto
-ro.crypto.allow_encrypt_override=true
-ro.crypto.dm_default_key.options_format.version=2
-ro.crypto.volume.filenames_mode=aes-256-cts
-ro.crypto.volume.metadata.method=dm-default-key
-
-# Gatekeeper
-vendor.gatekeeper.disable_spu=true