diff --git a/Android.mk b/Android.mk
index 7263491..c3949d1 100644
--- a/Android.mk
+++ b/Android.mk
@@ -6,7 +6,7 @@
LOCAL_PATH := $(call my-dir)
-ifneq ($(filter akari xz2c akatsuki aurora,$(TARGET_DEVICE)),)
+ifneq ($(filter akari apollo akatsuki aurora,$(TARGET_DEVICE)),)
include $(call all-makefiles-under,$(LOCAL_PATH))
include $(CLEAR_VARS)
diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk
index 5053bd4..8db4728 100644
--- a/BoardConfigCommon.mk
+++ b/BoardConfigCommon.mk
@@ -79,7 +79,13 @@ BOARD_HAVE_BLUETOOTH_QCOM := true
USE_DEVICE_SPECIFIC_CAMERA := true
TARGET_USES_QTI_CAMERA_DEVICE := true
TARGET_USES_MEDIA_EXTENSIONS := true
-MALLOC_SVELTE_FOR_LIBC32 := true
+
+# Jemalloc
+MALLOC_SVELTE := true
+MALLOC_LOW_MEMORY := true
+
+# Quick Tap
+TARGET_SUPPORTS_QUICK_TAP := true
# Dalvik
TARGET_HAS_6GB_RAM ?= false
@@ -99,11 +105,13 @@ TARGET_FS_CONFIG_GEN := $(COMMON_PATH)/config.fs
MAX_EGL_CACHE_KEY_SIZE := 12*1024
MAX_EGL_CACHE_SIZE := 2048*1024
+# Disable Postrender Cleanup
+TARGET_DISABLE_POSTRENDER_CLEANUP := true
+
# HIDL
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
$(COMMON_PATH)/framework_compatibility_matrix.xml \
- hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \
- vendor/lineage/config/device_framework_matrix.xml
+ hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml
DEVICE_MANIFEST_FILE := $(COMMON_PATH)/manifest.xml
DEVICE_MATRIX_FILE := hardware/qcom-caf/common/compatibility_matrix.xml
@@ -116,7 +124,7 @@ TARGET_USES_ION := true
# Partitions
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000
BOARD_DTBOIMG_PARTITION_SIZE := 8388608
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 4227858432
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3825205248
BOARD_VENDORIMAGE_PARTITION_SIZE := 1056714752
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_VENDORIMAGE_JOURNAL_SIZE := 0
@@ -156,7 +164,7 @@ TARGET_PROVIDES_QTI_TELEPHONY_JAR := true
TARGET_USES_PRE_UPLINK_FEATURES_NETMGRD := true
# Security patch level
-VENDOR_SECURITY_PATCH := 2020-09-01
+VENDOR_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH)
# SELinux
include device/lineage/sepolicy/libperfmgr/sepolicy.mk
@@ -176,9 +184,9 @@ BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flag 2
# WiFi
BOARD_WLAN_DEVICE := qcwcn
BOARD_HOSTAPD_DRIVER := NL80211
-BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
+BOARD_HOSTAPD_PRIVATE_LIB := //hardware/qcom-caf/wlan/qcwcn:lib_driver_cmd_$(BOARD_WLAN_DEVICE)
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
-BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
+BOARD_WPA_SUPPLICANT_PRIVATE_LIB := //hardware/qcom-caf/wlan/qcwcn:lib_driver_cmd_$(BOARD_WLAN_DEVICE)
WIFI_DRIVER_DEFAULT := qca_cld3
WIFI_DRIVER_STATE_CTRL_PARAM := "/dev/wlan"
WIFI_DRIVER_STATE_OFF := "OFF"
diff --git a/common.mk b/common.mk
index 0d8399d..551f80f 100644
--- a/common.mk
+++ b/common.mk
@@ -20,6 +20,14 @@ endif
PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := true
+# Disable Scudo
+PRODUCT_USE_SCUDO := false
+PRODUCT_DISABLE_SCUDO := true
+
+# Disable UFFD GC
+OVERRIDE_ENABLE_UFFD_GC := false
+PRODUCT_ENABLE_UFFD_GC := false
+
# Overlays
DEVICE_PACKAGE_OVERLAYS += \
$(LOCAL_PATH)/overlay \
@@ -153,7 +161,7 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES_DEBUG += \
bootctl
-$(call soong_config_set,QTI_GPT_UTILS,USE_BSG_FRAMEWORK,false)
+$(call soong_config_set_bool,QTI_GPT_UTILS,USE_BSG_FRAMEWORK,false)
# Camera
PRODUCT_PACKAGES += \
@@ -188,8 +196,7 @@ PRODUCT_PACKAGES += \
init.target.rc \
qns.fstab \
sensor_json_transfer.sh \
- ueventd.qcom.rc \
- ueventd.tama.rc
+ ueventd.qcom.rc
# Configstore
PRODUCT_PACKAGES += \
@@ -239,7 +246,7 @@ PRODUCT_PACKAGES += \
android.hardware.gnss@2.0.vendor
# Graphics
-$(call soong_config_set,EGL,USE_DISPLAY_ARRAY,true)
+$(call soong_config_set_bool,EGL,USE_DISPLAY_ARRAY,true)
# Health
PRODUCT_PACKAGES += \
@@ -274,7 +281,8 @@ PRODUCT_PACKAGES += \
# LiveDisplay
PRODUCT_PACKAGES += \
- vendor.lineage.livedisplay@2.0-service-sdm
+ vendor.lineage.livedisplay-service.sdm
+$(call soong_config_set_bool,livedisplay_sdm,enable_dm,false)
# Lights
PRODUCT_PACKAGES += \
@@ -325,13 +333,20 @@ PRODUCT_PACKAGES += \
# NFC
PRODUCT_PACKAGES += \
- android.hardware.nfc-service.nxp \
+ android.hardware.nfc@1.1.vendor \
com.android.nfc_extras \
Tag
+# Secure Element
+PRODUCT_PACKAGES += \
+ android.hardware.secure_element@1.0.vendor
+
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nci.conf
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/configs/init.tama.nfc.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.tama.nfc.rc
+
# Power
PRODUCT_PACKAGES += \
android.hardware.power-service.lineage-libperfmgr \
@@ -382,6 +397,13 @@ PRODUCT_PACKAGES += \
android.hardware.sensors@2.0.vendor \
libsensorndkbridge
+# Quick Tap
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/configs/quick_tap.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/quick_tap.xml
+
+PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
+ persist.columbus.use_ap_sensor=false
+
# Soong namespaces
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH) \
@@ -409,7 +431,7 @@ PRODUCT_PACKAGES += \
# Touch
PRODUCT_PACKAGES += \
- vendor.lineage.touch@1.0-service.tama
+ vendor.lineage.touch-service.tama
# USB
PRODUCT_PACKAGES += \
@@ -447,16 +469,6 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
$(LOCAL_PATH)/wifi/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_qcom_cfg.ini
-# WiFi Display
-PRODUCT_PACKAGES += \
- libnl \
- libpng.vendor \
- libprocessgroup.vendor \
- libwfdaac_vendor \
- libavservices_minijail \
- libavservices_minijail_vendor \
- libavservices_minijail.vendor
-
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
ro.surface_flinger.force_hwc_copy_for_virtual_displays=true \
ro.surface_flinger.max_virtual_display_dimension=4096
diff --git a/configs/init.tama.nfc.rc b/configs/init.tama.nfc.rc
new file mode 100644
index 0000000..fa2cce4
--- /dev/null
+++ b/configs/init.tama.nfc.rc
@@ -0,0 +1,6 @@
+on post-fs-data
+ setprop ro.support.felica 1
+
+# FeliCa/NFC
+ chown nfc nfc /dev/cxd224x-i2c
+ chown nfc nfc /dev/bd7602-i2c
diff --git a/configs/powerhint.json b/configs/powerhint.json
index 3f271f7..74cc5ec 100644
--- a/configs/powerhint.json
+++ b/configs/powerhint.json
@@ -20,7 +20,7 @@
"1420800",
"1324800",
"1132800",
- "576000"
+ "300000"
],
"ResetOnInit": true
},
@@ -65,7 +65,8 @@
"Values": [
"520000000",
"342000000",
- "257000000"
+ "257000000",
+ "180000000"
],
"ResetOnInit": true
},
@@ -452,7 +453,7 @@
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "GPUMinFreq",
"Duration": 0,
- "Value": "520000000"
+ "Value": "257000000"
},
{
"PowerHint": "EXPENSIVE_RENDERING",
diff --git a/configs/qti_whitelist.xml b/configs/qti_whitelist.xml
index c97fda8..734f829 100644
--- a/configs/qti_whitelist.xml
+++ b/configs/qti_whitelist.xml
@@ -64,7 +64,4 @@
-
-
-
diff --git a/configs/quick_tap.xml b/configs/quick_tap.xml
new file mode 100644
index 0000000..445f43a
--- /dev/null
+++ b/configs/quick_tap.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/extract-files.py b/extract-files.py
index 4059078..4c482dc 100755
--- a/extract-files.py
+++ b/extract-files.py
@@ -60,8 +60,6 @@ lib_fixups: lib_fixups_user_type = {
}
blob_fixups: blob_fixups_user_type = {
- 'system_ext/bin/wfdservice': blob_fixup()
- .add_needed('libwfdservice_shim.so'),
(
'system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.0-java.xml',
'system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.1-java.xml',
@@ -70,15 +68,8 @@ blob_fixups: blob_fixups_user_type = {
'system_ext/etc/permissions/telephonyservice.xml'
): blob_fixup()
.regex_replace('/product/framework/', '/system_ext/framework/'),
- 'system_ext/lib/libwfdmmsrc_system.so': blob_fixup()
- .add_needed('libgui_shim.so'),
- 'system_ext/lib/libwfdservice.so': blob_fixup()
- .replace_needed('android.media.audio.common.types-V2-cpp.so', 'android.media.audio.common.types-V4-cpp.so'),
('system_ext/lib/lib-imsvideocodec.so', 'system_ext/lib64/lib-imsvideocodec.so'): blob_fixup()
.add_needed('libgui_shim.so'),
- 'system_ext/lib64/libwfdnative.so': blob_fixup()
- .add_needed('libbinder_shim.so')
- .add_needed('libinput_shim.so'),
'vendor/bin/hw/android.hardware.drm@1.1-service.widevine': blob_fixup()
.replace_needed('libhidltransport.so', 'libhidlbase.so')
.remove_needed('libhwbinder.so'),
diff --git a/manifest.xml b/manifest.xml
index c1d1a54..d678ad4 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -61,8 +61,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
hwbinder
@1.1::ICryptoFactory/widevine
@1.1::IDrmFactory/widevine
- @1.3::ICryptoFactory/wfdhdcp
- @1.3::IDrmFactory/wfdhdcp
android.hardware.gatekeeper
@@ -97,6 +95,11 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@1.2::IDevice/qti-dsp
@1.2::IDevice/qti-gpu
+
+ android.hardware.nfc
+ hwbinder
+ @1.1::INfc/default
+
android.hardware.radio
hwbinder
@@ -170,12 +173,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
hwbinder
@1.0::IDisplayPostproc/default
-
- vendor.lineage.livedisplay
- hwbinder
- @2.0::IDisplayModes/default
- @2.0::IPictureAdjustment/default
-
vendor.qti.data.factory
hwbinder
@@ -313,14 +310,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
hwbinder
@1.0::IWifiStats/wifiStats
-
- vendor.qti.hardware.wifidisplaysession
- hwbinder
- @1.0::IWifiDisplaySession/wifidisplaysession
- @1.0::IWifiDisplaySessionAudioTrack/wifidisplaysessionaudiotrack
- @1.0::IWifiDisplaySessionImageTrack/wifidisplaysessionimagetrack
- @1.0::IWifiDisplaySessionVideoTrack/wifidisplaysessionvideotrack
-
vendor.qti.ims.callinfo
hwbinder
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index a8c64f2..44be35e 100644
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -87,18 +87,6 @@
-->
true
-
- true
-
true
@@ -225,21 +213,14 @@
600
-
+
- - "/system/framework/framework.jar"
- - "/system/framework/services.jar"
- - "/apex/com.android.art/javalib/core-oj.jar"
- - "/apex/com.android.art/javalib/core-libart.jar"
- - "/system_ext/priv-app/SystemUI/SystemUI.apk"
- - "/system/bin/surfaceflinger"
- - /system/lib64/libRScpp.so
- - /system/lib64/libRS.so
- - /system/lib64/libRS_internal.so
- - /system/lib64/libbcinfo.so
- - /system/lib64/libRSDriver.so
- - /system/lib64/libRSCpuRef.so
- - /system/lib64/libblas.so
+ - /apex/com.android.art/javalib/core-oj.jar
+ - /apex/com.android.art/javalib/core-libart.jar
+ - /system/framework/framework.jar
+ - /system/framework/services.jar
+ - /system/bin/surfaceflinger
+ - /system_ext/priv-app/SystemUI/SystemUI.apk
@@ -295,4 +276,97 @@
true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ 6500
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+
+ - 0
+ - 1
+ - 2
+ - 3
+
+
+
+ 2
+
+
+
+ - 0
+ - 1
+ - 2
+ - 3
+
+
+ - 0
+ - 0
+ - 0
+ - 9
+
+
+
+ true
+
+
+ true
+
+
+ - 1
+
+
+ 64
+
+
+ false
+
+
+ false
+
diff --git a/overlay/packages/apps/Settings/res/values/config.xml b/overlay/packages/apps/Settings/res/values/config.xml
new file mode 100644
index 0000000..3c58cbb
--- /dev/null
+++ b/overlay/packages/apps/Settings/res/values/config.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+ true
+ /sys/class/power_supply/bms/charge_full
+ /sys/class/power_supply/bms/charge_full_design
+ /sys/class/power_supply/bms/cycle_count
+
+
diff --git a/permissions/system_ext-privapp-permissions-qti.xml b/permissions/system_ext-privapp-permissions-qti.xml
index 7597c7d..7833f3e 100644
--- a/permissions/system_ext-privapp-permissions-qti.xml
+++ b/permissions/system_ext-privapp-permissions-qti.xml
@@ -38,10 +38,6 @@ It allows additional grants on top of privapp-permissions-platform.xml
-
-
-
-
diff --git a/product.prop b/product.prop
index ff8bc53..86d36a7 100644
--- a/product.prop
+++ b/product.prop
@@ -2,4 +2,6 @@
ro.telephony.block_binder_thread_on_incoming_calls=false
# LMKD
+ro.lmk.kill_heaviest_task=false
+ro.lmk.kill_timeout_ms=100
ro.lmk.log_stats=true
diff --git a/proprietary-files.txt b/proprietary-files.txt
index 12af053..ef1242e 100644
--- a/proprietary-files.txt
+++ b/proprietary-files.txt
@@ -968,7 +968,18 @@ vendor/lib64/unnhal-acc-common.so
vendor/lib64/unnhal-acc-hvx.so
# NFC
-vendor/lib64/libpn553_fw.so:vendor/lib/libpn553_fw.so
+system/etc/libnfc-nci.conf
+system/etc/felica/common.cfg
+system/etc/felica/mfm.cfg
+system/etc/felica/mfs.cfg
+vendor/bin/hw/android.hardware.nfc@1.1-service.cxd22xx
+vendor/etc/libnfc-cxd22xx.conf
+vendor/etc/libnfc-cxd-224x02010010.conf
+vendor/etc/libnfc-cxd-224x02310011.conf
+vendor/etc/nfc_settings.conf
+vendor/etc/init/android.hardware.nfc@1.1-service.cxd22xx.rc
+vendor/firmware/cxd224x_firmware_ES1.1.bin
+vendor/firmware/cxd224x_firmware_ES1.0.bin
# Peripheral manager
vendor/bin/pm-proxy
@@ -1399,87 +1410,15 @@ vendor/bin/cnss-daemon
vendor/bin/cnss_diag
# WiFi Display (system) - from lemonadep - UKQ1.230924.001
-system/framework/WfdCommon.jar;BOOT_JAR|a661c494d064b79a3f71579592411fada1ea232f
-system_ext/bin/wfdservice|400d123df78c1ed2e9643ff3ddf5ee5748f954fe|8a0be1b9478adf4b44a1ba34f045b1871f64ac5c
-system_ext/etc/init/wfdservice.rc|907def8565d8f91f531ca7dfad880af05d540b0c
-system_ext/etc/seccomp_policy/wfdservice.policy|5b3592c965f16b2d55ac89d56d8d3c49a6b5800b
-system_ext/etc/wfdconfigsink.xml|cb78df66948314a75080a4161321fb3111a0785a
-system_ext/lib/com.qualcomm.qti.wifidisplayhal@1.0.so|cb88bc73bf9f44d7da000a41d38b309ffdf71370
system_ext/lib/libmmosal.so|e806f8040b4e59c6e08e437734a2176090a94ae3
system_ext/lib/libmmparser_lite.so|61bbc90e3a26a64007eb9b0871b43cce72ee6b7e
-system_ext/lib/libmmrtpdecoder.so|4fc76315f11ff5fe416f36b66c9422ef05eae182
-system_ext/lib/libmmrtpencoder.so|0fa2096eec29eec395f6bd88d7d1049a127e090c
-system_ext/lib/libwfdavenhancements.so|581db496334d2adb76e6c6af67620f49ca24eabd
-system_ext/lib/libwfdclient.so|a9639d9f269880700bac6fc06e8302702fb0ab32
-system_ext/lib/libwfdcommonutils.so|b738182e77f3e7faf72460f09ebdfca7de5e0c23
-system_ext/lib/libwfdconfigutils.so|a52a96e2699f3a5ad79838e356cd90838e26218b
-system_ext/lib/libwfddisplayconfig.so|f46fe63fb3d58c143dc92741a962167af3d8b928
-system_ext/lib/libwfdmminterface.so|5844114d7cc823090a70fe4f44cbda0ddf585ebd
-system_ext/lib/libwfdmmsink.so|23fb5c836fc06865b229c30b46998e41c0624dac
-system_ext/lib/libwfdmmsrc_system.so|0adfc69a5560158f3a6803ba720acc795d6d05dc|f4395e4a22bed41fdbe86c988caba7d46cf0c8bf
-system_ext/lib/libwfdrtsp.so|afd69963c2bd59bdb3ff23e01710c61ed90c5d87
-system_ext/lib/libwfdservice.so|07e6d0e00393a8c068f75b46531d2e75fdaebde2|679e2cb2b25374a57dfd860286da96abeee04f36
-system_ext/lib/libwfdsinksm.so|875171cc6ae534dd941eec1c87b78d5961e19c06
-system_ext/lib/libwfduibcinterface.so|e90fa4920b010bd6ef2bd78c2d2644cbd0fcbffa
-system_ext/lib/libwfduibcsink.so|91af548471c395a958e6155dd9be19cccbe482d3
-system_ext/lib/libwfduibcsinkinterface.so|bc0e7dca28d1e5cbc6caf5bd5378f3e6db3b460c
-system_ext/lib/libwfduibcsrc.so|a0b1c73015c449468db0d2776fdfcc56dfeee53b
-system_ext/lib/libwfduibcsrcinterface.so|2e24ec6a075407664488b4214eef35cb2ca845f4
-system_ext/lib/vendor.qti.hardware.wifidisplaysession@1.0.so|45a0a8cd9f1aa5cbe69b113192d42bc42e32e9c3
system_ext/lib64/libmmosal.so|8488b27e6a9cda05c68181e8bf20afa7ba345222
system_ext/lib64/libmmparser_lite.so|59d550a52773722f1fe515bd5fba86918cf6f54e
-system_ext/lib64/libmmrtpdecoder.so|0da526d51135ea58236ab6bcc2d1b7484931df24
-system_ext/lib64/libmmrtpencoder.so|fafe00d1ed3d691c6d2c2d963144218764cad5ae
-system_ext/lib64/libwfdclient.so|0070b1e88cee6ebaf17dcb02c2706232cc087071
-system_ext/lib64/libwfdcommonutils.so|14b3bd86703f2aca0abb1232d2304e626c1af644
-system_ext/lib64/libwfdconfigutils.so|6f1a3a862ddde4245ea58ad310101df620d3a00b
-system_ext/lib64/libwfddisplayconfig.so|5fd7bf7abaedfe890442f88183c49755b25c39aa
-system_ext/lib64/libwfdmminterface.so|3f16acefbe87741a5841c1c70cf74ff917299c4c
-system_ext/lib64/libwfdmmsink.so|8150b750357b606475521b491f78d566673f9888
-system_ext/lib64/libwfdnative.so;SYMLINK=system_ext/priv-app/WfdService/lib/arm64/libwfdnative.so|92ec61d464c07d9e9020cf413489cdc01fb19abc|3112f3492eb52db39ca1d091d9d25f64d625e670
-system_ext/lib64/libwfdrtsp.so|8181e44d7c1f722218fabd8fe3bf788454a3f586
-system_ext/lib64/libwfdsinksm.so|c4d68ecbe0accd24296c18444e5a82b6a24be8d8
-system_ext/lib64/libwfduibcinterface.so|dca32fe063bdba7ce3b131b16cf112b793ae03ad
-system_ext/lib64/libwfduibcsink.so|63ea93b1a6aec75a294baf50007270807a819e21
-system_ext/lib64/libwfduibcsinkinterface.so|39c123bd9a4d7a8fa317f8ed4d86972dcfab0423
-system_ext/lib64/libwfduibcsrc.so|5557f3bd58c37b7e3b28e13f2f86d55930b14ab6
-system_ext/lib64/libwfduibcsrcinterface.so|77cead9bf7b60384fe1e11dc2b25bd99af0b4608
-system_ext/priv-app/WfdService/WfdService.apk|7191da7d336f6018ee292af4e69167677b9f5bd1
# WiFi Display (vendor) - from PNX - RKQ1.200906.002
-vendor/bin/wfdhdcphalservice|c7a2d70190d8a90a8ed326af0add5cf7c99d1ab6
-vendor/bin/wifidisplayhalservice|414bb43e7f93d67d62ee7111ced4e55e065f6d8c
-vendor/etc/init/android.hardware.drm@1.1-service.wfdhdcp.rc|c266f08783a17f6583e3f22c85e55b0c200442ea
-vendor/etc/init/com.qualcomm.qti.wifidisplayhal@1.0-service.rc|576ce4393b7746b77a230745aa9e9ee3bd31b17d
-vendor/etc/seccomp_policy/wfdhdcphalservice.policy|a489ab323be4be2df3de9f84a6b5e6cef924f4c4
-vendor/etc/seccomp_policy/wfdvndservice.policy|b46f0c22a1f9b65c6750205e161c0a3f84ac716b
-vendor/etc/seccomp_policy/wifidisplayhalservice.policy|f113f27e0e301a18baf0ade08c23071a27c7dc52
vendor/lib/libFileMux_proprietary.so|e59edd4604a7c73147118161cab5b7ac6bb16c82
vendor/lib/libmmosal.so|57185feced72009af2df1b09117702c9fae7182b;MODULE_SUFFIX=_vendor
-vendor/lib/libmmrtpdecoder_proprietary.so|9232f505ea8f0c1e9f81a049c583fba32a450d73
-vendor/lib/libmmrtpencoder_proprietary.so|d8386b78c976d94867455c67dd10d63e8a343363
-vendor/lib/libwfdcodecv4l2_proprietary.so|70a2900804160bc53bb19c11e81278ffde0c5fee
vendor/lib/libwfdcommonutils_proprietary.so|12990e068e9ecb8d435bbb1370083ee6ca2fe63d
-vendor/lib/libwfdconfigutils_proprietary.so|1844d3b80f3a86605d566597bda285448be360c7
vendor/lib/libwfddisplayconfig_proprietary.so|fd73dda05415d2316eb46fb97635939a03107815
-vendor/lib/libwfdhdcpcp.so|7f0aefaf7efe250aff192b4b309be08b8e799d0d
-vendor/lib/libwfdhdcpservice_proprietary.so|80f7b95d883aafbdd66b2d72ea76ed2a9a8c21f4
-vendor/lib/libwfdmminterface_proprietary.so|3eb3455633d5814a5d7cddb0d95f9d45b7c05db2
vendor/lib/libwfdmmservice_proprietary.so|d98b728661708e1c63819b42bb4d9a01fa94ec6b
-vendor/lib/libwfdmmsrc_proprietary.so|2bbb574ed51e21a1eb70381cbf26558732fe3cec
-vendor/lib/libwfdmodulehdcpsession.so|957fc3335cd7f77b84206c0c90290f7b7f196f0e
-vendor/lib/libwfdrtsp_proprietary.so|13fed10a23969322562e2b88335738e7cace69a7
-vendor/lib/libwfdsessionmodule.so|e5a6989cdaabcf5481ee529e6fd48b623479e88d
-vendor/lib/libwfdsourcesession_proprietary.so|0732b86ffa78050b9b8a0ceaf50457734955eeae
-vendor/lib/libwfdsourcesm_proprietary.so|27c3f75f5b764175e8bd9721578164836c6f4dfb
-vendor/lib/libwfduibcinterface_proprietary.so|a722647a44d89d4aed1d89110b5c141069229759
-vendor/lib/libwfduibcsink_proprietary.so|1fca8e9556d209377c1860b4d829bb71450cfce0
-vendor/lib/libwfduibcsinkinterface_proprietary.so|64b802f12ffb30418a072d0ebf3c262a34c82e38
-vendor/lib/libwfduibcsrc_proprietary.so|b78df6ab7acb850f2adb875ccecb1a3c3539f4d2
-vendor/lib/libwfduibcsrcinterface_proprietary.so|91837ba6b6692e1d553ece3aa4469dd64f164a04
vendor/lib/libwfdutils_proprietary.so|cae4c266704da4ce15b59c13f57ccf8f1391b699
-vendor/lib/vendor.qti.hardware.wifidisplaysession@1.0.so|fdba1b3c11ace4b0415be4e5944cdb288cd35f58;MODULE_SUFFIX=_vendor
-vendor/lib/vendor.qti.hardware.wifidisplaysessionl@1.0-halimpl.so|044c6cfd4bc603e4aa372ab1a3d287a8d8e5fc48
-
-# WiFi Display (vendor) - from lemonadep - TP1A.220624.003
-vendor/etc/wfdconfig.xml|4f863ac9a71bafff8afc14e8fab26af979bbb1d6
diff --git a/rootdir/Android.bp b/rootdir/Android.bp
deleted file mode 100644
index 9648750..0000000
--- a/rootdir/Android.bp
+++ /dev/null
@@ -1,10 +0,0 @@
-//
-// Copyright (C) 2022 The LineageOS Project
-// SPDX-License-Identifier: Apache-2.0
-//
-prebuilt_etc {
- name: "ueventd.tama.rc",
- filename: "ueventd.rc",
- src: "etc/ueventd.tama.rc",
- device_specific: true,
-}
diff --git a/rootdir/etc/fstab.qcom b/rootdir/etc/fstab.qcom
index abe2117..032a596 100644
--- a/rootdir/etc/fstab.qcom
+++ b/rootdir/etc/fstab.qcom
@@ -53,4 +53,4 @@
# and fails if it does not find it.
/dev/block/bootdevice/by-name/frp /persistent emmc defaults defaults
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
-/dev/block/zram0 none swap defaults zramsize=25%
+/dev/block/zram0 none swap defaults zramsize=3221225472
diff --git a/rootdir/etc/init.qcom.power.rc b/rootdir/etc/init.qcom.power.rc
index 0f46e69..c593718 100644
--- a/rootdir/etc/init.qcom.power.rc
+++ b/rootdir/etc/init.qcom.power.rc
@@ -61,12 +61,18 @@ on init
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "schedutil"
write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us 20000
- write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 576000
+ write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq 1132800
+ write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load 90
+ write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/pl 1
+ write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000
# Configure governor settings for big cluster
write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor "schedutil"
write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us 20000
+ write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_freq 1612800
+ write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/hispeed_load 90
+ write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/pl 1
write /sys/devices/system/cpu/cpu4cpufreq/scaling_min_freq 825000
# Set default schedTune value for foreground/top-app
@@ -96,6 +102,10 @@ on boot
# locks and process hints until it doesn't exists or it is empty.
setprop vendor.post_boot.parsed 1
+ # Increase bms temperature
+ write /sys/class/power_supply/bms/temp_warm 500
+ write /sys/class/power_supply/bms/temp_hot 550
+
on post-fs
# Disable sched autogroup
write /proc/sys/kernel/sched_autogroup_enabled 0
@@ -204,15 +214,15 @@ on enable-low-power
write /sys/class/devfreq/soc:qcom,l3-cdsp/governor "userspace"
chown system /sys/class/devfreq/soc:qcom,l3-cdsp/userspace/set_freq
- # Gold L3 ratio ceil
- write /sys/class/devfreq/soc:qcom,l3-cpu4/mem_latency/ratio_ceil 4000
-
+ # Enable compute governor for mincpubw
write /sys/class/devfreq/soc:qcom,mincpubw/governor "compute"
write /sys/class/devfreq/soc:qcom,mincpubw/polling_interval 10
# Set cpuset parameters
write /dev/cpuset/background/cpus 0-1
write /dev/cpuset/system-background/cpus 0-3
+ write /dev/cpuset/audio-app/cpus 0-3
+ write /dev/cpuset/camera-daemon/cpus 0-3
write /dev/cpuset/foreground/boost/cpus 0-3,6-7
write /dev/cpuset/foreground/cpus 0-3,6-7
write /dev/cpuset/top-app/cpus 0-7
@@ -243,9 +253,6 @@ on enable-low-power
write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 1
write /sys/devices/platform/soc/${ro.boot.bootdevice}/hibern8_on_idle_enable 1
- write /proc/sys/vm/swappiness 100
- write /proc/sys/vm/watermark_scale_factor 120
-
# Enable PowerHAL hint processing
setprop vendor.powerhal.init 1
@@ -253,6 +260,7 @@ on enable-low-power
on property:sys.boot_completed=1
trigger enable-low-power
+ write /sys/block/mmcblk0/queue/read_ahead_kb 4096
write /sys/block/sda/queue/read_ahead_kb 512
write /sys/block/sdb/queue/read_ahead_kb 512
write /sys/block/sdc/queue/read_ahead_kb 512
diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc
index 8656e82..3d2ed55 100644
--- a/rootdir/etc/init.qcom.rc
+++ b/rootdir/etc/init.qcom.rc
@@ -62,9 +62,10 @@ on early-init
write /sys/devices/platform/soc/soc:fpc1145/uevent add
- # change the compression algorithm for zRAM
+ # zRAM
write /sys/block/zram0/comp_algorithm lz4
write /proc/sys/vm/page-cluster 0
+ write /proc/sys/vm/swappiness 100
on init
# Support legacy paths
@@ -97,8 +98,6 @@ on init
# Bluetooth address setting
setprop ro.vendor.bt.bdaddr_path "/data/vendor/etc/bluetooth_bdaddr"
- write /proc/sys/vm/swappiness 100
-
on late-init
setprop vendor.keyprovd.suntory.prov "false"
diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc
index cb75446..d90477a 100644
--- a/rootdir/etc/ueventd.qcom.rc
+++ b/rootdir/etc/ueventd.qcom.rc
@@ -239,6 +239,9 @@ firmware_directories /vendor/firmware_mnt/image/
/dev/tsc_mux0 0660 media media
/dev/tsc_ci0 0660 media media
+# Charger
+/sys/class/power_supply/battery charging_enabled 0660 system system
+
# sensors
/dev/sensors 0660 system system
/sys/devices/i2c-12/12-* pollrate_ms 0664 system system
@@ -301,14 +304,6 @@ firmware_directories /vendor/firmware_mnt/image/
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/gro_flush_timeout 0660 system system
/sys/devices/virtual/net/bond0 queues/rx-0/rps_cpus 0660 system system
-#nfc permissions
-#/dev/nfc-nci 0660 nfc nfc
-#/dev/nq-nci 0660 nfc nfc
-#/dev/assd 0660 nfc nfc
-
-# NFC
-/dev/pn553 0660 nfc nfc
-
# UIO devices
/dev/uio0 0660 system system
/dev/uio1 0660 system system
diff --git a/rootdir/etc/ueventd.tama.rc b/rootdir/etc/ueventd.tama.rc
deleted file mode 100644
index 73d5a17..0000000
--- a/rootdir/etc/ueventd.tama.rc
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# Copyright (C) 2022-2023 The LineageOS Project
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-# Charger
-/sys/class/power_supply/battery charging_enabled 0660 system system
-
diff --git a/sepolicy/private/isolated_app.te b/sepolicy/private/isolated_app.te
new file mode 100644
index 0000000..1b9d684
--- /dev/null
+++ b/sepolicy/private/isolated_app.te
@@ -0,0 +1 @@
+dontaudit isolated_app content_capture_service:service_manager find;
\ No newline at end of file
diff --git a/sepolicy/private/odrefresh.te b/sepolicy/private/odrefresh.te
new file mode 100644
index 0000000..89ebef5
--- /dev/null
+++ b/sepolicy/private/odrefresh.te
@@ -0,0 +1 @@
+allow odrefresh self:capability kill;
diff --git a/sepolicy/private/radio.te b/sepolicy/private/radio.te
new file mode 100644
index 0000000..330394e
--- /dev/null
+++ b/sepolicy/private/radio.te
@@ -0,0 +1 @@
+allow radio vendor_dpmd_socket:sock_file write;
diff --git a/sepolicy/private/system_server.te b/sepolicy/private/system_server.te
new file mode 100644
index 0000000..3bdf438
--- /dev/null
+++ b/sepolicy/private/system_server.te
@@ -0,0 +1 @@
+allow system_server app_zygote:process getpgid;
diff --git a/sepolicy/private/vold_prepare_subdirs.te b/sepolicy/private/vold_prepare_subdirs.te
new file mode 100644
index 0000000..6a2cc72
--- /dev/null
+++ b/sepolicy/private/vold_prepare_subdirs.te
@@ -0,0 +1,2 @@
+#============= vold_prepare_subdirs ==============
+allow vold_prepare_subdirs self:capability { kill sys_admin };
diff --git a/sepolicy/vendor/blkid_untrusted.te b/sepolicy/vendor/blkid_untrusted.te
new file mode 100644
index 0000000..4429139
--- /dev/null
+++ b/sepolicy/vendor/blkid_untrusted.te
@@ -0,0 +1 @@
+allow blkid_untrusted blkid_untrusted:capability { sys_admin };
diff --git a/sepolicy/vendor/dontaudit.te b/sepolicy/vendor/dontaudit.te
new file mode 100644
index 0000000..ce78499
--- /dev/null
+++ b/sepolicy/vendor/dontaudit.te
@@ -0,0 +1,12 @@
+# Ignore harmless QCOM denials
+dontaudit {
+ init
+ priv_app
+} {
+ bt_firmware_file
+ firmware_file
+}:filesystem getattr;
+
+# Apps are no longer allowed open access to /dev/ashmem, unless they
+# target API level < Q.
+dontaudit untrusted_app ashmem_device:chr_file open;
\ No newline at end of file
diff --git a/sepolicy/vendor/file.te b/sepolicy/vendor/file.te
index b6f5737..8a62289 100644
--- a/sepolicy/vendor/file.te
+++ b/sepolicy/vendor/file.te
@@ -1,6 +1,9 @@
# Audio
type audio_hweffect_device, file_type;
+# files
+type blkio_file, file_type;
+
# Camera
type hal_camera_somc_socket, file_type;
type sony_camera_device, file_type;
diff --git a/sepolicy/vendor/file_contexts b/sepolicy/vendor/file_contexts
index 9f1aedc..d2d1f08 100644
--- a/sepolicy/vendor/file_contexts
+++ b/sepolicy/vendor/file_contexts
@@ -11,6 +11,9 @@
# Dev
/dev/socket/tad u:object_r:tad_socket:s0
+# Block IO
+/dev/blkio(/.*)? u:object_r:blkio_file:s0
+
# DATA
/data/vendor/etc/wlan.* u:object_r:wifi_vendor_data_file:s0
/data/vendor/etc/bluetooth.* u:object_r:bluetooth_vendor_data_file:s0
@@ -44,7 +47,9 @@
/mnt/idd/startup-prober(/.*)? u:object_r:startupprober_file:s0
# NFC
-/dev/pn553 u:object_r:nfc_device:s0
+/(vendor|system/vendor)/bin/hw/android.hardware.nfc@1.1-service.cxd22xx u:object_r:hal_nfc_default_exec:s0
+/dev/bd7602-i2c u:object_r:nfc_device:s0
+/dev/cxd224x-i2c u:object_r:nfc_device:s0
# PERSIST
/mnt/vendor/persist/credmgr/credmgr2.db u:object_r:persist_credmgr_file:s0
@@ -83,7 +88,7 @@
# Vendor HALs
/(vendor|system/vendor)/bin/hw/fpc_fingerprint@2\.1_HIDL-service u:object_r:hal_fingerprint_default_exec:s0
-/(vendor|system/vendor)/bin/hw/vendor\.lineage\.touch@1\.0-service\.tama u:object_r:hal_lineage_touch_default_exec:s0
+/(vendor|system/vendor)/bin/hw/vendor\.lineage\.touch-service\.tama u:object_r:hal_lineage_touch_default_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.semc\.hardware\.secd@1\.0-service u:object_r:hal_secd_default_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.semc\.system\.idd@1\.0-service u:object_r:hal_idd_default_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.somc\.hardware\.camera\.provider@1\.0-service u:object_r:hal_camera_default_exec:s0
diff --git a/sepolicy/vendor/flags_health_check.te b/sepolicy/vendor/flags_health_check.te
new file mode 100644
index 0000000..c7bcea0
--- /dev/null
+++ b/sepolicy/vendor/flags_health_check.te
@@ -0,0 +1,2 @@
+# Please shut up.
+dontaudit flags_health_check property_type:file { getattr open read map };
diff --git a/sepolicy/vendor/fsck.te b/sepolicy/vendor/fsck.te
index 73cce87..06ae33d 100644
--- a/sepolicy/vendor/fsck.te
+++ b/sepolicy/vendor/fsck.te
@@ -4,3 +4,6 @@ allow fsck { appslog_block_device diag_block_device qnovo_block_device }:blk_fil
# Allow fsck to getattr on idd_rca_dir, idd_root_dir, idd_data_file, qns_data_file
allow fsck { idd_rca_dir idd_root_dir idd_data_file qns_data_file }:dir getattr;
+allow fsck self:capability sys_admin;
+allow fsck self:capability kill;
+dontaudit fsck self:capability { dac_override dac_read_search };
diff --git a/sepolicy/vendor/genfs_contexts b/sepolicy/vendor/genfs_contexts
index e0cd715..6d0e25c 100644
--- a/sepolicy/vendor/genfs_contexts
+++ b/sepolicy/vendor/genfs_contexts
@@ -20,6 +20,7 @@ genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.q
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pmi8998@2:qcom,qpnp-smb2/jeita_wlc_thresh_hot u:object_r:sysfs_batteryinfo:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pmi8998@2:qcom,qpnp-smb2/jeita_wlc_thresh_warm u:object_r:sysfs_batteryinfo:s0
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pmi8998@2:qpnp,fg/battery_soc u:object_r:sysfs_batteryinfo:s0
+genfscon sysfs /devices/platform/soc/a88000.i2c/i2c-0/0-0061/power_supply/wireless/type u:object_r:sysfs_batteryinfo:s0
genfscon sysfs /devices/virtual/switch/lid/state u:object_r:sysfs_switch_lid:s0
diff --git a/sepolicy/vendor/hal_graphics_composer_default.te b/sepolicy/vendor/hal_graphics_composer_default.te
new file mode 100644
index 0000000..c9df45d
--- /dev/null
+++ b/sepolicy/vendor/hal_graphics_composer_default.te
@@ -0,0 +1 @@
+get_prop(hal_graphics_composer_default, bootanim_system_prop)
diff --git a/sepolicy/vendor/hal_health_default.te b/sepolicy/vendor/hal_health_default.te
new file mode 100644
index 0000000..ce030d1
--- /dev/null
+++ b/sepolicy/vendor/hal_health_default.te
@@ -0,0 +1 @@
+allow hal_health_default sysfs:file { read };
diff --git a/sepolicy/vendor/ims.te b/sepolicy/vendor/ims.te
new file mode 100644
index 0000000..d0609dd
--- /dev/null
+++ b/sepolicy/vendor/ims.te
@@ -0,0 +1 @@
+allow ims diag_device:chr_file rw_file_perms;
diff --git a/sepolicy/vendor/init.te b/sepolicy/vendor/init.te
index dffcd8f..194b7b2 100644
--- a/sepolicy/vendor/init.te
+++ b/sepolicy/vendor/init.te
@@ -8,3 +8,5 @@ allow init hal_fpc_fingerprint_socket:sock_file create_file_perms;
allow init tad_socket:sock_file create_file_perms;
allow init qns_data_file:dir mounton;
+
+allow init socket_device:sock_file { unlink setattr create };
diff --git a/sepolicy/vendor/isolated_app.te b/sepolicy/vendor/isolated_app.te
new file mode 100644
index 0000000..2c4640b
--- /dev/null
+++ b/sepolicy/vendor/isolated_app.te
@@ -0,0 +1 @@
+allow isolated_app app_data_file:file { setattr };
diff --git a/sepolicy/vendor/kernel.te b/sepolicy/vendor/kernel.te
index 9ba3537..6d25ca9 100644
--- a/sepolicy/vendor/kernel.te
+++ b/sepolicy/vendor/kernel.te
@@ -1 +1,4 @@
allow kernel debugfs_wlan:dir search;
+
+allow kernel kernel:capability { kill };
+allow kernel self:socket create;
diff --git a/sepolicy/vendor/lmdk.te b/sepolicy/vendor/lmdk.te
new file mode 100644
index 0000000..fa9620e
--- /dev/null
+++ b/sepolicy/vendor/lmdk.te
@@ -0,0 +1 @@
+allow lmkd lmkd:capability { sys_admin };
diff --git a/sepolicy/vendor/netutils_wrapper.te b/sepolicy/vendor/netutils_wrapper.te
new file mode 100644
index 0000000..7900c24
--- /dev/null
+++ b/sepolicy/vendor/netutils_wrapper.te
@@ -0,0 +1,3 @@
+# disable logspam
+dontaudit netutils_wrapper vendor_file:file r_file_perms;
+dontaudit netutils_wrapper { netutils_wrapper netutils_wrapper }:capability sys_admin;
diff --git a/sepolicy/vendor/qti_init_shell.te b/sepolicy/vendor/qti_init_shell.te
index b8643cd..c391e21 100644
--- a/sepolicy/vendor/qti_init_shell.te
+++ b/sepolicy/vendor/qti_init_shell.te
@@ -1,2 +1,3 @@
allow qti_init_shell proc_sched:file w_file_perms;
allow qti_init_shell sysfs:file { setattr write };
+allow qti_init_shell { sysfs_leds sysfs }:file { setattr write };
\ No newline at end of file
diff --git a/sepolicy/vendor/rild.te b/sepolicy/vendor/rild.te
index ec52115..9ee27d2 100644
--- a/sepolicy/vendor/rild.te
+++ b/sepolicy/vendor/rild.te
@@ -1,6 +1,9 @@
# Allow rild to find hal_secd_hwservice
allow rild hal_secd_hwservice:hwservice_manager find;
+allow rild diag_device:chr_file rw_file_perms;
+allow rild diag_device:chr_file { read write };
+
# Allow rild to add hal_somc_radio_hwservice
add_hwservice(rild, hal_somc_radio_hwservice)
diff --git a/sepolicy/vendor/seapp_contexts b/sepolicy/vendor/seapp_contexts
index 6cca5ae..8b07899 100644
--- a/sepolicy/vendor/seapp_contexts
+++ b/sepolicy/vendor/seapp_contexts
@@ -1 +1,3 @@
user=_app seinfo=platform name=com.sony.opentelephony.modemconfig isPrivApp=true domain=modemconfig_app type=app_data_file
+
+user=bluetooth seinfo=default name=com.android.bluetooth domain=bluetooth type=bluetooth_data_file levelFrom=all isPrivApp=true
diff --git a/sepolicy/vendor/surfaceflinger.te b/sepolicy/vendor/surfaceflinger.te
new file mode 100644
index 0000000..02fa07f
--- /dev/null
+++ b/sepolicy/vendor/surfaceflinger.te
@@ -0,0 +1 @@
+allow surfaceflinger hal_graphics_composer_default:dir search;
diff --git a/sepolicy/vendor/system_app.te b/sepolicy/vendor/system_app.te
new file mode 100644
index 0000000..b01ec4e
--- /dev/null
+++ b/sepolicy/vendor/system_app.te
@@ -0,0 +1,21 @@
+# allow system apps to read battery status
+r_dir_file(system_app, sysfs_battery_supply)
+
+# web browser crashes
+allow system_server webview_zygote:process setsched;
+allow system_server app_zygote:process setsched;
+
+# allow system app to access zram sysfs nodes
+allow system_app sysfs_zram:dir search;
+allow system_app sysfs_zram:file r_file_perms;
+
+# allow system app to read /proc/pagetypeinfo
+allow system_app proc_pagetypeinfo:file r_file_perms;
+
+# allow system app to read vmallocinfo
+allow system_app proc_vmallocinfo:file r_file_perms;
+
+dontaudit system_app {
+ apex_service
+ system_suspend_control_service
+}:service_manager find;
diff --git a/sepolicy/vendor/system_server.te b/sepolicy/vendor/system_server.te
new file mode 100644
index 0000000..55f7bfe
--- /dev/null
+++ b/sepolicy/vendor/system_server.te
@@ -0,0 +1,3 @@
+allow system_server webview_zygote:process setsched;
+allow system_server app_zygote:process setsched;
+
diff --git a/sepolicy/vendor/thermal-engine.te b/sepolicy/vendor/thermal-engine.te
index 7d72657..93eb22c 100644
--- a/sepolicy/vendor/thermal-engine.te
+++ b/sepolicy/vendor/thermal-engine.te
@@ -4,3 +4,5 @@ allow thermal-engine sysfs_devfreq:dir r_dir_perms;
r_dir_file(thermal-engine, sysfs)
get_prop(thermal-engine, hwservicemanager_prop)
+
+binder_call(thermal-engine, hwservicemanager)
diff --git a/sepolicy/vendor/toolbox.te b/sepolicy/vendor/toolbox.te
new file mode 100644
index 0000000..2bf13c3
--- /dev/null
+++ b/sepolicy/vendor/toolbox.te
@@ -0,0 +1 @@
+allow toolbox self:capability kill;
\ No newline at end of file
diff --git a/sepolicy/vendor/vendor_dpmd.te b/sepolicy/vendor/vendor_dpmd.te
new file mode 100644
index 0000000..f20a635
--- /dev/null
+++ b/sepolicy/vendor/vendor_dpmd.te
@@ -0,0 +1 @@
+allow vendor_dpmd vendor_dpmd:capability sys_admin;
diff --git a/sepolicy/vendor/vendor_init.te b/sepolicy/vendor/vendor_init.te
index d144add..ca3a7bf 100644
--- a/sepolicy/vendor/vendor_init.te
+++ b/sepolicy/vendor/vendor_init.te
@@ -14,6 +14,8 @@ allow vendor_init block_device:lnk_file relabelfrom;
allow vendor_init tad_block_device:blk_file setattr;
allow vendor_init tad_block_device:lnk_file relabelto;
+allow vendor_init blkio_file:file w_file_perms;
+
# Allow vendor init to set cust_system_prop
set_prop(vendor_init, cust_system_prop)
@@ -22,3 +24,4 @@ allow vendor_init sysfs_ssr_toggle:file w_file_perms;
allow vendor_init proc_sched:file w_file_perms;
allow vendor_init proc_watermark_scale_factor:file w_file_perms;
+allow vendor_init self:capability kill;
diff --git a/sepolicy/vendor/vold.te b/sepolicy/vendor/vold.te
new file mode 100644
index 0000000..4617915
--- /dev/null
+++ b/sepolicy/vendor/vold.te
@@ -0,0 +1 @@
+allow vold sysfs_mmc_host:file { write };
diff --git a/sepolicy/vendor/wvkbd.te b/sepolicy/vendor/wvkbd.te
index 0cbd1fd..eef4d4d 100644
--- a/sepolicy/vendor/wvkbd.te
+++ b/sepolicy/vendor/wvkbd.te
@@ -7,6 +7,7 @@ get_prop(wvkbd, hwservicemanager_prop)
get_prop(wvkbd, vendor_tee_listener_prop)
binder_call(wvkbd, hal_secd_default)
+binder_call(wvkbd, hwservicemanager)
allow wvkbd hal_secd_hwservice:hwservice_manager find;
diff --git a/sepolicy/vendor/zygote.te b/sepolicy/vendor/zygote.te
new file mode 100644
index 0000000..9c4ec15
--- /dev/null
+++ b/sepolicy/vendor/zygote.te
@@ -0,0 +1 @@
+allow zygote self:capability kill;
diff --git a/system.prop b/system.prop
index 3e38aa1..5968822 100644
--- a/system.prop
+++ b/system.prop
@@ -26,10 +26,14 @@ ro.vendor.use_data_netmgrd=true
# Graphics
debug.sf.enable_hwc_vds=1
debug.sf.latch_unsignaled=1
+debug.sf.disable_backpressure=1
# Media
media.settings.xml=/vendor/etc/media_profiles_vendor.xml
+# NFC
+ro.nfc.port=I2C
+
# QC framework value-adds
ro.vendor.qti.va_aosp.support=1
diff --git a/touch/Android.bp b/touch/Android.bp
index 12318cf..b01844b 100644
--- a/touch/Android.bp
+++ b/touch/Android.bp
@@ -1,13 +1,13 @@
//
-// Copyright (C) 2021 The LineageOS Project
+// SPDX-FileCopyrightText: 2025 The LineageOS Project
// SPDX-License-Identifier: Apache-2.0
//
cc_binary {
- name: "vendor.lineage.touch@1.0-service.tama",
- init_rc: ["vendor.lineage.touch@1.0-service.tama.rc"],
- vintf_fragments: ["vendor.lineage.touch@1.0-service.tama.xml"],
- defaults: ["hidl_defaults"],
+ name: "vendor.lineage.touch-service.tama",
+ init_rc: ["vendor.lineage.touch-service.tama.rc"],
+ vintf_fragments: ["vendor.lineage.touch-service.tama.xml"],
+ vendor: true,
relative_install_path: "hw",
srcs: [
"GloveMode.cpp",
@@ -15,10 +15,9 @@ cc_binary {
],
shared_libs: [
"libbase",
- "libbinder",
- "libhidlbase",
+ "liblog",
+ "libbinder_ndk",
"libutils",
- "vendor.lineage.touch@1.0",
+ "vendor.lineage.touch-V1-ndk",
],
- vendor: true,
}
diff --git a/touch/GloveMode.cpp b/touch/GloveMode.cpp
index 63e3ef4..5799adc 100644
--- a/touch/GloveMode.cpp
+++ b/touch/GloveMode.cpp
@@ -1,43 +1,51 @@
/*
- * Copyright (C) 2021-2022 The LineageOS Project
+ * SPDX-FileCopyrightText: 2025 The LineageOS Project
* SPDX-License-Identifier: Apache-2.0
*/
-#define LOG_TAG "GloveModeService"
-
#include "GloveMode.h"
-#include
-#include
#include
-namespace vendor {
-namespace lineage {
-namespace touch {
-namespace V1_0 {
-namespace implementation {
+namespace {
const std::string kGloveModePath = "/sys/devices/common_touch/touch/glove_mode";
-Return GloveMode::isEnabled() {
+} // anonymous namespace
+
+namespace aidl {
+namespace vendor {
+namespace lineage {
+namespace touch {
+
+ndk::ScopedAStatus GloveMode::getEnabled(bool* _aidl_return) {
std::ifstream file(kGloveModePath);
+
+ if (file.fail()) {
+ return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
+ }
+
bool enabled;
file >> enabled;
- return enabled;
+ *_aidl_return = enabled;
+ return ndk::ScopedAStatus::ok();
}
-Return GloveMode::setEnabled(bool enabled) {
+ndk::ScopedAStatus GloveMode::setEnabled(bool enable) {
std::ofstream file(kGloveModePath);
- file << enabled << std::flush;
+ if (file.fail()) {
+ return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
+ }
- return !file.fail();
+ file << enable << std::flush;
+
+ return ndk::ScopedAStatus::ok();
}
-} // namespace implementation
-} // namespace V1_0
} // namespace touch
} // namespace lineage
} // namespace vendor
+} // namespace aidl
diff --git a/touch/GloveMode.h b/touch/GloveMode.h
index 0475688..04c7fa0 100644
--- a/touch/GloveMode.h
+++ b/touch/GloveMode.h
@@ -1,29 +1,24 @@
/*
- * Copyright (C) 2021 The LineageOS Project
+ * SPDX-FileCopyrightText: 2025 The LineageOS Project
* SPDX-License-Identifier: Apache-2.0
*/
#pragma once
-#include
+#include
+namespace aidl {
namespace vendor {
namespace lineage {
namespace touch {
-namespace V1_0 {
-namespace implementation {
-using ::android::hardware::Return;
-
-class GloveMode : public IGloveMode {
+class GloveMode : public BnGloveMode {
public:
- // Methods from ::vendor::lineage::touch::V1_0::IGloveMode follow.
- Return isEnabled() override;
- Return setEnabled(bool enabled) override;
+ ndk::ScopedAStatus getEnabled(bool* _aidl_return) override;
+ ndk::ScopedAStatus setEnabled(bool enabled) override;
};
-} // namespace implementation
-} // namespace V1_0
} // namespace touch
} // namespace lineage
} // namespace vendor
+} // namespace aidl
diff --git a/touch/service.cpp b/touch/service.cpp
index 0b443a2..96263e0 100644
--- a/touch/service.cpp
+++ b/touch/service.cpp
@@ -1,32 +1,27 @@
/*
- * Copyright (C) 2021 The LineageOS Project
+ * SPDX-FileCopyrightText: 2025 The LineageOS Project
* SPDX-License-Identifier: Apache-2.0
*/
-#define LOG_TAG "vendor.lineage.touch@1.0-service.tama"
-
-#include
-#include
+#define LOG_TAG "vendor.lineage.touch-service.tama"
#include "GloveMode.h"
-using ::vendor::lineage::touch::V1_0::IGloveMode;
-using ::vendor::lineage::touch::V1_0::implementation::GloveMode;
+#include
+#include
+#include
+
+using aidl::vendor::lineage::touch::GloveMode;
int main() {
- android::sp gloveMode = new GloveMode();
+ ABinderProcess_setThreadPoolMaxThreadCount(0);
+ std::shared_ptr glovemode = ndk::SharedRefBase::make();
- android::hardware::configureRpcThreadpool(1, true /*callerWillJoin*/);
+ const std::string instance = std::string(GloveMode::descriptor) + "/default";
+ binder_status_t status =
+ AServiceManager_addService(glovemode->asBinder().get(), instance.c_str());
+ CHECK_EQ(status, STATUS_OK) << "Failed to add service " << instance << " " << status;
- if (gloveMode->registerAsService() != android::OK) {
- LOG(ERROR) << "Cannot register touchscreen glove HAL service.";
- return 1;
- }
-
- LOG(INFO) << "Touchscreen HAL service ready.";
-
- android::hardware::joinRpcThreadpool();
-
- LOG(ERROR) << "Touchscreen HAL service failed to join thread pool.";
- return 1;
+ ABinderProcess_joinThreadPool();
+ return EXIT_FAILURE; // should not reach
}
diff --git a/touch/vendor.lineage.touch-service.tama.rc b/touch/vendor.lineage.touch-service.tama.rc
new file mode 100644
index 0000000..d66a927
--- /dev/null
+++ b/touch/vendor.lineage.touch-service.tama.rc
@@ -0,0 +1,4 @@
+service vendor.touch-hal /vendor/bin/hw/vendor.lineage.touch-service.tama
+ class hal
+ user system
+ group system
diff --git a/touch/vendor.lineage.touch-service.tama.xml b/touch/vendor.lineage.touch-service.tama.xml
new file mode 100644
index 0000000..45c175f
--- /dev/null
+++ b/touch/vendor.lineage.touch-service.tama.xml
@@ -0,0 +1,7 @@
+
+
+ vendor.lineage.touch
+ 1
+ IGloveMode/default
+
+
diff --git a/touch/vendor.lineage.touch@1.0-service.tama.rc b/touch/vendor.lineage.touch@1.0-service.tama.rc
deleted file mode 100644
index 1960b88..0000000
--- a/touch/vendor.lineage.touch@1.0-service.tama.rc
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# Copyright (C) 2021-2022 The LineageOS Project
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-service vendor.touch-hal-1-0 /vendor/bin/hw/vendor.lineage.touch@1.0-service.tama
- class hal
- user system
- group system
diff --git a/touch/vendor.lineage.touch@1.0-service.tama.xml b/touch/vendor.lineage.touch@1.0-service.tama.xml
deleted file mode 100644
index 0b0f2a8..0000000
--- a/touch/vendor.lineage.touch@1.0-service.tama.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
- vendor.lineage.touch
- hwbinder
- 1.0
-
- IGloveMode
- default
-
-
-
diff --git a/vendor.prop b/vendor.prop
index 0650017..ec6f5a2 100644
--- a/vendor.prop
+++ b/vendor.prop
@@ -126,7 +126,7 @@ ro.hardware.egl=adreno
ro.hardware.vulkan=sdm845
ro.opengles.version=196610
persist.demo.hdmirotationlock=false
-persist.sys.sf.native_mode=0
+persist.sys.sf.native_mode=2
ro.surface_flinger.enable_frame_rate_override=false
ro.surface_flinger.has_wide_color_display=true
ro.surface_flinger.has_HDR_display=true