zenfone6: Switch to Asus Camera and Gallery
Change-Id: I88a0cc7007a0d750a64f5f6d72fc428baba2dac8
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 64985a5..ab99beb 100755
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -66,9 +66,6 @@
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth
QCOM_BT_USE_BTNV := true
-# Camera
-BOARD_USES_SNAPDRAGONCAMERA_VERSION := 2
-
# charger
HEALTHD_USE_BATTERY_INFO := true
BOARD_CHARGER_ENABLE_SUSPEND := true
diff --git a/device.mk b/device.mk
index ccc0238..c96282b 100755
--- a/device.mk
+++ b/device.mk
@@ -65,10 +65,6 @@
PRODUCT_PACKAGES_DEBUG += \
bootctl
-# Camera
-PRODUCT_PACKAGES += \
- SnapdragonCamera2
-
# Charger images
PRODUCT_PACKAGES += \
omni_charger_res_images \
@@ -155,6 +151,11 @@
PRODUCT_PACKAGES += \
vendor.display.config@1.5
+# Remove unwanted packages
+PRODUCT_PACKAGES += \
+ RemovePackages \
+ RemovePackages1
+
# Soong namespaces
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH)
diff --git a/omni.dependencies b/omni.dependencies
index 7b990fe..5111c9e 100644
--- a/omni.dependencies
+++ b/omni.dependencies
@@ -12,12 +12,6 @@
"revision": "android-10"
},
{
- "remote": "omnirom",
- "repository": "android_packages_apps_SnapdragonCamera2",
- "target_path": "packages/apps/SnapdragonCamera2",
- "revision": "android-10"
- },
- {
"remote": "omnirom",
"repository": "android_vendor_qcom_opensource_fm-commonsys",
"target_path": "vendor/qcom/opensource/fm-commonsys",
diff --git a/overlay/packages/apps/SnapdragonCamera2/res/values/config.xml b/overlay/packages/apps/SnapdragonCamera2/res/values/config.xml
deleted file mode 100644
index f8c54df..0000000
--- a/overlay/packages/apps/SnapdragonCamera2/res/values/config.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<resources>
-
-<!-- <string name="preview_fps_range">30000,30000</string>
-i-->
- <!-- Enable support for camera api v2 -->
- <bool name="support_camera_api_v2">true</bool>
-</resources>
diff --git a/prebuilt/system/etc/permissions/privapp-permissions-ASUS_I01WD.xml b/prebuilt/system/etc/permissions/privapp-permissions-ASUS_I01WD.xml
index f9220b3..3ca8b4e 100644
--- a/prebuilt/system/etc/permissions/privapp-permissions-ASUS_I01WD.xml
+++ b/prebuilt/system/etc/permissions/privapp-permissions-ASUS_I01WD.xml
@@ -5,4 +5,14 @@
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
<permission name="com.asus.permission.HARDWARE_PROPERTIES"/>
</privapp-permissions>
-</permissions>
\ No newline at end of file
+ <privapp-permissions package="com.asus.ephotoburst">
+ <permission name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
+ <permission name="android.permission.WRITE_MEDIA_STORAGE"/>
+ </privapp-permissions>
+ <privapp-permissions package="com.asus.gallery">
+ <permission name="android.permission.DELETE_PACKAGES"/>
+ <permission name="android.permission.LOCAL_MAC_ADDRESS"/>
+ <permission name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
+ <permission name="android.permission.WRITE_MEDIA_STORAGE"/>
+ </privapp-permissions>
+</permissions>
diff --git a/proprietary-files.txt b/proprietary-files.txt
index 794c09e..8b8cf24 100644
--- a/proprietary-files.txt
+++ b/proprietary-files.txt
@@ -16,7 +16,20 @@
# Camera
lib/DataSet/ispDB/ASUS_UNDI.bin
lib/DataSet/ispDB/ASUS_UNDI_ZOOM.bin
-lib64/libAsusRGBSensorHAL.so
+-priv-app/AsusCamera/AsusCamera.apk;PRESIGNED
+priv-app/AsusCamera/lib/arm64/libasus_camera_panorama.so
+priv-app/AsusCamera/lib/arm64/libasus_camera_panorama.so
+priv-app/AsusCamera/lib/arm64/libbitmap.so
+priv-app/AsusCamera/lib/arm64/libmpbase.so
+priv-app/AsusCamera/lib/arm64/libtensorflowlite_jni.so
+priv-app/AsusCamera/lib/arm64/libasus_camera_selfiepano.so
+priv-app/AsusCamera/lib/arm64/libasus_camera_object_tracking.so
+priv-app/AsusCamera/lib/arm64/libarcsoft_distortion_correction.so
+priv-app/AsusCamera/lib/arm64/libarcsoft_panorama_burstcapture.so
+priv-app/AsusCamera/lib/arm64/libyuv_util.so
+priv-app/AsusCamera/lib/arm64/libUndistort.so
+priv-app/AsusCamera/lib/arm64/libasusundistort.so
+priv-app/AsusCamera/lib/arm64/libarcsoft_object_tracking.so
-priv-app/MotorService/MotorService.apk
priv-app/MotorService/lib/arm64/libAsusLaserSensorHAL.so
priv-app/MotorService/lib/arm64/libAsusMotorDriverHAL.so
@@ -95,6 +108,38 @@
product/lib/vendor.qti.hardware.fm@1.0.so
product/lib64/vendor.qti.hardware.fm@1.0.so
+# Gallery
+-priv-app/AsusGallery/AsusGallery.apk;PRESIGNED
+priv-app/AsusGallery/lib/arm/libmpbase.so
+priv-app/AsusGallery/lib/arm/libjni_filter_show.so
+priv-app/AsusGallery/lib/arm/libtensorflowlite_jni.so
+priv-app/AsusGallery/lib/arm/libjni_face_effect.so
+priv-app/AsusGallery/lib/arm/librs.vignette.so
+priv-app/AsusGallery/lib/arm/libtensorflow_inference.so
+priv-app/AsusGallery/lib/arm/librs.convolve3x3.so
+priv-app/AsusGallery/lib/arm/libpanorenderer.so
+priv-app/AsusGallery/lib/arm/libpano_video_renderer.so
+priv-app/AsusGallery/lib/arm/librsjni_androidx.so
+priv-app/AsusGallery/lib/arm/librsjni.so
+priv-app/AsusGallery/lib/arm/libgif.so
+priv-app/AsusGallery/lib/arm/librs.grey.so
+priv-app/AsusGallery/lib/arm/libarcsoft_beautyshot.so
+priv-app/AsusGallery/lib/arm/librs.saturation.so
+priv-app/AsusGallery/lib/arm/libblur.so
+priv-app/AsusGallery/lib/arm/librs.grad.so
+priv-app/AsusGallery/lib/arm/librs.blur.so
+priv-app/AsusGallery/lib/arm/libRSSupport.so
+priv-app/AsusGallery/lib/arm/libjni_wide_angle_undistort.so
+priv-app/AsusGallery/lib/arm/libgvr.so
+priv-app/AsusGallery/lib/arm/libjni_cvface_api.so
+priv-app/AsusGallery/lib/arm/libcvface_api.so
+priv-app/AsusGallery/lib/arm/libarcsoft_undistort.so
+priv-app/AsusGallery/lib/arm/libopencv_java3.so
+
+# GalleryBurst
+-priv-app/AsusGalleryBurst/AsusGalleryBurst.apk;PRESIGNED
+priv-app/AsusGalleryBurst/lib/arm/libgifencoder.so
+
# GPS
etc/permissions/com.qti.location.sdk.xml
etc/permissions/com.qualcomm.location.xml
diff --git a/removepackages/Android.mk b/removepackages/Android.mk
new file mode 100644
index 0000000..a2f3241
--- /dev/null
+++ b/removepackages/Android.mk
@@ -0,0 +1,21 @@
+OCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := RemovePackages
+LOCAL_MODULE_CLASS := APPS
+LOCAL_MODULE_TAGS := optional
+LOCAL_OVERRIDES_PACKAGES := Camera2
+LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_CERTIFICATE := PRESIGNED
+LOCAL_SRC_FILES := /dev/null
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := RemovePackages1
+LOCAL_MODULE_CLASS := APPS
+LOCAL_MODULE_TAGS := optional
+LOCAL_OVERRIDES_PACKAGES := Gallery2
+LOCAL_UNINSTALLABLE_MODULE := true
+LOCAL_CERTIFICATE := PRESIGNED
+LOCAL_SRC_FILES := /dev/null
+include $(BUILD_PREBUILT)
\ No newline at end of file
diff --git a/sepolicy/private/file.te b/sepolicy/private/file.te
index 2a2a99a..5857beb 100644
--- a/sepolicy/private/file.te
+++ b/sepolicy/private/file.te
@@ -10,4 +10,7 @@
# Offscreen Gestures
type sysfs_gesture, sysfs_type, fs_type;
-type proc_touchscreen, proc_type, sysfs_type, fs_type;
\ No newline at end of file
+type proc_touchscreen, proc_type, sysfs_type, fs_type;
+
+# vendor camera files
+type vendor_camera_data_file, file_type, data_file_type;
\ No newline at end of file
diff --git a/sepolicy/private/file_contexts b/sepolicy/private/file_contexts
index d2462df..d2134f6 100644
--- a/sepolicy/private/file_contexts
+++ b/sepolicy/private/file_contexts
@@ -9,6 +9,9 @@
# HALs
/(product|system/product)/vendor_overlay/[0-9]+/bin/hw/android\.hardware\.light@2\.0-service u:object_r:hal_light_default_exec:s0
+# vendor camera files
+/data/vendor/camera(/.*)? u:object_r:vendor_camera_data_file:s0
+
# Vendor overlay
/(product|system/product)/vendor_overlay/[0-9]+/etc(/.*)? u:object_r:vendor_configs_file:s0
/(product|system/product)/vendor_overlay/[0-9]+/lib(64)?/hw u:object_r:vendor_hal_file:s0
diff --git a/sepolicy/private/platform_app.te b/sepolicy/private/platform_app.te
index 8287807..7be6a11 100644
--- a/sepolicy/private/platform_app.te
+++ b/sepolicy/private/platform_app.te
@@ -1 +1,7 @@
-allow platform_app app_data_file:file { execute };
\ No newline at end of file
+#allow platform_app asus_prop:file r_file_perms;
+#allow platform_app vendor_file:file { execute };
+allow platform_app app_data_file:file { execute };
+allow platform_app rs_exec:file { execute execute_no_trans r_file_perms };
+allow platform_app vendor_camera_prop:file { read open getattr map };
+allow platform_app vendor_camera_data_file:dir { add_name create getattr remove_name rw_file_perms search setattr };
+allow platform_app vendor_camera_data_file:file { create getattr unlink rw_file_perms setattr };
\ No newline at end of file
diff --git a/sepolicy/private/property.te b/sepolicy/private/property.te
index 3f5cd8b..787663f 100644
--- a/sepolicy/private/property.te
+++ b/sepolicy/private/property.te
@@ -1 +1,2 @@
+#type asus_prop, property_type;
type vendor_camera_prop, property_type;
\ No newline at end of file
diff --git a/sepolicy/private/untrusted_app.te b/sepolicy/private/untrusted_app.te
new file mode 100644
index 0000000..9ec121b
--- /dev/null
+++ b/sepolicy/private/untrusted_app.te
@@ -0,0 +1 @@
+allow untrusted_app persist_camera_prop:file { read open getattr map};
\ No newline at end of file
diff --git a/sepolicy/private/vendor_init.te b/sepolicy/private/vendor_init.te
new file mode 100644
index 0000000..371cca2
--- /dev/null
+++ b/sepolicy/private/vendor_init.te
@@ -0,0 +1,2 @@
+# Allow vendor_init to set vendor_camera_prop
+set_prop(vendor_init, vendor_camera_prop)
\ No newline at end of file
diff --git a/system.prop b/system.prop
index 6ade8bf..00e5098 100644
--- a/system.prop
+++ b/system.prop
@@ -2,33 +2,37 @@
ro.config.media_vol_steps=25
ro.config.vc_call_vol_steps=7
+#Expose aux camera for below packages
+vendor.camera.aux.packagelist=org.codeaurora.snapcam,com.qualcomm.saltproject2,com.asus.camera
+
# Camera
-persist.camera.capture.hdrplus.dump=0
-ro.asus.camera.ai_scene_mode=0:1;1:1;2:1;3:1
-ro.asus.camera.cam0.eis.sup_list=4K@60,4K@30,FHD@60,FHD@30,HD@30,TV@30
-ro.asus.camera.cam0.exposure_time_range=312500,32000000000
-ro.asus.camera.cam0.preview_fps_range=8,45
-ro.asus.camera.cam0.stream_list=1P/2Y/1J
+ro.asus.camera.preview_beauty=0:1;1:1;2:1;3:1;4:1;5:1
ro.asus.camera.cam0.video_fps=HD@60,FHD@60,4K@60
-ro.asus.camera.cam1.eis.sup_list=4K@60,4K@30,FHD@60,FHD@30,HD@30,TV@30
-ro.asus.camera.cam1.exposure_time_range=312500,32000000000
-ro.asus.camera.cam1.preview_fps_range=8,45
-ro.asus.camera.cam1.stream_list=1P/2Y/1J
ro.asus.camera.cam1.video_fps=HD@60,FHD@60,4K@60
-ro.asus.camera.cam2.eis.sup_list=4K@60,4K@30,FHD@60,FHD@30,HD@30,TV@30
-ro.asus.camera.cam2.exposure_time_range=100000,16000000000
ro.asus.camera.cam2.video_fps=HD@60,FHD@60,4K@30
-ro.asus.camera.cam3.eis.sup_list=4K@60,4K@30,FHD@60,FHD@30,HD@30,TV@30
-ro.asus.camera.cam3.exposure_time_range=100000,16000000000
ro.asus.camera.cam3.video_fps=HD@60,FHD@60,4K@30
ro.asus.camera.dual_bokeh=0:0;1:0;2:0;3:0;4:1;5:1
-ro.asus.camera.fovc=0:1;1:1;2:0;3:0
ro.asus.camera.lens_type=0:standard;1:standard;2:wide-angle;3:wide-angle;4:virtual;5:virtual
-ro.asus.camera.night=0:1;1:1;2:1;3:1
-ro.asus.camera.preview_beauty=4:1;5:1
+ro.asus.camera.use_frame_processor=0
+ro.asus.camera.ai_scene_mode=0:1;1:1;2:1;3:1
ro.asus.camera.undistortion.preview=0:0;1:0;2:1;3:1
ro.asus.camera.undistortion.video=0:0;1:0;2:0;3:0
-ro.asus.camera.use_frame_processor=0
+persist.camera.capture.hdrplus.dump=0
+ro.asus.camera.cam0.preview_fps_range=8,45
+ro.asus.camera.cam1.preview_fps_range=8,45
+ro.asus.camera.capture.override_max_digital_zoom=0:8;1:8
+ro.asus.camera.cam0.stream_list=1P/2Y/1J
+ro.asus.camera.cam1.stream_list=1P/2Y/1J
+ro.asus.camera.cam0.exposure_time_range=312500,32000000000
+ro.asus.camera.cam1.exposure_time_range=312500,32000000000
+ro.asus.camera.cam2.exposure_time_range=100000,16000000000
+ro.asus.camera.cam3.exposure_time_range=100000,16000000000
+ro.asus.camera.cam0.eis.sup_list=4K@60,4K@30,FHD@60,FHD@30,HD@30,TV@30
+ro.asus.camera.cam1.eis.sup_list=4K@60,4K@30,FHD@60,FHD@30,HD@30,TV@30
+ro.asus.camera.cam2.eis.sup_list=4K@60,4K@30,FHD@60,FHD@30,HD@30,TV@30
+ro.asus.camera.cam3.eis.sup_list=4K@60,4K@30,FHD@60,FHD@30,HD@30,TV@30
+ro.asus.camera.fovc=0:1;1:1;2:0;3:0
+ro.asus.camera.night=0:1;1:1;2:1;3:1
vendor.camera.expTimeMax=0
# CNE