zenfone9: Add AsusCamera and AsusGallery with related configs

Add apktool patch to allow the AsusCamera to have access to the internal storage

Change-Id: Ie2f522d39dfc29fda03e00fedb0a3d8c377ead27
Signed-off-by: micky387 <mickaelsaibi@free.fr>
diff --git a/blob-patches/AsusGallery.patch b/blob-patches/AsusGallery.patch
new file mode 100644
index 0000000..dca07b0
--- /dev/null
+++ b/blob-patches/AsusGallery.patch
@@ -0,0 +1,13 @@
+--- a/AndroidManifest.xml
++++ b/AndroidManifest.xml
+@@ -54,8 +54,8 @@
+     <uses-permission android:name="com.asus.launcher.permission.APPLOCK_DB_ACCESS"/>
+     <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS"/>
+     <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
+-    <uses-permission android:maxSdkVersion="33" android:name="android.permission.READ_MEDIA_IMAGES"/>
+-    <uses-permission android:maxSdkVersion="33" android:name="android.permission.READ_MEDIA_VIDEO"/>
++    <uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
++    <uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
+     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
+     <uses-permission android:name="android.permission.DELETE_PACKAGES"/>
+     <uses-permission android:name="com.asus.permission.READ_SOCIALNETWORK_DATA"/>
diff --git a/device.mk b/device.mk
index c41335b..359748b 100755
--- a/device.mk
+++ b/device.mk
@@ -127,7 +127,6 @@
 # Camera
 PRODUCT_PACKAGES += \
     android.frameworks.sensorservice@1.0.vendor \
-    Aperture \
     libexif.vendor
 
 # Charger images
diff --git a/extract-files.py b/extract-files.py
index dd1c7e7..b46dbd5 100755
--- a/extract-files.py
+++ b/extract-files.py
@@ -34,6 +34,12 @@
         'com.qualcomm.qti.dpm.api@1.0',
         'vendor.qti.diaghal@1.0',
         'vendor.qti.imsrtpservice@3.0',
+        'libxditk_DIT_Manager',
+        'libxditk_ISP',
+        'libxditk_arch',
+        'libxditk_ditArchLIB',
+        'libxditk_ditBSP',
+        'libxditk_ditBSP_JNI',
     ): lib_fixup_vendor_suffix,
     (
         'libwpa_client',
@@ -41,7 +47,13 @@
 }
 
 blob_fixups: blob_fixups_user_type = {
-     ('vendor/bin/vendor.dpmd',
+    ('system/lib64/libxditk_ISP.so',
+     'system/lib64/libxditk_LightArt.so',
+     'system/lib64/libxditk_ditArchLIB.so'): blob_fixup()
+        .replace_needed('libOpenCL.so', 'libOpenCL_system.so'),
+    'system/priv-app/AsusGallery/AsusGallery.apk': blob_fixup()
+        .apktool_patch('blob-patches/AsusGallery.patch', '-s'),
+    ('vendor/bin/vendor.dpmd',
       'vendor/bin/hw/android.hardware.audio.service_64',
       'vendor/bin/hw/vendor.qti.hardware.AGMIPC@1.0-service'): blob_fixup()
         .add_needed('libhidlbase_shim.so'),
diff --git a/omni.dependencies b/omni.dependencies
index 95abc83..c1a5017 100644
--- a/omni.dependencies
+++ b/omni.dependencies
@@ -49,12 +49,6 @@
     "revision": "android-15-caf"
    },
    {
-    "remote": "omnirom",
-    "repository": "android_packages_apps_Aperture",
-    "target_path": "packages/apps/Aperture",
-    "revision": "android-15"
-   },
-   {
     "remote": "github",
     "repository": "asus-development/android_device_asus_zenfone9-kernel",
     "target_path": "device/asus/zenfone9-kernel",
diff --git a/prebuilt/system/etc/permissions/asus.software.smartgallery.xml b/prebuilt/system/etc/permissions/asus.software.smartgallery.xml
new file mode 100644
index 0000000..8744cce
--- /dev/null
+++ b/prebuilt/system/etc/permissions/asus.software.smartgallery.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<permissions>
+    <feature name="asus.software.smartgallery" />
+</permissions>
diff --git a/prebuilt/system/etc/permissions/asus.software.zenui.ten.xml b/prebuilt/system/etc/permissions/asus.software.zenui.ten.xml
new file mode 100644
index 0000000..16b2e10
--- /dev/null
+++ b/prebuilt/system/etc/permissions/asus.software.zenui.ten.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<permissions>
+    <feature name="asus.software.zenui.ten" />
+</permissions>
+
diff --git a/prebuilt/system/etc/permissions/asus.software.zenui.xml b/prebuilt/system/etc/permissions/asus.software.zenui.xml
new file mode 100644
index 0000000..ea0c6fe
--- /dev/null
+++ b/prebuilt/system/etc/permissions/asus.software.zenui.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<permissions>
+    <feature name="asus.software.zenui" />
+</permissions>
diff --git a/prebuilt/system/etc/permissions/privapp-permissions-ASUS_AI2202.xml b/prebuilt/system/etc/permissions/privapp-permissions-ASUS_AI2202.xml
index a597ef9..3261ccb 100644
--- a/prebuilt/system/etc/permissions/privapp-permissions-ASUS_AI2202.xml
+++ b/prebuilt/system/etc/permissions/privapp-permissions-ASUS_AI2202.xml
@@ -2,7 +2,6 @@
 <permissions>
     <privapp-permissions package="com.asus.camera">
         <permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
-        <permission name="android.permission.WRITE_MEDIA_STORAGE"/>
         <permission name="android.permission.WRITE_SECURE_SETTINGS"/>
         <permission name="com.asus.permission.HARDWARE_PROPERTIES"/>
     </privapp-permissions>
diff --git a/proprietary-files-vendor.txt b/proprietary-files-vendor.txt
index ea9df68..9bce025 100644
--- a/proprietary-files-vendor.txt
+++ b/proprietary-files-vendor.txt
@@ -2135,9 +2135,9 @@
 vendor/lib/libwapi_cert.so
 vendor/lib/libwms.so
 vendor/lib/libwqe.so
-vendor/lib/libxditk_arch.so;DISABLE_CHECKELF
-vendor/lib/libxditk_ditArchLIB.so;DISABLE_CHECKELF
-vendor/lib/libxditk_ditBSP.so;DISABLE_CHECKELF
+vendor/lib/libxditk_arch.so;MODULE_SUFFIX=_vendor;DISABLE_CHECKELF
+vendor/lib/libxditk_ditArchLIB.so;MODULE_SUFFIX=_vendor;DISABLE_CHECKELF
+vendor/lib/libxditk_ditBSP.so;MODULE_SUFFIX=_vendor;DISABLE_CHECKELF
 vendor/lib/libxml.so
 vendor/lib/libxtadapter.so
 vendor/lib/mediadrm/libwvdrmengine.so
@@ -2646,6 +2646,8 @@
 vendor/lib64/libGPreqcancel.so
 vendor/lib64/libGPreqcancel_svc.so
 vendor/lib64/libMapService.so
+# Move and rename to system this libOpenCL to prevent the missing variants (32) for libxditk_ISP, libxditk_LightArt and libxditk_ditArchLIB libs
+vendor/lib64/libOpenCL.so:system/lib64/libOpenCL_system.so;FIX_SONAME
 vendor/lib64/libOpenCL.so
 vendor/lib64/libQ6MSFR_manager_stub.so
 vendor/lib64/libQSEEComAPI.so
@@ -3111,12 +3113,12 @@
 vendor/lib64/libwms.so
 vendor/lib64/libwqe.so
 vendor/lib64/libwvhidl.so
-vendor/lib64/libxditk_DIT_Manager.so;DISABLE_CHECKELF
-vendor/lib64/libxditk_ISP.so;DISABLE_CHECKELF
-vendor/lib64/libxditk_arch.so;DISABLE_CHECKELF
-vendor/lib64/libxditk_ditArchLIB.so;DISABLE_CHECKELF
-vendor/lib64/libxditk_ditBSP.so;DISABLE_CHECKELF
-vendor/lib64/libxditk_ditBSP_JNI.so;DISABLE_CHECKELF
+vendor/lib64/libxditk_DIT_Manager.so;MODULE_SUFFIX=_vendor;DISABLE_CHECKELF
+vendor/lib64/libxditk_ISP.so;MODULE_SUFFIX=_vendor;DISABLE_CHECKELF
+vendor/lib64/libxditk_arch.so;MODULE_SUFFIX=_vendor;DISABLE_CHECKELF
+vendor/lib64/libxditk_ditArchLIB.so;MODULE_SUFFIX=_vendor;DISABLE_CHECKELF
+vendor/lib64/libxditk_ditBSP.so;MODULE_SUFFIX=_vendor;DISABLE_CHECKELF
+vendor/lib64/libxditk_ditBSP_JNI.so;MODULE_SUFFIX=_vendor;DISABLE_CHECKELF
 vendor/lib64/libxml.so
 vendor/lib64/libxtadapter.so
 vendor/lib64/ls_client.so
diff --git a/proprietary-files.txt b/proprietary-files.txt
index 5617412..3182c5e 100644
--- a/proprietary-files.txt
+++ b/proprietary-files.txt
@@ -12,12 +12,123 @@
 system_ext/framework/audiosphere.jar
 
 # Camera
+system/priv-app/AsusCamera/AsusCamera.apk;OVERRIDES=Camera2
 system/lib64/DataSet/arch/DIT_List.cfg
 system/lib64/DataSet/cl/AlignMapping.bin
 system/lib64/DataSet/cl/lightart.bin
 system/lib64/DataSet/ditSCidGen/msgchk.db
 system/lib64/DataSet/ispDB/ParameterDB.db
 system/lib64/libxditk_LightArt.so:vendor/lib64/libxditk_LightArt_vendor.so;FIX_SONAME
+system/lib64/libxditk_DIT_Manager.so
+system/lib64/libxditk_ISP.so
+system/lib64/libxditk_LightArt.so
+system/lib64/libxditk_arch.so
+system/lib64/libxditk_ditArchLIB.so
+system/lib64/libxditk_ditBSP.so
+system/lib64/libxditk_ditBSP_JNI.so
+
+system_ext/etc/hdr_config/selfie_ls/RPP_OutputCompressor_config.txt
+system_ext/etc/hdr_config/selfie_ls/RPP_InputCompressor_config.txt
+system_ext/etc/hdr_config/selfie_ls/RPP_Limiter_config.txt
+system_ext/etc/hdr_config/selfie_ls/RPP_BiquadHPF_config.txt
+system_ext/etc/hdr_config/selfie_ls/RPP_EQLeftTop_config.txt
+system_ext/etc/hdr_config/selfie_ls/RPP_InputAGC_config.txt
+system_ext/etc/hdr_config/selfie_ls/RPP_EQRightBottom_config.txt
+system_ext/etc/hdr_config/selfie_ls/RPP_HDR.txt
+system_ext/etc/hdr_config/none_inv_pt/RPP_OutputCompressor_config.txt
+system_ext/etc/hdr_config/none_inv_pt/RPP_InputCompressor_config.txt
+system_ext/etc/hdr_config/none_inv_pt/RPP_Limiter_config.txt
+system_ext/etc/hdr_config/none_inv_pt/RPP_BiquadHPF_config.txt
+system_ext/etc/hdr_config/none_inv_pt/RPP_EQLeftTop_config.txt
+system_ext/etc/hdr_config/none_inv_pt/RPP_InputAGC_config.txt
+system_ext/etc/hdr_config/none_inv_pt/RPP_EQRightBottom_config.txt
+system_ext/etc/hdr_config/none_inv_pt/RPP_HDR.txt
+system_ext/etc/hdr_config/none_inv_ls/RPP_OutputCompressor_config.txt
+system_ext/etc/hdr_config/none_inv_ls/RPP_InputCompressor_config.txt
+system_ext/etc/hdr_config/none_inv_ls/RPP_Limiter_config.txt
+system_ext/etc/hdr_config/none_inv_ls/RPP_BiquadHPF_config.txt
+system_ext/etc/hdr_config/none_inv_ls/RPP_EQLeftTop_config.txt
+system_ext/etc/hdr_config/none_inv_ls/RPP_InputAGC_config.txt
+system_ext/etc/hdr_config/none_inv_ls/RPP_EQRightBottom_config.txt
+system_ext/etc/hdr_config/none_inv_ls/RPP_HDR.txt
+system_ext/etc/hdr_config/selfie_inv_pt/RPP_OutputCompressor_config.txt
+system_ext/etc/hdr_config/selfie_inv_pt/RPP_InputCompressor_config.txt
+system_ext/etc/hdr_config/selfie_inv_pt/RPP_Limiter_config.txt
+system_ext/etc/hdr_config/selfie_inv_pt/RPP_BiquadHPF_config.txt
+system_ext/etc/hdr_config/selfie_inv_pt/RPP_EQLeftTop_config.txt
+system_ext/etc/hdr_config/selfie_inv_pt/RPP_InputAGC_config.txt
+system_ext/etc/hdr_config/selfie_inv_pt/RPP_EQRightBottom_config.txt
+system_ext/etc/hdr_config/selfie_inv_pt/RPP_HDR.txt
+system_ext/etc/hdr_config/none_pt/RPP_OutputCompressor_config.txt
+system_ext/etc/hdr_config/none_pt/RPP_InputCompressor_config.txt
+system_ext/etc/hdr_config/none_pt/RPP_Limiter_config.txt
+system_ext/etc/hdr_config/none_pt/RPP_BiquadHPF_config.txt
+system_ext/etc/hdr_config/none_pt/RPP_EQLeftTop_config.txt
+system_ext/etc/hdr_config/none_pt/RPP_InputAGC_config.txt
+system_ext/etc/hdr_config/none_pt/RPP_EQRightBottom_config.txt
+system_ext/etc/hdr_config/none_pt/RPP_HDR.txt
+system_ext/etc/hdr_config/ans_off/ans_config.txt
+system_ext/etc/hdr_config/main_pt/RPP_OutputCompressor_config.txt
+system_ext/etc/hdr_config/main_pt/RPP_InputCompressor_config.txt
+system_ext/etc/hdr_config/main_pt/RPP_Limiter_config.txt
+system_ext/etc/hdr_config/main_pt/RPP_BiquadHPF_config.txt
+system_ext/etc/hdr_config/main_pt/RPP_EQLeftTop_config.txt
+system_ext/etc/hdr_config/main_pt/RPP_InputAGC_config.txt
+system_ext/etc/hdr_config/main_pt/RPP_EQRightBottom_config.txt
+system_ext/etc/hdr_config/main_pt/RPP_HDR.txt
+system_ext/etc/hdr_config/main_inv_pt/RPP_OutputCompressor_config.txt
+system_ext/etc/hdr_config/main_inv_pt/RPP_InputCompressor_config.txt
+system_ext/etc/hdr_config/main_inv_pt/RPP_Limiter_config.txt
+system_ext/etc/hdr_config/main_inv_pt/RPP_BiquadHPF_config.txt
+system_ext/etc/hdr_config/main_inv_pt/RPP_EQLeftTop_config.txt
+system_ext/etc/hdr_config/main_inv_pt/RPP_InputAGC_config.txt
+system_ext/etc/hdr_config/main_inv_pt/RPP_EQRightBottom_config.txt
+system_ext/etc/hdr_config/main_inv_pt/RPP_HDR.txt
+system_ext/etc/hdr_config/main_ls/RPP_OutputCompressor_config.txt
+system_ext/etc/hdr_config/main_ls/RPP_InputCompressor_config.txt
+system_ext/etc/hdr_config/main_ls/RPP_Limiter_config.txt
+system_ext/etc/hdr_config/main_ls/RPP_BiquadHPF_config.txt
+system_ext/etc/hdr_config/main_ls/RPP_EQLeftTop_config.txt
+system_ext/etc/hdr_config/main_ls/RPP_InputAGC_config.txt
+system_ext/etc/hdr_config/main_ls/RPP_EQRightBottom_config.txt
+system_ext/etc/hdr_config/main_ls/RPP_HDR.txt
+system_ext/etc/hdr_config/wnr_on/wnr_config.txt
+system_ext/etc/hdr_config/wnr_on/wnr_params.txt
+system_ext/etc/hdr_config/ans_on/ans_config.txt
+system_ext/etc/hdr_config/none_ls/RPP_OutputCompressor_config.txt
+system_ext/etc/hdr_config/none_ls/RPP_InputCompressor_config.txt
+system_ext/etc/hdr_config/none_ls/RPP_Limiter_config.txt
+system_ext/etc/hdr_config/none_ls/RPP_BiquadHPF_config.txt
+system_ext/etc/hdr_config/none_ls/RPP_EQLeftTop_config.txt
+system_ext/etc/hdr_config/none_ls/RPP_InputAGC_config.txt
+system_ext/etc/hdr_config/none_ls/RPP_EQRightBottom_config.txt
+system_ext/etc/hdr_config/none_ls/RPP_HDR.txt
+system_ext/etc/hdr_config/selfie_pt/RPP_OutputCompressor_config.txt
+system_ext/etc/hdr_config/selfie_pt/RPP_InputCompressor_config.txt
+system_ext/etc/hdr_config/selfie_pt/RPP_Limiter_config.txt
+system_ext/etc/hdr_config/selfie_pt/RPP_BiquadHPF_config.txt
+system_ext/etc/hdr_config/selfie_pt/RPP_EQLeftTop_config.txt
+system_ext/etc/hdr_config/selfie_pt/RPP_InputAGC_config.txt
+system_ext/etc/hdr_config/selfie_pt/RPP_EQRightBottom_config.txt
+system_ext/etc/hdr_config/selfie_pt/RPP_HDR.txt
+system_ext/etc/hdr_config/wnr_off/wnr_config.txt
+system_ext/etc/hdr_config/wnr_off/wnr_params.txt
+system_ext/etc/hdr_config/main_inv_ls/RPP_OutputCompressor_config.txt
+system_ext/etc/hdr_config/main_inv_ls/RPP_InputCompressor_config.txt
+system_ext/etc/hdr_config/main_inv_ls/RPP_Limiter_config.txt
+system_ext/etc/hdr_config/main_inv_ls/RPP_BiquadHPF_config.txt
+system_ext/etc/hdr_config/main_inv_ls/RPP_EQLeftTop_config.txt
+system_ext/etc/hdr_config/main_inv_ls/RPP_InputAGC_config.txt
+system_ext/etc/hdr_config/main_inv_ls/RPP_EQRightBottom_config.txt
+system_ext/etc/hdr_config/main_inv_ls/RPP_HDR.txt
+system_ext/etc/hdr_config/selfie_inv_ls/RPP_OutputCompressor_config.txt
+system_ext/etc/hdr_config/selfie_inv_ls/RPP_InputCompressor_config.txt
+system_ext/etc/hdr_config/selfie_inv_ls/RPP_Limiter_config.txt
+system_ext/etc/hdr_config/selfie_inv_ls/RPP_BiquadHPF_config.txt
+system_ext/etc/hdr_config/selfie_inv_ls/RPP_EQLeftTop_config.txt
+system_ext/etc/hdr_config/selfie_inv_ls/RPP_InputAGC_config.txt
+system_ext/etc/hdr_config/selfie_inv_ls/RPP_EQRightBottom_config.txt
+system_ext/etc/hdr_config/selfie_inv_ls/RPP_HDR.txt
 
 # Display
 vendor/lib64/libsdmextension.so|f80e85481d8f2ce991e4ccba3958a575b39ece09
@@ -38,6 +149,21 @@
 system_ext/lib64/libdpmtcm.so
 system_ext/priv-app/dpmserviceapp/dpmserviceapp.apk
 
+# Gallery
+system/priv-app/AsusGallery/AsusGallery.apk
+
+# GalleryBurst
+system/priv-app/AsusGalleryBurst/AsusGalleryBurst.apk
+
+# GalleryBurst Video Editor
+system/etc/videoeditor/Charming.mfim
+system/etc/videoeditor/Dynamic.mfim
+system/etc/videoeditor/Energetic.mfim
+system/etc/videoeditor/Graceful.mfim
+system/etc/videoeditor/Happy.mfim
+system/etc/videoeditor/Lively.mfim
+system/etc/videoeditor/Soothing.mfim
+
 # GPS
 system_ext/etc/permissions/com.qti.location.sdk.xml
 system_ext/etc/permissions/com.qualcomm.location.xml