diff --git a/Android.mk b/Android.mk
index 3a1e4a2..7263491 100644
--- a/Android.mk
+++ b/Android.mk
@@ -30,6 +30,16 @@ $(DSP_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT)
+IMS_LIBS := libimscamera_jni.so libimsmedia_jni.so
+IMS_SYMLINKS := $(addprefix $(TARGET_OUT_SYSTEM_EXT_APPS_PRIVILEGED)/ims/lib/arm64/,$(notdir $(IMS_LIBS)))
+$(IMS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
+ @echo "IMS lib link: $@"
+ @mkdir -p $(dir $@)
+ @rm -rf $@
+ $(hide) ln -sf /system_ext/lib64/$(notdir $@) $@
+
+ALL_DEFAULT_INSTALLED_MODULES += $(IMS_SYMLINKS)
+
WCNSS_INI_SYMLINK := $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini
$(WCNSS_INI_SYMLINK): $(LOCAL_INSTALLED_MODULE)
@echo "WCNSS config ini link: $@"
diff --git a/common.mk b/common.mk
index 644a872..86c805d 100644
--- a/common.mk
+++ b/common.mk
@@ -353,8 +353,7 @@ PRODUCT_PACKAGES += \
libqti_vndfwk_detect.vendor
PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/configs/qti_whitelist.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/sysconfig/qti_whitelist.xml \
- $(LOCAL_PATH)/permissions/privapp-permissions-qti.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-qti.xml \
+ $(LOCAL_PATH)/configs/qti_whitelist.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/sysconfig/qti_whitelist.xml \
$(LOCAL_PATH)/permissions/system_ext-privapp-permissions-qti.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/privapp-permissions-qti.xml
# Radio
diff --git a/extract-files.sh b/extract-files.sh
index 02c4ba1..5ec7500 100755
--- a/extract-files.sh
+++ b/extract-files.sh
@@ -23,6 +23,20 @@ source "${HELPER}"
function blob_fixup() {
case "${1}" in
+ system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.0-java.xml)
+ ;&
+ system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.1-java.xml)
+ ;&
+ system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.2-java.xml)
+ ;&
+ system_ext/etc/permissions/qcrilhook.xml)
+ ;&
+ system_ext/etc/permissions/telephonyservice.xml)
+ sed -i "s/\/product\/framework\//\/system_ext\/framework\//g" "${2}"
+ ;;
+ system_ext/lib64/lib-imsvideocodec.so)
+ grep -q "libgui_shim.so" "${2}" || "${PATCHELF}" --add-needed "libgui_shim.so" "${2}"
+ ;;
vendor/bin/pm-service)
grep -q libutils-v33.so "${2}" || "${PATCHELF}" --add-needed "libutils-v33.so" "${2}"
;;
@@ -36,9 +50,6 @@ function blob_fixup() {
sed -i "s/\/system\/bin\/sony-modem-switcher/\/vendor\/bin\/sony-modem-switcher/" "${2}"
sed -i -r 's/persist\.somc\.cust\.modem(0|1)/persist.vendor.somc.sim\1/' "${2}"
;;
- product/lib64/lib-imsvideocodec.so)
- grep -q "libgui_shim.so" "${2}" || "${PATCHELF}" --add-needed "libgui_shim.so" "${2}"
- ;;
esac
}
diff --git a/permissions/privapp-permissions-qti.xml b/permissions/privapp-permissions-qti.xml
deleted file mode 100644
index 8b43ad6..0000000
--- a/permissions/privapp-permissions-qti.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/permissions/system_ext-privapp-permissions-qti.xml b/permissions/system_ext-privapp-permissions-qti.xml
index a534f41..e7c1be4 100644
--- a/permissions/system_ext-privapp-permissions-qti.xml
+++ b/permissions/system_ext-privapp-permissions-qti.xml
@@ -28,8 +28,26 @@ It allows additional grants on top of privapp-permissions-platform.xml
-->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/proprietary-files.txt b/proprietary-files.txt
index bf3ee24..26fd193 100644
--- a/proprietary-files.txt
+++ b/proprietary-files.txt
@@ -717,58 +717,58 @@ vendor/lib64/libprotobuf-c-idd.so
vendor/lib64/vendor.semc.system.idd@1.0.so
# IMS
-product/app/uceShimService/uceShimService.apk
-product/etc/permissions/com.qualcomm.qti.imscmservice-V2.0-java.xml
-product/etc/permissions/com.qualcomm.qti.imscmservice-V2.1-java.xml
-product/etc/permissions/com.qualcomm.qti.imscmservice-V2.2-java.xml
-product/framework/com.qualcomm.qti.imscmservice-V2.0-java.jar
-product/framework/com.qualcomm.qti.imscmservice-V2.1-java.jar
-product/framework/com.qualcomm.qti.imscmservice-V2.2-java.jar
-product/lib/com.qualcomm.qti.imscmservice@1.0.so
-product/lib/com.qualcomm.qti.imscmservice@2.0.so
-product/lib/com.qualcomm.qti.imscmservice@2.1.so
-product/lib/com.qualcomm.qti.imscmservice@2.2.so
-product/lib/com.qualcomm.qti.uceservice@2.0.so
-product/lib/com.qualcomm.qti.uceservice@2.1.so
-product/lib/lib-imsvideocodec.so
-product/lib/lib-imsvt.so
-product/lib/lib-imsvtextutils.so
-product/lib/lib-imsvtutils.so
-product/lib/libdiag_system.so
-product/lib/libimscamera_jni.so
-product/lib/libimsmedia_jni.so
-product/lib/vendor.qti.hardware.radio.ims@1.0.so
-product/lib/vendor.qti.hardware.radio.ims@1.1.so
-product/lib/vendor.qti.hardware.radio.ims@1.2.so
-product/lib/vendor.qti.hardware.radio.ims@1.3.so
-product/lib/vendor.qti.hardware.radio.ims@1.4.so
-product/lib/vendor.qti.ims.callinfo@1.0.so
-product/lib/vendor.qti.ims.rcsconfig@1.0.so
-product/lib/vendor.qti.imsrtpservice@2.0.so
-product/lib/vendor.qti.imsrtpservice@2.1.so
-product/lib64/com.qualcomm.qti.imscmservice@1.0.so
-product/lib64/com.qualcomm.qti.imscmservice@2.0.so
-product/lib64/com.qualcomm.qti.imscmservice@2.1.so
-product/lib64/com.qualcomm.qti.imscmservice@2.2.so
-product/lib64/com.qualcomm.qti.uceservice@2.0.so
-product/lib64/com.qualcomm.qti.uceservice@2.1.so
-product/lib64/lib-imsvideocodec.so
-product/lib64/lib-imsvt.so
-product/lib64/lib-imsvtextutils.so
-product/lib64/lib-imsvtutils.so
-product/lib64/libdiag_system.so
-product/lib64/libimscamera_jni.so
-product/lib64/libimsmedia_jni.so
-product/lib64/vendor.qti.hardware.radio.ims@1.0.so
-product/lib64/vendor.qti.hardware.radio.ims@1.1.so
-product/lib64/vendor.qti.hardware.radio.ims@1.2.so
-product/lib64/vendor.qti.hardware.radio.ims@1.3.so
-product/lib64/vendor.qti.hardware.radio.ims@1.4.so
-product/lib64/vendor.qti.ims.callinfo@1.0.so
-product/lib64/vendor.qti.ims.rcsconfig@1.0.so
-product/lib64/vendor.qti.imsrtpservice@2.0.so
-product/lib64/vendor.qti.imsrtpservice@2.1.so
-product/priv-app/ims/ims.apk
+product/app/uceShimService/uceShimService.apk:system_ext/app/uceShimService/uceShimService.apk
+product/etc/permissions/com.qualcomm.qti.imscmservice-V2.0-java.xml:system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.0-java.xml
+product/etc/permissions/com.qualcomm.qti.imscmservice-V2.1-java.xml:system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.1-java.xml
+product/etc/permissions/com.qualcomm.qti.imscmservice-V2.2-java.xml:system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.2-java.xml
+product/framework/com.qualcomm.qti.imscmservice-V2.0-java.jar:system_ext/framework/com.qualcomm.qti.imscmservice-V2.0-java.jar
+product/framework/com.qualcomm.qti.imscmservice-V2.1-java.jar:system_ext/framework/com.qualcomm.qti.imscmservice-V2.1-java.jar
+product/framework/com.qualcomm.qti.imscmservice-V2.2-java.jar:system_ext/framework/com.qualcomm.qti.imscmservice-V2.2-java.jar
+product/lib/com.qualcomm.qti.imscmservice@1.0.so:system_ext/lib/com.qualcomm.qti.imscmservice@1.0.so
+product/lib/com.qualcomm.qti.imscmservice@2.0.so:system_ext/lib/com.qualcomm.qti.imscmservice@2.0.so
+product/lib/com.qualcomm.qti.imscmservice@2.1.so:system_ext/lib/com.qualcomm.qti.imscmservice@2.1.so
+product/lib/com.qualcomm.qti.imscmservice@2.2.so:system_ext/lib/com.qualcomm.qti.imscmservice@2.2.so
+product/lib/com.qualcomm.qti.uceservice@2.0.so:system_ext/lib/com.qualcomm.qti.uceservice@2.0.so
+product/lib/com.qualcomm.qti.uceservice@2.1.so:system_ext/lib/com.qualcomm.qti.uceservice@2.1.so
+product/lib/lib-imsvideocodec.so:system_ext/lib/lib-imsvideocodec.so
+product/lib/lib-imsvt.so:system_ext/lib/lib-imsvt.so
+product/lib/lib-imsvtextutils.so:system_ext/lib/lib-imsvtextutils.so
+product/lib/lib-imsvtutils.so:system_ext/lib/lib-imsvtutils.so
+product/lib/libdiag_system.so:system_ext/lib/libdiag_system.so
+product/lib/libimscamera_jni.so:system_ext/lib/libimscamera_jni.so
+product/lib/libimsmedia_jni.so:system_ext/lib/libimsmedia_jni.so
+product/lib/vendor.qti.hardware.radio.ims@1.0.so:system_ext/lib/vendor.qti.hardware.radio.ims@1.0.so
+product/lib/vendor.qti.hardware.radio.ims@1.1.so:system_ext/lib/vendor.qti.hardware.radio.ims@1.1.so
+product/lib/vendor.qti.hardware.radio.ims@1.2.so:system_ext/lib/vendor.qti.hardware.radio.ims@1.2.so
+product/lib/vendor.qti.hardware.radio.ims@1.3.so:system_ext/lib/vendor.qti.hardware.radio.ims@1.3.so
+product/lib/vendor.qti.hardware.radio.ims@1.4.so:system_ext/lib/vendor.qti.hardware.radio.ims@1.4.so
+product/lib/vendor.qti.ims.callinfo@1.0.so:system_ext/lib/vendor.qti.ims.callinfo@1.0.so
+product/lib/vendor.qti.ims.rcsconfig@1.0.so:system_ext/lib/vendor.qti.ims.rcsconfig@1.0.so
+product/lib/vendor.qti.imsrtpservice@2.0.so:system_ext/lib/vendor.qti.imsrtpservice@2.0.so
+product/lib/vendor.qti.imsrtpservice@2.1.so:system_ext/lib/vendor.qti.imsrtpservice@2.1.so
+product/lib64/com.qualcomm.qti.imscmservice@1.0.so:system_ext/lib64/com.qualcomm.qti.imscmservice@1.0.so
+product/lib64/com.qualcomm.qti.imscmservice@2.0.so:system_ext/lib64/com.qualcomm.qti.imscmservice@2.0.so
+product/lib64/com.qualcomm.qti.imscmservice@2.1.so:system_ext/lib64/com.qualcomm.qti.imscmservice@2.1.so
+product/lib64/com.qualcomm.qti.imscmservice@2.2.so:system_ext/lib64/com.qualcomm.qti.imscmservice@2.2.so
+product/lib64/com.qualcomm.qti.uceservice@2.0.so:system_ext/lib64/com.qualcomm.qti.uceservice@2.0.so
+product/lib64/com.qualcomm.qti.uceservice@2.1.so:system_ext/lib64/com.qualcomm.qti.uceservice@2.1.so
+product/lib64/lib-imsvideocodec.so:system_ext/lib64/lib-imsvideocodec.so
+product/lib64/lib-imsvt.so:system_ext/lib64/lib-imsvt.so
+product/lib64/lib-imsvtextutils.so:system_ext/lib64/lib-imsvtextutils.so
+product/lib64/lib-imsvtutils.so:system_ext/lib64/lib-imsvtutils.so
+product/lib64/libdiag_system.so:system_ext/lib64/libdiag_system.so
+product/lib64/libimscamera_jni.so:system_ext/lib64/libimscamera_jni.so
+product/lib64/libimsmedia_jni.so:system_ext/lib64/libimsmedia_jni.so
+product/lib64/vendor.qti.hardware.radio.ims@1.0.so:system_ext/lib64/vendor.qti.hardware.radio.ims@1.0.so
+product/lib64/vendor.qti.hardware.radio.ims@1.1.so:system_ext/lib64/vendor.qti.hardware.radio.ims@1.1.so
+product/lib64/vendor.qti.hardware.radio.ims@1.2.so:system_ext/lib64/vendor.qti.hardware.radio.ims@1.2.so
+product/lib64/vendor.qti.hardware.radio.ims@1.3.so:system_ext/lib64/vendor.qti.hardware.radio.ims@1.3.so
+product/lib64/vendor.qti.hardware.radio.ims@1.4.so:system_ext/lib64/vendor.qti.hardware.radio.ims@1.4.so
+product/lib64/vendor.qti.ims.callinfo@1.0.so:system_ext/lib64/vendor.qti.ims.callinfo@1.0.so
+product/lib64/vendor.qti.ims.rcsconfig@1.0.so:system_ext/lib64/vendor.qti.ims.rcsconfig@1.0.so
+product/lib64/vendor.qti.imsrtpservice@2.0.so:system_ext/lib64/vendor.qti.imsrtpservice@2.0.so
+product/lib64/vendor.qti.imsrtpservice@2.1.so:system_ext/lib64/vendor.qti.imsrtpservice@2.1.so
+product/priv-app/ims/ims.apk:system_ext/priv-app/ims/ims.apk
vendor/bin/ims_rtp_daemon
vendor/bin/imsdatadaemon
vendor/bin/imsqmidaemon
@@ -1027,8 +1027,8 @@ system/etc/permissions/privapp-permissions-qti.xml
system/etc/permissions/privapp-permissions-sony.xml
# QMI
-system/etc/permissions/qti_libpermissions.xml
-system/etc/permissions/qti_permissions.xml
+system/etc/permissions/qti_libpermissions.xml:system_ext/etc/permissions/qti_libpermissions.xml
+system/etc/permissions/qti_permissions.xml:system_ext/etc/permissions/qti_permissions.xml
vendor/bin/irsc_util
vendor/bin/mlog_qmi_service
vendor/etc/sec_config
@@ -1072,14 +1072,14 @@ vendor/lib64/hw/com.qualcomm.qti.ant@1.0-impl.so
vendor/lib64/com.qualcomm.qti.ant@1.0.so
# RIL
-product/app/QtiTelephonyService/QtiTelephonyService.apk
-product/etc/permissions/qcrilhook.xml
-product/etc/permissions/telephonyservice.xml
-product/framework/QtiTelephonyServicelibrary.jar
-product/framework/qcrilhook.jar
+product/app/QtiTelephonyService/QtiTelephonyService.apk:system_ext/app/QtiTelephonyService/QtiTelephonyService.apk
+product/etc/permissions/qcrilhook.xml:system_ext/etc/permissions/qcrilhook.xml
+product/etc/permissions/telephonyservice.xml:system_ext/etc/permissions/telephonyservice.xml
+product/framework/QtiTelephonyServicelibrary.jar:system_ext/framework/QtiTelephonyServicelibrary.jar
+product/framework/qcrilhook.jar:system_ext/framework/qcrilhook.jar
# Taken from polaris - QKQ1.190828.002
-product/framework/qti-telephony-common.jar|91fe0ce296fc29bece6df81070b9b3b4ee41a1b4
-product/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk
+product/framework/qti-telephony-common.jar:system_ext/framework/qti-telephony-common.jar|91fe0ce296fc29bece6df81070b9b3b4ee41a1b4
+product/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk:system_ext/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk
vendor/app/IWlanService/IWlanService.apk
vendor/bin/hw/qcrild
vendor/bin/ATFWD-daemon
diff --git a/sepolicy/private/file_contexts b/sepolicy/private/file_contexts
deleted file mode 100644
index a5268d5..0000000
--- a/sepolicy/private/file_contexts
+++ /dev/null
@@ -1 +0,0 @@
-/system/product/bin/dpmd u:object_r:vendor_dpmd_exec:s0