unplugged-vendor/device/mediatek/vendor/common/device.mk

4776 lines
161 KiB
Makefile
Raw Permalink Normal View History

ifdef SYS_TARGET_PROJECT
#$(call inherit-product-if-exists,device/mediatek/system/common/device.mk)
else ifdef HAL_TARGET_PROJECT
else ifneq ($(filter full_%,$(TARGET_PRODUCT)),)
$(call inherit-product-if-exists,device/mediatek/system/common/device.mk)
else ifeq ($(wildcard $(MTK_TARGET_PROJECT_FOLDER)/vnd_*.mk),)
$(call inherit-product-if-exists,device/mediatek/system/common/device.mk)
endif
ifndef HAL_TARGET_PROJECT
#$(call inherit-product-if-exists,$(LOCAL_PATH)/device-kernel.mk)
$(call inherit-product-if-exists,$(LOCAL_PATH)/device-vext.mk)
endif
ifndef MTK_PLATFORM_DIR
ifneq ($(wildcard device/mediatek/$(MTK_PLATFORM)),)
MTK_PLATFORM_DIR := $(MTK_PLATFORM)
else
MTK_PLATFORM_DIR := $(call to-lower,$(MTK_PLATFORM))
endif
endif
ifdef HAL_TARGET_PROJECT
DEVICE_MANIFEST_FILE :=
else
DEVICE_MANIFEST_FILE := $(strip $(DEVICE_MANIFEST_FILE))
endif
# Full Treble, new in O
PRODUCT_SHIPPING_API_LEVEL_OVERRIDE ?= 31
.KATI_READONLY := PRODUCT_SHIPPING_API_LEVEL_OVERRIDE
PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
PRODUCT_SET_DEBUGFS_RESTRICTIONS := false
endif
ifeq ($(MTK_DYNAMIC_PARTITION_SUPPORT), yes)
PRODUCT_USE_DYNAMIC_PARTITIONS := true
endif
ifneq ($(wildcard device/mediatek/$(TARGET_BOARD_PLATFORM)),)
MTK_REL_PLATFORM := $(TARGET_BOARD_PLATFORM)
else
MTK_REL_PLATFORM := $(MTK_PLATFORM_DIR)
# $(error the platform dir changed, expected: device/mediatek/$(MTK_PLATFORM_DIR), please check manually)
endif
PRODUCT_PACKAGES += mgvi_platform_package
# HDR Video Library
PRODUCT_PACKAGES += libhdrvideo
# sensor HAL HIDL
PRODUCT_COPY_FILES += $(LOCAL_PATH)/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf
PRODUCT_PACKAGES += \
android.hardware.sensors@2.0-service.multihal-mediatek
PRODUCT_PACKAGES += \
android.hardware.sensors@2.X-subhal-mediatek
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_sensor_hidl_v2.xml
ifdef MTK_GENERIC_HAL
INIT_SENSOR_RC = init.sensor_2_0.rc
else
INIT_SENSOR_RC = init.sensor_$(subst .,_,$(strip $(MTK_SENSOR_ARCHITECTURE))).rc
$(foreach custom_hal_msensorlib,$(CUSTOM_HAL_MSENSORLIB),$(eval PRODUCT_PACKAGES += lib$(custom_hal_msensorlib)))
ifeq ($(strip $(MTK_SENSOR_ARCHITECTURE)), 1.0)
PRODUCT_PACKAGES += libhwm
endif
endif
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.vendor.init.sensor.rc=$(INIT_SENSOR_RC)
PRODUCT_COPY_FILES += $(LOCAL_PATH)/$(INIT_SENSOR_RC):$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/$(INIT_SENSOR_RC)
# AOSP libmeminfo/libdmabufinfo tool
PRODUCT_PACKAGES += dmabuf_dump.vendor
#GMS requirement
PRODUCT_COPY_FILES += $(LOCAL_PATH)/chipinfo:$(TARGET_COPY_OUT_VENDOR)/bin/chipinfo
#MtkLatinIME
#ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
# PRODUCT_PACKAGES += MtkLatinIME
#endif
##fbconfig for display
ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
PRODUCT_PACKAGES += fbconfig
endif
# MediaTek framework base modules
#PRODUCT_PACKAGES += \
# mediatek-common \
# mediatek-framework \
# CustomPropInterface \
# mediatek-telephony-common \
# mediatek-telephony-base
# Mediatek default Fwk plugin always compile as per MPlugin new design
#PRODUCT_PACKAGES += \
# FwkPlugin
#ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
## Override the PRODUCT_BOOT_JARS to include the MediaTek system base modules for global access
#PRODUCT_BOOT_JARS += \
# mediatek-common \
# mediatek-framework \
# mediatek-telephony-base \
# mediatek-telephony-common
#endif
# Telephony
#PRODUCT_COPY_FILES += device/mediatek/config/apns-conf.xml:system/etc/apns-conf.xml:mtk
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/hardware/ril/fusion/mtk-ril/mdcomm/data/vendor-apns-conf.xml:$(TARGET_COPY_OUT_VENDOR)/etc/vendor-apns-conf.xml:mtk
#PRODUCT_COPY_FILES += $(LOCAL_PATH)/spn-conf.xml:system/etc/spn-conf.xml:mtk
# Graphic Extension Deployment
#PRODUCT_PACKAGES += libged_sys
#PRODUCT_PACKAGES += libged_kpi
#FP
ifeq ($(MTK_GENERIC_HAL), yes)
ifeq ($(MGVI_MTK_FINGERPRINT_SUPPORT), yes)
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.1-impl \
android.hardware.biometrics.fingerprint@2.1-service
PRODUCT_PACKAGES += \
libgf_ca \
libgf_hal \
libvendor.goodix.hardware.biometrics.fingerprint@2.1 \
fingerprint.mediatek \
com.goodix.fingerprint \
GFManager
endif
endif
# DRVB
PRODUCT_PACKAGES += libmtk_drvb
# Common overlay moved from project device.mk
#DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay/sd_in_ex_otg
#ifdef OPTR_SPEC_SEG_DEF
# ifneq ($(strip $(OPTR_SPEC_SEG_DEF)),NONE)
# OPTR := $(word 1,$(subst _,$(space),$(OPTR_SPEC_SEG_DEF)))
# SPEC := $(word 2,$(subst _,$(space),$(OPTR_SPEC_SEG_DEF)))
# SEG := $(word 3,$(subst _,$(space),$(OPTR_SPEC_SEG_DEF)))
# DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay/operator/$(OPTR)/$(SPEC)/$(SEG)
# endif
#endif
#ifneq (yes,$(strip $(MTK_TABLET_PLATFORM)))
# ifeq (480,$(strip $(LCM_WIDTH)))
# ifeq (854,$(strip $(LCM_HEIGHT)))
# DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay/FWVGA
# endif
# endif
# ifeq (540,$(strip $(LCM_WIDTH)))
# ifeq (960,$(strip $(LCM_HEIGHT)))
# DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay/qHD
# endif
# endif
#endif
#DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay/navbar
# AGO
$(call inherit-product-if-exists, $(LOCAL_PATH)/ago/device.mk)
# Audio HAL
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_audio.xml
PRODUCT_PACKAGES += \
android.hardware.audio@6.0-impl-mediatek \
android.hardware.audio@7.0-impl-mediatek \
android.hardware.audio.effect@6.0-impl \
android.hardware.audio.effect@7.0-impl \
vendor.mediatek.hardware.bluetooth.audio@2.1-impl \
vendor.mediatek.hardware.bluetooth.audio@2.2-impl \
android.hardware.bluetooth.audio@2.0-impl \
android.hardware.bluetooth.audio@2.1-impl
PRODUCT_PACKAGES += \
android.hardware.audio.service.mediatek
# Bluetooth Audio A2DP HW module
PRODUCT_PACKAGES += \
audio.bluetooth.default
# MTK effects
PRODUCT_PACKAGES += \
libaudiopreprocessing_mtk
PRODUCT_COPY_FILES += $(LOCAL_PATH)/audio_em.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_em.xml:mtk
PRODUCT_COPY_FILES += $(LOCAL_PATH)/AbnormalDisplayLog_dynamic.xml:$(TARGET_COPY_OUT_VENDOR)/etc/AbnormalDisplayLog_dynamic.xml:mtk
PRODUCT_COPY_FILES += $(LOCAL_PATH)/AudioLog_dynamic.xml:$(TARGET_COPY_OUT_VENDOR)/etc/AudioLog_dynamic.xml:mtk
RAT_CONFIG := $(strip $(MTK_PROTOCOL1_RAT_CONFIG))
ifneq (,$(RAT_CONFIG))
ifneq (,$(findstring C,$(RAT_CONFIG)))
# C2K is supported
RAT_CONFIG_CDMA_SUPPORT=yes
endif
endif
ifeq ($(strip $(MTK_TELEPHONY_FEATURE_SWITCH_DYNAMICALLY)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_telephony_switch=1
endif
ifeq ($(word 1,$(subst _,$(space),$(OPTR_SPEC_SEG_DEF))),OP18)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mtk_sos_quick_dial=1
endif
# Tablet Wifi only & Data Only & Data + SMS mode
ifndef MTK_TB_WIFI_3G_MODE
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_tb_wifi_3g_mode=0
else
ifeq ($(strip $(MTK_TB_WIFI_3G_MODE)), WIFI_ONLY)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_tb_wifi_3g_mode=1
endif
ifeq ($(strip $(MTK_TB_WIFI_3G_MODE)), 3GDATA_SMS)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_tb_wifi_3g_mode=2
endif
ifeq ($(strip $(MTK_TB_WIFI_3G_MODE)), 3GDATA_ONLY)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_tb_wifi_3g_mode=3
endif
endif
# Rat switch related properties for telephnoy
# Add for opt_md1_support
ifneq ($(strip $(MTK_MD1_SUPPORT)),)
ifneq ($(strip $(MTK_MD1_SUPPORT)), 0)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_md1_support=$(strip $(MTK_MD1_SUPPORT))
endif
endif
# Add for opt_md3_support
ifneq ($(strip $(MTK_MD3_SUPPORT)),)
ifneq ($(strip $(MTK_MD3_SUPPORT)), 0)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_md3_support=$(strip $(MTK_MD3_SUPPORT))
endif
endif
# Add for opt_eccci_c2k
ifeq ($(strip $(MTK_RIL_MODE)), c6m_1rild)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_eccci_c2k=1
endif
ifeq ($(strip $(MTK_MP2_PLAYBACK_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_support_mp2_playback=1
endif
ifeq ($(strip $(MTK_AUDIO_ALAC_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_audio_alac_support=1
endif
#MTB
#PRODUCT_PACKAGES += mtk_setprop
#MMS
#ifeq ($(strip $(MTK_BASIC_PACKAGE)), yes)
# ifndef MTK_TB_WIFI_3G_MODE
# PRODUCT_PACKAGES += messaging
# else
# ifeq ($(strip $(MTK_TB_WIFI_3G_MODE)), 3GDATA_SMS)
# PRODUCT_PACKAGES += messaging
# endif
# endif
#endif
#
#ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
# ifndef MTK_TB_WIFI_3G_MODE
# PRODUCT_PACKAGES += messaging
# else
# ifeq ($(strip $(MTK_TB_WIFI_3G_MODE)), 3GDATA_SMS)
# PRODUCT_PACKAGES += messaging
# endif
# endif
#endif
#
#ifdef MTK_OVERRIDES_APKS
# ifeq ($(strip $(MTK_OVERRIDES_APKS)), yes)
# ifndef MTK_TB_WIFI_3G_MODE
# PRODUCT_PACKAGES += MtkMms
# PRODUCT_PACKAGES += SoundRecorder
# PRODUCT_PACKAGES += MtkMmsAppService
# else
# ifeq ($(strip $(MTK_TB_WIFI_3G_MODE)), 3GDATA_SMS)
# PRODUCT_PACKAGES += MtkMms
# PRODUCT_PACKAGES += SoundRecorder
# PRODUCT_PACKAGES += MtkMmsAppService
# endif
# endif
# else
# ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
# ifndef MTK_TB_WIFI_3G_MODE
# PRODUCT_PACKAGES += messaging
# else
# ifeq ($(strip $(MTK_TB_WIFI_3G_MODE)), 3GDATA_SMS)
# PRODUCT_PACKAGES += messaging
# endif
# endif
# endif
# endif
#else
# ifndef MTK_TB_WIFI_3G_MODE
# PRODUCT_PACKAGES += MtkMms
# PRODUCT_PACKAGES += SoundRecorder
# PRODUCT_PACKAGES += MtkMmsAppService
# else
# ifeq ($(strip $(MTK_TB_WIFI_3G_MODE)), 3GDATA_SMS)
# PRODUCT_PACKAGES += MtkMms
# PRODUCT_PACKAGES += SoundRecorder
# PRODUCT_PACKAGES += MtkMmsAppService
# endif
# endif
#endif
#ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
# PRODUCT_PACKAGES += MtkBrowser
# PRODUCT_PACKAGES += SoundRecorder
#endif
# Telephony Setting Service AOSP code will be replaced by MTK
#ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/services/Telephony/Android.mk),)
#PRODUCT_PACKAGES += MtkTeleService
#endif
#endif
# Telephony begin
ifeq ($(strip $(MTK_TC1_COMMON_SERVICE)), yes)
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), ss)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_tc1_ss.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsds)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_tc1_dsds.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsda)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_tc1_dsds.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), tsts)
ifeq ($(strip $(MTK_EXTERNAL_SIM_RSIM_ENHANCEMENT)), yes)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_tc1_dsds.xml
else
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_tc1_tsts.xml
endif
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), qsqs)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_tc1_qsqs.xml
endif
else
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), ss)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_ss.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsds)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_dsds.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsda)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_dsds.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), tsts)
ifeq ($(strip $(MTK_EXTERNAL_SIM_RSIM_ENHANCEMENT)), yes)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_dsds.xml
else
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_tsts.xml
endif
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), qsqs)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_qsqs.xml
endif
endif
# add radioconfig
ifneq ($(strip $(MTK_TB_WIFI_3G_MODE)),WIFI_ONLY)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_radioconfig.xml
endif
#for dynamic MSIM switch
ODM_MANIFEST_SKUS := ss dsds tsts qsqs
ODM_MANIFEST_SS_FILES := $(LOCAL_PATH)/project_manifest/odm_manifest_ss.xml
ODM_MANIFEST_DSDS_FILES := $(LOCAL_PATH)/project_manifest/odm_manifest_dsds.xml
ODM_MANIFEST_TSTS_FILES := $(LOCAL_PATH)/project_manifest/odm_manifest_tsts.xml
ODM_MANIFEST_QSQS_FILES := $(LOCAL_PATH)/project_manifest/odm_manifest_qsqs.xml
#for operator manifests
ODM_MANIFEST_SS_FILES += $(LOCAL_PATH)/project_manifest/odm_manifest_op_ss.xml
ODM_MANIFEST_DSDS_FILES += $(LOCAL_PATH)/project_manifest/odm_manifest_op_dsds.xml
ODM_MANIFEST_TSTS_FILES += $(LOCAL_PATH)/project_manifest/odm_manifest_op_tsts.xml
ODM_MANIFEST_QSQS_FILES += $(LOCAL_PATH)/project_manifest/odm_manifest_op_qsqs.xml
## Platform libs
PRODUCT_PACKAGES += libmtkcutils
PRODUCT_PACKAGES += libmtkutils
PRODUCT_PACKAGES += libmtkproperty
PRODUCT_PACKAGES += libmtkrillog
PRODUCT_PACKAGES += libmtkares
PRODUCT_PACKAGES += libmtkhardware_legacy
PRODUCT_PACKAGES += libmtksysutils
PRODUCT_PACKAGES += libmtknetutils
PRODUCT_PACKAGES += muxreport
PRODUCT_PACKAGES += mtkrild
PRODUCT_PACKAGES += mtk-ril
PRODUCT_PACKAGES += libmtkutilril
PRODUCT_PACKAGES += gsm0710muxd
ifeq ($(strip $(MTK_RIL_MODE)), c6m_1rild)
PRODUCT_PACKAGES += libmtk-ril
PRODUCT_PACKAGES += libmtkmipc-ril
PRODUCT_PACKAGES += mtkfusionrild
PRODUCT_PACKAGES += librilfusion
PRODUCT_PACKAGES += libmnetlink_v104
PRODUCT_PACKAGES += libvia-ril
PRODUCT_PACKAGES += libviamipc-ril
PRODUCT_PACKAGES += libcarrierconfig
PRODUCT_PACKAGES += libmtk-fusion-ril-prop-vsim
PRODUCT_PACKAGES += libmtk-fusion-ril-mipc-vsim
endif
ifeq ($(strip $(MTK_CAPABILITY_CONTROL_SUPPORT)), yes)
PRODUCT_PACKAGES += libcapctrl
endif
#PRODUCT_PACKAGES += md_minilog_util
#ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
# PRODUCT_PACKAGES += SimRecoveryTestTool
#endif
PRODUCT_PACKAGES += libratconfig
# For NA sim lock
PRODUCT_PACKAGES += libsimmelock
PRODUCT_PACKAGES += libsimlock
ifeq ($(strip $(RAT_CONFIG_CDMA_SUPPORT)),yes)
#For C2K RIL
PRODUCT_PACKAGES += \
viarild \
libc2kril \
libviatelecom-withuim-ril \
viaradiooptions \
librpcril \
ctclient
##Set CT6M_SUPPORT
#ifeq ($(strip $(CT6M_SUPPORT)), yes)
#PRODUCT_PACKAGES += CdmaSystemInfo
#PRODUCT_PROPERTY_OVERRIDES += ro.ct6m_support=1
#endif
##For PPPD
#PRODUCT_PACKAGES += \
# ip-up-cdma \
# ipv6-up-cdma \
# link-down-cdma \
# pppd_via
#For C2K control modules
PRODUCT_PACKAGES += \
libc2kutils \
flashlessd \
statusd
endif
# MAL shared library
#PRODUCT_PACKAGES += libmdfx
#PRODUCT_PACKAGES += libmal_mdmngr
#PRODUCT_PACKAGES += libmal_nwmngr
#PRODUCT_PACKAGES += libmal_rilproxy
#PRODUCT_PACKAGES += libmal_simmngr
#PRODUCT_PACKAGES += libmal_datamngr
#PRODUCT_PACKAGES += libmal_rds
#PRODUCT_PACKAGES += libmal_epdga
#PRODUCT_PACKAGES += libmal_imsmngr
#PRODUCT_PACKAGES += libmal
#
#PRODUCT_PACKAGES += volte_imsm
#PRODUCT_PACKAGES += volte_imspa
# MAL-Dongle shared library
#PRODUCT_PACKAGES += libmd_mdmngr
#PRODUCT_PACKAGES += libmd_rilproxy
#PRODUCT_PACKAGES += libmd_simmngr
#PRODUCT_PACKAGES += libmd_datamngr
#PRODUCT_PACKAGES += libmd_nwmngr
#PRODUCT_PACKAGES += libmd
# # Volte IMS shared library
#PRODUCT_PACKAGES += volte_imspa_md
# Add for (VzW) chipset test
#ifneq ($(strip $(MTK_VZW_CHIPTEST_MODE_SUPPORT)), 0)
#PRODUCT_PACKAGES += libatch
#PRODUCT_PACKAGES += libatcputil
#PRODUCT_PACKAGES += atcp
#PRODUCT_PACKAGES += libswext_plugin
#PRODUCT_PACKAGES += libnetmngr_plugin
#
#PRODUCT_PACKAGES += liblannetmngr_core
#PRODUCT_PACKAGES += liblannetmngr_api
#PRODUCT_PACKAGES += lannetmngrd
#PRODUCT_PACKAGES += lannetmngr_test
#endif
# VoLTE Process
#ifneq ($(strip $(MTK_BUILD_IGNORE_IMS_REPO)),yes)
# ifeq ($(strip $(MSSI_MTK_IMS_SUPPORT)),yes)
# PRODUCT_PACKAGES += volte_xdmc
# PRODUCT_PACKAGES += volte_core
# PRODUCT_PACKAGES += volte_ua
# PRODUCT_PACKAGES += volte_stack
# PRODUCT_PACKAGES += volte_imcb
# PRODUCT_PACKAGES += libipsec_ims_shr
#
# # MAL Process
# PRODUCT_PACKAGES += mtkmal
#
# # # Volte IMS Dongle Process
# PRODUCT_PACKAGES += volte_imsm_md
#
# else
# ifeq ($(strip $(MTK_EPDG_SUPPORT)),yes) # EPDG without IMS
#
# # MAL Process
# PRODUCT_PACKAGES += mtkmal
#
# # # Volte IMS Dongle Process
# # PRODUCT_PACKAGES += volte_imsm_md
# endif
# endif
#endif
# VoLTE Process
ifneq ($(strip $(MTK_BUILD_IGNORE_IMS_REPO)),yes)
ifeq ($(strip $(MTK_IMS_SUPPORT)),yes)
PRODUCT_PACKAGES += libipsec_ims_shr
endif
endif
# include init.volte.rc
#ifeq ($(MTK_IMS_SUPPORT),yes)
# ifneq ($(wildcard $(MTK_TARGET_PROJECT_FOLDER)/init.volte.rc),)
# PRODUCT_COPY_FILES += $(MTK_TARGET_PROJECT_FOLDER)/init.volte.rc:root/init.volte.rc
# else
# ifneq ($(wildcard $(MTK_PROJECT_FOLDER)/init.volte.rc),)
# PRODUCT_COPY_FILES += $(MTK_PROJECT_FOLDER)/init.volte.rc:root/init.volte.rc
# else
# PRODUCT_COPY_FILES += $(LOCAL_PATH)/init.volte.rc:root/init.volte.rc
# endif
# endif
#endif
#include multi_init.rc in meta mode and factory mode.
PRODUCT_COPY_FILES += $(LOCAL_PATH)/multi_init.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/multi_init.rc
#include meta_init.vendor.rc in meta mode and factory mode.
PRODUCT_COPY_FILES += $(LOCAL_PATH)/meta_init.vendor.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/meta_init.vendor.rc
# WFCA Process
ifneq ($(strip $(MTK_BUILD_IGNORE_IMS_REPO)),yes)
ifeq ($(strip $(MTK_WFC_SUPPORT)),yes)
PRODUCT_PACKAGES += wfca
endif
endif
## Hwui program binary service
#PRODUCT_PACKAGES += program_binary_service
#PRODUCT_PACKAGES += program_binary_builder
## Hwui extension
#PRODUCT_PACKAGES += libhwuiext
#
# PPL only enalbed in internal + NON GMS + Non Low memory
ifneq ($(wildcard vendor/mediatek/internal/mtkcta_enable),)
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifeq ($(strip $(MTK_PRIVACY_PROTECTION_LOCK)),yes)
ifneq ($(strip $(BUILD_GMS)), yes)
ifneq ($(strip $(MTK_GMO_ROM_OPTIMIZE)), yes)
# PRODUCT_PACKAGES += PrivacyProtectionLock
PRODUCT_PACKAGES += ppl_agent
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_pplagent.xml
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_privacy_protection_lock=1
endif
endif
endif
endif
endif
ifeq ($(strip $(MTK_ENGINEERMODE_APP)),yes)
ifneq ($(wildcard vendor/mediatek/internal/em_enable),)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_em.xml
PRODUCT_PACKAGES += em_hidl
else
#ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug),)
ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug user),)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_em.xml
PRODUCT_PACKAGES += em_hidl
else
ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug),)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_em.xml
PRODUCT_PACKAGES += em_hidl
endif
endif
endif
endif
ifeq ($(strip $(GOOGLE_RELEASE_RIL)), yes)
PRODUCT_PACKAGES += libril
else
PRODUCT_PACKAGES += librilmtk
endif
#ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
# PRODUCT_PACKAGES += mediatek-packages-teleservice
# PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,vendor/mediatek/proprietary/frameworks/opt/teleservice/mediatek-packages-teleservice.xml:system/etc/permissions/mediatek-packages-teleservice.xml:mtk)
#endif
#
#ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/services/Telecomm/Android.bp),)
# PRODUCT_PACKAGES += MtkTelecom
# PRODUCT_PACKAGES += CallRecorderService
# PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.Telecom=I
#endif
#endif
## Telephony end
# For MTK MediaProvider
# PRODUCT_PACKAGES += MtkMediaProvider
#PRODUCT_PACKAGES += Camera
PRODUCT_PACKAGES += Panorama
PRODUCT_PACKAGES += NativePip
PRODUCT_PACKAGES += SlowMotion
PRODUCT_PACKAGES += CameraRoot
# for Advanced Camera Service
#PRODUCT_PACKAGES += mtk_advcamserver
# MediaTek Camera Hal
PRODUCT_PACKAGES_DEBUG += mtkcam-debug
PRODUCT_PACKAGES_DEBUG += securecamera_test
PRODUCT_PACKAGES_DEBUG += mmshal_test
PRODUCT_PACKAGES_DEBUG += isphal_test
# MediaTek Camera stream info plugin
PRODUCT_PACKAGES += libmtkcam_streaminfo_plugin-p1stt
# for HIDLLomoHal
PRODUCT_PACKAGES += vendor.mediatek.hardware.camera.lomoeffect@1.0-impl
# for HIDLCCAPHal
PRODUCT_PACKAGES += vendor.mediatek.hardware.camera.ccap@1.0-impl
# for HIDL BGService
ifeq ($(strip $(MTK_CAM_BGSERVICE_SUPPORT)), yes)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_bgservice.xml
PRODUCT_PACKAGES += vendor.mediatek.hardware.camera.bgservice@1.0-impl
PRODUCT_PACKAGES += vendor.mediatek.hardware.camera.bgservice@1.1-impl
endif
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += camera.disable_zsl_mode=1
PRODUCT_PROPERTY_OVERRIDES += vendor.camera.mdp.dre.enable?=0
PRODUCT_PROPERTY_OVERRIDES += vendor.camera.mdp.cz.enable?=0
# camera hal3 default buffer count for imgo.
# (overridable in platform-/project-level device.mk)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.min.high_ram.imgo=7
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.min.low_ram.imgo=6
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.base.imgo=4
# camera hal3 default buffer count for rrzo.
# (overridable in platform-/project-level device.mk)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.min.high_ram.rrzo=7
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.min.low_ram.rrzo=6
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.base.rrzo=4
# camera hal3 default buffer count for lcso.
# (overridable in platform-/project-level device.mk)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.min.high_ram.lcso=7
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.min.low_ram.lcso=6
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.base.lcso=4
# camera hal3 default buffer count for rsso.
# (overridable in platform-/project-level device.mk)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.min.high_ram.rsso=7
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.min.low_ram.rsso=6
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.base.rsso=5
# camera hal3 default buffer count for fd yuv.
# (overridable in platform-/project-level device.mk)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.min.high_ram.fdyuv?=5
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.min.low_ram.fdyuv?=5
PRODUCT_PACKAGES += autokd
RODUCT_PACKAGES += \
dhcp6c \
dhcp6ctl \
dhcp6c.conf \
dhcp6cDNS.conf \
dhcp6s \
dhcp6s.conf \
dhcp6c.script \
dhcp6cctlkey \
libifaddrs
# meta tool
include $(wildcard vendor/mediatek/proprietary/buildinfo_vnd/label.ini)
$(call inherit-product-if-exists, vendor/mediatek/proprietary/buildinfo_vnd/branch.mk)
#PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.mediatek.version.release=$(strip $(MTK_INTERNAL_BUILD_VERNO))
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mediatek.version.release=$(strip $(MTK_INTERNAL_BUILD_VERNO))
# VENDOR_SECURITY_PATCH
$(call inherit-product-if-exists, vendor/mediatek/proprietary/buildinfo_vnd/device.mk)
## To specify customer's releasekey
ifdef MTK_TARGET_PROJECT
ifneq ($(wildcard $(strip $(MTK_TARGET_PROJECT_FOLDER))/security),)
PRODUCT_DEFAULT_DEV_CERTIFICATE := $(strip $(MTK_TARGET_PROJECT_FOLDER))/security/releasekey
else ifneq ($(wildcard device/mediatek/security),)
PRODUCT_DEFAULT_DEV_CERTIFICATE := device/mediatek/security/releasekey
endif
endif
ifeq ($(MTK_SIGNATURE_CUSTOMIZATION),yes)
PRODUCT_DEFAULT_DEV_CERTIFICATE := device/mediatek/security/releasekey
# ifeq ($(wildcard device/mediatek/security/$(strip $(MTK_TARGET_PROJECT))),)
# $(error Please create device/mediatek/security/$(strip $(MTK_TARGET_PROJECT))/ and put your releasekey there!!)
# else
# PRODUCT_DEFAULT_DEV_CERTIFICATE := device/mediatek/security/$(strip $(MTK_TARGET_PROJECT))/releasekey
# endif
# else
# Not specify PRODUCT_DEFAULT_DEV_CERTIFICATE and the default testkey will be used.
endif
ifdef UP_SIGNATURE_CUSTOMIZATION
ifneq ($(wildcard vendor/unplugged/proprietary/build/security/$(strip $(UP_SIGNATURE_CUSTOMIZATION))/releasekey),)
PRODUCT_DEFAULT_DEV_CERTIFICATE := vendor/unplugged/proprietary/build/security/$(strip $(UP_SIGNATURE_CUSTOMIZATION))/releasekey
else
$(error invalid releasekey path,please check!!! )
endif
endif
# Bluetooth Low Energy Capability
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml
## Bluetooth DUN profile
#ifeq ($(MTK_BT_BLUEDROID_DUN_GW_12),yes)
#PRODUCT_PROPERTY_OVERRIDES += bt.profiles.dun.enabled=1
#PRODUCT_PACKAGES += pppd_btdun libpppbtdun.so
#endif
## Bluetooth BIP profile cover art feature
#ifeq ($(MTK_BT_BLUEDROID_AVRCP_TG_16),yes)
# PRODUCT_PROPERTY_OVERRIDES += bt.profiles.bip.coverart.enable=1
#endif
## Bluetooth AVRCP Support Multi Player feature
#ifeq ($(MTK_BT_AVRCP_TG_MULTI_PLAYER_SUPPORT), yes)
# PRODUCT_PROPERTY_OVERRIDES += bt.profiles.avrcp.multiPlayer.enable=1
#else
# PRODUCT_PROPERTY_OVERRIDES += bt.profiles.avrcp.multiPlayer.enable=0
#endif
# Bluetooth FW log switch
ifneq ($(MTK_PRODUCT_LINE), smart_phone)
ifneq ($(filter MTK_MT7%, $(MTK_BT_CHIP)), )
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.bluetooth.fw_log_switch=true
endif
endif
## Customer configurations
#PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,$(MTK_TARGET_PROJECT_FOLDER)/custom.conf:system/etc/custom.conf)
#PRODUCT_COPY_FILES += $(LOCAL_PATH)/custom.conf:system/etc/custom.conf
# prebuilt interface
$(call inherit-product-if-exists, vendor/mediatek/common/device-vendor.mk)
# ECC List Customization
$(call inherit-product-if-exists, vendor/mediatek/proprietary/external/EccList/EccList.mk)
## fonts
#$(call inherit-product-if-exists, frameworks/base/data/fonts/fonts.mk)
#$(call inherit-product-if-exists, external/naver-fonts/fonts.mk)
#$(call inherit-product-if-exists, external/noto-fonts/fonts.mk)
#$(call inherit-product-if-exists, external/roboto-fonts/fonts.mk)
#$(call inherit-product-if-exists, frameworks/base/data/fonts/openfont/fonts.mk)
#
## 3Dwidget
#$(call inherit-product-if-exists, vendor/mediatek/proprietary/frameworks/base/3dwidget/appwidget.mk)
#
## AAPT Config
$(call inherit-product-if-exists, $(LOCAL_PATH)/aapt/aapt_config.mk)
#
# MediaTek Operator features configuration
#
ifdef OPTR_SPEC_SEG_DEF
ifneq ($(strip $(OPTR_SPEC_SEG_DEF)),NONE)
include device/mediatek/vendor/common/OpBase.mk
# To compatible with RSC deactivated project
ifneq ($(strip $(OPTR_SPEC_SEG_DEF)),KIT)
OPTR := $(word 1,$(subst _,$(space),$(OPTR_SPEC_SEG_DEF)))
SPEC := $(word 2,$(subst _,$(space),$(OPTR_SPEC_SEG_DEF)))
SEG := $(word 3,$(subst _,$(space),$(OPTR_SPEC_SEG_DEF)))
#$(call inherit-product-if-exists, vendor/mediatek/proprietary/operator/SPEC/$(OPTR)/$(SPEC)/$(SEG)/optr_package_config.mk)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.operator.optr=$(OPTR)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.operator.spec=$(SPEC)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.operator.seg=$(SEG)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.operator.optr=$(OPTR)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.operator.spec=$(SPEC)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.operator.seg=$(SEG)
endif
endif
endif
# Here we initializes variable MTK_REGIONAL_OP_PACK based on Carrier express pack
ifdef MTK_CARRIEREXPRESS_PACK
ifneq ($(strip $(MTK_CARRIEREXPRESS_PACK)),no)
ifeq ($(strip $(OPTR_SPEC_SEG_DEF)),NONE)
include device/mediatek/vendor/common/OpBase.mk
endif
endif #ifneq ($(strip $(MTK_CARRIEREXPRESS_PACK)),no)
endif #ifdef MTK_CARRIEREXPRESS_PACK
#PRODUCT_PACKAGES += DataTransfer
## MediatekDM package & lib
#ifeq ($(strip $(MTK_MDM_APP)),yes)
# PRODUCT_PACKAGES += MediatekDM
#endif
## CTM
#ifeq ($(strip $(MTK_CTM_SUPPORT)),yes)
#PRODUCT_PACKAGES += ctm
#endif
## SmsReg package
#ifeq ($(strip $(MTK_SMSREG_APP)),yes)
# PRODUCT_PACKAGES += SmsReg
#endif
# VoW
ifneq ($(wildcard vendor/mediatek/proprietary/external/voiceunlock2),)
ifeq ($(strip $(MTK_VOW_SUPPORT)),yes)
PRODUCT_PACKAGES += libvow_ap_test_hh
PRODUCT_PACKAGES += libvow_ap_test_ha
PRODUCT_PACKAGES += libvow_ap_test_aa
PRODUCT_PACKAGES += libvow_ap_test_dd
PRODUCT_PACKAGES += libvow_ap_test_nn
endif
endif
#ifeq ($(strip $(RAT_CONFIG_CDMA_SUPPORT)),yes)
# PRODUCT_PACKAGES += via-plugin
#endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), ss)
PRODUCT_PROPERTY_OVERRIDES += persist.radio.multisim.config=ss
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.radio.msimmode=ss
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.radio.max.multisim=ss
PRODUCT_PROPERTY_OVERRIDES += ro.telephony.sim.count=1
PRODUCT_PROPERTY_OVERRIDES += telephony.active_modems.max_count=1
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsds)
PRODUCT_PROPERTY_OVERRIDES += persist.radio.multisim.config=dsds
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.radio.msimmode=dsds
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.radio.max.multisim=dsds
PRODUCT_PROPERTY_OVERRIDES += ro.telephony.sim.count=2
PRODUCT_PROPERTY_OVERRIDES += telephony.active_modems.max_count=2
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsda)
PRODUCT_PROPERTY_OVERRIDES += persist.radio.multisim.config=dsda
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.radio.msimmode=dsda
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.radio.max.multisim=dsda
PRODUCT_PROPERTY_OVERRIDES += ro.telephony.sim.count=2
PRODUCT_PROPERTY_OVERRIDES += telephony.active_modems.max_count=2
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), tsts)
PRODUCT_PROPERTY_OVERRIDES += persist.radio.multisim.config=tsts
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.radio.msimmode=tsts
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.radio.max.multisim=tsts
PRODUCT_PROPERTY_OVERRIDES += ro.telephony.sim.count=3
PRODUCT_PROPERTY_OVERRIDES += telephony.active_modems.max_count=3
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), qsqs)
PRODUCT_PROPERTY_OVERRIDES += persist.radio.multisim.config=qsqs
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.radio.msimmode=qsqs
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.radio.max.multisim=qsqs
PRODUCT_PROPERTY_OVERRIDES += ro.telephony.sim.count=4
PRODUCT_PROPERTY_OVERRIDES += telephony.active_modems.max_count=4
endif
ifeq ($(strip $(MTK_AUDIO_PROFILES)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_audio_profiles=1
endif
ifeq ($(strip $(MTK_AUDENH_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_audenh_support=1
endif
# MTK_LOSSLESS_BT
ifeq ($(strip $(MTK_LOSSLESS_BT_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_lossless_bt_audio=1
endif
# MTK_LOUNDNESS
ifeq ($(strip $(MTK_BESLOUDNESS_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_besloudness_support=1
endif
# MTK_HIFIAUDIO_SUPPORT
ifeq ($(strip $(MTK_HIFIAUDIO_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_hifiaudio_support=1
endif
# MTK_BESSURROUND
ifeq ($(strip $(MTK_BESSURROUND_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_bessurround_support=1
endif
# MTK_ANC
ifeq ($(strip $(MTK_HEADSET_ACTIVE_NOISE_CANCELLATION)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_active_noise_cancel=1
endif
# SCLTM Library
ifeq ($(strip $(MTK_SCLTM_SUPPORT)), yes)
PRODUCT_PACKAGES += libscltm
endif
#ifeq ($(strip $(MTK_MEMORY_COMPRESSION_SUPPORT)), yes)
# PRODUCT_PROPERTY_OVERRIDES += ro.mtk_mem_comp_support=1
#endif
#WAPI
PRODUCT_PACKAGES += libwapi
ifeq ($(strip $(MTK_WAPPUSH_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_wappush_support=1
endif
ifeq ($(strip $(MTK_AGPS_APP)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_agps_app=1
endif
ifeq ($(strip $(MTK_FM_TX_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_fm_tx_support=1
endif
ifeq ($(strip $(MTK_VOICE_UI_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_voice_ui_support=1
endif
ifneq ($(MTK_AUDIO_TUNING_TOOL_VERSION),)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_audio_tuning_tool_ver=$(strip $(MTK_AUDIO_TUNING_TOOL_VERSION))
else
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_audio_tuning_tool_ver=V1
endif
#ifeq ($(strip $(MTK_DM_APP)), yes)
# PRODUCT_PROPERTY_OVERRIDES += ro.mtk_dm_app=1
#endif
ifeq ($(strip $(MTK_MATV_ANALOG_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_matv_analog_support=1
endif
ifeq ($(strip $(MTK_WLAN_SUPPORT)), yes)
#PRODUCT_PACKAGES += halutil
#PRODUCT_PACKAGES += wificond
PRODUCT_PACKAGES += libwpa_client
PRODUCT_PACKAGES += android.hardware.wifi@1.0-service-lazy
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.wifi.sap.interface=ap0
else
PRODUCT_PACKAGES += android.hardware.wifi@1.0-service
endif
ifeq ($(strip $(MTK_GPS_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_gps_support=1
else
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_gps_support=0
endif
ifeq ($(strip $(HAVE_MATV_FEATURE)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.have_matv_feature=1
endif
ifeq ($(strip $(MTK_BT_FM_OVER_BT_VIA_CONTROLLER)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_bt_fm_over_bt=1
endif
#ifeq ($(strip $(MTK_DHCPV6C_WIFI)), yes)
# PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_dhcpv6c_wifi=1
#endif
ifeq ($(strip $(MTK_FM_SHORT_ANTENNA_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_fm_short_antenna_support=1
endif
ifeq ($(strip $(HAVE_AACENCODE_FEATURE)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.have_aacencode_feature=1
endif
#ifeq ($(strip $(MTK_CLEARMOTION_SUPPORT)),yes)
# PRODUCT_PACKAGES += libMJCjni
# PRODUCT_PROPERTY_OVERRIDES += \
# persist.sys.display.clearMotion=0
# PRODUCT_PROPERTY_OVERRIDES += \
# persist.clearMotion.fblevel.nrm=255
# PRODUCT_PROPERTY_OVERRIDES += \
# persist.clearMotion.fblevel.bdr=255
#endif
ifeq ($(strip $(MTK_PHONE_VT_VOICE_ANSWER)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_phone_vt_voice_answer=1
endif
ifeq ($(strip $(MTK_PHONE_VOICE_RECORDING)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_phone_voice_recording=1
endif
ifeq ($(strip $(MTK_POWER_SAVING_SWITCH_UI_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_pwr_save_switch=1
endif
#DRM part
#OMA DRM
#ifeq ($(strip $(MTK_OMADRM_SUPPORT)), yes)
# PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_oma_drm_support=1
#endif
#AOSP OMA DRM implementation
#PRODUCT_PACKAGES += libfwdlockengine
PRODUCT_PROPERTY_OVERRIDES += drm.service.enabled=true
#PRODUCT_PACKAGES += libdcfdecoderjni
#PRODUCT_PACKAGES += libdrmmtkutil
#Playready DRM
ifeq ($(strip $(MTK_PLAYREADY_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_playready_drm_support=1
endif
########
ifeq ($(strip $(MTK_LOG2SERVER_APP)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_log2server_app=1
endif
ifeq ($(strip $(MTK_FM_RECORDING_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_fm_recording_support=1
endif
ifeq ($(strip $(MTK_AUDIO_APE_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_audio_ape_support=1
endif
ifneq ($(MTK_BASIC_PACKAGE), yes)
PRODUCT_PACKAGES += libcodec2_soft_mtk_msadpcmdec
PRODUCT_PACKAGES += libcodec2_soft_mtk_imaadpcmdec
PRODUCT_PACKAGES += libcodec2_soft_mtk_apedec
PRODUCT_PACKAGES += libcodec2_soft_mtk_alacdec
PRODUCT_PACKAGES += libcodec2_soft_mtk_wmadec
PRODUCT_PACKAGES += libcodec2_soft_mtk_mp3dec
endif
ifeq ($(strip $(MTK_FD_FORCE_REL_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_fd_force_rel_support=1
endif
ifeq ($(strip $(MTK_BRAZIL_CUSTOMIZATION_CLARO)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.brazil_cust_claro=1
endif
ifeq ($(strip $(MTK_BRAZIL_CUSTOMIZATION_VIVO)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.brazil_cust_vivo=1
endif
ifeq ($(strip $(MTK_MTKPS_PLAYBACK_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_mtkps_playback_support=1
endif
ifeq ($(strip $(MTK_RAT_WCDMA_PREFERRED)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_rat_wcdma_preferred=1
endif
ifeq ($(strip $(MTK_SMSREG_APP)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_smsreg_app=1
endif
ifeq ($(strip $(MTK_TB_APP_CALL_FORCE_SPEAKER_ON)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_tb_call_speaker_on=1
endif
ifeq ($(strip $(MTK_EMMC_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_emmc_support=1
endif
ifeq ($(strip $(MTK_UFS_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_ufs_support=1
endif
ifeq ($(strip $(MTK_FM_50KHZ_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_fm_50khz_support=1
endif
ifeq ($(strip $(MTK_DEFAULT_WRITE_DISK)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_default_write_disk=1
endif
ifeq ($(strip $(MTK_TETHERINGIPV6_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_tetheringipv6_support=1
endif
ifeq ($(strip $(MTK_PHONE_NUMBER_GEODESCRIPTION)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_phone_number_geo=1
endif
ifeq ($(strip $(EVDO_DT_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.evdo_dt_support=1
endif
ifeq ($(strip $(EVDO_DT_VIA_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.evdo_dt_via_support=1
endif
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_ril_mode=$(strip $(MTK_RIL_MODE))
ifneq ($(strip $(MTK_RIL_MODE)), c6m_1rild)
PRODUCT_PACKAGES += rilproxy
PRODUCT_PACKAGES += mtk-rilproxy
PRODUCT_PACKAGES += lib-rilproxy
endif
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.md_prop_ver=1
ifeq ($(strip $(MTK_RAT_BALANCING)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_rat_balancing=1
endif
ifeq ($(strip $(MTK_ENABLE_MD1)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_enable_md1=1
endif
ifeq ($(strip $(MTK_ENABLE_MD2)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_enable_md2=1
endif
ifeq ($(strip $(MTK_ENABLE_MD3)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_enable_md3=1
endif
#For SOTER
ifeq ($(strip $(MTK_SOTER_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_soter_support=1
endif
ifeq ($(strip $(MTK_BENCHMARK_BOOST_TP)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_benchmark_boost_tp=1
endif
ifeq ($(strip $(MTK_DRE30_SUPPORT)), yes)
PRODUCT_PACKAGES += libdre
endif
#ifeq ($(strip $(MTK_GAMEPQ_SUPPORT)), 2)
ifeq ($(MTK_PRODUCT_LINE), smart_phone)
PRODUCT_PACKAGES += libappgamepq
endif
#endif
ifeq ($(MTK_PRODUCT_LINE), smart_phone)
PRODUCT_PACKAGES += libgamehdr
endif
#ifeq ($(strip $(MTK_BT_BLE_MANAGER_SUPPORT)), yes)
# PRODUCT_PACKAGES += BluetoothLe \
# BLEManager
#endif
#For GattProfile
#PRODUCT_PACKAGES += GattProfile
#For BtAutoTest
#PRODUCT_PACKAGES += BtAutoTest
#ifeq ($(strip $(MTK_AAL_SUPPORT)), yes)
PRODUCT_PACKAGES += libaal_key
#endif
ifeq ($(strip $(MTK_ULTRA_DIMMING_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_ultra_dimming_support=1
endif
#ifeq ($(strip $(MTK_DRE30_SUPPORT)), yes)
PRODUCT_PACKAGES += libdre
#endif
ifneq ($(strip $(MTK_PQ_SUPPORT)), no)
ifeq ($(strip $(MTK_PQ_SUPPORT)), PQ_OFF)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_pq_support=0
else
ifeq ($(strip $(MTK_PQ_SUPPORT)), PQ_HW_VER_2)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_pq_support=2
else
ifeq ($(strip $(MTK_PQ_SUPPORT)), PQ_HW_VER_3)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_pq_support=3
else
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_pq_support=0
endif
endif
endif
endif
# pq color mode, default mode is 1 (DISP)
ifeq ($(strip $(MTK_PQ_COLOR_MODE)), OFF)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_pq_color_mode=0
else
ifeq ($(strip $(MTK_PQ_COLOR_MODE)), MDP)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_pq_color_mode=2
else
ifeq ($(strip $(MTK_PQ_COLOR_MODE)), DISP_MDP)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_pq_color_mode=3
else
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_pq_color_mode=1
endif
endif
endif
ifeq ($(strip $(MTK_MIRAVISION_SETTING_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_miravision_support=1
endif
ifeq ($(strip $(MTK_MIRAVISION_IMAGE_DC_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_miravision_image_dc=1
endif
ifeq ($(strip $(MTK_BLULIGHT_DEFENDER_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_blulight_def_support=1
PRODUCT_PACKAGES += libblulight_defender
endif
ifeq ($(strip $(MTK_CHAMELEON_DISPLAY_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_chameleon_support=1
endif
ifeq ($(strip $(MTK_TETHERING_EEM_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_tethering_eem_support=1
endif
ifeq ($(strip $(MTK_WFD_SINK_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_wfd_sink_support=1
endif
ifeq ($(strip $(MTK_WFD_SINK_UIBC_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_wfd_sink_uibc_support=1
endif
ifeq ($(strip $(MTK_CROSSMOUNT_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_crossmount_support=1
endif
ifeq ($(strip $(MTK_MULTIPLE_TDLS_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_multiple_tdls_support=1
endif
ifeq ($(strip $(MTK_IPV6_TETHER_PD_MODE)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_ipv6_tether_pd_mode=1
endif
ifeq ($(strip $(MTK_GMO_ROM_OPTIMIZE)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.gmo.rom_optimize=1
ifeq ($(TARGET_BUILD_VARIANT), eng)
PRODUCT_PROPERTY_OVERRIDES += ro.lmk.debug=true
endif
endif
ifeq ($(strip $(MTK_MDM_APP)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_mdm_app=1
endif
ifeq ($(strip $(MTK_MDM_LAWMO)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_mdm_lawmo=1
endif
ifeq ($(strip $(MTK_MDM_FUMO)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_mdm_fumo=1
endif
ifeq ($(strip $(MTK_MDM_SCOMO)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_mdm_scomo=1
endif
ifeq ($(strip $(MTK_MULTISIM_RINGTONE_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_multisim_ringtone=1
endif
ifeq ($(strip $(MTK_MT8193_HDCP_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_mt8193_hdcp_support=1
endif
ifeq ($(strip $(PURE_AP_USE_EXTERNAL_MODEM)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.pure_ap_use_external_modem=1
endif
ifeq ($(strip $(MTK_WFD_HDCP_TX_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_wfd_hdcp_tx_support=1
endif
ifeq ($(strip $(MTK_WFD_HDCP_RX_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_wfd_hdcp_rx_support=1
endif
ifeq ($(strip $(MTK_RIL_MODE)), c6m_1rild)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_md_world_mode_support=1
endif
ifeq ($(strip $(MTK_AUDIO_CHANGE_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_audio_change_support=1
endif
ifeq ($(strip $(MTK_MULTI_PARTITION_MOUNT_ONLY_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_multi_patition=1
endif
ifeq ($(strip $(MTK_WIFI_CALLING_RIL_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_wifi_calling_ril_support=1
endif
ifeq ($(strip $(MTK_DRM_KEY_MNG_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_key_manager_support=1
endif
ifeq ($(strip $(MTK_RUNTIME_PERMISSION_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_runtime_permission=1
endif
# enable zsd+hdr
ifeq ($(strip $(MTK_CAM_ZSDHDR_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_zsdhdr_support=1
endif
ifeq ($(strip $(MTK_CAM_DUAL_ZOOM_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_cam_dualzoom_support=1
endif
ifeq ($(strip $(MTK_CAM_STEREO_DENOISE_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_cam_dualdenoise_support=1
endif
ifeq ($(strip $(MTK_CLEARMOTION_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_clearmotion_support=1
endif
ifeq ($(strip $(MTK_DISPLAY_120HZ_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_display_120hz_support=1
endif
# default setting for display all project
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.vendor.mtk_ovl_bringup?=0
ifeq ($(strip $(MTK_SLOW_MOTION_VIDEO_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_slow_motion_support=1
endif
ifeq ($(strip $(MTK_CAM_STEREO_CAMERA_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_cam_stereo_camera_support=1
endif
ifeq ($(strip $(MTK_LTE_DC_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_lte_dc_support=1
endif
ifeq ($(strip $(MTK_ENABLE_MD5)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_enable_md5=1
endif
ifeq ($(strip $(MTK_SAFEMEDIA_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_safemedia_support=1
endif
ifeq ($(strip $(MTK_UMTS_TDD128_MODE)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_umts_tdd128_mode=1
endif
ifeq ($(strip $(MTK_SINGLE_IMEI)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_single_imei=1
endif
ifeq ($(strip $(MTK_SINGLE_3DSHOT_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_cam_single_3Dshot_support=1
endif
ifeq ($(strip $(MTK_CAM_MAV_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_cam_mav_support=1
endif
ifeq ($(strip $(MTK_CAM_FACEBEAUTY_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_cam_cfb=1
endif
ifeq ($(strip $(MTK_CAM_VIDEO_FACEBEAUTY_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_cam_vfb=1
endif
ifeq ($(strip $(SIM_REFRESH_RESET_BY_MODEM)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.sim_refresh_reset_by_modem=1
endif
#ifeq ($(strip $(MTK_SUBTITLE_SUPPORT)), yes)
# PRODUCT_PACKAGES += libvobsub_jni
# PRODUCT_PROPERTY_OVERRIDES += ro.mtk_subtitle_support=1
#endif
ifeq ($(strip $(MTK_DFO_RESOLUTION_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_dfo_resolution_support=1
endif
ifeq ($(strip $(MTK_SMARTBOOK_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_smartbook_support=1
endif
ifeq ($(strip $(MTK_DX_HDCP_SUPPORT)), yes)
PRODUCT_PACKAGES += \
ffffffff000000000000000000000003.tabin \
6b3f5fa0f8cf55a7be2582587d62d63a.drbin \
libDxHdcp \
ArmHDCP_MediatekGP.cfg
PRODUCT_PACKAGES += \
vendor.tesiai.hardware.hdcpconnection@1.0-impl \
vendor.tesiai.hardware.hdcpconnection@1.0-service
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_hdcpconnection.xml
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_dx_hdcp_support=1
endif
ifeq ($(strip $(MTK_LIVE_PHOTO_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_live_photo_support=1
endif
ifeq ($(strip $(MTK_MOTION_TRACK_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_motion_track_support=1
endif
ifeq ($(strip $(MTK_PASSPOINT_R2_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_passpoint_r2_support=1
endif
ifeq ($(strip $(MTK_WIFIWPSP2P_NFC_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_wifiwpsp2p_nfc_support=1
endif
ifeq ($(strip $(MTK_TC1_FEATURE)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_tc1_feature=1
endif
ifneq ($(strip $(MTK_AP_INFO_COLLECT)),)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.ap_info_monitor=$(strip $(MTK_AP_INFO_COLLECT))
else
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.ap_info_monitor=0
endif
ifeq ($(strip $(MTK_EXTERNAL_MODEM_SLOT)), 1)
endif
ifeq ($(strip $(MTK_EXTERNAL_MODEM_SLOT)), 2)
endif
# Data usage overview
ifeq ($(strip $(MTK_DATAUSAGE_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_datausage_support=1
endif
## VzW Device Type
#ifeq ($(strip $(MTK_VZW_DEVICE_TYPE)), 0)
# PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.vendor.vzw_device_type=0
#endif
#ifeq ($(strip $(MTK_VZW_DEVICE_TYPE)), 1)
# PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.vendor.vzw_device_type=1
#endif
#ifeq ($(strip $(MTK_VZW_DEVICE_TYPE)), 2)
# PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.vendor.vzw_device_type=2
#endif
#ifeq ($(strip $(MTK_VZW_DEVICE_TYPE)), 3)
# PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.vendor.vzw_device_type=3
#endif
#ifeq ($(strip $(MTK_VZW_DEVICE_TYPE)), 4)
# PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.vendor.vzw_device_type=4
#endif
# wifi offload service common library
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
#PRODUCT_PACKAGES += wfo-common
ifeq ($(strip $(MTK_WFC_SUPPORT)), yes)
# PRODUCT_PACKAGES += WfoService
#Define 93 MD and fusion ril
ifneq ($(strip $(MTK_RIL_MODE)), c6m_1rild)
PRODUCT_PACKAGES += vendor.mediatek.hardware.wfo@1.0-service
#PRODUCT_PACKAGES += mediatek-wfo-legacy
#PRODUCT_PACKAGES += com.mediatek.wfo.legacy.xml
endif
endif
endif
ifeq ($(strip $(MTK_RIL_MODE)), c6m_1rild)
#Define MD has the capability to setup IMS PDN
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.md_auto_setup_ims=1
#For Smart Data Switch Support
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.radio.smart.data.switch=1
#Add for Multi Ps Attach
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_data_config=1
endif
# IMS and VoLTE feature
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
ifneq ($(wildcard vendor/mediatek/proprietary/frameworks/opt/net/ims/Android.bp),)
#PRODUCT_PACKAGES += mediatek-ims-common
#PRODUCT_BOOT_JARS += mediatek-ims-common
endif
endif
ifeq ($(strip $(MTK_IMS_SUPPORT)), yes)
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
#PRODUCT_PACKAGES += ImsService
#PRODUCT_PACKAGES += mediatek-ims-oem-plugin
#ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
#PRODUCT_PACKAGES += mediatek-ims-extension-plugin
#PRODUCT_PACKAGES += mediatek-ims-legacy
#endif
ifneq ($(strip $(MTK_RIL_MODE)), c6m_1rild)
PRODUCT_PACKAGES += vendor.mediatek.hardware.imsa@1.0-service
endif
endif
# Put IMS permission for the device
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.ims_support=1
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mtk_dynamic_ims_switch=1
endif
#WFC feature
ifeq ($(strip $(MTK_WFC_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mtk_wfc_support=1
PRODUCT_PACKAGES += ipsec_mon
endif
ifeq ($(strip $(MTK_VOLTE_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.volte_support=1
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mtk.volte.enable=1
endif
build_vilte_package :=
ifeq ($(strip $(MTK_VILTE_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.vilte_support=1
build_vilte_package := yes
else
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.vilte_support=0
endif
ifeq ($(strip $(MTK_VIWIFI_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.viwifi_support=1
build_vilte_package := yes
else
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.viwifi_support=0
endif
ifdef build_vilte_package
#PRODUCT_PACKAGES += libmtk_vt_wrapper
#PRODUCT_PACKAGES += libmtk_vt_service
PRODUCT_PACKAGES += vendor.mediatek.hardware.videotelephony@1.0-impl
#PRODUCT_PACKAGES += vtservice
PRODUCT_PACKAGES += vtservice_hidl
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_videotelephony.xml
endif
ifeq ($(strip $(MTK_DIGITS_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mtk_digits_support=1
endif
# DTAG DUAL APN
ifeq ($(strip $(MTK_DTAG_DUAL_APN_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_dtag_dual_apn_support=1
endif
# Telstra PDP retry
ifeq ($(strip $(MTK_TELSTRA_PDP_RETRY_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_fallback_retry_support=1
endif
## RTT support
#ifeq ($(strip $(MTK_RTT_SUPPORT)),yes)
# PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.vendor.mtk_rtt_support=1
#endif
## sbc security
#ifeq ($(strip $(MTK_SECURITY_SW_SUPPORT)), yes)
# PRODUCT_PACKAGES += libsec
# PRODUCT_PACKAGES += sbchk
# PRODUCT_PACKAGES += S_ANDRO_SFL.ini
# PRODUCT_PACKAGES += S_SECRO_SFL.ini
# PRODUCT_PACKAGES += sec_chk.sh
# PRODUCT_PACKAGES += AC_REGION
#endif
ifneq ($(wildcard $(LOCAL_PATH)/audio_effects_config/audio_effects.xml),)
PRODUCT_COPY_FILES += $(LOCAL_PATH)/audio_effects_config/audio_effects.xml:vendor/etc/audio_effects.xml
else
PRODUCT_COPY_FILES += frameworks/av/media/libeffects/data/audio_effects.xml:vendor/etc/audio_effects.xml
endif
#PRODUCT_PACKAGES += NwMonitor
ifeq ($(strip $(MTK_NFC_ADDON_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_nfc_addon_support=1
endif
## ST NFC
ifeq ($(strip $(NFC_CHIP_SUPPORT)), yes)
# Set SIM terminal capability TAG 82 to UICC-CLF
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_uicc_clf=1
ifneq ($(wildcard $(MTK_TARGET_PROJECT_FOLDER)/script_DB10mtk*),)
NFC_RF_CONFIG_PATH := $(MTK_TARGET_PROJECT_FOLDER)
else
NFC_RF_CONFIG_PATH := device/mediatek/vendor/common
endif
ifneq (,$(strip $(ST_NFC_CHIP_VERSION)))
include vendor/mediatek/proprietary/external/stnfctools-vendor/NfcDeviceConfigVendor.mk
endif
ifneq ($(strip $(ST_NFC_CHIP_VERSION)), ST21NFCD)
ESE_MANIFEST:=_ese
else
ESE_MANIFEST:=
endif
else
ifeq ($(strip $(MTK_NFC_GSMA_SUPPORT)), yes)
# Set SIM terminal capability TAG 82 to UICC-CLF
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_uicc_clf=1
endif
endif
ifeq ($(strip $(MTK_OMAPI_SUPPORT)), yes)
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), ss)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_secure_element_ss$(ESE_MANIFEST).xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsds)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_secure_element_dsds$(ESE_MANIFEST).xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsda)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_secure_element_dsds$(ESE_MANIFEST).xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), tsts)
ifeq ($(strip $(MTK_EXTERNAL_SIM_RSIM_ENHANCEMENT)), yes)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_secure_element_dsds$(ESE_MANIFEST).xml
else
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_secure_element_tsts$(ESE_MANIFEST).xml
endif
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), qsqs)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_secure_element_qsqs$(ESE_MANIFEST).xml
endif
# for dynamic MSIM Switch
ODM_MANIFEST_SS_FILES += $(LOCAL_PATH)/project_manifest/odm_manifest_secure_element_ss$(ESE_MANIFEST).xml
ODM_MANIFEST_DSDS_FILES += $(LOCAL_PATH)/project_manifest/odm_manifest_secure_element_dsds$(ESE_MANIFEST).xml
ODM_MANIFEST_TSTS_FILES += $(LOCAL_PATH)/project_manifest/odm_manifest_secure_element_tsts$(ESE_MANIFEST).xml
ODM_MANIFEST_QSQS_FILES += $(LOCAL_PATH)/project_manifest/odm_manifest_secure_element_qsqs$(ESE_MANIFEST).xml
# for MTK UICC
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml
PRODUCT_PACKAGES += android.hardware.secure_element@1.2-service-mediatek
# for ST eSE
ifeq ($(strip $(ESE_MANIFEST)), _ese)
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml
endif
endif
# IRTX HAL CORE
ifeq (yes,$(strip $(MTK_IRTX_PWM_SUPPORT)))
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_ir.xml
PRODUCT_PACKAGES += android.hardware.ir@1.0-service
PRODUCT_PACKAGES += android.hardware.ir@1.0-impl
endif
#ifeq ($(strip $(MTK_CROSSMOUNT_SUPPORT)),yes)
# PRODUCT_PACKAGES += com.mediatek.crossmount.discovery
# PRODUCT_PACKAGES += com.mediatek.crossmount.discovery.xml
# PRODUCT_PACKAGES += CrossMount
# PRODUCT_PACKAGES += com.mediatek.crossmount.adapter
# PRODUCT_PACKAGES += com.mediatek.crossmount.adapter.xml
# PRODUCT_PACKAGES += CrossMountSettings
# PRODUCT_PACKAGES += CrossMountSourceCamera
# PRODUCT_PACKAGES += CrossMountStereoSound
# PRODUCT_PACKAGES += libcrossmount
# PRODUCT_PACKAGES += libcrossmount_jni
# PRODUCT_PACKAGES += sensors.virtual
# PRODUCT_PACKAGES += SWMountViewer
#endif
#$(call inherit-product-if-exists, frameworks/base/data/videos/FrameworkResource.mk)
#ifeq ($(strip $(MTK_LIVE_PHOTO_SUPPORT)), yes)
# PRODUCT_PACKAGES += com.mediatek.effect
# PRODUCT_PACKAGES += com.mediatek.effect.xml
#endif
#ifeq ($(strip $(MTK_MULTICORE_OBSERVER_APP)), yes)
# PRODUCT_PACKAGES += MultiCoreObserver
#endif
## for Search, ApplicationsProvider provides apps search
#PRODUCT_PACKAGES += ApplicationsProvider
#ifneq ($(strip $(MTK_REL_PLATFORM)),)
# PRODUCT_PACKAGES += libnativecheck-jni
#endif
# for mediatek-res
#PRODUCT_PACKAGES += mediatek-res
# for TER service
#PRODUCT_PACKAGES += terservice
#PRODUCT_PACKAGES_ENG += tertestclient
ifeq ($(strip $(MTK_TER_SERVICE)),yes)
PRODUCT_PROPERTY_OVERRIDES += vendor.ter.service.enable=1
endif
## for IoctlFuzzer (MediaTek internal-use)
PRODUCT_PACKAGES_ENG += ioctl_fuzzer
PRODUCT_PACKAGES += ioctl_camera_isp
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.wfd.dummy.enable=0
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.wfd.iframesize.level=0
ifeq ($(strip $(EVDO_DT_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += \
ril.evdo.dtsupport=1
endif
# for libudf
ifeq ($(strip $(MTK_USER_SPACE_DEBUG_FW)),yes)
#PRODUCT_PACKAGES += libudf
PRODUCT_PACKAGES += libudf.vendor
endif
#PRODUCT_COPY_FILES += $(MTK_TARGET_PROJECT_FOLDER)/ProjectConfig.mk:$(TARGET_COPY_OUT_VENDOR)/data/misc/ProjectConfig.mk:mtk
ifeq ($(strip $(MTK_BICR_SUPPORT)), yes)
PRODUCT_COPY_FILES += $(LOCAL_PATH)/iAmCdRom.iso:$(TARGET_COPY_OUT_VENDOR)/etc/iAmCdRom.iso:mtk
endif
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,device/mediatek/vendor/common/telephony/etc/smsdbvisitor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/smsdbvisitor.xml:mtk)
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,device/mediatek/vendor/common/telephony/etc/special_pws_channel.xml:$(TARGET_COPY_OUT_VENDOR)/etc/special_pws_channel.xml:mtk)
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,device/mediatek/vendor/common/telephony/etc/virtual-spn-conf-by-efgid1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/virtual-spn-conf-by-efgid1.xml:mtk)
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,device/mediatek/vendor/common/telephony/etc/virtual-spn-conf-by-efpnn.xml:$(TARGET_COPY_OUT_VENDOR)/etc/virtual-spn-conf-by-efpnn.xml:mtk)
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,device/mediatek/vendor/common/telephony/etc/virtual-spn-conf-by-efspn.xml:$(TARGET_COPY_OUT_VENDOR)/etc/virtual-spn-conf-by-efspn.xml:mtk)
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,device/mediatek/vendor/common/telephony/etc/virtual-spn-conf-by-imsi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/virtual-spn-conf-by-imsi.xml:mtk)
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,device/mediatek/vendor/common/telephony/etc/spn-conf-op09.xml:$(TARGET_COPY_OUT_VENDOR)/etc/spn-conf-op09.xml:mtk)
endif
ifeq ($(strip $(MTK_AUDIO_ALAC_SUPPORT)), yes)
PRODUCT_PACKAGES += libMtkOmxAlacDec
endif
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
PRODUCT_PACKAGES += libMtkOmxMp3Dec
PRODUCT_PACKAGES += libMtkOmxGsmDec
PRODUCT_PACKAGES += libMtkOmxAudioDecBase
endif
ifeq ($(strip $(MTK_AUDIO_ADPCM_SUPPORT)), yes)
PRODUCT_PACKAGES += libMtkOmxAdpcmDec
endif
ifeq ($(strip $(MTK_AUDIO_APE_SUPPORT)), yes)
PRODUCT_PACKAGES += libMtkOmxApeDec
endif
# Keymaster HIDL
KEYMASTER_VERSION ?= 4.1
ifeq ($(strip $(KEYMASTER_VERSION)), 5.0) ### Keymint 1.0
ifeq ($(strip $(MTK_TEE_SUPPORT)), yes)
ifeq ($(strip $(TRUSTONIC_TEE_SUPPORT)), yes) # list of all TEEs
PRODUCT_PACKAGES += android.hardware.security.keymint-service.trustonic
else ifeq ($(strip $(MICROTRUST_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.security.keymint@1.0-service.beanpod
endif
else #MTK_TEE_SUPPORT
PRODUCT_PACKAGES += android.hardware.security.keymint-service
endif #MTK_TEE_SUPPORT
else ifeq ($(strip $(KEYMASTER_VERSION)), 4.1)
ifeq ($(strip $(MTK_TEE_SUPPORT)), yes)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_km41.xml
# list of all TEEs
ifeq ($(strip $(TRUSTONIC_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.keymaster@4.1-service.trustonic
else ifeq ($(strip $(MICROTRUST_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.keymaster@4.1-service.beanpod
else ifeq ($(strip $(MICROTRUST_TEE_LITE_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.keymaster@4.1-service.beanpod.lite
else ifeq ($(strip $(TRUSTKERNEL_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.keymaster@4.1-service.trustkernel
else ifeq ($(strip $(MTK_IN_HOUSE_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.keymaster@4.1-service.mtee
else
PRODUCT_PACKAGES += android.hardware.keymaster@4.1-service
endif #end of list of TEEs
else #MTK_TEE_SUPPORT
ifeq ($(strip $(MTK_IN_HOUSE_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.keymaster@4.1-service.mtee
else
#non-tee project
PRODUCT_PACKAGES += android.hardware.keymaster@4.1-service
endif
endif #MTK_TEE_SUPPORT
else ifeq ($(strip $(KEYMASTER_VERSION)), 4.0)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_km4.xml
ifeq ($(strip $(MTK_TEE_SUPPORT)), yes)
# list of all TEEs
ifeq ($(strip $(TRUSTONIC_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.trustonic
else ifeq ($(strip $(MICROTRUST_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.beanpod
else ifeq ($(strip $(MICROTRUST_TEE_LITE_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.beanpod.lite
else ifeq ($(strip $(TRUSTKERNEL_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.trustkernel
else ifeq ($(strip $(MTK_IN_HOUSE_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.mtee
else
PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service
endif #end of list of TEEs
else #MTK_TEE_SUPPORT
ifeq ($(strip $(MTK_IN_HOUSE_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.mtee
else
#non-tee project
PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service
endif
endif #MTK_TEE_SUPPORT
else ifeq ($(strip $(KEYMASTER_VERSION)), 3.0)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_km3.xml
PRODUCT_PACKAGES += android.hardware.keymaster@3.0-impl
ifeq ($(strip $(MTK_TEE_SUPPORT)), yes)
# list of all TEEs
ifeq ($(strip $(TRUSTONIC_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.keymaster@3.0-service.trustonic
else
PRODUCT_PACKAGES += android.hardware.keymaster@3.0-service
endif #end of list of TEEs
else #MTK_TEE_SUPPORT
#non-tee project
PRODUCT_PACKAGES += android.hardware.keymaster@3.0-service
endif #MTK_TEE_SUPPORT
else #KEYMASTER_VERSION
$(error invalid keymaster version = $(KEYMASTER_VERSION))
endif #KEYMASTER_VERSION
# add app_attest_key
ifeq ($(strip $(KEYMASTER_VERSION)), 4.1)
else ifeq ($(strip $(KEYMASTER_VERSION)), 4.0)
else ifeq ($(strip $(KEYMASTER_VERSION)), 3.0)
else # Indicate that this KeyMint includes support for the ATTEST_KEY key purpose.
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.keystore.app_attest_key.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.keystore.app_attest_key.xml
endif
#app_attest_key end
# Gatekeeper HIDL
ifeq ($(strip $(MICROTRUST_TEE_LITE_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.gatekeeper@1.0-service.beanpod.lite
else
PRODUCT_PACKAGES += \
android.hardware.gatekeeper@1.0-impl \
android.hardware.gatekeeper@1.0-service
endif
# SoftGatekeeper HAL
PRODUCT_PACKAGES += \
libSoftGatekeeper
ifneq (,$(filter yes,$(strip $(MTK_TEE_SUPPORT)) $(strip $(MTK_IN_HOUSE_TEE_SUPPORT))))
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_tee.xml
# Keymaster Attestation HIDL
PRODUCT_PACKAGES += \
vendor.mediatek.hardware.keymaster_attestation@1.1-impl \
vendor.mediatek.hardware.keymaster_attestation@1.1-service
ifeq (yes, $(filter yes, $(strip $(TRUSTONIC_TEE_SUPPORT)) $(strip $(MICROTRUST_TEE_SUPPORT))))
PRODUCT_PACKAGES_DEBUG += tlcsec
PRODUCT_PACKAGES_DEBUG += devapc_test
PRODUCT_PACKAGES_DEBUG += tee_sanity
PRODUCT_PACKAGES_DEBUG += tee_sanity_smem
endif
ifeq ($(strip $(MTK_CAM_SECURITY_SUPPORT)), yes)
# ISP CA
PRODUCT_PACKAGES += libispcameraca
PRODUCT_PACKAGES += libimgsensorca
endif
endif
ifeq ($(strip $(MTK_GENERIC_HAL)), yes)
PRODUCT_PACKAGES += libispcameraca
PRODUCT_PACKAGES += libimgsensorca
endif
ifeq ($(strip $(MTK_TEE_GP_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_tee_gp_support=1
endif
ifneq (,$(filter $(MTK_SVP_ON_MTEE_SUPPORT), yes))
ifeq ($(filter $(strip $(LINUX_KERNEL_VERSION)),kernel-4.14 kernel-4.19),)
PRODUCT_PACKAGES += AVCSecureVdecCA_510
PRODUCT_PACKAGES += HEVCSecureVdecCA_510
PRODUCT_PACKAGES += VP9SecureVdecCA_510
PRODUCT_PACKAGES += libAVCSecureVencCA_510
else
PRODUCT_PACKAGES += AVCSecureVdecCA
PRODUCT_PACKAGES += HEVCSecureVdecCA
PRODUCT_PACKAGES += VP9SecureVdecCA
PRODUCT_PACKAGES += libAVCSecureVencCA
endif
endif
ifeq ($(strip $(TRUSTONIC_TEE_SUPPORT)), yes)
ifeq ($(filter mt6580,$(call to-lower,$(MTK_REL_PLATFORM))),)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_trustonic.xml
endif
PRODUCT_PACKAGES += libMcClient
PRODUCT_PACKAGES += libTEECommon
PRODUCT_PACKAGES += mcDriverDaemon
PRODUCT_PACKAGES += libMcTeeKeymaster
PRODUCT_PACKAGES += libMcGatekeeper
PRODUCT_PACKAGES += kmsetkey.trustonic
ifeq ($(filter mt6580,$(call to-lower,$(MTK_REL_PLATFORM))),)
PRODUCT_PACKAGES += vendor.trustonic.tee@1.1-service
endif
PRODUCT_PROPERTY_OVERRIDES += ro.hardware.kmsetkey=trustonic
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_trustonic_tee_support=1
PRODUCT_PROPERTY_OVERRIDES += ro.hardware.gatekeeper=trustonic
ifeq ($(strip $(MTK_SEC_VIDEO_PATH_SUPPORT)), yes)
ifeq ($(strip $(MTK_TEE_GP_SUPPORT)),yes)
PRODUCT_PACKAGES += AVCSecureVencCA
PRODUCT_PACKAGES += AVCSecureVdecCA
PRODUCT_PACKAGES += HEVCSecureVdecCA
else
PRODUCT_PACKAGES += libMtkH264SecVdecTLCLib
PRODUCT_PACKAGES += libMtkH264SecVencTLCLib
PRODUCT_PACKAGES += libMtkH265SecVdecTLCLib
endif
PRODUCT_PACKAGES += libMtkVP9SecVdecTLCLib
PRODUCT_PACKAGES += libtlcWidevineModularDrm
PRODUCT_PACKAGES += libtplay
endif
ifeq ($(strip $(MTK_TEE_TRUSTED_UI_SUPPORT)), yes)
PRODUCT_PACKAGES += libTui
PRODUCT_PACKAGES += TuiService
PRODUCT_PACKAGES += libTlcPinpad
endif
endif
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/public.libraries.vendor.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt:mtk
ifeq ($(strip $(MICROTRUST_TEE_LITE_SUPPORT)), yes)
include device/mediatek/vendor/common/microtrust/device.microtrust.lite.mk
endif #MICROTRUST_TEE_LITE_SUPPORT
ifeq ($(strip $(MICROTRUST_TEE_SUPPORT)), yes)
include device/mediatek/vendor/common/microtrust/device.microtrust.isee.mk
ifeq ($(strip $(MICROTRUST_THH_SUPPORT)), yes)
PRODUCT_PACKAGES += libthhclient
PRODUCT_PACKAGES += vendor.microtrust.hardware.thh@2.0-service
PRODUCT_PACKAGES += init_thh
endif
DEVICE_MANIFEST_FILE += vendor/mediatek/proprietary/trustzone/microtrust/source/common/interfaces/thh/2.0/default/manifest_thh.xml
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += vendor/mediatek/proprietary/trustzone/microtrust/source/common/compatibility_matrix.xml
ifeq ($(strip $(MTK_SEC_VIDEO_PATH_SUPPORT)), yes)
ifeq ($(strip $(MTK_TEE_GP_SUPPORT)),yes)
PRODUCT_PACKAGES += AVCSecureVdecCA
PRODUCT_PACKAGES += HEVCSecureVdecCA
endif
endif
endif #MICROTRUST_TEE_SUPPORT
ifeq ($(strip $(TRUSTKERNEL_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += teed
PRODUCT_PACKAGES += pld
PRODUCT_PACKAGES += kph
# install keybox
PRODUCT_PACKAGES += 6B6579626F785F6372797074
PRODUCT_PACKAGES += tee_check_keybox
PRODUCT_PACKAGES += librdrand
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_trustkernel_tee_support=1
PRODUCT_PACKAGES += kmsetkey.trustkernel
PRODUCT_PROPERTY_OVERRIDES += ro.hardware.kmsetkey=trustkernel
PRODUCT_PACKAGES += gatekeeper.trustkernel
PRODUCT_PROPERTY_OVERRIDES += ro.hardware.gatekeeper=trustkernel
# PRODUCT_PROPERTY_OVERRIDES += ro.vendor.trustkernel.keystore=persist
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/trustzone/trustkernel/source/ta/02662e8e-e126-11e5-b86d9a79f06e9478.ta:vendor/app/t6/02662e8e-e126-11e5-b86d9a79f06e9478.ta
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/trustzone/trustkernel/source/ta/9ef77781-7bd5-4e39-965f20f6f211f46b.ta:vendor/app/t6/9ef77781-7bd5-4e39-965f20f6f211f46b.ta
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/trustzone/trustkernel/source/ta/b46325e6-5c90-8252-2eada8e32e5180d6.ta:vendor/app/t6/b46325e6-5c90-8252-2eada8e32e5180d6.ta
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/trustzone/trustkernel/source/bsp/platform/common/scripts/kph_cfg/cfg.ini:vendor/app/t6/cfg.ini
endif
ifeq ($(strip $(MTK_SEC_VIDEO_PATH_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_sec_video_path_support=1
ifeq ($(strip $(MTK_IN_HOUSE_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += lib_uree_mtk_video_secure_al
endif
endif
# DRM key installation
ifeq ($(strip $(MTK_DRM_KEY_MNG_SUPPORT)), yes)
# Since HIDL is not necessary for tablet projects and only tablet keyinstall
# supports MTK in-house tee, use MTK_IN_HOUSE_TEE_SUPPORT to separate tablet
# and phone projects.
ifneq ($(strip $(MTK_IN_HOUSE_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += liburee_meta_drmkeyinstall
# HIDL
# PRODUCT_PACKAGES += vendor.mediatek.hardware.keyinstall@1.0-service
# PRODUCT_PACKAGES += vendor.mediatek.hardware.keyinstall@1.0-impl
# DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_keyinstall.xml
else
# Keymanage HIDL for tablet
PRODUCT_PACKAGES += vendor.mediatek.hardware.keymanage@1.0-impl
PRODUCT_PACKAGES += vendor.mediatek.hardware.keymanage@1.0-service
endif
endif
# MTK GENIEZONE SUPPORT
ifeq ($(strip $(MTK_ENABLE_GENIEZONE)), yes)
PRODUCT_PACKAGES += libgz_uree
# PRODUCT_PACKAGES += storageproxyd
PRODUCT_PACKAGES += libgz_gp_client
PRODUCT_PACKAGES_DEBUG += uree_test
ifneq ($(filter yes,$(TRUSTONIC_TEE_SUPPORT) $(MICROTRUST_TEE_SUPPORT)),)
ifeq ($(strip $(MTK_TEE_GP_SUPPORT)), yes)
ifeq ($(strip $(MTK_GZ_SUPPORT_SDSP)), yes)
PRODUCT_PACKAGES_DEBUG += fod_ca
endif
PRODUCT_PACKAGES_DEBUG += pmem_share_ns
PRODUCT_PACKAGES_DEBUG += pmem_share_s
PRODUCT_PACKAGES_DEBUG += pmem_ion_fast
PRODUCT_PACKAGES_DEBUG += pmem_ion
PRODUCT_PACKAGES_DEBUG += pmem_perf
endif
endif
endif
#################################################
################### Widevine DRM ####################
#Hidl impl and service, enable lazy hal on A-GO project to save memory
ifeq ($(strip $(MTK_GMO_RAM_OPTIMIZE)),yes)
PRODUCT_PACKAGES += android.hardware.drm@1.4-service-lazy.clearkey
ifeq ($(strip $(MTK_WVDRM_SUPPORT)),yes)
PRODUCT_PACKAGES += android.hardware.drm@1.4-service-lazy.widevine
endif
else
PRODUCT_PACKAGES += android.hardware.drm@1.4-service.clearkey
ifeq ($(strip $(MTK_WVDRM_SUPPORT)),yes)
PRODUCT_PACKAGES += android.hardware.drm@1.4-service.widevine
endif
endif
# Widevine relate libraries
ifeq ($(strip $(MTK_WVDRM_SUPPORT)),yes)
#Mock modular drm plugin for cts
PRODUCT_PACKAGES += libmockdrmcryptoplugin
#both L1 and L3 library
PRODUCT_PACKAGES += libwvhidl
PRODUCT_PACKAGES += libwvdrmengine
#PRODUCT_PACKAGES += move_widevine_data.sh
ifeq ($(strip $(MTK_WVDRM_L1_SUPPORT)),yes)
PRODUCT_PACKAGES += lib_uree_mtk_modular_drm
PRODUCT_PACKAGES += liboemcrypto
PRODUCT_PACKAGES += libtlcWidevineModularDrm
endif
endif
#################################################
ifdef MTK_GENERIC_HAL
ifeq ($(strip $(MTK_COMBO_SUPPORT)), yes)
$(call inherit-product-if-exists, $(LOCAL_PATH)/connectivity/product_package/product_package-hal.mk)
endif
else
ifeq ($(strip $(MTK_COMBO_SUPPORT)), yes)
$(call inherit-product-if-exists, $(LOCAL_PATH)/connectivity/product_package/product_package.mk)
endif
endif
SPMFW_ROOT_DIR := vendor/mediatek/proprietary/hardware/spmfw
ifeq ($(strip $(MTK_TC7_FEATURE)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_tc7_feature=1
endif
#Add for CCCI Lib
PRODUCT_PACKAGES += libccci_util
#Add for C2Kutils
#PRODUCT_PACKAGES += libc2kutils_sys
ifeq ($(strip $(MTK_WMA_PLAYBACK_SUPPORT)), yes)
PRODUCT_PACKAGES += libMtkOmxWmaDec
endif
ifeq ($(strip $(MTK_WMA_PLAYBACK_SUPPORT))_$(strip $(MTK_SWIP_WMAPRO)), yes_yes)
PRODUCT_PACKAGES += libMtkOmxWmaProDec
endif
#$(call inherit-product-if-exists, vendor/mediatek/proprietary/external/strongswan/copy_files.mk)
# Speaker lib
PRODUCT_PACKAGES += libnxp_extamp_intf libnxpsmartpaparser \
librt_extamp_intf libaudiosmartpamtk smartpa_nvtest \
mt6660_calibration libaudiosmartpartk rt5512_calibration \
libcs_cs35l45_intf
# AudioParamParser
PRODUCT_PACKAGES += libaudio_param_parser-vnd
PRODUCT_PACKAGES_DEBUG += audio_param_test-vnd
ifdef MTK_GENERIC_HAL
PRODUCT_PACKAGES += AudioParamOptions_mgvi.xml
else
PRODUCT_PACKAGES += AudioParamOptions.xml
endif
#Audio LD2.0
ifeq ($(strip $(MTK_GENERIC_HAL)), yes)
PRODUCT_PACKAGES += audio.primary.default libaudiocustparam libaudiocomponentengine_vendor \
audiocmdservice_atci audio.r_submix.default audio.usb.default libaudiodcrflt \
audio.primary.mediatek
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_policy=2
PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_exclusive_policy=2
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
PRODUCT_PACKAGES += audio.r_submix.mediatek
endif
XML_CUS_FOLDER_ON_DEVICE := /data/vendor/audiohal/audio_param/
AUDIO_PARAM_OPTIONS_LIST += CUST_XML_DIR=$(XML_CUS_FOLDER_ON_DEVICE)
MTK_AUDIO_PARAM_DIR_LIST := $(strip $(MTK_AUDIO_PARAM_DIR_LIST))
ifeq ($(strip $(MTK_GENERIC_HAL)), yes)
PRODUCT_PACKAGES += libspeechparser_vendor
else
ifneq ($(MTK_AUDIO_TUNING_TOOL_VERSION),)
ifneq ($(strip $(MTK_AUDIO_TUNING_TOOL_VERSION)),V1)
PRODUCT_PACKAGES += libspeechparser_vendor
AUDIO_PARAM_OPTIONS_LIST += 5_POLE_HS_SUPPORT=$(MTK_HEADSET_ACTIVE_NOISE_CANCELLATION)
MTK_AUDIO_PARAM_DIR_LIST += $(LOCAL_PATH)/audio_param
MTK_AUDIO_PARAM_DIR_LIST += $(LOCAL_PATH)/audio_param_smartpa
#MTK_AUDIO_PARAM_FILE_LIST += SOME_ZIP_FILE
ifeq ($(strip $(MTK_USB_PHONECALL)),AP)
AUDIO_PARAM_OPTIONS_LIST += VIR_MTK_USB_PHONECALL=yes
endif
# Speech Parameter Tuning
# SPH_PARAM_VERSION: 0 support single network(MD ability related)
# SPH_PARAM_VERSION: 1.0 support multiple networks(MD ability related)
# SPH_PARAM_VERSION: 2.0 support IIR and fix WBFIR(Gen93)
# SPH_PARAM_VERSION: 3.0 support SWIP Parser(above Gen95)
AUDIO_PARAM_OPTIONS_LIST += SPH_PARAM_VERSION=3.0
AUDIO_PARAM_OPTIONS_LIST += SPH_PARAM_TTY=yes
AUDIO_PARAM_OPTIONS_LIST += FIX_WB_ENH=yes
AUDIO_PARAM_OPTIONS_LIST += MTK_IIR_ENH_SUPPORT=yes
AUDIO_PARAM_OPTIONS_LIST += MTK_IIR_MIC_SUPPORT=no
AUDIO_PARAM_OPTIONS_LIST += MTK_FIR_IIR_ENH_SUPPORT=no
# ASHA Tuning
ifeq ($(strip $(MTK_BT_HEARING_AID_SUPPORT)), yes)
AUDIO_PARAM_OPTIONS_LIST += MTK_BT_HEARING_AID_SUPPORT=yes
endif
# Speech Loopback Tunning
ifeq ($(MTK_TC10_FEATURE),yes)
AUDIO_PARAM_OPTIONS_LIST += SPH_PARAM_LPBK_NODELAY=yes
endif
# Super Volume Parameter
AUDIO_PARAM_OPTIONS_LIST += SPH_PARAM_SV=no
# Custom scene support
ifeq ($(strip $(MTK_GMO_RAM_OPTIMIZE)),yes)
AUDIO_PARAM_OPTIONS_LIST += VIR_SCENE_CUSTOMIZATION_SUPPORT=no
else
AUDIO_PARAM_OPTIONS_LIST += VIR_SCENE_CUSTOMIZATION_SUPPORT=yes
endif
endif
endif
endif
ifeq ($(strip $(MTK_SPEECH_ENCRYPTION_SUPPORT)), yes)
PRODUCT_PACKAGES += libaudiocustencrypt
endif
# aurisys framework
ifeq ($(MTK_AURISYS_FRAMEWORK_SUPPORT),yes)
# configurations
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/external/aurisys/aurisys_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/aurisys_config.xml:mtk
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/external/aurisys/aurisys_config_rv.xml:$(TARGET_COPY_OUT_VENDOR)/etc/aurisys_config_rv.xml:mtk
# aurisys demo library
PRODUCT_PACKAGES += libaurisysdemo
# HiFi3 phone call + VoIP + Record
PRODUCT_PACKAGES += libgoodixspeech
PRODUCT_PACKAGES += libnxpspeech
PRODUCT_PACKAGES += libnxprecord
PRODUCT_PACKAGES += libfvaudio
PRODUCT_PACKAGES += libmtkspparser
PRODUCT_PACKAGES += libmtkspparser_swb
# HiFi3 Game Voice
PRODUCT_PACKAGES += lib_aurisys_gv_enh
# mediatek IIR
PRODUCT_PACKAGES += lib_iir
PRODUCT_PACKAGES += lib_tmd_cnm
# mediatek BESSOUND
PRODUCT_PACKAGES += libaudioloudc
# mediatek record/VoIP
PRODUCT_PACKAGES += lib_speech_enh
# BliSRC & Bit Converter
PRODUCT_PACKAGES += libaudiocomponentenginec
endif
# sample rate converter and bit converter
PRODUCT_PACKAGES += libaudiofmtconv
# Audio speech enhancement library
PRODUCT_PACKAGES += libspeech_enh_lib
# Audio speech custom parameter
PRODUCT_PACKAGES += libaudiocustparam_vendor
# Audio BTCVSD Lib
PRODUCT_PACKAGES += libcvsd_mtk
PRODUCT_PACKAGES += libmsbc_mtk
#ifeq ($(strip $(MTK_NTFS_OPENSOURCE_SUPPORT)), yes)
# PRODUCT_PACKAGES += ntfs-3g
# PRODUCT_PACKAGES += ntfsfix
#endif
## Add for HetComm feature
#ifeq ($(strip $(MTK_HETCOMM_SUPPORT)), yes)
# PRODUCT_PROPERTY_OVERRIDES += ro.mtk_hetcomm_support=1
# PRODUCT_PACKAGES += HetComm
#endif
#ifeq ($(strip $(MTK_DEINTERLACE_SUPPORT)), yes)
# PRODUCT_PROPERTY_OVERRIDES += ro.mtk_deinterlace_support=1
#endif
ifeq ($(strip $(MTK_MD_DIRECT_TETHERING_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_md_direct_tethering=1
PRODUCT_PROPERTY_OVERRIDES += ro.tethering.bridge.interface=mdbr0
PRODUCT_PROPERTY_OVERRIDES += sys.mtk_md_direct_tether_enable=true
PRODUCT_PACKAGES += brctl
endif
#PRODUCT_PACKAGES += CarrierConfig
# Add for EngineerMode SensorHub apk
ifeq ($(strip $(MTK_GMO_ROM_OPTIMIZE)), yes)
PRODUCT_PACKAGES_ENG += SensorHub
else
PRODUCT_PACKAGES_DEBUG += SensorHub
endif
# Add for EngineerMode EmCamera apk
ifeq ($(strip $(MTK_EMCAMERA_APP)), yes)
ifeq ($(strip $(MTK_GMO_ROM_OPTIMIZE)), yes)
PRODUCT_PACKAGES_ENG += EmCamera
else
PRODUCT_PACKAGES_DEBUG += EmCamera
endif
endif
# Add for MTK_CT_VOLTE_SUPPORT
ifeq ($(strip $(MTK_IMS_SUPPORT)), yes)
ifeq ($(strip $(MTK_RIL_MODE)), c6m_1rild)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mtk_ct_volte_support=3
else
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mtk_ct_volte_support=1
endif
endif
ifeq ($(strip $(MTK_VIBSPK_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_vibspk_support=1
endif
#Add for video codec customization
PRODUCT_PROPERTY_OVERRIDES += vendor.mtk.vdec.waitkeyframeforplay=9
PRODUCT_PACKAGES_ENG += osal_ut
PRODUCT_PACKAGES_ENG += omx_ut
# Add for USB MIDI
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml
# Add for verified boot
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml
# Add for IpSec tunnel
ifneq (yes,$(strip $(MTK_IPSEC_TUNNELS_NO_SUPPORT)))
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml
endif
ifndef ENABLE_DEX_PREOPT_VERIFIER
PRODUCT_DEX_PREOPT_BOOT_FLAGS += --no-abort-on-soft-verifier-error
endif
# Add for Resolution Switch feature
ifeq ($(strip $(MTK_RESOLUTION_SWITCH_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_res_switch=1
endif
## Add for graphics debug
#PRODUCT_PACKAGES += libgui_debug
#
## Add for guiext with BQ monitor
#PRODUCT_PACKAGES += libgui_ext
#
## Add for sf debug
#PRODUCT_PACKAGES += libsf_debug
#
## Add for vsync hint
#PRODUCT_PACKAGES += libvsync_hint
#
## Add for vsync enhance
#PRODUCT_PACKAGES += libvsync_enhance
#
## Add for display dejitter
#ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
#PRODUCT_PACKAGES += libdisp_dejitter
#endif
## Add for Global PQ feature
#ifeq ($(strip $(MTK_GLOBAL_PQ_SUPPORT)), yes)
# PRODUCT_PACKAGES += libsurfaceflingerpq
#endif
# Add for surfaceflinger default value
PRODUCT_PROPERTY_OVERRIDES += debug.sf.disable_backpressure=1
ifeq ($(strip $(MTK_MLC_NAND_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_mlc_nand_support=1
endif
ifeq ($(strip $(MTK_TLC_NAND_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_tlc_nand_support=1
endif
# for VR high performane feature
ifeq ($(MTK_VR_HIGH_PERFORMANCE_SUPPORT),yes)
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.vr.high_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vr.high_performance.xml
PRODUCT_PACKAGES += vr.$(MTK_PLATFORM_DIR)
endif
# Euicc feature
ifeq ($(UP_ESIM_SUPPORT), yes)
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.telephony.euicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.euicc.xml
endif
## Add EmergencyInfo apk to TK load
#ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
# PRODUCT_PACKAGES += EmergencyInfo
# ifneq ($(strip $(MTK_OVERRIDES_APKS)), no)
# PRODUCT_PACKAGES += MtkEmergencyInfo
# endif
#endif
# Add for SKT customization
ifeq ($(strip $(MTK_KOR_CUSTOMIZATION_SKT)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_kor_customization_skt=1
PRODUCT_PROPERTY_OVERRIDES += persist.ril.sim.regmode=0
endif
# Log control for PowerHal
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.libPowerHal=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.mtkpower@impl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.mtkpower_client=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.UxUtility=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.PowerHalAddressUitls=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.PowerHalMgrImpl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.PowerHalMgrServiceImpl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.PowerHalWifiMonitor=I
# Add for LWA feature support
ifeq ($(strip $(MTK_LWA_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_lwa_support=1
endif
# Add for LWI feature support
ifeq ($(strip $(MTK_LWI_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_lwi_support=1
endif
## Add for LWA/LWI feature support
#ifneq (,$(filter yes,$(strip $(MTK_LWA_SUPPORT)) $(strip $(MTK_LWI_SUPPORT))))
# PRODUCT_PACKAGES += liblwxnative
#endif
# Add for FTL feature support
ifeq ($(strip $(MTK_NAND_MTK_FTL_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_nand_ftl_support=1
endif
# Add for MNTL feature support
ifeq ($(strip $(MNTL_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mntl_support=1
endif
# whether logd reads kmsg
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.logd.kernel=false
# eng/userdebug load config fdsan level = fatal
ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.fdsan=fatal
endif
# mtklog config
PRODUCT_COPY_FILES += $(LOCAL_PATH)/mtklog/mtklog.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/mtklog.rc
# GMS requirement
PRODUCT_COPY_FILES += $(LOCAL_PATH)/chipinfo_init.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/chipinfo_init.rc
# MTK internal load or customer eng/userdebug load will buildin log daemon.
# Customer user load default not have MTK log daemon.
# If customer user load want buildin the log daemon, You need set
# MTK_LOG_CUSTOMER_SUPPORT to yes, it will buildin log daemon as internal load.
# Each log daemon is decided by its feature option.
# Case: MTK internal load
ifneq ($(wildcard vendor/mediatek/internal/mtklog_enable),)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_log.xml
#PRODUCT_PACKAGES += log-handler
PRODUCT_PACKAGES += loghidlvendorservice
HAVE_MTK_DEBUG_SEPOLICY := yes
ifeq ($(strip $(MTK_LOG_SUPPORT_GPS)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_log_hide_gps=0
else
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_log_hide_gps=1
endif
# Add for ModemMonitor(MDM) framework
ifeq ($(strip $(MTK_MODEM_MONITOR_SUPPORT)),yes)
DEVICE_MANIFEST_FILE += device/mediatek/vendor/common/project_manifest/manifest_mdmonitor.xml
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_modem_monitor_support=1
PRODUCT_PACKAGES += \
md_monitor \
md_monitor_ctrl
#ifneq ($(strip $(MTK_GMO_RAM_OPTIMIZE)), yes)
# PRODUCT_PACKAGES += MDMLSample \
# MDMConfig \
# com.mediatek.mdml
#endif
endif
ifeq ($(strip $(MTK_AEE_SUPPORT)),yes)
HAVE_AEE_FEATURE := yes
else
HAVE_AEE_FEATURE := no
endif
# Case: Customer eng/userdebug load
#else ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
else ifneq ($(strip $(TARGET_BUILD_VARIANT)),none)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_log.xml
#PRODUCT_PACKAGES += log-handler
PRODUCT_PACKAGES += loghidlvendorservice
HAVE_MTK_DEBUG_SEPOLICY := yes
ifeq ($(strip $(MTK_LOG_SUPPORT_GPS)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_log_hide_gps=0
else
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_log_hide_gps=1
endif
# Add for ModemMonitor(MDM) framework
ifeq ($(strip $(MTK_MODEM_MONITOR_SUPPORT)),yes)
DEVICE_MANIFEST_FILE += device/mediatek/vendor/common/project_manifest/manifest_mdmonitor.xml
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_modem_monitor_support=1
PRODUCT_PACKAGES += \
md_monitor \
md_monitor_ctrl
#ifneq ($(strip $(MTK_GMO_RAM_OPTIMIZE)), yes)
# PRODUCT_PACKAGES += MDMLSample \
# MDMConfig \
# com.mediatek.mdml
#endif
endif
ifeq ($(strip $(MTK_AEE_SUPPORT)),yes)
HAVE_AEE_FEATURE := yes
else
HAVE_AEE_FEATURE := no
endif
# Case: Customer user load and MTK_LOG_CUSTOMER_SUPPORT = yes
else ifeq ($(strip $(MTK_LOG_CUSTOMER_SUPPORT)),yes)
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_log.xml
#PRODUCT_PACKAGES += log-handler
PRODUCT_PACKAGES += loghidlvendorservice
HAVE_MTK_DEBUG_SEPOLICY := yes
ifeq ($(strip $(MTK_LOG_SUPPORT_GPS)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_log_hide_gps=0
else
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_log_hide_gps=1
endif
# Add for ModemMonitor(MDM) framework
ifeq ($(strip $(MTK_MODEM_MONITOR_SUPPORT)),yes)
DEVICE_MANIFEST_FILE += device/mediatek/vendor/common/project_manifest/manifest_mdmonitor.xml
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_modem_monitor_support=1
PRODUCT_PACKAGES += \
md_monitor \
md_monitor_ctrl
#ifneq ($(strip $(MTK_GMO_RAM_OPTIMIZE)), yes)
# PRODUCT_PACKAGES += MDMLSample \
# MDMConfig \
# com.mediatek.mdml
#endif
endif
ifeq ($(strip $(MTK_AEE_SUPPORT)),yes)
HAVE_AEE_FEATURE := yes
else
HAVE_AEE_FEATURE := no
endif
# Other Case: Customer user load and MTK_LOG_CUSTOMER_SUPPORT = no
else
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_log_hide_gps=1
HAVE_AEE_FEATURE := no
HAVE_MTK_DEBUG_SEPOLICY := no
endif
# AEE Config
ifeq ($(HAVE_AEE_FEATURE),yes)
ifneq ($(wildcard vendor/mediatek/proprietary/external/aee_config_internal/init.aee.mtk.vendor.rc),)
$(call inherit-product-if-exists, vendor/mediatek/proprietary/external/aee_config_internal/aee_vendor.mk)
else
$(call inherit-product-if-exists, vendor/mediatek/proprietary/external/aee/config_external/aee_vendor.mk)
endif
#PRODUCT_COPY_FILES += vendor/mediatek/proprietary/external/aee/binary/aee-config:system/etc/aee-config:mtk
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/external/aee/binary/aee-config:$(TARGET_COPY_OUT_VENDOR)/etc/aee-config:mtk
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/external/aee/binary/aee-commit:$(TARGET_COPY_OUT_VENDOR)/etc/aee-commit:mtk
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.have_aeev_feature=1
# MRDUMP
PRODUCT_PACKAGES += \
mrdump_tool
PRODUCT_PACKAGES += \
dconfig \
dtc_vendor
PRODUCT_HOST_PACKAGES += \
dconfig_host
# DPlanner
ifneq ($(TARGET_BUILD_VARIANT), user)
PRODUCT_PACKAGES += \
vendor.mediatek.hardware.dplanner@2.0-service
endif
# DExecutor
PRODUCT_PACKAGES += \
dexecutor \
doeapp-memtester \
doeapp-sat
#vendor bins
ifdef MTK_GENERIC_HAL
PRODUCT_PACKAGES += aeev_v2
PRODUCT_PACKAGES += aee_aedv64_v2
PRODUCT_PACKAGES += aee_dumpstatev_v2
PRODUCT_PACKAGES += rttv_v2
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.aee.convert64=1
else
PRODUCT_PACKAGES += aeev
PRODUCT_PACKAGES += aee_aedv
PRODUCT_PACKAGES += aee_aedv64
PRODUCT_PACKAGES += aee_dumpstatev
PRODUCT_PACKAGES += rttv
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.aee.convert64=0
endif
PRODUCT_PACKAGES += libaedv
#PRODUCT_PACKAGES += aee
#PRODUCT_PACKAGES += aee_aed
#PRODUCT_PACKAGES += aee_aed64
#PRODUCT_PACKAGES += aee_core_forwarder
#PRODUCT_PACKAGES += aee_dumpstate
#PRODUCT_PACKAGES += aee_archive
#PRODUCT_PACKAGES += rtt
#PRODUCT_PACKAGES += libaed
PRODUCT_PACKAGES += \
vendor.mediatek.hardware.aee@1.1-service
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_aee.xml
else # HAVE_AEE_FEATURE=no
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/external/aee/aee.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.aee.rc:mtk
endif # HAVE_AEE_FEATURE
#PRODUCT_PACKAGES += libmediatek_exceptionlog
#ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
# PRODUCT_PACKAGES += MtkEmail
#endif
ifeq ($(strip $(MTK_EXCHANGE_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_exchange_support=1
endif
# Modem log daemon built in according to feature option flow.
ifneq ($(wildcard vendor/mediatek/internal/mtklog_enable),)
HAVE_MTK_DEBUG_SEPOLICY := yes
ifeq ($(strip $(MTK_MDLOGGER_SUPPORT)),yes)
ifneq ($(strip $(MTK_MD1_SUPPORT)),)
ifneq ($(strip $(MTK_MD1_SUPPORT)),0)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.md_log_memdump_wait=15
endif
endif
endif
#else ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
else ifneq ($(strip $(TARGET_BUILD_VARIANT)),none)
HAVE_MTK_DEBUG_SEPOLICY := yes
ifeq ($(strip $(MTK_MDLOGGER_SUPPORT)),yes)
ifneq ($(strip $(MTK_MD1_SUPPORT)),)
ifneq ($(strip $(MTK_MD1_SUPPORT)),0)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.md_log_memdump_wait=15
endif
endif
endif
else ifeq ($(strip $(MTK_LOG_CUSTOMER_SUPPORT)),yes)
HAVE_MTK_DEBUG_SEPOLICY := yes
ifeq ($(strip $(MTK_MDLOGGER_SUPPORT)),yes)
ifneq ($(strip $(MTK_MD1_SUPPORT)),)
ifneq ($(strip $(MTK_MD1_SUPPORT)),0)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.md_log_memdump_wait=15
endif
endif
endif
# Other Case: Customer user load and MTK_LOG_CUSTOMER_SUPPORT = no
else
HAVE_MTK_DEBUG_SEPOLICY := no
endif
## Add for RRO
#DEVICE_PACKAGE_OVERLAYS += \
# $(LOCAL_PATH)/overlay/swphone \
# $(LOCAL_PATH)/overlay/accdet \
# $(LOCAL_PATH)/overlay/tether \
# $(LOCAL_PATH)/overlay/multiuser \
# $(LOCAL_PATH)/overlay/power \
# $(LOCAL_PATH)/overlay/pno \
# $(LOCAL_PATH)/overlay/wifitethering \
# $(LOCAL_PATH)/overlay/wallpaper \
# $(LOCAL_PATH)/overlay/sensor \
# $(LOCAL_PATH)/overlay/cta \
# $(LOCAL_PATH)/overlay/pq \
# $(LOCAL_PATH)/overlay/wifiscan
#ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
# DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay/wifitethering_channel
#endif
#PRODUCT_ENFORCE_RRO_TARGETS += framework-res
# Add vendor minijail policy for mediacodec service for Android O
PRODUCT_COPY_FILES += $(LOCAL_PATH)/seccomp_policy/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy:mtk
# Add vendor minijail policy for mediaextractor service for Android O
PRODUCT_COPY_FILES += $(LOCAL_PATH)/seccomp_policy/mediaextractor.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaextractor.policy:mtk
# Add vendor minijail policy for mediaswcodec service for Android Q
PRODUCT_COPY_FILES += $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaswcodec.policy:mtk
## Add for mediatek-telecom-common.jar
#ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
# ifneq ($(wildcard vendor/mediatek/proprietary/frameworks/opt/telecomm/Android.bp),)
# PRODUCT_PACKAGES += mediatek-telecom-common
# PRODUCT_BOOT_JARS += mediatek-telecom-common
# endif
#endif
## Add for MtkCarrierConfig
#ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
# ifneq ($(wildcard vendor/mediatek/proprietary/packages/apps/CarrierConfig/Android.bp),)
# PRODUCT_PACKAGES += MtkCarrierConfig
# endif
#endif
## Add WallpaperPicker or MtkWallpaperPicker based on available source code
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/apps/WallpaperPicker/Android.mk),)
# PRODUCT_PACKAGES += MtkWallpaperPicker
#else
# PRODUCT_PACKAGES += WallpaperPicker
#endif
#PRODUCT_PACKAGES += libandroid_net
PRODUCT_PACKAGES += make_f2fs.recovery
# for boot.img
PRODUCT_PACKAGES += init.environ.rc
PRODUCT_PACKAGES += selinux_policy_nonsystem
# A/B System updates
ifeq ($(strip $(MTK_AB_OTA_UPDATER)), yes)
PRODUCT_PACKAGES += \
update_engine_sideload
ifneq ($(strip $(LINUX_KERNEL_VERSION)),kernel-4.14)
$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/compression.mk)
PRODUCT_PROPERTY_OVERRIDES += ro.virtual_ab.userspace.snapshots.enabled=true
else
$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk)
endif
# Dont use Virtual AB Compression OTA for kernel-4.14
ifeq ($(strip $(LINUX_KERNEL_VERSION)),kernel-4.14)
BOARD_DONT_USE_VABC_OTA := true
endif
PRODUCT_HOST_PACKAGES += \
delta_generator \
shflags \
brillo_update_payload \
bsdiff \
simg2img
#PRODUCT_PACKAGES += mtk_plpath_utils
PRODUCT_PACKAGES += mtk_plpath_utils_ota
PRODUCT_PACKAGES += mtk_plpath_utils.recovery
PRODUCT_PACKAGES += mtk_plpath_utils_ota.vendor
# UFS BSG library to control UFS HW
PRODUCT_PACKAGES += \
libmtk_bsg \
libmtk_bsg.recovery
#PRODUCT_PACKAGES_DEBUG += \
#update_engine_client \
#bootctl
# bootctrl HAL and HIDL
PRODUCT_PACKAGES += \
android.hardware.boot@1.2-mtkimpl \
android.hardware.boot@1.2-mtkimpl.recovery \
android.hardware.boot@1.2-service
## A/B OTA dexopt package
#PRODUCT_PACKAGES += otapreopt_script
## Tell the system to enable copying odexes from other partition.
#PRODUCT_PACKAGES += \
# cppreopts.sh
PRODUCT_PROPERTY_OVERRIDES += \
ro.cp_system_other_odex=1
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_boot.xml
endif
# Enable Scoped Storage for the kernel version without CONFIG_SDCARD_FS
# CONFIG_SDCARD_FS enable only in OTA to S.
ifeq (true,$(call math_gt_or_eq,$(PRODUCT_SHIPPING_API_LEVEL_OVERRIDE),31))
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
endif
#ifneq ($(strip $(SYSTEM_AS_ROOT)), no)
#BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
#endif
-include vendor/mediatek/build/core/releaseBRM_vnd.mk
## Add for telephony resource overlay
#DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay/telephony
#
#
##Add for OP03 resource overlay
#ifeq (OP03,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
# DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay/operator/OP03/CMAS/
#endif
#
##Add for OP07 resource overlay
#ifeq (OP07,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
# DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay/operator/OP07/CMAS/
#endif
#
##Add for OP08 resource overlay
#ifeq (OP08,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
# DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay/operator/OP08/CMAS/
#endif
#
##Add for OP12 resource overlay
#ifeq (OP12,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
# DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay/operator/OP12/CMAS/
#endif
#
##Add for OP20 resource overlay
#ifeq (OP20,$(word 1,$(subst _, ,$(OPTR_SPEC_SEG_DEF))))
# DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay/operator/OP20/CMAS/
#endif
#
##TelephonyProvider AOSP code will be replaced by MTK
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/providers/Telephony/TelephonyProvider/Android.bp),)
# PRODUCT_PACKAGES += MtkTelephonyProvider
#endif
#
## ContactsProvider AOSP code will be replaced by MTK
#ifneq ($(strip $(MTK_OVERRIDES_APKS)), no)
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/providers/ContactsProvider/Android.mk),)
#PRODUCT_PACKAGES += MtkContactsProvider
#endif
#endif
#netdagent
PRODUCT_PACKAGES += netdagent
PRODUCT_PACKAGES += netdc
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_netdagent.xml
#getgameserver
ifneq ($(strip $(MTK_GMO_RAM_OPTIMIZE)), yes)
PRODUCT_PACKAGES += getgameserver
PRODUCT_PACKAGES += testgameserver
endif
## Contacts AOSP code will be replaced by MTK
#ifneq ($(strip $(MTK_OVERRIDES_APKS)), no)
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/apps/Contacts/Android.mk),)
# PRODUCT_PACKAGES += \
# MtkContacts \
# MtkSimProcessor
#endif
#endif
##netutils-wrapper
#PRODUCT_PACKAGES += netutils-wrapper-1.0
## Dialer AOSP code will be replaced by MTK
#ifndef MTK_TB_WIFI_3G_MODE
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/apps/Dialer/Android.mk),)
# PRODUCT_PACKAGES += MtkDialer
#endif
#endif
#
## CalendarProvider AOSP code will be replaced by MTK
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/providers/CalendarProvider/Android.mk),)
# PRODUCT_PACKAGES += MtkCalendarProvider
#endif
#
## Calendar AOSP code will be replaced by MTK
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/apps/Calendar/Android.mk),)
# PRODUCT_PACKAGES += MtkCalendar
#endif
#
## AOSP DeskClock code will be replaced with MtkDeskClock when vendor code is available
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/apps/DeskClock/Android.mk),)
# PRODUCT_PACKAGES += MtkDeskClock
#endif
#
## SystemUI AOSP code will be replaced by MTK
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/apps/SystemUI/Android.bp),)
# PRODUCT_PACKAGES += MtkSystemUI
#endif
# SettingsProviderResOverlay
PRODUCT_PACKAGES += SettingsProviderResOverlay
# FrameworkResOverlay
PRODUCT_PACKAGES += FrameworkResOverlay
# CellbroadcastUIResOverlay
ifneq ($(strip $(BUILD_GMS)), yes)
PRODUCT_PACKAGES += CellbroadcastUIResOverlay
else
PRODUCT_PACKAGES += CellbroadcastGoogleUIResOverlay
endif
#NetworkStack RRO
PRODUCT_PACKAGES += NetworkStackResOverlay
PRODUCT_PACKAGES += NetworkStackInProcessResOverlay
PRODUCT_PACKAGES += NetworkStackGoogleGoResOverlay
PRODUCT_PACKAGES += NetworkStackGoogleResOverlay
# Tethering RRO
PRODUCT_PACKAGES += TetheringResOverlay
PRODUCT_PACKAGES += InProcessTetheringResOverlay
PRODUCT_PACKAGES += GoogleTetheringResOverlay
# Telephony Service
PRODUCT_PACKAGES += MtkTelephonyServiceResOverlay
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
# privapp-permissions whitelisting
PRODUCT_PROPERTY_OVERRIDES += ro.control_privapp_permissions=enforce
# Configuration files for mediatek apps
#PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,vendor/mediatek/proprietary/frameworks/base/data/etc/privapp-permissions-mediatek.xml:system/etc/permissions/privapp-permissions-mediatek.xml)
endif
## MMSService AOSP code will be replaced by MTK
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/services/Mms/Android.bp),)
# PRODUCT_PACKAGES += MtkMmsService
#endif
#
## TelephonyProvider AOSP code will be replaced by MTK
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/providers/TelephonyProvider/Android.bp),)
# PRODUCT_PACKAGES += MtkTelephonyProvider
#endif
## Use Mtk Gallery to override AOSP Gallery
# PRODUCT_PACKAGES += Gallery2
# PRODUCT_PACKAGES += MtkGallery2
# PRODUCT_PACKAGES += Gallery2Root
# PRODUCT_PACKAGES += Gallery2Drm
# PRODUCT_PACKAGES += Gallery2Gif
# PRODUCT_PACKAGES += Gallery2Pq
# PRODUCT_PACKAGES += Gallery2PqTool
# PRODUCT_PACKAGES += Gallery2Raw
# PRODUCT_PACKAGES += libjni_stereoinfoaccessor
# PRODUCT_PACKAGES += libstereoinfoaccessor
#
#ifeq ($(strip $(MTK_CAM_IMAGE_REFOCUS_SUPPORT)),yes)
# PRODUCT_PACKAGES += Gallery2StereoEntry
# PRODUCT_PACKAGES += Gallery2StereoCopyPaste
# PRODUCT_PACKAGES += Gallery2StereoBackground
# PRODUCT_PACKAGES += Gallery2StereoFancyColor
# PRODUCT_PACKAGES += Gallery2StereoRefocus
# PRODUCT_PACKAGES += Gallery2PhotoPicker
# PRODUCT_PACKAGES += Gallery2StereoFreeview3D
# PRODUCT_PACKAGES += libjni_stereoapplication
# PRODUCT_PACKAGES += libjni_depthgenerator
# PRODUCT_PACKAGES += libjni_fancycolor
# PRODUCT_PACKAGES += libjni_freeview
# PRODUCT_PACKAGES += libjni_imagerefocus
# PRODUCT_PACKAGES += libjni_imagesegment
#endif
#
## Support stereo thumbnail feature
#ifeq ($(strip $(MTK_CAM_STEREO_CAMERA_SUPPORT)),yes)
# PRODUCT_PACKAGES += Gallery2StereoThumbnail
#endif
#
## DownloadProvider AOSP code will be replaced by MTK
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/providers/DownloadProvider/Android.mk),)
# PRODUCT_PACKAGES += MtkDownloadProvider
#endif
#
## DownloadProviderUi AOSP code will be replaced by MTK
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/providers/DownloadProvider/ui/Android.mk),)
# PRODUCT_PACKAGES += MtkDownloadProviderUi
#endif
#
## DownloadProviderTests AOSP code will be replaced by MTK
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/providers/DownloadProvider/tests/Android.mk),)
# PRODUCT_PACKAGES += MtkDownloadProviderTests
#endif
#
## DocumentsUI AOSP code will be replaced by MTK
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/apps/DocumentsUI/Android.mk),)
# PRODUCT_PACKAGES += MtkDocumentsUI
#endif
#
## DocumentsUIAppPerfTests AOSP code will be replaced by MTK
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/apps/DocumentsUI/app-perf-tests/Android.mk),)
# PRODUCT_PACKAGES += MtkDocumentsUIAppPerfTests
#endif
#
## DocumentsUIPerfTests AOSP code will be replaced by MTK
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/apps/DocumentsUI/perf-tests/Android.mk),)
# PRODUCT_PACKAGES += MtkDocumentsUIPerfTests
#endif
#
## DocumentsUITests AOSP code will be replaced by MTK
#ifneq ($(wildcard vendor/mediatek/proprietary/packages/apps/DocumentsUI/tests/Android.mk),)
# PRODUCT_PACKAGES += MtkDocumentsUITests
#endif
#
##MtkSettings override AOSP Settings
#ifneq ($(strip $(MTK_OVERRIDES_APKS)), no)
# PRODUCT_PACKAGES += MtkSettings
#endif
#
##MtkSettingsProvider override AOSP SettingsProvider
#ifneq ($(strip $(MTK_OVERRIDES_APKS)), no)
# PRODUCT_PACKAGES += MtkSettingsProvider
#endif
#
##MtkBluetooth override AOSP Bluetooth
#ifneq ($(strip $(MTK_OVERRIDES_APKS)), no)
# PRODUCT_PACKAGES += MtkBluetooth
#endif
# vibrator HAL
ifneq ($(strip $(CUSTOM_KERNEL_VIBRATOR)), no)
PRODUCT_PACKAGES += \
libvibratormediatekimpl \
android.hardware.vibrator-service.mediatek
endif
# Light HAL
PRODUCT_PACKAGES += \
android.hardware.lights-service.mediatek
## MtkSystemServices for decouple AOSP systemserver
#PRODUCT_PACKAGES += mediatek-services
## Framework add on for net modules
#ifneq ($(wildcard vendor/mediatek/proprietary/frameworks/opt/net/services/Android.mk),)
# PRODUCT_PACKAGES += mediatek-framework-net
#endif
## move proprietary mount point to vendor
#PRODUCT_PACKAGES += gen_mount_point_for_ab
#PRODUCT_PACKAGES += MusicBspPlus
# Rcs UA
PRODUCT_PACKAGES += \
volte_rcs_ua \
vendor.mediatek.hardware.rcs@1.0.so \
rcs_volte_stack \
librcs_volte_core \
librcs_interface
#Client API feature
PRODUCT_PACKAGES += volte_clientapi_ua
PRODUCT_PACKAGES += vendor.mediatek.hardware.clientapi@1.0.so
## adb_r
#ifeq ($(strip $(MTK_BUILD_ROOT)), yes)
# PRODUCT_PACKAGES += adbd_r
#endif
ifeq ($(strip $(MTK_HIDL_PROCESS_CONSOLIDATION_ENABLED)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_hidl_consolidation=1
endif
# For IWLAN operation mode
PRODUCT_PROPERTY_OVERRIDES += ro.telephony.iwlan_operation_mode=AP-assisted
PRODUCT_PACKAGES += check-mtk-hidl
## For Full Screen Switch
#ifeq ($(strip $(MTK_FULLSCREEN_SWITCH_SUPPORT)), yes)
# PRODUCT_PROPERTY_OVERRIDES += ro.vendor.fullscreen_switch=1
# PRODUCT_PACKAGES += FullscreenSwitchService
# PRODUCT_PACKAGES += FullscreenMode
# PRODUCT_PACKAGES += FullscreenSwitchProvider
#endif
# Add Identity
TARGET_BOOTLOADER_BOARD_NAME := $(MTK_BASE_PROJECT)
# CONNSYS Log Feature Support
ifeq ($(strip $(MTK_CONNSYS_DEDICATED_LOG_PATH)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.connsys.dedicated.log=1
endif
# Only build ATCI when it's eng/userdebug load, internal user load, or EM ATCI forcely enabled
# Except for atcid which is needed by ATM
PRODUCT_PACKAGES += atcid
PRODUCT_PACKAGES += vendor.mediatek.hardware.atci@1.0.so
ifneq ($(TARGET_BUILD_VARIANT),user)
PRODUCT_PACKAGES += atci_service
#PRODUCT_PACKAGES += atci_service_sys
PRODUCT_PACKAGES += libatciserv_jni
#PRODUCT_PACKAGES += AtciService
else
ifneq ($(wildcard vendor/mediatek/proprietary/frameworks/opt/atci_config/atci_enable),)
PRODUCT_PACKAGES += atci_service
#PRODUCT_PACKAGES += atci_service_sys
PRODUCT_PACKAGES += libatciserv_jni
#PRODUCT_PACKAGES += AtciService
endif
endif
#MTK_AVB_IMG_RELEASE_AUTH = yes
## setup dm-verity configs.
PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/by-name/vendor
#settings for main vbmeta
BOARD_AVB_ENABLE ?= true
ifneq ($(strip $(BOARD_AVB_ENABLE)), true)
# if avb2.0 is not enabled
$(call inherit-product, build/target/product/verity.mk)
endif
#else
# # if avb2.0 is enabled
# # BOARD_BOOTIMAGE_PARTITION_SIZE and BOARD_RECOVERYIMAGE_PARTITION_SIZE
# # are essential to avb2.0 and must be set correctly.
#
# #settings for main vbmeta
# BOARD_AVB_ALGORITHM := SHA256_RSA2048
# BOARD_AVB_KEY_PATH := $(LOCAL_PATH)/oem_prvk.pem
#
#ifeq ($(strip $(MAIN_VBMETA_IN_BOOT)),no)
# #settings for recovery, which is configured as chain partition
# BOARD_AVB_RECOVERY_KEY_PATH := $(LOCAL_PATH)/recovery_prvk.pem
# BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA2048
# BOARD_AVB_RECOVERY_ROLLBACK_INDEX := 0
# # Always assign "1" to BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION
# # if MTK_OTP_FRAMEWORK_V2 is turned on in LK. In other words,
# # rollback_index_location "1" can only be assigned to
# # recovery partition.
# BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1
#endif
#
# #settings for system, which is configured as chain partition
# BOARD_AVB_SYSTEM_KEY_PATH := $(LOCAL_PATH)/system_prvk.pem
# BOARD_AVB_SYSTEM_ALGORITHM := SHA256_RSA2048
# BOARD_AVB_SYSTEM_ROLLBACK_INDEX := 0
# BOARD_AVB_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
#endif
# MTK Single Image
PRODUCT_MTK_RSC_ROOT_PATH ?= etc/rsc
ifeq ($(wildcard vendor/mediatek/internal/build vendor/mediatek/libs_internal),vendor/mediatek/internal/build vendor/mediatek/libs_internal)
CURRENT_RSC_NAMES := $(PRODUCT_MTK_RSC_NAMES)
else
CURRENT_RSC_NAMES := $(PRODUCT_CUSTOMER_RSC_NAMES)
endif
$(foreach mk,$(CURRENT_RSC_NAMES),\
$(eval mtk_rsc_name := $(mk))\
$(eval include device/mediatek/build/tasks/tools/config_mtk_rsc.mk))
# Load parameters of BesLoudness and ACF
PRODUCT_PACKAGES += libaudiocompensationfilter_vendor
# NeuroPilot NN SDK
ifeq ($(strip $(MTK_GENERIC_HAL)), yes)
PRODUCT_PACKAGES += libtflite_mtk.vendor
PRODUCT_PACKAGES += libtflite_mtk_static_R.vendor
PRODUCT_PACKAGES += libneuropilot_jni_R.vendor
PRODUCT_PACKAGES += libneuroeara
PRODUCT_PACKAGES += nhw
PRODUCT_PACKAGES += libarmnn
PRODUCT_PACKAGES += libarmnn_ndk.mtk.vndk
PRODUCT_PACKAGES += libcmdl_ndk.mtk.vndk
PRODUCT_PACKAGES += libnir_neon_driver
PRODUCT_PACKAGES += libnir_neon_driver_ndk.mtk.vndk
PRODUCT_PACKAGES += TFLiteRunner.vendor
PRODUCT_PACKAGES += tflite_np_c_api_test.vendor
PRODUCT_PACKAGES += APUWareApusysServer
PRODUCT_PACKAGES += APUWareUtilsServer
PRODUCT_PACKAGES += APUWareHmpServer
PRODUCT_PACKAGES += libneuron_graph_delegate.mtk.vendor
PRODUCT_PACKAGES += libnpagent
PRODUCT_PACKAGES += libnpagent_server
PRODUCT_PACKAGES += android.hardware.neuralnetworks-shim-service-mtk
PRODUCT_PROPERTY_OVERRIDES += debug.mtk_tflite.target_nnapi=29
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_nn.option?=A,B,C,D,E,F,G,Z
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_nn_quant_preferred=1
# HMP
#ifeq ($(MTK_HMP_CUSTOM_SUPPORT),yes)
PRODUCT_PACKAGES += libhmp_custom
PRODUCT_PACKAGES += libhmpconfig
#endif
else
ifeq ($(strip $(MTK_NN_SDK_SUPPORT)), yes)
PRODUCT_PACKAGES += libtflite_mtk.vendor
PRODUCT_PACKAGES += libtflite_mtk_static_R.vendor
PRODUCT_PACKAGES += libneuropilot_jni_R.vendor
PRODUCT_PACKAGES += libneuroeara
PRODUCT_PACKAGES += nhw
PRODUCT_PACKAGES += libarmnn_ndk.mtk.vndk
PRODUCT_PACKAGES += libcmdl_ndk.mtk.vndk
PRODUCT_PACKAGES += libnir_neon_driver_ndk.mtk.vndk
PRODUCT_PROPERTY_OVERRIDES += debug.mtk_tflite.target_nnapi=29
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_nn.option?=A,B,C,D,E,F,G,Z
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_nn_quant_preferred=1
PRODUCT_PACKAGES += TFLiteRunner.vendor
PRODUCT_PACKAGES += tflite_np_c_api_test.vendor
endif
endif
# APUSYS middleware user space lib and UT program
PRODUCT_PACKAGES += libapu_mdw
PRODUCT_PACKAGES += libapu_mdw_batch
PRODUCT_PACKAGES += apu_mdw_test
PRODUCT_PACKAGES += libapusys
PRODUCT_PACKAGES += apusys_test
PRODUCT_PACKAGES += libapusys_edma
PRODUCT_PACKAGES_DEBUG += edma_test
PRODUCT_PACKAGES_DEBUG += reviser_test
# VPU user space lib and UT program
PRODUCT_PACKAGES += libvpu5
PRODUCT_PACKAGES_DEBUG += vpu5_test
PRODUCT_PACKAGES += libneuron_platform.vpu
ifeq ($(strip $(MTK_VPU_SUPPORT)), yes)
PRODUCT_PACKAGES += libvpu
PRODUCT_PACKAGES_DEBUG += vpu_test
PRODUCT_PACKAGES += libmcv_runtime.mtk
endif
# MDLA user space lib and UT program
PRODUCT_PACKAGES += libmdla_ut
PRODUCT_PACKAGES_DEBUG += mdla_player
# NeuroPilot Hal Util
#PRODUCT_PACKAGES += libneuropilot_hal_utils
PRODUCT_PACKAGES += libneuropilot_hal_utils.vendor
# GiFT
ifeq ($(MTK_PRODUCT_LINE), smart_phone)
PRODUCT_PACKAGES += libMEOW_gift
endif
# QT
PRODUCT_PACKAGES += libMEOW_qt
# GLT
PRODUCT_PACKAGES += libGLES_meow
##Boot performance
PRODUCT_COPY_FILES += $(LOCAL_PATH)/bootperf.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/bootperf.rc
# kernel doesn't have HEH filename encryption
PRODUCT_PROPERTY_OVERRIDES += \
ro.crypto.volume.filenames_mode=aes-256-cts
# Imgsensor
PRODUCT_PACKAGES_DEBUG += sentest
PRODUCT_PACKAGES_DEBUG += sentest_v4l2
PRODUCT_PACKAGES_DEBUG += eeprom_test
## camera meta
#PRODUCT_PACKAGES_ENG += camtest_metadataconverter
#PRODUCT_PACKAGES_ENG += camtest_metadata
#for gralloc test
PRODUCT_PACKAGES_ENG += test_grallocutils
## netlog compress so
#PRODUCT_PACKAGES += libcompress_copy
## For Telepony Assist
#PRODUCT_PACKAGES += MtkTelephonyAssist
#PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.base_build=noah
##Gaming with smooth lte mobile data
ifeq ($(strip $(MTK_GENERIC_HAL)), yes)
PRODUCT_PACKAGES += libgwsd-ril
PRODUCT_PACKAGES += libgwsdv2-ril
PRODUCT_PACKAGES += libgwsdv3-ril
else
ifeq ($(strip $(MTK_GWSD_V2_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_gwsd_capability=2
PRODUCT_PACKAGES += libgwsdv2-ril
else
ifeq ($(strip $(MTK_GWSD_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_gwsd_capability=1
PRODUCT_PACKAGES += libgwsd-ril
endif
endif
endif
#tetheroffload
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
ifneq ($(strip $(MTK_GMO_RAM_OPTIMIZE)), yes)
PRODUCT_PACKAGES += tetheroffloadservice
PRODUCT_PACKAGES += tetheroffloadtest
PRODUCT_PACKAGES += brctl
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_tetheroffloadservice.xml
endif
endif
## CdsInfo
#PRODUCT_PACKAGES_DEBUG += CDS_INFO
PRODUCT_HOST_PACKAGES += ksyms-query
# Ambient Light Adaptive Luma
ifeq ($(strip $(MTK_AAL_SUPPORT)), yes)
PRODUCT_PACKAGES += libaalservice
ifeq ($(strip $(MTK_GENERIC_HAL)), yes)
PRODUCT_PACKAGES += libaal_cust_func
else
PRODUCT_PACKAGES += libaal_cust
endif
PRODUCT_PACKAGES += libaal_mtk
endif
# PQ HIDL
ifeq (,$(filter $(strip $(MTK_PQ_SUPPORT)), no PQ_OFF))
DEVICE_MANIFEST_FILE += device/mediatek/vendor/common/project_manifest/manifest_pq.xml
endif
PRODUCT_PACKAGES += libpqpconfig
PRODUCT_PACKAGES += libpqparamparser
PRODUCT_PACKAGES += \
vendor.mediatek.hardware.pq@2.2-service \
vendor.mediatek.hardware.pq@2.15-impl
# MMS HIDL
DEVICE_MANIFEST_FILE += device/mediatek/vendor/common/project_manifest/manifest_mmservice.xml
PRODUCT_PACKAGES += \
vendor.mediatek.hardware.mms@1.6-service \
vendor.mediatek.hardware.mms@1.6-impl
PRODUCT_PACKAGES += libnvram
PRODUCT_PACKAGES += libfile_op
PRODUCT_PACKAGES += nvram_daemon
#PRODUCT_PACKAGES += vendor.mediatek.hardware.nvram@1.1
# MMAGENT HIDL
DEVICE_MANIFEST_FILE += device/mediatek/vendor/common/project_manifest/manifest_mmagent.xml
PRODUCT_PACKAGES += \
vendor.mediatek.hardware.mmagent@1.1-service \
AgentTest
# nvram hidl. enable lazy hal on A-GO project to save memory
PRODUCT_PACKAGES += vendor.mediatek.hardware.nvram@1.1-impl
ifeq ($(strip $(MTK_GMO_RAM_OPTIMIZE)), yes)
PRODUCT_PACKAGES += vendor.mediatek.hardware.nvram@1.1-service-lazy
else
PRODUCT_PACKAGES += vendor.mediatek.hardware.nvram@1.1-service
endif
# Another copy of AOSP root certs for vendor modules like AGPS or XCAP for IMS
ifeq ($(strip $(MTK_AGPS_APP)), yes)
PRODUCT_COPY_FILES += $(call find-copy-subdir-files,*,system/ca-certificates/files,$(TARGET_COPY_OUT_VENDOR)/etc/security/cacerts)
else ifeq ($(strip $(MTK_UT_XCAP_SUPPORT)), yes)
PRODUCT_COPY_FILES += $(call find-copy-subdir-files,*,system/ca-certificates/files,$(TARGET_COPY_OUT_VENDOR)/etc/security/cacerts)
endif
ifeq ($(MTK_DYNAMIC_PARTITION_SUPPORT), yes)
PRODUCT_PACKAGES += \
fastbootd \
android.hardware.fastboot@1.0-impl-mtk
endif
# Always On Display
#ifeq ($(strip $(MTK_AOD_SUPPORT)), yes)
# PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.vendor.mtk_aod_support=1
#endif
# DM HIDL manifest
ifneq ($(findstring manifest_dmc.xml, $(DEVICE_MANIFEST_FILE)), manifest_dmc.xml)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_dmc.xml
endif
ifneq ($(findstring manifest_apmonitor.xml, $(DEVICE_MANIFEST_FILE)), manifest_apmonitor.xml)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_apmonitor.xml
endif
PRODUCT_PACKAGES += dmc_core
# Packet Monitor
PRODUCT_PACKAGES += mtk_pkm_service
PRODUCT_PACKAGES += libpkm
# Shared library which used by dlopen(), so build it explictly
PRODUCT_PACKAGES += libapmonitor_vendor
PRODUCT_PACKAGES += libpkm
# DMC AP:MDMI
PRODUCT_PACKAGES += libtranslator_mdmi_v2.8.2
# DMC AP:MAPI
PRODUCT_PACKAGES += libtranslator_mapi_v3.0
# CTA SUPPORT
# enable this option for cta lab test only.
ifeq ($(strip $(MTK_CTA_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_cta_support=1
endif
#for ts_ufozip in libuvvf
ifeq ($(BUILD_MTK_LDVT), yes)
PRODUCT_PACKAGES_ENG += ts_ufozip
endif
# lazy hal
ifeq ($(strip $(MTK_CAM_LAZY_HAL)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.camera.enableLazyHal=true
PRODUCT_PACKAGES += android.hardware.camera.provider@2.6-service-lazy
endif
# R userspace reboot support
$(call inherit-product, $(SRC_TARGET_DIR)/product/userspace_reboot.mk)
ifneq ($(strip $(MTK_LCM_PHYSICAL_ROTATION)),)
ifeq ($(strip $(MTK_LCM_PHYSICAL_ROTATION)), 90)
PRODUCT_PROPERTY_OVERRIDES += ro.surface_flinger.primary_display_orientation=ORIENTATION_90
else ifeq ($(strip $(MTK_LCM_PHYSICAL_ROTATION)), 180)
PRODUCT_PROPERTY_OVERRIDES += ro.surface_flinger.primary_display_orientation=ORIENTATION_180
else ifeq ($(strip $(MTK_LCM_PHYSICAL_ROTATION)), 270)
PRODUCT_PROPERTY_OVERRIDES += ro.surface_flinger.primary_display_orientation=ORIENTATION_270
else
PRODUCT_PROPERTY_OVERRIDES += ro.surface_flinger.primary_display_orientation=ORIENTATION_0
endif
endif
#Network Optimization
ifeq ($(strip $(MTK_NWK_OPT_SUPPORT)), yes)
ifneq ($(wildcard vendor/mediatek/proprietary/hardware/lib_nwk_opt),)
PRODUCT_PACKAGES += vendor.mediatek.hardware.nwk_opt@1.0-service
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_nwk_opt.xml
PRODUCT_PACKAGES += libnwk_opt_halwrap_vendor
endif
endif
#Touch ll
ifneq ($(filter $(strip $(MTK_TOUCH_LOW_LATENCY)),up),)
ifneq ($(wildcard vendor/mediatek/proprietary/hardware/tboost_v/tll),)
PRODUCT_PACKAGES += libtouch_ll_wrap
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_touchll.xml
PRODUCT_PACKAGES += vendor.mediatek.hardware.touchll@1.0-service
endif
endif
ifneq ($(filter $(strip $(MTK_TOUCH_LOW_LATENCY)),down),)
ifneq ($(wildcard vendor/mediatek/proprietary/hardware/tboost_v),)
PRODUCT_PACKAGES += libthp_touchll
endif
endif
ifneq ($(filter $(strip $(MTK_TOUCH_LOW_LATENCY)),predict),)
ifneq ($(wildcard vendor/mediatek/proprietary/hardware/tboost_v),)
PRODUCT_PACKAGES += libthp_predict
endif
endif
#thp
ifeq (yes,$(strip $(MTK_THP_SUPPORT)))
ifneq ($(wildcard vendor/mediatek/kernel_modules/mtk_input/mtk_thp),)
PRODUCT_PACKAGES += libafehalP115930900
PRODUCT_PACKAGES += libtsa_gdix
endif
ifneq ($(wildcard vendor/mediatek/kernel_modules/mtk_input/touchkey),)
PRODUCT_PACKAGES += libthp_key_vendor
endif
ifneq ($(wildcard vendor/mediatek/proprietary/hardware/tboost_v),)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_thp.xml
PRODUCT_PACKAGES += vendor.mediatek.hardware.thp@1.0-service
PRODUCT_PACKAGES += libthp_service
PRODUCT_PACKAGES += libthp_gdix_wrap
PRODUCT_PACKAGES += libthp_tsa_wrap
PRODUCT_PACKAGES += libthp_touchll_wrap
PRODUCT_PACKAGES += libthp_predict_wrap
endif
endif
# Disable USAP pool
PRODUCT_PRODUCT_PROPERTIES += persist.device_config.runtime_native.usap_pool_enabled=false
# identity
PRODUCT_PRODUCT_PROPERTIES += \
Build.BRAND=MTK
# Enable CFI for security-sensitive components
$(call inherit-product, $(SRC_TARGET_DIR)/product/cfi-common.mk)
$(call inherit-product-if-exists, vendor/google/products/cfi-vendor.mk)
# For VOW 2E2K feature file
# added dependency in relation to libvoicerecognition_jni
ifneq ($(wildcard vendor/mediatek/proprietary/external/voiceunlock2),)
ifeq ($(strip $(MTK_VOW_AMAZON_SUPPORT)),yes)
PRODUCT_COPY_FILES += $(LOCAL_PATH)/com.mediatek.hardware.vow.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.mediatek.hardware.vow.xml:mtk
endif
ifneq ($(strip $(MTK_VOW_MAX_PDK_NUMBER)),0)
PRODUCT_COPY_FILES += $(LOCAL_PATH)/com.mediatek.hardware.vow.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.mediatek.hardware.vow.xml:mtk
endif
endif
ifeq ($(strip $(MTK_VOW_SUPPORT)),yes)
ifeq ($(strip $(MTK_VOW_DSP_VERSION)),ver01)
PRODUCT_COPY_FILES += $(LOCAL_PATH)/com.mediatek.hardware.vow_dsp.cm4.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.mediatek.hardware.vow_dsp.xml:mtk
else
PRODUCT_COPY_FILES += $(LOCAL_PATH)/com.mediatek.hardware.vow_dsp.riscv.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.mediatek.hardware.vow_dsp.xml:mtk
endif
endif
# Hevc encode support
ifeq ($(strip $(MTK_VIDEO_HEVC_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_video_hevc_enc_support=1
endif
# surface flinger common configuration property
# to overrides these in platform/project device.mk
# must put before $(call inherit-product, device/mediatek/vendor/common/device.mk)
PRODUCT_PROPERTY_OVERRIDES += ro.surface_flinger.force_hwc_copy_for_virtual_displays=true
PRODUCT_PROPERTY_OVERRIDES += ro.surface_flinger.max_frame_buffer_acquired_buffers=3
# Set API level to override inherited value
PRODUCT_SHIPPING_API_LEVEL := $(PRODUCT_SHIPPING_API_LEVEL_OVERRIDE)
ifneq (,$(filter OP07_SPEC0200_SEGDEFAULT OP08_SPEC0200_SEGDEFAULT OP12_SPEC0200_SEGDEFAULT OP20_SPEC0200_SEGDEFAULT, $(strip $(OPTR_SPEC_SEG_DEF))))
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.md_c2k_cap_dep_check=1
else
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.md_c2k_cap_dep_check=0
endif
# Specifying the below for using vndservicemanager
PRODUCT_PACKAGES += \
vndservicemanager
# Camera HDR10+ recording capability
ifeq ($(strip $(MTK_HDR10_PLUS_RECORDING)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.hdr10plus.enable=1
endif
#add for bluetooth ldac abr
ifeq ($(strip $(MTK_BLUETOOTH_LDAC_ABR)), yes)
PRODUCT_PROPERTY_OVERRIDES += vendor.bluetooth.ldac.abr=true
endif
# Enable Incremental on the device via kernel driver
PRODUCT_PROPERTY_OVERRIDES += ro.incremental.enable=yes
#inherit test case
$(call inherit-product-if-exists, vendor/mediatek/tests/vendor/config/test_list.mk)
$(call inherit-product-if-exists, vendor/mediatek/tests/kernel/test_list_user.mk)
ifndef MTK_GENERIC_HAL
$(call inherit-product-if-exists, vendor/mediatek/tests/kernel/test_list_kernel.mk)
endif
#mtk powerhal
PRODUCT_PACKAGES += vendor.mediatek.hardware.mtkpower@1.2-impl
PRODUCT_PACKAGES += vendor.mediatek.hardware.mtkpower@1.0-service
PRODUCT_PACKAGES += libpowerhal
#PRODUCT_PACKAGES += libpowerhalctl
PRODUCT_PACKAGES += libpowerhalctl_vendor
#PRODUCT_PACKAGES += libpowerhalwrap
PRODUCT_PACKAGES += libpowerhalwrap_vendor
#PRODUCT_PACKAGES += libmtkperf_client
PRODUCT_PACKAGES += libmtkperf_client_vendor
#PRODUCT_PACKAGES += libperfctl
PRODUCT_PACKAGES += libperfctl_vendor
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
ifneq ($(TARGET_BUILD_VARIANT),user)
PRODUCT_PACKAGES += power_native_test_v_1_0
PRODUCT_PACKAGES += power_native_test_v_1_1
endif
endif
# Enable modprobe on second stage by shell script
PRODUCT_COPY_FILES += device/mediatek/vendor/common/init.insmod.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.insmod.sh
# Header libs for libvcodecdrv
PRODUCT_PACKAGES += libvcodecdrv_header_stub
# mtk simple hwcomposer
ifneq ($(wildcard vendor/mediatek/internal/hwcomposer_simple),)
PRODUCT_PACKAGES += libsimplehwc
endif
# mtk hwcomposer
PRODUCT_PACKAGES += hwcomposer.mtk_common
PRODUCT_PACKAGES += hwcomposer.mtk_fold
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.hardware.hwcomposer?=mtk_common
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.vendor.composer_version?=2.1
# IComposerExt
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_composer.xml
# mtk c2 hal service
ifneq ($(MTK_BASIC_PACKAGE), yes)
PRODUCT_PACKAGES += android.hardware.media.c2@1.2-mediatek
PRODUCT_PACKAGES += android.hardware.media.c2@1.2-mediatek-64b
endif
# IRTX over PWM
ifeq ($(strip $(MTK_IRTX_PWM_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.hardware.consumerir=common
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.consumerir.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.consumerir.xml
PRODUCT_PACKAGES += consumerir.common
endif
#FPSGO
PRODUCT_PACKAGES += fpsgo
############ Porting from mt6893/device.mk - BEGIN #################
ifdef MTK_GENERIC_HAL
# HDR Video Library
ifeq ($(strip $(MTK_HDR_VIDEO_SUPPORT)), yes)
PRODUCT_PACKAGES += libhdrvideo
PRODUCT_PACKAGES += libhdrvideo_mtk
endif
#GPU collection
PRODUCT_PACKAGES += libI420colorconvert
PRODUCT_PACKAGES += vpud
PRODUCT_PACKAGES += v3avpud
ifneq ($(filter $(MGVI_PLATFORM_GROUP),mt6855),)
PRODUCT_PACKAGES += v3avpud.mt6855
PRODUCT_PACKAGES += libvpudv3a_vcodec
endif
ifneq ($(filter $(MGVI_PLATFORM_GROUP),mt6789),)
PRODUCT_PACKAGES += v3avpud.mt6789
PRODUCT_PACKAGES += libvpudv3a_vcodec
endif
PRODUCT_PACKAGES += v4l2vcodec-ut
PRODUCT_PACKAGES += v4l2vcodecv3a-ut
PRODUCT_PACKAGES += libvcodecdrv
PRODUCT_PACKAGES += libvcodecdrv_v3a
PRODUCT_PACKAGES += libvcodec_utility
PRODUCT_PACKAGES += libvcodec_utility_v3a
PRODUCT_PACKAGES += libvcodec_oal
PRODUCT_PACKAGES += libh264enc_sa.ca7
PRODUCT_PACKAGES += libh264enc_sb.ca7
PRODUCT_PACKAGES += libhevce_sb.ca7.android
PRODUCT_PACKAGES += libHEVCdec_sa.ca7.android
PRODUCT_PACKAGES += libmp4enc_sa.ca7
PRODUCT_PACKAGES += libmp4enc_xa.ca7
PRODUCT_PACKAGES += libvc1dec_sa.ca7
PRODUCT_PACKAGES += libvp8dec_sa.ca7
PRODUCT_PACKAGES += libvp8enc_sa.ca7
PRODUCT_PACKAGES += libvp9dec_sa.ca7
PRODUCT_PACKAGES += libvideoeditorplayer
PRODUCT_PACKAGES += libvideoeditor_osal
PRODUCT_PACKAGES += libvideoeditor_3gpwriter
PRODUCT_PACKAGES += libvideoeditor_mcs
PRODUCT_PACKAGES += libvideoeditor_core
PRODUCT_PACKAGES += libvideoeditor_stagefrightshells
PRODUCT_PACKAGES += libvideoeditor_videofilters
PRODUCT_PACKAGES += libvideoeditor_jni
PRODUCT_PACKAGES += audio.primary.default
PRODUCT_PACKAGES += sound_trigger.primary.default
PRODUCT_PACKAGES += audio_policy.stub
PRODUCT_PACKAGES += local_time.default
PRODUCT_PACKAGES += libaudiocustparam
#PRODUCT_PACKAGES += libaudiocomponentengine
PRODUCT_PACKAGES += libaudiocomponentengine_vendor
PRODUCT_PACKAGES += libh264dec_xa.ca9
PRODUCT_PACKAGES += libh264dec_xb.ca9
PRODUCT_PACKAGES += libh264dec_sa.ca7
PRODUCT_PACKAGES += libh264dec_sd.ca7
PRODUCT_PACKAGES += libh264dec_se.ca7
PRODUCT_PACKAGES += libh264dec_customize
PRODUCT_PACKAGES += libmp4dec_sa.ca9
PRODUCT_PACKAGES += libmp4dec_sb.ca9
PRODUCT_PACKAGES += libmp4dec_customize
PRODUCT_PACKAGES += libvp8dec_xa.ca9
PRODUCT_PACKAGES += libmp4enc_xa.ca9
PRODUCT_PACKAGES += libmp4enc_xb.ca9
PRODUCT_PACKAGES += libh264enc_sa.ca9
PRODUCT_PACKAGES += libh264enc_sb.ca9
PRODUCT_PACKAGES += libvcodec_oal
PRODUCT_PACKAGES += libvc1dec_sa.ca9
PRODUCT_PACKAGES += liblic_s263
PRODUCT_PACKAGES += init.factory.rc
PRODUCT_PACKAGES += libaudio.primary.default
PRODUCT_PACKAGES += audio_policy.default
PRODUCT_PACKAGES += libaudio.a2dp.default
PRODUCT_PACKAGES += libMtkVideoTranscoder
PRODUCT_PACKAGES += libMtkOmxCore
PRODUCT_PACKAGES += libMtkOmxOsalUtils
PRODUCT_PACKAGES += libMtkOmxVdecEx
PRODUCT_PACKAGES += libMtkOmxVenc
PRODUCT_PACKAGES += libaudiodcrflt
PRODUCT_PACKAGES += libaudiosetting
#PRODUCT_PACKAGES += librtp_jni
PRODUCT_PACKAGES += mfv_ut
PRODUCT_PACKAGES += libstagefrighthw
PRODUCT_PACKAGES += libstagefright_memutil
PRODUCT_PACKAGES += factory.ini
PRODUCT_PACKAGES += libmtdutil
PRODUCT_PACKAGES += libminiui
PRODUCT_PACKAGES += factory
PRODUCT_PACKAGES += drvbd
PRODUCT_PACKAGES += libaudio.usb.default
PRODUCT_PACKAGES += audio.usb.default
PRODUCT_PACKAGES += AccountAndSyncSettings
#PRODUCT_PACKAGES += DeskClock
#PRODUCT_PACKAGES += AlarmProvider
#PRODUCT_PACKAGES += Bluetooth
#PRODUCT_PACKAGES += Calculator
#PRODUCT_PACKAGES += Calendar
#PRODUCT_PACKAGES += CertInstaller
ifeq ($(strip $(MTK_OMADRM_SUPPORT)), yes)
PRODUCT_PACKAGES += DrmProvider
endif
#PRODUCT_PACKAGES += Email
#PRODUCT_PACKAGES += FusedLocation
#PRODUCT_PACKAGES += TelephonyProvider
#PRODUCT_PACKAGES += Exchange2
#PRODUCT_PACKAGES += LatinIME
#PRODUCT_PACKAGES += Music
#PRODUCT_PACKAGES += MusicFX
#PRODUCT_PACKAGES += Protips
#PRODUCT_PACKAGES += QuickSearchBox
#PRODUCT_PACKAGES += Settings
#PRODUCT_PACKAGES += Sync
#PRODUCT_PACKAGES += SystemUI
#PRODUCT_PACKAGES += Updater
#PRODUCT_PACKAGES += CalendarProvider
PRODUCT_PACKAGES += ccci_mdinit
PRODUCT_PACKAGES += ccci_fsd
PRODUCT_PACKAGES += ccci_rpcd
PRODUCT_PACKAGES += ccci_dpmaif_debug
#PRODUCT_PACKAGES += batterywarning
PRODUCT_PACKAGES += SyncProvider
#PRODUCT_PACKAGES += Launcher3
PRODUCT_PACKAGES += disableapplist.txt
PRODUCT_PACKAGES += resmonwhitelist.txt
PRODUCT_PACKAGES += thermal_hal
ifdef MTK_GENERIC_HAL
PRODUCT_PACKAGES += thermal_core
PRODUCT_PACKAGES += thermal_intf
PRODUCT_PACKAGES += ThermalCoreTest
else
PRODUCT_PACKAGES += MTKThermalManager
PRODUCT_PACKAGES += libmtcloader
PRODUCT_PACKAGES += thermal_manager
PRODUCT_PACKAGES += thermal
PRODUCT_PACKAGES += thermalloadalgod
PRODUCT_PACKAGES += libthermalalgo
endif
PRODUCT_PACKAGES += CellConnService
ifneq ($(strip $(OPTR_SPEC_SEG_DEF)),NONE)
PRODUCT_PACKAGES += MTKAndroidSuiteDaemon
endif
PRODUCT_PACKAGES += libthha
PRODUCT_PACKAGES += ami304d
PRODUCT_PACKAGES += akmd8963
PRODUCT_PACKAGES += akmd09911
PRODUCT_PACKAGES += akmd09912
PRODUCT_PACKAGES += akmd8975
PRODUCT_PACKAGES += istd8303
PRODUCT_PACKAGES += AcdApiDaemon
PRODUCT_PACKAGES += calib.dat
PRODUCT_PACKAGES += param.dat
PRODUCT_PACKAGES += geomagneticd
PRODUCT_PACKAGES += orientationd
PRODUCT_PACKAGES += memsicd
PRODUCT_PACKAGES += msensord
PRODUCT_PACKAGES += lsm303md
PRODUCT_PACKAGES += memsicd3416x
PRODUCT_PACKAGES += s62xd smartsensor
PRODUCT_PACKAGES += bmm050d
PRODUCT_PACKAGES += mc6420d
PRODUCT_PACKAGES += magd
PRODUCT_PACKAGES += meta_tst
PRODUCT_PACKAGES += dhcp6c
PRODUCT_PACKAGES += dhcp6ctl
PRODUCT_PACKAGES += dhcp6c.conf
PRODUCT_PACKAGES += dhcp6cDNS.conf
PRODUCT_PACKAGES += dhcp6s
PRODUCT_PACKAGES += dhcp6s.conf
PRODUCT_PACKAGES += dhcp6c.script
PRODUCT_PACKAGES += dhcp6cctlkey
#PRODUCT_PACKAGES += libblisrc
PRODUCT_PACKAGES += libifaddrs
PRODUCT_PACKAGES += libmobilelog_jni
PRODUCT_PACKAGES += audio.r_submix.default
PRODUCT_PACKAGES += libaudio.usb.default
#PRODUCT_PACKAGES += libnbaio
#PRODUCT_PACKAGES += libaudioflinger
PRODUCT_PACKAGES += libmeta_audio
PRODUCT_PACKAGES += liba3m
PRODUCT_PACKAGES += libja3m
PRODUCT_PACKAGES += libmmprofile
PRODUCT_PACKAGES += libmmprofile_jni
PRODUCT_PACKAGES += libtvoutjni
PRODUCT_PACKAGES += libtvoutpattern
PRODUCT_PACKAGES += libmtkhdmi_jni
PRODUCT_PACKAGES += liblog
PRODUCT_PACKAGES += shutdown
PRODUCT_PACKAGES += muxreport
PRODUCT_PACKAGES += mtkrild
PRODUCT_PACKAGES += mtk-ril
PRODUCT_PACKAGES += librilmtk
PRODUCT_PACKAGES += libutilrilmtk
PRODUCT_PACKAGES += gsm0710muxd
PRODUCT_PACKAGES += md_minilog_util
PRODUCT_PACKAGES += wbxml
PRODUCT_PACKAGES += wappush
PRODUCT_PACKAGES += thememap.xml
PRODUCT_PACKAGES += libBLPP.so
PRODUCT_PACKAGES += rc.fac
PRODUCT_PACKAGES += mtkGD
PRODUCT_PACKAGES += pvrsrvctl
PRODUCT_PACKAGES += libGLES_meow
PRODUCT_PACKAGES += libMEOW_trace
PRODUCT_PACKAGES += libEGL_mtk.so
PRODUCT_PACKAGES += libGLESv1_CM_mtk.so
PRODUCT_PACKAGES += libGLESv2_mtk.so
PRODUCT_PACKAGES += thermalindicator
PRODUCT_PACKAGES += libged.so
ifneq ($(MTK_BASIC_PACKAGE), yes)
PRODUCT_PACKAGES += libgas.so
endif
PRODUCT_PACKAGES += libusc.so
PRODUCT_PACKAGES += libglslcompiler.so
PRODUCT_PACKAGES += libIMGegl.so
PRODUCT_PACKAGES += libpvr2d.so
PRODUCT_PACKAGES += libsrv_um.so
PRODUCT_PACKAGES += libsrv_init.so
PRODUCT_PACKAGES += libPVRScopeServices.so
PRODUCT_PACKAGES += libpvrANDROID_WSEGL.so
PRODUCT_PACKAGES += libFraunhoferAAC
PRODUCT_PACKAGES += audiocmdservice_atci
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
PRODUCT_PACKAGES += libMtkOmxAudioEncBase
PRODUCT_PACKAGES += libMtkOmxAmrEnc
PRODUCT_PACKAGES += libMtkOmxAwbEnc
PRODUCT_PACKAGES += libMtkOmxAacEnc
PRODUCT_PACKAGES += libMtkOmxVorbisEnc
PRODUCT_PACKAGES += libMtkOmxAdpcmEnc
PRODUCT_PACKAGES += libMtkOmxMp3Dec
PRODUCT_PACKAGES += libMtkOmxGsmDec
PRODUCT_PACKAGES += libMtkOmxAacDec
PRODUCT_PACKAGES += libMtkOmxG711Dec
PRODUCT_PACKAGES += libMtkOmxVorbisDec
PRODUCT_PACKAGES += libMtkOmxAudioDecBase
PRODUCT_PACKAGES += libMtkOmxAdpcmDec
PRODUCT_PACKAGES += libMtkOmxRawDec
PRODUCT_PACKAGES += libMtkOmxAMRNBDec
PRODUCT_PACKAGES += libMtkOmxAMRWBDec
endif
PRODUCT_PACKAGES += libphonemotiondetector_jni
PRODUCT_PACKAGES += libphonemotiondetector
PRODUCT_PACKAGES += libmotionrecognition
PRODUCT_PACKAGES += audio.primary.default
PRODUCT_PACKAGES += audio_policy.stub
PRODUCT_PACKAGES += audio_policy.default
PRODUCT_PACKAGES += libaudio.primary.default
PRODUCT_PACKAGES += libaudio.a2dp.default
#PRODUCT_PACKAGES += audio.a2dp.default
#PRODUCT_PACKAGES += libaudio-resampler
PRODUCT_PACKAGES += local_time.default
PRODUCT_PACKAGES += libaudiocustparam
PRODUCT_PACKAGES += libaudiodcrflt
PRODUCT_PACKAGES += libaudiosetting
#PRODUCT_PACKAGES += librtp_jni
PRODUCT_PACKAGES += libmatv_cust
PRODUCT_PACKAGES += libmtkplayer
PRODUCT_PACKAGES += libatvctrlservice
PRODUCT_PACKAGES += matv
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
PRODUCT_PACKAGES += libMtkOmxApeDec
PRODUCT_PACKAGES += libMtkOmxFlacDec
endif
PRODUCT_PACKAGES += ppp_dt
PRODUCT_PACKAGES += libdiagnose
#PRODUCT_PACKAGES += libsonivox
PRODUCT_PACKAGES += iAmCdRom.iso
PRODUCT_PACKAGES += libmemorydumper
PRODUCT_PACKAGES += memorydumper
PRODUCT_PACKAGES += libvt_custom
PRODUCT_PACKAGES += libamrvt
PRODUCT_PACKAGES += libvtmal
PRODUCT_PACKAGES += libipsec_ims
#PRODUCT_PACKAGES += racoon
PRODUCT_PACKAGES += libipsec
#PRODUCT_PACKAGES += libpcap
#PRODUCT_PACKAGES += mtpd
PRODUCT_PACKAGES += netcfg
#PRODUCT_PACKAGES += pppd
PRODUCT_PACKAGES += pppd_via
PRODUCT_PACKAGES += pppd_dt
PRODUCT_PACKAGES += dhcpcd
PRODUCT_PACKAGES += dhcpcd.conf
PRODUCT_PACKAGES += dhcpcd-run-hooks
PRODUCT_PACKAGES += 20-dns.conf
PRODUCT_PACKAGES += 95-configured
PRODUCT_PACKAGES += radvd
PRODUCT_PACKAGES += radvd.conf
#PRODUCT_PACKAGES += dnsmasq
#PRODUCT_PACKAGES += netd
#PRODUCT_PACKAGES += ndc
#PRODUCT_PACKAGES += libiprouteutil
#PRODUCT_PACKAGES += libnetlink
#PRODUCT_PACKAGES += tc
#PRODUCT_PACKAGES += e2fsck
#PRODUCT_PACKAGES += libext2_blkid
#PRODUCT_PACKAGES += libext2_e2p
#PRODUCT_PACKAGES += libext2_com_err
#PRODUCT_PACKAGES += libext2fs
#PRODUCT_PACKAGES += libext2_uuid
#PRODUCT_PACKAGES += mke2fs
#PRODUCT_PACKAGES += tune2fs
#PRODUCT_PACKAGES += badblocks
#PRODUCT_PACKAGES += resize2fs
PRODUCT_PACKAGES += resize.f2fs
PRODUCT_PACKAGES += make_ext4fs
#PRODUCT_PACKAGES += sdcard
PRODUCT_PACKAGES += libext
PRODUCT_PACKAGES += libext4
PRODUCT_PACKAGES += libext6
PRODUCT_PACKAGES += libxtables
PRODUCT_PACKAGES += libip4tc
PRODUCT_PACKAGES += libip6tc
PRODUCT_PACKAGES += ipod
PRODUCT_PACKAGES += libipod
PRODUCT_PACKAGES += smartcharging
PRODUCT_PACKAGES += libsmartcharging
PRODUCT_PACKAGES += fuelgauged
PRODUCT_PACKAGES += fuelgauged_nvram
ifeq ($(MTK_GAUGE_VERSION), 30)
PRODUCT_PACKAGES += libfgauge_gm30
else
PRODUCT_PACKAGES += libfgauge
endif
PRODUCT_PACKAGES += android.hardware.health@2.1-service
PRODUCT_PACKAGES += android.hardware.health@2.1-impl
PRODUCT_PACKAGES += android.hardware.health@2.1-impl.recovery
PRODUCT_PACKAGES += gatord
#PRODUCT_PACKAGES += boot_logo_updater
PRODUCT_PACKAGES += boot_logo
#PRODUCT_PACKAGES += bootanimation
ifneq (,$(filter yes, $(MTK_KERNEL_POWER_OFF_CHARGING)))
#PRODUCT_PACKAGES += kpoc_charger
endif
PRODUCT_PACKAGES += libtvoutjni
PRODUCT_PACKAGES += libtvoutpattern
PRODUCT_PACKAGES += libmtkhdmi_jni
PRODUCT_PACKAGES += libhissage.so
PRODUCT_PACKAGES += libhpe.so
PRODUCT_PACKAGES += sdiotool
PRODUCT_PACKAGES += superumount
PRODUCT_PACKAGES += libsched
PRODUCT_PACKAGES += fsck_msdos_mtk
PRODUCT_PACKAGES += cmmbsp
PRODUCT_PACKAGES += libcmmb_jni
PRODUCT_PACKAGES += robotium
PRODUCT_PACKAGES += libc_malloc_debug_mtk
PRODUCT_PACKAGES += dpfd
PRODUCT_PACKAGES += SchedulePowerOnOff
#PRODUCT_PACKAGES += BatteryWarning
ifneq ($(strip $(MTK_GENERIC_HAL)), yes)
PRODUCT_PACKAGES += libpq_cust_base
endif
PRODUCT_PACKAGES += libpq_cust_base_mtk
PRODUCT_PACKAGES += libpq_cust
PRODUCT_PACKAGES += libpq_cust_mtk
PRODUCT_PACKAGES += librgbwlightsensor
#PRODUCT_PACKAGES += libPQjni
#PRODUCT_PACKAGES += libPQDCjni
#PRODUCT_PACKAGES += MiraVision
#PRODUCT_PACKAGES += libMiraVision_jni
PRODUCT_PACKAGES += hald
PRODUCT_PACKAGES += dmlog
PRODUCT_PACKAGES += mtk_msr.ko
PRODUCT_PACKAGES += cpu_stress_cache_miss.ko
PRODUCT_PACKAGES += cpu_stress_dhry.ko
PRODUCT_PACKAGES += cpu_stress_maxpower.ko
PRODUCT_PACKAGES += cpu_stress_maxpower_L2.ko
PRODUCT_PACKAGES += cpu_stress_maxpower_L3.ko
PRODUCT_PACKAGES += cpu_stress_maxtrans.ko
PRODUCT_PACKAGES += cpu_stress_saxpy.ko
PRODUCT_PACKAGES += send_bug
# PRODUCT_PACKAGES += met.ko
# PRODUCT_PACKAGES += met_plf.ko
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
PRODUCT_PACKAGES += libMtkOmxRawDec
endif
PRODUCT_PACKAGES += fteh.cfg
PRODUCT_PACKAGES += gbe
PRODUCT_PACKAGES += sn
#PRODUCT_PACKAGES += lcdc_screen_cap
PRODUCT_PACKAGES += libJniAtvService
PRODUCT_PACKAGES += GoogleKoreanIME
PRODUCT_PACKAGES += android.hardware.memtrack-service.mediatek
PRODUCT_PACKAGES += mbimd
ifndef MTK_TB_WIFI_3G_MODE
PRODUCT_PACKAGES += Mms
else
ifeq ($(strip $(MTK_TB_WIFI_3G_MODE)), 3GDATA_SMS)
PRODUCT_PACKAGES += Mms
endif
endif
PRODUCT_PACKAGES += libjni_koreanime.so
PRODUCT_PACKAGES += wpa_supplicant
PRODUCT_PACKAGES += wpa_cli
PRODUCT_PACKAGES += wpa_supplicant.conf
PRODUCT_PACKAGES += wpa_supplicant_overlay.conf
PRODUCT_PACKAGES += p2p_supplicant_overlay.conf
PRODUCT_PACKAGES += hostapd
PRODUCT_PACKAGES += hostapd_cli
PRODUCT_PACKAGES += lib_driver_cmd_mt66xx.a
#ifndef MTK_TB_WIFI_3G_MODE
# PRODUCT_PACKAGES += Dialer
#endif
#PRODUCT_PACKAGES += CallLogBackup
PRODUCT_PACKAGES += libacdk
PRODUCT_PACKAGES += md_ctrl
# For per-platform composer version on layer decuple 2.0, the libraries will be packed into MGVI,
# and you can switch the composer version at device-vext.mk
PRODUCT_PACKAGES += \
android.hardware.graphics.composer@2.1-impl \
android.hardware.graphics.composer@2.1-service
#PRODUCT_PACKAGES += \
# android.hardware.graphics.composer@2.2-impl \
# android.hardware.graphics.composer@2.2-service
PRODUCT_PACKAGES += \
android.hardware.graphics.composer@2.3-impl \
android.hardware.graphics.composer@2.3-service
PRODUCT_PACKAGES += \
android.hardware.graphics.composer@2.4-impl \
android.hardware.graphics.composer@2.4-service
PRODUCT_COPY_FILES += device/mediatek/vendor/common/project_hal_rc/android.hardware.graphics.composer@2.1-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.graphics.composer@2.1-service.rc
#PRODUCT_COPY_FILES += device/mediatek/vendor/common/project_hal_rc/empty/android.hardware.graphics.composer@2.2-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.graphics.composer@2.2-service.rc
PRODUCT_COPY_FILES += device/mediatek/vendor/common/project_hal_rc/empty/android.hardware.graphics.composer@2.3-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.graphics.composer@2.3-service.rc
PRODUCT_COPY_FILES += device/mediatek/vendor/common/project_hal_rc/empty/android.hardware.graphics.composer@2.4-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.graphics.composer@2.4-service.rc
ifeq ($(strip $(MTK_CCCI_PERMISSION_CHECK_SUPPORT)),yes)
PRODUCT_PACKAGES += permission_check
PRODUCT_PROPERTY_OVERRIDES += persist.md.perm.checked=to_upgrade
endif
PRODUCT_PACKAGES += libGLES_android
ifneq ($(MTK_BASIC_PACKAGE), yes)
PRODUCT_PACKAGES += guiext-server
endif
ifeq ($(strip $(BUILD_MTK_LDVT)),yes)
PRODUCT_PACKAGES += ts_uvvf
endif
ifeq ($(strip $(MTK_APP_GUIDE)),yes)
PRODUCT_PACKAGES += ApplicationGuide
endif
ifneq ($(strip $(foreach value,$(DFO_NVRAM_SET),$(filter yes,$($(value))))),)
PRODUCT_PACKAGES += featured
PRODUCT_PACKAGES += libdfo
PRODUCT_PACKAGES += libdfo_jni
endif
ifeq ($(strip $(MTK_EMULATOR_SUPPORT)),yes)
#PRODUCT_PACKAGES += SDKGallery
else
#PRODUCT_PACKAGES += Gallery2
#PRODUCT_PACKAGES += Gallery2Root
#PRODUCT_PACKAGES += Gallery2Drm
#PRODUCT_PACKAGES += Gallery2Gif
#PRODUCT_PACKAGES += Gallery2Pq
#PRODUCT_PACKAGES += Gallery2PqTool
PRODUCT_PACKAGES += Gallery2Raw
PRODUCT_PACKAGES += Gallery2SlowMotion
PRODUCT_PACKAGES += Gallery2StereoEntry
PRODUCT_PACKAGES += Gallery2StereoCopyPaste
PRODUCT_PACKAGES += Gallery2StereoBackground
PRODUCT_PACKAGES += Gallery2StereoFancyColor
PRODUCT_PACKAGES += Gallery2StereoRefocus
PRODUCT_PACKAGES += Gallery2PhotoPicker
endif
ifneq ($(strip $(MTK_EMULATOR_SUPPORT)),yes)
#PRODUCT_PACKAGES += Provision
endif
ifeq ($(strip $(HAVE_CMMB_FEATURE)), yes)
PRODUCT_PACKAGES += CMMBPlayer
endif
ifeq ($(strip $(MTK_DATA_TRANSFER_APP)), yes)
PRODUCT_PACKAGES += DataTransfer
endif
ifeq ($(strip $(MTK_MDM_APP)),yes)
PRODUCT_PACKAGES += MediatekDM
endif
ifeq ($(strip $(MTK_VT3G324M_SUPPORT)),yes)
PRODUCT_PACKAGES += libmtk_vt_client
PRODUCT_PACKAGES += libmtk_vt_em
PRODUCT_PACKAGES += libmtk_vt_utils
PRODUCT_PACKAGES += libmtk_vt_service
PRODUCT_PACKAGES += libmtk_vt_swip
PRODUCT_PACKAGES += vtservice
endif
ifeq ($(strip $(MTK_OOBE_APP)),yes)
PRODUCT_PACKAGES += OOBE
endif
ifdef MTK_WEATHER_PROVIDER_APP
ifneq ($(strip $(MTK_WEATHER_PROVIDER_APP)), no)
PRODUCT_PACKAGES += MtkWeatherProvider
endif
endif
ifeq ($(strip $(MTK_ENABLE_VIDEO_EDITOR)),yes)
PRODUCT_PACKAGES += VideoEditor
endif
ifeq ($(strip $(MTK_CALENDAR_IMPORTER_APP)), yes)
PRODUCT_PACKAGES += CalendarImporter
endif
ifeq ($(strip $(MTK_LOG2SERVER_APP)), yes)
PRODUCT_PACKAGES += Log2Server
PRODUCT_PACKAGES += Excftpcommonlib
PRODUCT_PACKAGES += Excactivationlib
PRODUCT_PACKAGES += Excadditionnallib
PRODUCT_PACKAGES += Excmaillib
endif
ifeq ($(strip $(MTK_CAMERA_APP)), yes)
PRODUCT_PACKAGES += CameraOpen
else
#PRODUCT_PACKAGES += Camera
PRODUCT_PACKAGES += Panorama
PRODUCT_PACKAGES += NativePip
PRODUCT_PACKAGES += SlowMotion
PRODUCT_PACKAGES += CameraRoot
endif
ifeq ($(strip $(MTK_VIDEO_FAVORITES_WIDGET_APP)), yes)
ifneq ($(strip $(MTK_TABLET_PLATFORM)), yes)
PRODUCT_PACKAGES += VideoFavorites
PRODUCT_PACKAGES += libjtranscode
endif
endif
ifeq ($(strip $(MTK_VIDEOWIDGET_APP)),yes)
PRODUCT_PACKAGES += MtkVideoWidget
endif
ifeq ($(strip $(MTK_RCSE_SUPPORT)), yes)
#PRODUCT_PACKAGES += Rcse
PRODUCT_PACKAGES += Provisioning
endif
ifeq ($(strip $(MTK_GPS_SUPPORT)), yes)
PRODUCT_PACKAGES += BGW
endif
ifeq ($(strip $(MTK_NAND_UBIFS_SUPPORT)),yes)
PRODUCT_PACKAGES += mkfs_ubifs
PRODUCT_PACKAGES += ubinize
PRODUCT_PACKAGES += mtdinfo
PRODUCT_PACKAGES += ubiupdatevol
PRODUCT_PACKAGES += ubirmvol
PRODUCT_PACKAGES += ubimkvol
PRODUCT_PACKAGES += ubidetach
PRODUCT_PACKAGES += ubiattach
PRODUCT_PACKAGES += ubinfo
PRODUCT_PACKAGES += ubiformat
endif
ifeq ($(strip $(MTK_LIVEWALLPAPER_APP)), yes)
PRODUCT_PACKAGES += LiveWallpapers
#PRODUCT_PACKAGES += LiveWallpapersPicker
PRODUCT_PACKAGES += MagicSmokeWallpapers
PRODUCT_PACKAGES += VisualizationWallpapers
PRODUCT_PACKAGES += Galaxy4
PRODUCT_PACKAGES += HoloSpiralWallpaper
PRODUCT_PACKAGES += NoiseField
PRODUCT_PACKAGES += PhaseBeam
endif
ifeq ($(strip $(MTK_SNS_SUPPORT)), yes)
PRODUCT_PACKAGES += SNSCommon
PRODUCT_PACKAGES += SnsContentProvider
PRODUCT_PACKAGES += SnsWidget
PRODUCT_PACKAGES += SnsWidget24
PRODUCT_PACKAGES += SocialStream
ifeq ($(strip $(MTK_SNS_KAIXIN_APP)), yes)
PRODUCT_PACKAGES += KaiXinAccountService
endif
ifeq ($(strip $(MTK_SNS_RENREN_APP)), yes)
PRODUCT_PACKAGES += RenRenAccountService
endif
ifeq ($(strip $(MTK_SNS_FACEBOOK_APP)), yes)
PRODUCT_PACKAGES += FacebookAccountService
endif
ifeq ($(strip $(MTK_SNS_FLICKR_APP)), yes)
PRODUCT_PACKAGES += FlickrAccountService
endif
ifeq ($(strip $(MTK_SNS_TWITTER_APP)), yes)
PRODUCT_PACKAGES += TwitterAccountService
endif
ifeq ($(strip $(MTK_SNS_SINAWEIBO_APP)), yes)
PRODUCT_PACKAGES += WeiboAccountService
endif
endif
ifeq ($(strip $(MTK_DATADIALOG_APP)), yes)
PRODUCT_PACKAGES += DataDialog
endif
ifeq ($(strip $(MTK_DATA_TRANSFER_APP)), yes)
PRODUCT_PACKAGES += DataTransfer
endif
ifeq ($(strip $(MTK_FM_SUPPORT)), yes)
#PRODUCT_PACKAGES += FMRadio
endif
RAT_CONFIG = $(strip $(MTK_PROTOCOL1_RAT_CONFIG))
ifneq (, $(RAT_CONFIG))
ifneq (,$(findstring C,$(RAT_CONFIG)))
#C2K is supported
RAT_CONFIG_C2K_SUPPORT=yes
endif
endif
ifeq ($(strip $(MTK_DT_SUPPORT)),yes)
ifneq ($(strip $(RAT_CONFIG_C2K_SUPPORT)),yes)
ifeq ($(strip $(MTK_MDLOGGER_SUPPORT)),yes)
PRODUCT_PACKAGES += ExtModemLog
PRODUCT_PACKAGES += libextmdlogger_ctrl_jni
PRODUCT_PACKAGES += libextmdlogger_ctrl
PRODUCT_PACKAGES += extmdlogger
endif
endif
endif
ifneq ($(strip $(MTK_LCM_PHYSICAL_ROTATION)),)
endif
ifeq ($(strip $(MTK_FM_TX_SUPPORT)), yes)
PRODUCT_PACKAGES += FMTransmitter
endif
ifeq ($(strip $(MTK_LOCKSCREEN_TYPE)),2)
PRODUCT_PACKAGES += MtkWallPaper
endif
PRODUCT_PACKAGES += Browser
#PRODUCT_PACKAGES += DownloadProvider
ifeq ($(strip $(MTK_WIFI_P2P_SUPPORT)),yes)
PRODUCT_PACKAGES += WifiContactSync
PRODUCT_PACKAGES += WifiP2PWizardy
PRODUCT_PACKAGES += FileSharingServer
PRODUCT_PACKAGES += FileSharingClient
PRODUCT_PACKAGES += UPnPAV
PRODUCT_PACKAGES += WifiWsdsrv
PRODUCT_PACKAGES += bonjourExplorer
endif
ifeq ($(strip $(CUSTOM_KERNEL_TOUCHPANEL)),generic)
PRODUCT_PACKAGES += Calibrator
endif
ifneq ($(findstring OP03, $(strip $(OPTR_SPEC_SEG_DEF))),)
PRODUCT_PACKAGES += SimCardAuthenticationService
endif
ifeq ($(strip $(MTK_NFC_OMAAC_SUPPORT)),yes)
PRODUCT_PACKAGES += SmartcardService
PRODUCT_PACKAGES += org.simalliance.openmobileapi
PRODUCT_PACKAGES += org.simalliance.openmobileapi.xml
PRODUCT_PACKAGES += libassd
endif
ifeq ($(strip $(MTK_APKINSTALLER_APP)), yes)
PRODUCT_PACKAGES += APKInstaller
endif
ifeq ($(strip $(MTK_SMSREG_APP)), yes)
PRODUCT_PACKAGES += SmsReg
endif
ifeq ($(MTK_BACKUPANDRESTORE_APP),yes)
PRODUCT_PACKAGES += BackupAndRestore
endif
ifeq ($(strip $(MTK_BWC_SUPPORT)), yes)
PRODUCT_PACKAGES += libbwc
endif
PRODUCT_PACKAGES += meow.cfg
ifeq ($(strip $(MTK_GLT_SUPPORT)), 1)
PRODUCT_PACKAGES += libGLES_meow
PRODUCT_PROPERTY_OVERRIDES += ro.hardware.egl?=meow
endif
ifeq ($(strip $(MTK_GPU_TUNER)), yes)
PRODUCT_PACKAGES += libMEOW_qt
PRODUCT_PACKAGES += qt.cfg
PRODUCT_PROPERTY_OVERRIDES += ro.hardware.egl?=meow
endif
$(call inherit-product-if-exists,vendor/mediatek/proprietary/hardware/gpu_mali/gpu_mali_ddk.mk)
ifeq ($(strip $(MTK_GPU_VERSION)), r38p1)
# r8_g8_b8_a8_32bit_fixed
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r8_g8_b8_a8_32bit_fixed.hal_format=0x1
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r8_g8_b8_a8_32bit_fixed.recordable=true
# mtk: disable rgb888 fb buffer
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r8_g8_b8_a8_32bit_fixed.framebuffer_target=false
# r8_g8_b8_a0_32bit_fixed
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r8_g8_b8_a0_32bit_fixed.hal_format=0x2
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r8_g8_b8_a0_32bit_fixed.recordable=false
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r8_g8_b8_a0_32bit_fixed.framebuffer_target=false
# r8_g8_b8_a0_24bit_fixed
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r8_g8_b8_a0_24bit_fixed.hal_format=0x2
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r8_g8_b8_a0_24bit_fixed.recordable=false
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r8_g8_b8_a0_24bit_fixed.framebuffer_target=false
# r5_g6_b5_a0_16bit_fixed
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r5_g6_b5_a0_16bit_fixed.hal_format=0x4
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r5_g6_b5_a0_16bit_fixed.recordable=false
# mtk: disable rgb565 fb buffer
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r5_g6_b5_a0_16bit_fixed.framebuffer_target=false
# r10_g10_b10_a2_32bit_fixed
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r10_g10_b10_a2_32bit_fixed.hal_format=0x2b
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r10_g10_b10_a2_32bit_fixed.recordable=false
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r10_g10_b10_a2_32bit_fixed.framebuffer_target=false
# r16_g16_b16_a16_64bit_float
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r16_g16_b16_a16_64bit_float.hal_format=0x16
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r16_g16_b16_a16_64bit_float.recordable=false
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r16_g16_b16_a16_64bit_float.framebuffer_target=false
# r8_g8_b8_a0_24bit_yuv_special (implicitly recordable)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r8_g8_b8_a0_24bit_yuv_special.hal_format=0x23
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.arm.egl.configs.r8_g8_b8_a0_24bit_yuv_special.framebuffer_target=false
endif
ifeq ($(strip $(MTK_GPU_SUPPORT)), yes)
PRODUCT_PACKAGES += libOpenCL
PRODUCT_PACKAGES += libGLES_mali
PRODUCT_PACKAGES += dumpfaultd
PRODUCT_PACKAGES += libgpu_aux
PRODUCT_PACKAGES += libgpud
PRODUCT_PACKAGES += libgralloc_metadata
PRODUCT_PACKAGES += libgralloctypes_mtk
PRODUCT_PACKAGES += libRSDriver_mtk
PRODUCT_PACKAGES += rs2spir
PRODUCT_PACKAGES += spir2cl
PRODUCT_PACKAGES += android.hardware.graphics.allocator@4.0-impl-mediatek
PRODUCT_PACKAGES += android.hardware.graphics.mapper@4.0-impl-mediatek
PRODUCT_PACKAGES += android.hardware.graphics.allocator@4.0-service-mediatek
PRODUCT_PACKAGES += android.hardware.renderscript@1.0-impl
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml
PRODUCT_PROPERTY_OVERRIDES += ro.opengles.version=196610
PRODUCT_PROPERTY_OVERRIDES += ro.hardware.egl?=mali
PRODUCT_PACKAGES += valhall-1691526.wa
PRODUCT_PACKAGES += vulkan.mali
PRODUCT_PACKAGES += libgpudataproducer
endif
ifdef MTK_GENERIC_HAL
PRODUCT_PACKAGES += libOpenCL
PRODUCT_PACKAGES += libgpu_aux
PRODUCT_PACKAGES += libgpud
PRODUCT_PACKAGES += libgralloc_metadata
PRODUCT_PACKAGES += libgralloctypes_mtk
PRODUCT_PACKAGES += libRSDriver_mtk
PRODUCT_PACKAGES += rs2spir
PRODUCT_PACKAGES += spir2cl
PRODUCT_PACKAGES += android.hardware.renderscript@1.0-impl
PRODUCT_PROPERTY_OVERRIDES += ro.hardware.gralloc=common
ifneq ($(filter $(MGVI_PLATFORM_GROUP),mt6893),)
PRODUCT_PACKAGES += dumpfaultd.mt6893
PRODUCT_PACKAGES += android.hardware.graphics.allocator@4.0-service-mediatek.mt6893
endif
ifneq ($(filter $(MGVI_PLATFORM_GROUP),mt6983),)
PRODUCT_PACKAGES += dumpfaultd.mt6983
# read MTK GPU VERSION from mgvi VendorConfig.mk
ifneq ($(filter $(MTK_GPU_VERSION),r38p1),)
PRODUCT_PACKAGES += android.hardware.graphics.allocator@4.0-service-mediatek.mt6983_r38p1
else
PRODUCT_PACKAGES += android.hardware.graphics.allocator@4.0-service-mediatek.mt6983
endif
endif
ifneq ($(filter $(MGVI_PLATFORM_GROUP),mt6895),)
PRODUCT_PACKAGES += dumpfaultd.mt6895
# read MTK GPU VERSION from mgvi VendorConfig.mk
ifneq ($(filter $(MTK_GPU_VERSION),r38p1),)
PRODUCT_PACKAGES += android.hardware.graphics.allocator@4.0-service-mediatek.mt6895_r38p1
else
PRODUCT_PACKAGES += android.hardware.graphics.allocator@4.0-service-mediatek.mt6895
endif
endif
ifneq ($(filter $(MGVI_PLATFORM_GROUP),mt6879),)
PRODUCT_PACKAGES += dumpfaultd.mt6879
# read MTK GPU VERSION from mgvi VendorConfig.mk
ifneq ($(filter $(MTK_GPU_VERSION),r38p1),)
PRODUCT_PACKAGES += android.hardware.graphics.allocator@4.0-service-mediatek.mt6879_r38p1
else
PRODUCT_PACKAGES += android.hardware.graphics.allocator@4.0-service-mediatek.mt6879
endif
endif
ifneq ($(filter $(MGVI_PLATFORM_GROUP),mt6789),)
PRODUCT_PACKAGES += dumpfaultd.mt6789
PRODUCT_PACKAGES += android.hardware.graphics.allocator@4.0-service-mediatek.mt6789
endif
ifneq ($(filter $(MGVI_PLATFORM_GROUP),mt6855),)
ifneq ($(filter $(MTK_GPU_VERSION),m24.1ED6525005),)
PRODUCT_PACKAGES += android.hardware.graphics.allocator@4.0-service-mediatek.mt6855_m24.1ED6525005
else
PRODUCT_PACKAGES += android.hardware.graphics.allocator@4.0-service-mediatek.mt6855
endif
endif
endif
ifeq ($(strip $(MTK_DT_SUPPORT)),yes)
PRODUCT_PACKAGES += ip-up
PRODUCT_PACKAGES += ip-down
PRODUCT_PACKAGES += ppp_options
PRODUCT_PACKAGES += chap-secrets
PRODUCT_PACKAGES += init.gprs-pppd
endif
#OMA DRM part
ifeq ($(strip $(MTK_OMADRM_SUPPORT)), yes)
#PRODUCT_PACKAGES += libdrmmtkutil
#Media framework reads this property
PRODUCT_PROPERTY_OVERRIDES += drm.service.enabled=true
#PRODUCT_PACKAGES += libdcfdecoderjni
PRODUCT_PACKAGES += libdrmmtkplugin
PRODUCT_PACKAGES += drm_chmod
endif
ifeq ($(strip $(MTK_CTA_SET)), yes)
#PRODUCT_PACKAGES += libdrmmtkutil
#Media framework reads this property
PRODUCT_PROPERTY_OVERRIDES += drm.service.enabled=true
#PRODUCT_PACKAGES += libdcfdecoderjni
endif
############find all modules under custom folder
#define find-all-my-module
all_sensor_modules := $(addsuffix _tuning,$(notdir $(foreach f,$(CUSTOM_HAL_IMGSENSOR),$(wildcard vendor/mediatek/proprietary/custom/mt6885/hal/imgsensor/ver1/$(f)*))))
PRODUCT_PACKAGES += $(all_sensor_modules)
###############################################
ifeq ($(strip $(MTK_WEATHER_WIDGET_APP)), yes)
PRODUCT_PACKAGES += MtkWeatherWidget
endif
ifeq ($(strip $(MTK_WFD_SINK_SUPPORT)), yes)
PRODUCT_PACKAGES += MtkFloatMenu
endif
PRODUCT_PACKAGES += libsec
PRODUCT_PACKAGES += sbchk
# for USB Accessory Library/permission
# Mark for early porting in JB
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml
#PRODUCT_PACKAGES += com.android.future.usb.accessory
ifeq ($(strip $(MTK_VPU_SUPPORT)), yes)
PRODUCT_PACKAGES += cam_vpu1.img
PRODUCT_PACKAGES += cam_vpu2.img
PRODUCT_PACKAGES += cam_vpu3.img
PRODUCT_PACKAGES += libvpu
PRODUCT_PACKAGES_DEBUG += vpu_test
endif
PRODUCT_PACKAGES += libapu_mdw
PRODUCT_PACKAGES += libapu_mdw_batch
PRODUCT_PACKAGES += apu_mdw_test
PRODUCT_PACKAGES += libapusys
PRODUCT_PACKAGES += apusys_test
PRODUCT_PACKAGES += libmdla_ut
PRODUCT_PACKAGES_DEBUG += mdla_player
ifeq ($(strip $(MTK_APUSYS_SUPPORT)), yes)
PRODUCT_PACKAGES += libneuron_runtime
PRODUCT_PACKAGES += libneuron_runtime.5
PRODUCT_PACKAGES += libapusys_edma
PRODUCT_PACKAGES_DEBUG += reviser_test
PRODUCT_PACKAGES_DEBUG += edma_test
ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug),)
PRODUCT_PACKAGES += neuronrt
PRODUCT_PACKAGES += ncc-tflite
endif
endif
PRODUCT_PACKAGES += libmvpu_config
ifeq ($(strip $(MGVI_MTK_VPU2_SUPPORT)), yes)
PRODUCT_PACKAGES += libmvpu_engine
PRODUCT_PACKAGES += libmvpu_pattern
PRODUCT_PACKAGES += libmvpu_engine_pub
PRODUCT_PACKAGES += libmvpu_pattern_pub
PRODUCT_PACKAGES += mvpu_ptn_player
PRODUCT_PACKAGES += mvpu_test
PRODUCT_PACKAGES += libmvpu_clc_cl_compiler
PRODUCT_PACKAGES += libmvpu_clc_mvpu_debuginfo
PRODUCT_PACKAGES += libmvpu_clc_mvpu_elf
PRODUCT_PACKAGES += libmvpu_clc_mvpu_utility
PRODUCT_PACKAGES += libmvpu_clc_vpu_isa
PRODUCT_PACKAGES += libmvpu_cic_ci_compiler
PRODUCT_PACKAGES += libmvpu_runtime
PRODUCT_PACKAGES += libmvpu_runtime_pub
PRODUCT_PACKAGES += libmvpu_runtime_shim
PRODUCT_PACKAGES += libmvpuop_mtk_cv
PRODUCT_PACKAGES += libmvpuop_mtk_nn
PRODUCT_PACKAGES += mvpu_runtime_test_simplecl
PRODUCT_PACKAGES += mvpu_runtime_test_simpleci
PRODUCT_PACKAGES += mvpu_runtime_test_dilatefilter
PRODUCT_PACKAGES += mvpu_runtime_test_dilatefilter_shim
PRODUCT_PACKAGES += mvpu_runtime_test_dilatefilter_pub_shim
PRODUCT_PACKAGES += mvpu_runtime_test_dilatefilter_bv
PRODUCT_PACKAGES += mvpu_runtime_test_l1usage_shim
PRODUCT_PACKAGES += mvpu_runtime_test_l1usage_pub_shim
PRODUCT_PACKAGES += mvpu_runtime_test_l1usage_bv
PRODUCT_PACKAGES += mvpu_runtime_test_copybufferhw
PRODUCT_PACKAGES += mvpu_runtime_test_copybuffersw
PRODUCT_PACKAGES += mvpu_runtime_test_dotproductci
PRODUCT_PACKAGES += mvpu_runtime_test_twocores
endif
#aurisys library parameters
ifeq ($(MTK_AURISYS_PHONE_CALL_SUPPORT),yes)
PRODUCT_PACKAGES += libfvaudio
#PRODUCT_PACKAGES += AudioSetParam
PRODUCT_COPY_FILES += $(LOCAL_PATH)/aurisys_param/phone_call/forte_media/FV-SAM-MTK2.dat:$(TARGET_COPY_OUT_VENDOR)/etc/FV-SAM-MTK2.dat:mtk
endif
ifeq ($(strip $(TRUSTONIC_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += keystore.mt6893
PRODUCT_PACKAGES += libMcGatekeeper
PRODUCT_PACKAGES += rda
endif
ifeq ($(strip $(MTK_TEE_TRUSTED_UI_SUPPORT)), yes)
PRODUCT_PACKAGES += libTui
PRODUCT_PACKAGES += TuiService
PRODUCT_PACKAGES += SamplePinpad
PRODUCT_PACKAGES += libTlcPinpad
endif
#tinyalsa tool
#ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug),)
#PRODUCT_PACKAGES += \
#tinyplay \
#tinycap \
#tinymix \
#tinyhostless \
#tinypcminfo
#endif
ifeq ($(strip $(MICROTRUST_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += keystore.mt6893
PRODUCT_PACKAGES += gatekeeper.mt6893
PRODUCT_PACKAGES += kmsetkey.mt6893
endif
# userspace sysenv
PRODUCT_PACKAGES += libsysenv
PRODUCT_PACKAGES += sysenv_daemon
# SCLTM Library
ifeq ($(strip $(MTK_SCLTM_SUPPORT)), yes)
PRODUCT_PACKAGES += libscltm
endif
# add vintf utility
PRODUCT_PACKAGES += \
#vintf
# Bluetooth HAL
PRODUCT_PACKAGES += \
android.hardware.bluetooth@1.1-impl-mediatek \
android.hardware.bluetooth@1.1-service-mediatek
# sound trigger HAL
PRODUCT_PACKAGES += \
android.hardware.soundtrigger@2.3-impl
PRODUCT_PACKAGES += \
fs_config_files_nonsystem
# vibrator HAL
ifneq ($(strip $(CUSTOM_KERNEL_VIBRATOR)), no)
PRODUCT_PACKAGES += \
libvibratormediatekimpl \
android.hardware.vibrator-service.mediatek
endif
# light HAL
PRODUCT_PACKAGES += \
android.hardware.lights-service.mediatek
# thermal HIDL
PRODUCT_PACKAGES += \
android.hardware.thermal@1.0-impl
PRODUCT_PACKAGES += \
android.hardware.thermal@2.0-impl
ifneq ($(strip $(MTK_HIDL_PROCESS_CONSOLIDATION_ENABLED)), yes)
PRODUCT_PACKAGES += \
android.hardware.thermal@2.0-service.mtk
endif
# auto_precheck
PRODUCT_PACKAGES += recordevent
PRODUCT_PACKAGES += replayevent
# mtk av enhance
#PRODUCT_PACKAGES += libmtkavenhancements
PRODUCT_PACKAGES += libmtkmkvextractor
#PRODUCT_PACKAGES += libmtkmpeg2extractor
# Usb HAL
ifdef MTK_GENERIC_HAL
PRODUCT_PACKAGES += \
android.hardware.usb@1.2-service-mediatekv2
endif
# Chameleon lib
ifeq ($(strip $(MTK_CHAMELEON_DISPLAY_SUPPORT)), yes)
PRODUCT_PACKAGES += libchameleon
endif
# GnssDebugReport
#PRODUCT_PACKAGES += GnssDebugReport
# NeuroPilot NN SDK
ifeq ($(strip $(MTK_NN_SDK_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_nn_support=1
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_nn.option=A,B,E,F,Z
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_nn_quant_preferred=1
ifeq ($(TARGET_BUILD_VARIANT),eng)
ifeq ($(strip $(MTK_NN_SDK_LAZY_HAL_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.neuralnetworks@1.3-service-mtk-neuron-debug-lazy
else
PRODUCT_PACKAGES += android.hardware.neuralnetworks@1.3-service-mtk-neuron-debug
endif
else
ifeq ($(strip $(MTK_NN_SDK_LAZY_HAL_SUPPORT)), yes)
PRODUCT_PACKAGES += android.hardware.neuralnetworks@1.3-service-mtk-neuron-lazy
else
PRODUCT_PACKAGES += android.hardware.neuralnetworks@1.3-service-mtk-neuron
endif
endif
PRODUCT_PACKAGES += libnir_neon_driver
PRODUCT_PACKAGES += armnn_app.config
PRODUCT_PACKAGES += libneuron_adapter
ifneq ($(filter kernel-4.14 kernel-4.19,$(LINUX_KERNEL_VERSION)),)
PRODUCT_PACKAGES += libneuron_platform
endif
endif
# GiFT
ifeq ($(strip $(MTK_ARC_GIFT_SUPPORT)), yes)
PRODUCT_PACKAGES += libMEOW_gift
endif
# RayTracing
ifeq ($(strip $(MGVI_MTK_RAY_TRACING_SUPPORT)), yes)
PRODUCT_PACKAGES += libVkLayer_mtk_rt_sdk_init
PRODUCT_PACKAGES += libVkLayer_mtk_rt_sdk
endif
# AI BluLight Defender
PRODUCT_PACKAGES += libaibld
# PQ feature
PRODUCT_PACKAGES += libneuron_runtime_dp
# ATMS HIDL
PRODUCT_PACKAGES += vendor.mediatek.hardware.camera.atms@1.0-impl
# IO-ML QoS
PRODUCT_PACKAGES += eara_io_service
# BIP UICC server mode in AP
ifdef MTK_GENERIC_HAL
PRODUCT_PACKAGES += bip_ap
endif
# Multi media codec config
PRODUCT_COPY_FILES += $(LOCAL_PATH)/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml:mtk
ifneq ($(MTK_BASIC_PACKAGE), yes)
PRODUCT_COPY_FILES += $(LOCAL_PATH)/media_codecs_mediatek_audio_phone.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_mediatek_audio.xml:mtk
else
PRODUCT_COPY_FILES += $(LOCAL_PATH)/media_codecs_mediatek_audio_basic.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_mediatek_audio.xml:mtk
endif
PRODUCT_COPY_FILES += $(LOCAL_PATH)/mtk_omx_core.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/mtk_omx_core.cfg:mtk
PRODUCT_COPY_FILES += frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/hardware/omx/mediacodec/android.hardware.media.omx@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.media.omx@1.0-service.rc
endif # MTK_GENERIC_HAL
############ Porting from mt6893/device.mk - END #################
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.wifi.sap.concurrent.iface=ap1
# vcodec need 3072 bytes padding
PRODUCT_PROPERTY_OVERRIDES += media.c2.dmabuf.padding=3072
# dynamic log
ifeq ($(MTK_PRODUCT_LINE), smart_phone)
PRODUCT_PACKAGES += libdynamiclog
endif
ifdef MTK_GENERIC_HAL
$(call inherit-product-if-exists,$(LOCAL_PATH)/device-camera.mk)
endif
PRODUCT_SOONG_NAMESPACES += $(wildcard vendor/mediatek/proprietary/hardware/omx/plugin/libstagefrighthw)
# Configure SurfaceFlinger sf-duration and app-duration for backpressure and latchsignaledbuffer mechanism
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.use_phase_offsets_as_durations?=1
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.late.sf.duration?=27600000
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.late.app.duration?=20000000
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.early.sf.duration?=27600000
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.early.app.duration?=20000000
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.earlyGl.sf.duration?=27600000
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.earlyGl.app.duration?=20000000
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.hwc.min.duration?=23000000
# set skiagl render engine
PRODUCT_PROPERTY_OVERRIDES += debug.renderengine.backend?=skiagl
#APEX dm-device creation timeout
PRODUCT_PROPERTY_OVERRIDES += apexd.config.dm_create.timeout=5000
#################################################
# device/mediatek/vendor/common/device.mk end #
#################################################
# Do NOT modify below this line
_my_whitelist := \
%.img \
$(TARGET_COPY_OUT_SYSTEM)/apex/com.android.apex.cts.shim.apex \
$(TARGET_COPY_OUT_SYSTEM)/bin/snapuserd \
$(TARGET_COPY_OUT_SYSTEM)/etc/init/snapuserd.rc \
$(TARGET_COPY_OUT_RAMDISK)/system/bin/e2fsck \
$(TARGET_COPY_OUT_RECOVERY)/root/first_stage_ramdisk/system/bin/e2fsck \
$(TARGET_COPY_OUT_DEBUG_RAMDISK)/userdebug_plat_sepolicy.cil \
$(TARGET_COPY_OUT_ROOT)/init.environ.rc \
_my_paths := \
$(TARGET_COPY_OUT_VENDOR)/ \
$(TARGET_COPY_OUT_VENDOR_DLKM)/ \
$(TARGET_COPY_OUT_ODM)/ \
$(TARGET_COPY_OUT_ODM_DLKM)/ \
$(TARGET_COPY_OUT_VENDOR_RAMDISK)/ \
$(TARGET_COPY_OUT_RECOVERY)/root/system/ \
$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/selinux/ \
$(TARGET_COPY_OUT_DATA)/nativetest/ \
$(TARGET_COPY_OUT_DATA)/nativetest64/ \
testcases/ \
ifneq ($(wildcard vendor/mediatek/internal/build),)
MTK_SPLIT_BUILD_CHECKER ?= yes
endif
ifeq ($(MTK_SPLIT_BUILD_CHECKER),yes)
ifdef HAL_TARGET_PROJECT
$(call require-artifacts-in-path-relaxed, $(_my_paths), $(_my_whitelist))
endif
endif
$(call inherit-product-if-exists, $(UNPLUGGED_TOPDIR)/device/vendor/common/device.mk)