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

4931 lines
186 KiB
Makefile
Executable File

# this is platform common device config
# you should migrate turnkey alps/build/target/product/common.mk to this file in correct way
# TARGET_PREBUILT_KERNEL should be assigned by central building system
#ifeq ($(TARGET_PREBUILT_KERNEL),)
#LOCAL_KERNEL := device/mediatek/common/kernel
#else
#LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
#endif
#PRODUCT_COPY_FILES += $(LOCAL_KERNEL):kernel
ifndef MTK_PLATFORM_DIR
ifneq ($(wildcard device/mediatek/$(MTK_PLATFORM)),)
MTK_PLATFORM_DIR = $(MTK_PLATFORM)
else
MTK_PLATFORM_DIR = $(shell echo $(MTK_PLATFORM) | tr '[A-Z]' '[a-z]')
endif
endif
# Add for Full Treble
PRODUCT_FULL_TREBLE_OVERRIDE ?= true
# At Q, AOSP supports XML audio policy configuration by default. May remove the option after Q
USE_XML_AUDIO_POLICY_CONF ?= 1
# Full Treble, new in O
ifeq ($(PRODUCT_FULL_TREBLE_OVERRIDE), true)
PRODUCT_SHIPPING_API_LEVEL := 29
PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
ifneq ($(PRODUCT_SHIPPING_API_LEVEL_OVERRIDE),)
PRODUCT_SHIPPING_API_LEVEL := $(PRODUCT_SHIPPING_API_LEVEL_OVERRIDE)
endif
# When PRODUCT_SHIPPING_API_LEVEL >= 27, TARGET_USES_MKE2FS must be true
ifneq ($(call math_gt_or_eq,$(PRODUCT_SHIPPING_API_LEVEL),27),)
TARGET_USES_MKE2FS := true
endif
else
PRODUCT_SHIPPING_API_LEVEL := 25
endif
# Assign target level version
ifneq ($(call math_lt,$(PRODUCT_SHIPPING_API_LEVEL),28),)
DEVICE_MANIFEST_FILE += device/mediatek/common/manifest_target_level_o.xml
else ifneq ($(call math_lt,$(PRODUCT_SHIPPING_API_LEVEL),29),)
DEVICE_MANIFEST_FILE += device/mediatek/common/manifest_target_level_p.xml
else
DEVICE_MANIFEST_FILE += device/mediatek/common/manifest_target_level_q.xml
endif
ifeq ($(wildcard device/mediatek/$(MTK_PLATFORM_DIR)),)
$(error the platform dir changed, expected: device/mediatek/$(MTK_PLATFORM_DIR), please check manually)
endif
#MtkLatinIME
ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
PRODUCT_PACKAGES += MtkLatinIME
endif
#fbconfig && MMProfile for display
ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
PRODUCT_PACKAGES += fbconfig
PRODUCT_PACKAGES += mmp
endif
# MediaTek framework base modules
PRODUCT_PACKAGES += \
mediatek-common \
mediatek-framework \
CustomPropInterface
#if telephony add on not support, no need to build in telephony add on framework jar
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
PRODUCT_PACKAGES += \
mediatek-telephony-common \
mediatek-telephony-base
endif
# touch related file for copy firmware
PRODUCT_COPY_FILES += $(foreach TOUCH,$(MTK_TOUCHPANEL_FIRMWARE),\
$(call find-copy-subdir-files,*,vendor/mediatek/proprietary/custom/touch/$(TOUCH),$(TARGET_COPY_OUT_VENDOR)/firmware))
# touch filter
PRODUCT_PACKAGES += libtouchfilter
#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 += device/mediatek/common/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
ifneq ($(wildcard vendor/mediatek/proprietary/external/tboost_s/tll),)
PRODUCT_PACKAGES += libtouch_ll
endif
ifneq ($(wildcard vendor/mediatek/kernel_modules/mtk_input/touchkey),)
PRODUCT_PACKAGES += libthp_key_system
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
# 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
endif
#if telephony add on not support, no need to add telephony add to boot jars
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
PRODUCT_BOOT_JARS += \
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 += device/mediatek/common/spn-conf.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/spn-conf.xml:mtk
# Graphic Extension Deployment
PRODUCT_PACKAGES += libged_kpi
# DRVB
PRODUCT_PACKAGES += libmtk_drvb
# AGO
$(call inherit-product-if-exists, device/mediatek/common/ago/device.mk)
# Audio HAL
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_audio.xml
PRODUCT_PACKAGES += \
android.hardware.audio@6.0-impl-mediatek \
android.hardware.audio.effect@6.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
PRODUCT_PACKAGES += \
android.hardware.audio.service.mediatek
# Bluetooth Audio A2DP HW module
PRODUCT_PACKAGES += \
audio.bluetooth.default
# Audio
ifeq ($(findstring maxim, $(MTK_AUDIO_SPEAKER_PATH)), maxim)
PRODUCT_PACKAGES += libdsm
PRODUCT_PACKAGES += libdsmconfigparser
PRODUCT_PACKAGES += libdsm_interface
else ifeq ($(strip $(MTK_AUDIO_SPEAKER_PATH)),smartpa_nxp_tfa9887)
PRODUCT_PACKAGES += libtfa9887_interface
else ifeq ($(strip $(MTK_AUDIO_SPEAKER_PATH)),smartpa_nxp_tfa9890)
PRODUCT_PACKAGES += libtfa9890_interface
else ifeq ($(strip $(MTK_AUDIO_SPEAKER_PATH)),smartpa_mtk_mt6660)
PRODUCT_PACKAGES += \
librt_extamp_intf \
libaudiosmartpamtk \
smartpa_nvtest
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/hardware/smartpa/mediatek/calib.dat:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/calib.dat:mtk
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/hardware/smartpa/mediatek/calib.dat.sig:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/calib.dat.sig:mtk
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/hardware/smartpa/mediatek/mt6660_calibration:$(TARGET_COPY_OUT_VENDOR)/bin/mt6660_calibration:mtk
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/custom/common/factory/res/sound/CalibrationPatternOut.wav:$(TARGET_COPY_OUT_VENDOR)/res/sound/CalibrationPatternOut.wav:mtk
PRODUCT_COPY_FILES += \
$(call add-to-product-copy-files-if-exists, $(MTK_TARGET_PROJECT_FOLDER)/rt_device.xml:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/rt_device.xml:mtk)
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/hardware/smartpa/mediatek/rt_mono_device.xml:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/rt_device.xml:mtk
PRODUCT_COPY_FILES += \
$(call add-to-product-copy-files-if-exists, $(MTK_TARGET_PROJECT_FOLDER)/mt6660_param:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/mt6660_param:mtk)
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/hardware/smartpa/mediatek/mt6660_param:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/mt6660_param:mtk
PRODUCT_COPY_FILES += \
$(call add-to-product-copy-files-if-exists, $(MTK_TARGET_PROJECT_FOLDER)/SmartPaVendor1_AudioParam.dat:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/SmartPaVendor1_AudioParam.dat:mtk)
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/hardware/smartpa/mediatek/SmartPaVendor1_AudioParam.dat:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/SmartPaVendor1_AudioParam.dat:mtk
PRODUCT_COPY_FILES += \
$(call add-to-product-copy-files-if-exists, $(MTK_TARGET_PROJECT_FOLDER)/SmartPaVendor1_AudioParam.dat.sig:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/SmartPaVendor1_AudioParam.dat.sig:mtk)
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/hardware/smartpa/mediatek/SmartPaVendor1_AudioParam.dat.sig:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/SmartPaVendor1_AudioParam.dat.sig:mtk
else ifeq ($(findstring smartpa, $(MTK_AUDIO_SPEAKER_PATH)),smartpa)
PRODUCT_PACKAGES += librt_extamp_intf
PRODUCT_COPY_FILES += \
$(call add-to-product-copy-files-if-exists, $(MTK_TARGET_PROJECT_FOLDER)/rt_device.xml:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/rt_device.xml:mtk)
ifeq ($(MTK_AUDIO_NUMBER_OF_SPEAKER),)
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/hardware/smartpa/richtek/rt_mono_device.xml:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/rt_device.xml:mtk
else ifeq ($(MTK_AUDIO_NUMBER_OF_SPEAKER),$(filter $(MTK_AUDIO_NUMBER_OF_SPEAKER),1))
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/hardware/smartpa/richtek/rt_mono_device.xml:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/rt_device.xml:mtk
else ifeq ($(MTK_AUDIO_NUMBER_OF_SPEAKER),$(filter $(MTK_AUDIO_NUMBER_OF_SPEAKER),2))
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/hardware/smartpa/richtek/rt_multi_device.xml:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/rt_device.xml:mtk
endif
PRODUCT_COPY_FILES += \
$(call add-to-product-copy-files-if-exists, $(MTK_TARGET_PROJECT_FOLDER)/rt5509_param:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/rt5509_param:mtk)
PRODUCT_COPY_FILES += \
device/mediatek/$(MTK_PLATFORM_DIR)/smartpa_param/rt5509_param:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/rt5509_param:mtk
endif
PRODUCT_COPY_FILES += device/mediatek/common/audio_em.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_em.xml:mtk
#Dirac
ifeq ($(strip $(DIRAC_EFFECT_SUPPORT)),yes)
PRODUCT_PACKAGES += libdirac
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/external/aurisys_3rdparty/dirac/5.dar:$(TARGET_COPY_OUT_VENDOR)/etc/dirac/5.dar:mtk
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/external/aurisys_3rdparty/dirac/dirac_auris_target:$(TARGET_COPY_OUT_VENDOR)/etc/dirac_auris_target:mtk
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/external/aurisys_3rdparty/dirac/diracvdd.bin:$(TARGET_COPY_OUT_VENDOR)/etc/diracvdd.bin:mtk
endif
RAT_CONFIG = $(strip $(MTK_PROTOCOL1_RAT_CONFIG))
ifneq (,$(RAT_CONFIG))
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_protocol1_rat_config=$(RAT_CONFIG)
ifneq (,$(findstring C,$(RAT_CONFIG)))
# C2K is supported
RAT_CONFIG_C2K_SUPPORT=yes
endif
ifneq (,$(findstring L,$(RAT_CONFIG)))
# LTE is supported
RAT_CONFIG_LTE_SUPPORT=yes
endif
ifneq (,$(findstring N,$(RAT_CONFIG)))
# NR is supported
RAT_CONFIG_NR_SUPPORT=yes
endif
ifneq (,$(findstring W,$(RAT_CONFIG)))
# W is supported
RAT_CONFIG_WCDMA_SUPPORT=yes
endif
ifneq (,$(findstring T,$(RAT_CONFIG)))
# T is supported
RAT_CONFIG_WCDMA_SUPPORT=yes
endif
endif
# For C2K CDMA feature file
ifeq ($(strip $(RAT_CONFIG_C2K_SUPPORT)),yes)
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml
endif
ifeq ($(strip $(MTK_TELEPHONY_FEATURE_SWITCH_DYNAMICALLY)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_telephony_switch=1
endif
# ro.boot.optxxxx for telephnoy
# Add for opt_using_default, always set to 1
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.boot.opt_using_default=1
# 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_c2k_lte_mode
ifeq ($(strip $(MTK_C2K_LTE_MODE)), 2)
PRODUCT_PROPERTY_OVERRIDES +=ro.vendor.mtk_c2k_lte_mode=2
else
ifeq ($(strip $(MTK_C2K_LTE_MODE)), 1)
PRODUCT_PROPERTY_OVERRIDES +=ro.vendor.mtk_c2k_lte_mode=1
else
ifeq ($(strip $(MTK_C2K_LTE_MODE)), 0)
PRODUCT_PROPERTY_OVERRIDES +=ro.vendor.mtk_c2k_lte_mode=0
endif
endif
endif
# Add for opt_eccci_c2k
ifeq ($(strip $(MTK_RIL_MODE)), c6m_1rild)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_eccci_c2k=1
endif
# Add for opt_lte_support, opt_c2k_support, opt_ps1_rat
ifneq ($(strip $(MTK_PROTOCOL1_RAT_CONFIG)),)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_ps1_rat=$(strip $(MTK_PROTOCOL1_RAT_CONFIG))
ifneq ($(findstring L,$(strip $(MTK_PROTOCOL1_RAT_CONFIG))),)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_lte_support=1
endif
ifneq ($(findstring C,$(strip $(MTK_PROTOCOL1_RAT_CONFIG))),)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_c2k_support=1
endif
endif
ifeq ($(strip $(MTK_MCF_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_mcf_support=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)
# If telephony add on is supported, add it into Product packages
ifeq ($(strip $(MSSI_MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(strip $(MSSI_MTK_TC1_COMMON_SERVICE)), yes)
ifndef MTK_TB_WIFI_3G_MODE
PRODUCT_PACKAGES += MtkMms
PRODUCT_PACKAGES += MtkMmsAppService
else
ifeq ($(strip $(MTK_TB_WIFI_3G_MODE)), 3GDATA_SMS)
PRODUCT_PACKAGES += MtkMms
PRODUCT_PACKAGES += MtkMmsAppService
endif
endif
else
PRODUCT_PACKAGES += messaging
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
# If telephony add on is supported, add it into Product packages
ifeq ($(strip $(MSSI_MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(strip $(MSSI_MTK_TC1_COMMON_SERVICE)), yes)
ifndef MTK_TB_WIFI_3G_MODE
PRODUCT_PACKAGES += MtkMms
PRODUCT_PACKAGES += MtkMmsAppService
else
ifeq ($(strip $(MTK_TB_WIFI_3G_MODE)), 3GDATA_SMS)
PRODUCT_PACKAGES += MtkMms
PRODUCT_PACKAGES += MtkMmsAppService
endif
endif
else
PRODUCT_PACKAGES += messaging
endif
endif
endif
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
PRODUCT_PACKAGES += MtkBrowser
endif
# Telephony Setting Service AOSP code will be replaced by MTK
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
ifneq ($(wildcard vendor/mediatek/proprietary/packages/services/Telephony/Android.bp),)
PRODUCT_PACKAGES += MtkTeleService
PRODUCT_PACKAGES += com.android.phone.config.xml
endif
endif
endif
ifeq ($(strip $(MTK_NUM_MODEM_PROTOCOL)), 1)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.num_md_protocol=1
endif
ifeq ($(strip $(MTK_NUM_MODEM_PROTOCOL)), 2)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.num_md_protocol=2
endif
ifeq ($(strip $(MTK_NUM_MODEM_PROTOCOL)), 3)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.num_md_protocol=3
endif
ifeq ($(strip $(MTK_NUM_MODEM_PROTOCOL)), 4)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.num_md_protocol=4
endif
# Telephony begin
ifeq ($(strip $(MSSI_MTK_TC1_COMMON_SERVICE)), yes)
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), ss)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_tc1_ss.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsds)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_tc1_dsds.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsda)
DEVICE_MANIFEST_FILE += device/mediatek/common/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 += device/mediatek/common/project_manifest/manifest_tc1_dsds.xml
else
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_tc1_tsts.xml
endif
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), qsqs)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_tc1_qsqs.xml
endif
else
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), ss)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_ss.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsds)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_dsds.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsda)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_dsds.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), tsts)
ifeq ($(strip $(MTK_EXTERNAL_SIM_RSIM_ENHANCEMENT)), yes)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_dsds.xml
else
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_tsts.xml
endif
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), qsqs)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_qsqs.xml
endif
endif
# add radioconfig
ifneq ($(strip $(MTK_TB_WIFI_3G_MODE)),WIFI_ONLY)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_radioconfig.xml
endif
#copy to telephony HIDL to /odm/etc/vintf/
ifeq ($(strip $(CONFIG_TARGET_COPY_OUT_ODM)), yes)
PRODUCT_COPY_FILES += device/mediatek/common/project_manifest/manifest_ss.xml:$(TARGET_COPY_OUT_ODM)/etc/vintf/manifest_ss.xml:mtk
PRODUCT_COPY_FILES += device/mediatek/common/project_manifest/manifest_dsds.xml:$(TARGET_COPY_OUT_ODM)/etc/vintf/manifest_dsds.xml:mtk
PRODUCT_COPY_FILES += device/mediatek/common/project_manifest/manifest_tsts.xml:$(TARGET_COPY_OUT_ODM)/etc/vintf/manifest_tsts.xml:mtk
PRODUCT_COPY_FILES += device/mediatek/common/project_manifest/manifest_qsqs.xml:$(TARGET_COPY_OUT_ODM)/etc/vintf/manifest_qsqs.xml:mtk
else
PRODUCT_COPY_FILES += device/mediatek/common/project_manifest/manifest_ss.xml:$(TARGET_COPY_OUT_VENDOR)/odm/etc/vintf/manifest_ss.xml:mtk
PRODUCT_COPY_FILES += device/mediatek/common/project_manifest/manifest_dsds.xml:$(TARGET_COPY_OUT_VENDOR)/odm/etc/vintf/manifest_dsds.xml:mtk
PRODUCT_COPY_FILES += device/mediatek/common/project_manifest/manifest_tsts.xml:$(TARGET_COPY_OUT_VENDOR)/odm/etc/vintf/manifest_tsts.xml:mtk
PRODUCT_COPY_FILES += device/mediatek/common/project_manifest/manifest_qsqs.xml:$(TARGET_COPY_OUT_VENDOR)/odm/etc/vintf/manifest_qsqs.xml:mtk
endif
# 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_ENG += test_HwTransHelper
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 += mtkfusionrild
PRODUCT_PACKAGES += librilfusion
PRODUCT_PACKAGES += libmnetlink_v104
ifeq ($(strip $(RAT_CONFIG_C2K_SUPPORT)),yes)
PRODUCT_PACKAGES += libvia-ril
endif
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
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
PRODUCT_PACKAGES += MtkCapCtrl
PRODUCT_PACKAGES += CapCtrlInterface
endif
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifeq ($(strip $(MSSI_MTK_SMART_SWITCH_SUPPORT)), yes)
PRODUCT_PACKAGES += SmartRatSwitch
endif
endif
PRODUCT_PACKAGES += md_minilog_util
ifeq ($(strip $(MTK_GMO_ROM_OPTIMIZE)), yes)
ifeq ($(strip $(MSSI_MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifeq ($(strip $(TARGET_BUILD_VARIANT)),eng)
PRODUCT_PACKAGES += SimRecoveryTestTool
endif
endif
else
ifeq ($(strip $(MSSI_MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
PRODUCT_PACKAGES += SimRecoveryTestTool
endif
endif
endif
PRODUCT_PACKAGES += libratconfig
# External SIM support
ifeq ($(strip $(MTK_EXTERNAL_SIM_SUPPORT)), yes)
PRODUCT_PACKAGES += libvsim-adaptor-client
# RSIM test APK/OSI
$(call inherit-product-if-exists, vendor/mediatek/proprietary/packages/apps/SilverHelper/device.mk)
endif
# Stand-alone: Remote SIM unlock
ifeq ($(strip $(SIM_ME_LOCK_MODE)), 1)
PRODUCT_PACKAGES += libsimmelock
endif
ifeq ($(strip $(SIM_ME_LOCK_MODE)), 4)
PRODUCT_PACKAGES += libsimlock
endif
ifeq ($(strip $(MTK_SUBSIDY_LOCK_SUPPORT)),yes)
PRODUCT_PACKAGES += lib_remote_simlock
PRODUCT_PACKAGES += SubsidyLock
PRODUCT_PACKAGES += libslcjni
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_subsidy_lock_support=1
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mtk_sim_switch_policy=2
endif
# SMB: Remote SIM unlock
ifeq ($(strip $(SIM_ME_LOCK_MODE)), 3)
#RJIO RSU components
PRODUCT_PACKAGES += lib_remote_simlock
PRODUCT_PACKAGES += SubsidyLock
PRODUCT_PACKAGES += libslcjni
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mtk_sim_switch_policy=2
endif
# SMB: Remote SIM unlock for CXP
ifeq ($(strip $(MTK_CARRIEREXPRESS_PACK)),na)
PRODUCT_PACKAGES += libsimmelock
PRODUCT_PACKAGES += libsimlock
endif
ifeq ($(strip $(RAT_CONFIG_C2K_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 $(MTK_IMS_SUPPORT)),yes)
PRODUCT_PACKAGES += libipsec_ims_shr
endif
endif
# WAPI
ifeq ($(strip $(MTK_WAPI_SUPPORT)),yes)
PRODUCT_PACKAGES += WapiCertManager
PRODUCT_PACKAGES += libwapi_cert_jni
PRODUCT_PACKAGES += libwapi
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 += device/mediatek/common/init.volte.rc:root/init.volte.rc
# endif
# endif
# endif
#include multi_init.rc in meta mode and factory mode.
PRODUCT_COPY_FILES += device/mediatek/common/multi_init.rc:$(MTK_TARGET_VENDOR_RC)/multi_init.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
ifeq ($(strip $(MSSI_MTK_ENGINEERMODE_APP)), yes)
ifneq ($(wildcard vendor/mediatek/internal/em_enable),)
PRODUCT_PACKAGES += EngineerMode
PRODUCT_PACKAGES += libem_support_jni
PRODUCT_PACKAGES += libem_usb_jni
PRODUCT_PACKAGES += libem_wifi_jni
PRODUCT_PACKAGES += libem_audio_jni
else
#ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug),)
ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug user),)
PRODUCT_PACKAGES += EngineerMode
PRODUCT_PACKAGES += libem_support_jni
PRODUCT_PACKAGES += libem_usb_jni
PRODUCT_PACKAGES += libem_wifi_jni
PRODUCT_PACKAGES += libem_audio_jni
endif
endif
ifeq ($(strip $(MSSI_MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(strip $(MSSI_MTK_TC1_COMMON_SERVICE)), yes)
ifeq ($(strip $(MTK_GMO_ROM_OPTIMIZE)), yes)
ifeq ($(strip $(TARGET_BUILD_VARIANT)),eng)
PRODUCT_PACKAGES += EngineerModeSim
endif
else
ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
PRODUCT_PACKAGES += EngineerModeSim
endif
endif
endif
endif
ifeq ($(strip $(MTK_GMO_RAM_OPTIMIZE)), yes)
ifeq ($(strip $(TARGET_BUILD_VARIANT)),eng)
PRODUCT_PACKAGES += em_svr
endif
else
ifneq ($(wildcard vendor/mediatek/internal/em_enable),)
PRODUCT_PACKAGES += em_svr
else
#ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug),)
ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug user),)
PRODUCT_PACKAGES += em_svr
endif
endif
endif
endif
ifeq ($(strip $(MTK_ENGINEERMODE_APP)),yes)
ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
ifneq ($(wildcard vendor/mediatek/internal/em_enable),)
DEVICE_MANIFEST_FILE += device/mediatek/common/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 += device/mediatek/common/project_manifest/manifest_em.xml
PRODUCT_PACKAGES += em_hidl
endif
endif
endif
endif
PRODUCT_PACKAGES += CapabilityTest
ifneq ($(wildcard vendor/mediatek/internal/em_enable),)
PRODUCT_PACKAGES += YGPS
else
#ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug),)
ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug user),)
PRODUCT_PACKAGES += YGPS
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),)
ifneq ($(strip $(MSSI_MTK_TC1_COMMON_SERVICE)), yes)
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
PRODUCT_PACKAGES += MtkTelecom
#ifneq ($(strip $(BUILD_GMS)), yes)
PRODUCT_PACKAGES += CallRecorderService
#endif
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.Telecom=I
endif
endif
endif
endif
# Telephony end
# SF log level
ifeq ($(strip $(TARGET_BUILD_VARIANT)),user)
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.BufferQueueDump=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.BufferQueueProducer=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.SurfaceControl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.GraphicBuffer=I
endif
# For MTK MediaProvider
# PRODUCT_PACKAGES += MtkMediaProvider
# For MTK Camera
PRODUCT_PACKAGES += Camera0
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 += 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 += device/mediatek/common/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
# secure camera
ifeq ($(strip $(MTK_CAM_SECURITY_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_cam_security_support=1
else
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_cam_security_support=0
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=8
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.min.low_ram.imgo=6
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.base.imgo=5
# 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=8
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.min.low_ram.rrzo=6
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.base.rrzo=5
# 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=8
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.min.low_ram.lcso=6
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.base.lcso=5
# 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=8
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=8
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.camera3.pipeline.bufnum.min.low_ram.fdyuv=6
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_sys/label.ini)
include $(wildcard vendor/mediatek/proprietary/buildinfo_vnd/label.ini)
$(call inherit-product-if-exists, vendor/mediatek/proprietary/buildinfo_vnd/branch.mk)
$(call inherit-product-if-exists, vendor/mediatek/proprietary/buildinfo_sys/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
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
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 turn on timeout
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += bluetooth.enable_timeout_ms=8000
# 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
# Customer configurations
ifneq ($(wildcard $(MTK_TARGET_PROJECT_FOLDER)/custom.conf),)
PRODUCT_COPY_FILES += $(MTK_TARGET_PROJECT_FOLDER)/custom.conf:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/custom.conf
else
PRODUCT_COPY_FILES += device/mediatek/common/custom.conf:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/custom.conf
endif
# GMS interface
ifdef BUILD_GMS
ifeq ($(strip $(BUILD_GMS)), yes)
# ifeq ($(strip $(BUILD_AGO_GMS)), yes)
# $(call inherit-product-if-exists, vendor/go-gms/products/gms.mk)
# else
$(call inherit-product-if-exists, vendor/google/gms.mk)
# endif
endif
endif
# prebuilt interface
$(call inherit-product-if-exists, vendor/mediatek/common/device-vendor.mk)
# mtklog config
ifeq ($(strip $(MTK_BASIC_PACKAGE)), yes)
ifeq ($(TARGET_BUILD_VARIANT),eng)
PRODUCT_COPY_FILES += device/mediatek/common/mtklog/mtklog-config-basic-eng.prop:system/etc/mtklog-config.prop:mtk
else
PRODUCT_COPY_FILES += device/mediatek/common/mtklog/mtklog-config-basic-user.prop:system/etc/mtklog-config.prop:mtk
endif
else
ifeq ($(TARGET_BUILD_VARIANT),eng)
PRODUCT_COPY_FILES += device/mediatek/common/mtklog/mtklog-config-bsp-eng.prop:system/etc/mtklog-config.prop:mtk
else
PRODUCT_COPY_FILES += device/mediatek/common/mtklog/mtklog-config-bsp-user.prop:system/etc/mtklog-config.prop:mtk
endif
endif
# 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, device/mediatek/common/aapt/aapt_config.mk)
#
# MediaTek Operator features configuration
#
ifdef OPTR_SPEC_SEG_DEF
ifneq ($(strip $(OPTR_SPEC_SEG_DEF)),NONE)
# Telephony library for op sw decouple
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), ss)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_op_ss.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsds)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_op_dsds.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsda)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_op_dsds.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), tsts)
ifeq ($(strip $(MTK_EXTERNAL_SIM_RSIM_ENHANCEMENT)), yes)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_op_dsds.xml
else
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_op_tsts.xml
endif
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), qsqs)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_op_qsqs.xml
endif
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(wildcard vendor/mediatek/proprietary/operator/frameworks/telephony/Common/Android.bp),)
PRODUCT_PACKAGES += OPCommonTelephony
PRODUCT_BOOT_JARS += OPCommonTelephony
endif
endif
ifneq ($(wildcard vendor/mediatek/proprietary/operator/hardware/ril/fusion/Android.mk),)
PRODUCT_PACKAGES += libmtk-rilop
endif
# 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)
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), ss)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_op_ss.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsds)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_op_dsds.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsda)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_op_dsds.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), tsts)
ifeq ($(strip $(MTK_EXTERNAL_SIM_RSIM_ENHANCEMENT)), yes)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_op_dsds.xml
else
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_op_tsts.xml
endif
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), qsqs)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_op_qsqs.xml
endif
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(wildcard vendor/mediatek/proprietary/operator/frameworks/telephony/Common/Android.bp),)
PRODUCT_PACKAGES += OPCommonTelephony
PRODUCT_BOOT_JARS += OPCommonTelephony
endif
endif
ifneq ($(wildcard vendor/mediatek/proprietary/operator/hardware/ril/fusion/Android.mk),)
PRODUCT_PACKAGES += libmtk-rilop
endif
endif
endif
ifndef MTK_REGIONAL_OP_PACK
ifeq ($(strip $(MTK_CARRIEREXPRESS_PACK)),la)
MTK_REGIONAL_OP_PACK = OP112_SPEC0200_SEGDEFAULT OP120_SPEC0100_SEGDEFAULT OP07_SPEC0510_SEGDEFAULT
else ifeq ($(strip $(MTK_CARRIEREXPRESS_PACK)),na)
MTK_REGIONAL_OP_PACK = OP07_SPEC0407_SEGDEFAULT OP08_SPEC0200_SEGDEFAULT OP12_SPEC0200_SEGDEFAULT OP20_SPEC0200_SEGDEFAULT OP236_SPEC0200_SEGDEFAULT
else ifeq ($(strip $(MTK_CARRIEREXPRESS_PACK)),eu)
MTK_REGIONAL_OP_PACK = OP15_SPEC0200_SEGDEFAULT
else ifeq ($(strip $(MTK_CARRIEREXPRESS_PACK)),ind)
MTK_REGIONAL_OP_PACK = OP18_SPEC0100_SEGDEFAULT
else ifeq ($(strip $(MTK_CARRIEREXPRESS_PACK)),jpn)
MTK_REGIONAL_OP_PACK = OP17_SPEC0200_SEGDEFAULT
else ifeq ($(strip $(MTK_CARRIEREXPRESS_PACK)),mea)
MTK_REGIONAL_OP_PACK = OP126_SPEC0100_SEGDEFAULT
else ifeq ($(strip $(MTK_CARRIEREXPRESS_PACK)),au)
MTK_REGIONAL_OP_PACK = OP19_SPEC0200_SEGDEFAULT
else ifeq ($(strip $(MTK_CARRIEREXPRESS_PACK)),rus)
MTK_REGIONAL_OP_PACK = OP127_SPEC0200_SEGDEFAULT OP113_SPEC0200_SEGDEFAULT
else ifeq ($(strip $(MTK_CARRIEREXPRESS_PACK)),wwop)
MTK_REGIONAL_OP_PACK = OP15_SPEC0200_SEGDEFAULT OP18_SPEC0100_SEGDEFAULT
else ifneq ($(strip $(MTK_CARRIEREXPRESS_PACK)),no)
$(error "MTK_CARRIEREXPRESS_PACK: $(MTK_CARRIEREXPRESS_PACK) not supported")
endif
endif
endif
ifdef MTK_CARRIEREXPRESS_PACK
ifneq ($(strip $(MTK_CARRIEREXPRESS_PACK)),no)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_carrierexpress_pack=$(strip $(MTK_CARRIEREXPRESS_PACK))
ifeq ($(strip $(MTK_CARRIEREXPRESS_APK_INSTALL_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_carrierexpress_inst_sup=1
endif
ifdef MTK_CARRIEREXPRESS_SWITCH_MODE
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mtk_usp_switch_mode=$(strip $(MTK_CARRIEREXPRESS_SWITCH_MODE))
endif
PRODUCT_PACKAGES += usp_service
PRODUCT_PACKAGES += libeap-aka
PRODUCT_PACKAGES += CarrierExpress
temp_optr := $(OPTR_SPEC_SEG_DEF)
$(foreach OP_SPEC, $(MTK_REGIONAL_OP_PACK), \
$(eval OPTR_SPEC_SEG_DEF := $(OP_SPEC)) \
$(eval OPTR := $(word 1, $(subst _,$(space),$(OP_SPEC)))) \
$(eval SPEC := $(word 2, $(subst _,$(space),$(OP_SPEC)))) \
$(eval SEG := $(word 3, $(subst _,$(space),$(OP_SPEC)))) \
$(eval -include vendor/mediatek/proprietary/operator/legacy/$(OPTR)/$(SPEC)/$(SEG)/optr_apk_config.mk) \
$(eval $(call inherit-product-if-exists, vendor/mediatek/proprietary/operator/SPEC/$(OPTR)/$(SPEC)/$(SEG)/optr_package_config.mk)))
OPTR_SPEC_SEG_DEF := $(temp_optr)
endif
endif
PRODUCT_PACKAGES += DataTransfer
# MediatekDM package & lib
ifeq ($(strip $(MTK_MDM_APP)),yes)
PRODUCT_PACKAGES += MediatekDM
endif
# SmsReg package
ifeq ($(strip $(MTK_SMSREG_APP)),yes)
PRODUCT_PACKAGES += SmsReg
endif
$(call inherit-product-if-exists, vendor/mediatek/proprietary/external/voiceunlock2/voicecommand.mk)
#added dependency in relation to libvoicerecognition_jni
ifneq ($(wildcard vendor/mediatek/proprietary/external/voiceunlock2),)
ifeq ($(strip $(MSSI_MTK_VOW_SUPPORT)),yes)
PRODUCT_PACKAGES += VoiceCommand
ifeq ($(strip $(MSSI_MTK_VOW_AMAZON_SUPPORT)),yes)
PRODUCT_PACKAGES += HandsFreeAssistant
endif
PRODUCT_PACKAGES += VoiceUnlock
PRODUCT_PACKAGES += MtkVoiceWakeupInteraction
endif
ifeq ($(strip $(MTK_VOW_AMAZON_SUPPORT)),yes)
PRODUCT_COPY_FILES += device/mediatek/vendor/common/com.mediatek.hardware.vow.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.mediatek.hardware.vow.xml:mtk
endif
endif
ifeq ($(strip $(MSSI_MTK_VOW_SUPPORT)),yes)
ifeq ($(strip $(MSSI_MTK_VOW_GVA_SUPPORT)),yes)
ifeq ($(strip $(BUILD_GMS)), yes)
PRODUCT_PACKAGES += HotwordEnrollmentOKGoogleRISCV
PRODUCT_PACKAGES += HotwordEnrollmentXGoogleRISCV
endif
endif
endif
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)),0)
ifneq ($(strip $(MSSI_MTK_TC1_COMMON_SERVICE)),yes)
ifeq ($(strip $(RAT_CONFIG_C2K_SUPPORT)),yes)
PRODUCT_PACKAGES += via-plugin
endif
endif
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
ifeq ($(strip $(MTK_MEMORY_COMPRESSION_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_mem_comp_support=1
endif
ifeq ($(strip $(MTK_WAPI_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_wapi_support=1
endif
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-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-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 $(MSSI_MTK_OMACP_SUPPORT)), yes)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.vendor.mtk_omacp_support=1
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_CTA_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_cta_support=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
ifeq ($(strip $(MTK_FD_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_fd_support=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
#Widevine DRM
ifeq ($(strip $(MTK_WVDRM_SUPPORT)), yes)
ifeq ($(strip $(MTK_WVDRM_L1_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_widevine_drm_l1_support=1
else
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_widevine_drm_l3_support=1
endif
endif
#Playready DRM
ifeq ($(strip $(MTK_PLAYREADY_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_playready_drm_support=1
endif
########
ifeq ($(strip $(MTK_DISABLE_CAPABILITY_SWITCH)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_disable_cap_switch=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
ifeq ($(strip $(MSSI_MTK_FLV_PLAYBACK_SUPPORT)), yes)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.vendor.mtk_flv_playback_support=1
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 $(RAT_CONFIG_C2K_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_c2k_support=1
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.radio.flashless.fsm=0
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.radio.flashless.fsm_cst=0
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.radio.flashless.fsm_rw=0
# network property
ifeq ($(strip $(RAT_CONFIG_LTE_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += telephony.lteOnCdmaDevice=1
endif
endif
ifeq ($(strip $(RAT_CONFIG_C2K_SUPPORT)),yes)
ifeq ($(strip $(RAT_CONFIG_LTE_SUPPORT)),yes)
ifeq ($(strip $(RAT_CONFIG_WCDMA_SUPPORT)),yes)
ifeq ($(strip $(RAT_CONFIG_NR_SUPPORT)),yes)
# PREF_NET_TYPE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA (33)
PRODUCT_PROPERTY_OVERRIDES += ro.telephony.default_network=33,33,33,33
else
# NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA (10)
PRODUCT_PROPERTY_OVERRIDES += ro.telephony.default_network=10,10,10,10
endif
else
ifeq ($(strip $(RAT_CONFIG_NR_SUPPORT)),yes)
# PREF_NET_TYPE_NR_LTE_CDMA_EVDO (25)
PRODUCT_PROPERTY_OVERRIDES += ro.telephony.default_network=25,25,25,25
else
# NETWORK_MODE_LTE_CDMA_EVDO (8)
PRODUCT_PROPERTY_OVERRIDES += ro.telephony.default_network=8,8,8,8
endif
endif
else
# NETWORK_MODE_GLOBAL (7)
PRODUCT_PROPERTY_OVERRIDES += ro.telephony.default_network=7,7,7,7
endif
else
ifeq ($(strip $(RAT_CONFIG_LTE_SUPPORT)),yes)
ifeq ($(strip $(RAT_CONFIG_NR_SUPPORT)),yes)
# PREF_NET_TYPE_NR_LTE_TDSCDMA_GSM_WCDMA (32)
PRODUCT_PROPERTY_OVERRIDES += ro.telephony.default_network=32,32,32,32
else
# NETWORK_MODE_LTE_GSM_WCDMA (9)
PRODUCT_PROPERTY_OVERRIDES += ro.telephony.default_network=9,9,9,9
endif
else
# NETWORK_MODE_WCDMA_PREF (0)
PRODUCT_PROPERTY_OVERRIDES += ro.telephony.default_network=0,0,0,0
endif
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
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_nfc_addon_support=1
ifeq ($(strip $(MTK_BENCHMARK_BOOST_TP)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_benchmark_boost_tp=1
endif
ifeq ($(strip $(MTK_FLIGHT_MODE_POWER_OFF_MD)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_flight_mode_power_off_md=1
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_PROPERTY_OVERRIDES += ro.vendor.mtk_aal_support=1
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_PROPERTY_OVERRIDES += ro.vendor.mtk_dre30_support=1
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
ifeq ($(strip $(MTK_MIRAVISION_SETTING_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_miravision_support=1
endif
PRODUCT_PACKAGES += MiraVision
PRODUCT_PACKAGES += libMiraVision_jni
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_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_wfd_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 $(MSSI_MTK_SYSTEM_UPDATE_SUPPORT)), yes)
ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.vendor.mtk_system_update_support=1
endif
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_WORLD_PHONE_POLICY)), 1)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_world_phone_policy=1
else
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_world_phone_policy=0
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_SIM_HOT_SWAP_COMMON_SLOT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_sim_hot_swap_common_slot=1
endif
ifneq ($(strip $(MTK_SIM_CARD_ONOFF)), 1)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_sim_card_onoff=$(strip $(MTK_SIM_CARD_ONOFF))
endif
ifeq ($(strip $(MSSI_MTK_CTA_SET)), yes)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.vendor.mtk_cta_set=1
endif
# Add for PMS support removable system app
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.vendor.pms_removable=1
ifeq ($(strip $(MSSI_MTK_CTA_SET)), yes)
PRODUCT_PACKAGES += libdrmmtkutil
PRODUCT_PACKAGES += libdcfdecoderjni
ifneq ($(strip $(BUILD_GMS)), yes)
PRODUCT_PACKAGES += libdrmctaplugin
PRODUCT_PACKAGES += DataProtection
else
ifneq ($(strip $(MTK_GMO_ROM_OPTIMIZE)), yes)
PRODUCT_PACKAGES += libdrmctaplugin
PRODUCT_PACKAGES += DataProtection
endif
endif
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_MOBILE_MANAGEMENT)), yes)
ifneq ($(strip $(BUILD_GMS)), yes)
ifneq ($(strip $(MTK_GMO_ROM_OPTIMIZE)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_mobile_management=1
endif
endif
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
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_FEMTO_CELL_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_femto_cell_support=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 $(MTK_RILD_READ_IMSI)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_rild_read_imsi=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_EXTERNAL_SIM_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_external_sim_support=1
endif
ifeq ($(strip $(MTK_DISABLE_PERSIST_VSIM)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_persist_vsim_disabled=1
endif
ifneq ($(strip $(MTK_EXTERNAL_SIM_ONLY_SLOTS)),)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_external_sim_only_slots=$(strip $(MTK_EXTERNAL_SIM_ONLY_SLOTS))
else
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_external_sim_only_slots=0
endif
ifeq ($(strip $(MTK_EXTERNAL_SIM_RSIM_ENHANCEMENT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_non_dsda_rsim_support=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 \
libstagefright_hdcp \
ArmHDCP_MediatekGP.cfg
PRODUCT_PACKAGES += \
tsa_hdcp_service-impl \
tsa_hdcp_service-service
DEVICE_MANIFEST_FILE += device/mediatek/common/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 $(MSSI_MTK_TC1_FEATURE)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_tc1_feature=1
endif
ifneq ($(strip $(SIM_ME_LOCK_MODE)),)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.sim_me_lock_mode=$(strip $(SIM_ME_LOCK_MODE))
else
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.sim_me_lock_mode=0
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
# for 3rd party app
#For 3rd party Baidu NLP provider
ifneq ($(wildcard vendor/mediatek/internal/baidunlp_enable),)
ifneq ($(strip $(BUILD_GMS)), yes)
PRODUCT_PACKAGES += Baidu_Location
PRODUCT_PACKAGES += liblocSDK6c
PRODUCT_PACKAGES += libnetworklocation
DEVICE_PACKAGE_OVERLAYS += device/mediatek/common/overlay/baidu_nlp
endif
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_IMS_SUPPORT)), yes)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.vendor.wfc.sys_wfc_support=1
PRODUCT_PACKAGES += com.mediatek.ims.config.xml
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),)
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(strip $(MTK_TC1_COMMON_SERVICE)), yes)
PRODUCT_PACKAGES += mediatek-ims-common
PRODUCT_BOOT_JARS += mediatek-ims-common
endif
endif
endif
PRODUCT_PACKAGES += mediatek-ims-base
PRODUCT_BOOT_JARS += mediatek-ims-base
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
ifneq ($(filter $(strip $(MTK_MULTIPLE_IMS_SUPPORT)),2 3 4),)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mims_support=$(strip $(MTK_MULTIPLE_IMS_SUPPORT))
else
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mims_support=1
endif
endif
#Client API feature
ifeq ($(strip $(MTK_VZW_CLIENT_API)),yes)
PRODUCT_PACKAGES += verizon.net.sip
PRODUCT_PACKAGES += verizon.net.sip.xml
PRODUCT_PACKAGES += volte_clientapi_ua
PRODUCT_PACKAGES += vendor.mediatek.hardware.clientapi@1.0.so
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_clientapi.xml
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.clientapi_support=$(strip $(MTK_VZW_CLIENT_API))
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/operator/frameworks/ims/OP12/verizon.net.sip.xml:system/etc/permissions/verizon.net.sip.xml
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
# ======================================
# ViLTE/ViWifi for system image
# ======================================
build_mssi_vilte_package :=
ifeq ($(strip $(MSSI_MTK_VILTE_SUPPORT)),yes)
build_mssi_vilte_package := yes
endif
ifeq ($(strip $(MSSI_MTK_VIWIFI_SUPPORT)),yes)
build_mssi_vilte_package := yes
endif
ifdef build_mssi_vilte_package
PRODUCT_PACKAGES += libmtk_vt_wrapper
PRODUCT_PACKAGES += libmtk_vt_service
PRODUCT_PACKAGES += vtservice
endif
# ======================================
# ViLTE/ViWifi for vendor image
# ======================================
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 += vendor.mediatek.hardware.videotelephony@1.0-impl
PRODUCT_PACKAGES += vtservice_hidl
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_videotelephony.xml
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
ifeq ($(strip $(MTK_USER_ROOT_SWITCH)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_user_root_switch=1
endif
PRODUCT_COPY_FILES += frameworks/av/media/libeffects/data/audio_effects.conf:system/etc/audio_effects.conf
ifneq ($(wildcard device/mediatek/common/audio_effects_config/audio_effects.xml),)
PRODUCT_COPY_FILES += device/mediatek/common/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
# AOSP NFC
PRODUCT_PACKAGES += com.android.nfc_extras
# ST NFC
ifeq ($(strip $(MSSI_NFC_CHIP_SUPPORT)), yes)
include vendor/mediatek/proprietary/frameworks/opt/ST-Extension/NfcDeviceConfig.mk
endif
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/$(MTK_PLATFORM_DIR)
endif
include vendor/mediatek/proprietary/external/stnfctools-vendor/NfcDeviceConfigVendor.mk
endif
ifeq ($(strip $(MTK_OMAPI_SUPPORT)), yes)
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), ss)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_secure_element_ss.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsds)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_secure_element_dsds.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsda)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_secure_element_dsds.xml
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), tsts)
ifeq ($(strip $(MTK_EXTERNAL_SIM_RSIM_ENHANCEMENT)), yes)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_secure_element_dsds.xml
else
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_secure_element_tsts.xml
endif
endif
ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), qsqs)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_secure_element_qsqs.xml
endif
PRODUCT_PACKAGES += android.hardware.secure_element@1.0-service-mediatek
endif
# IRTX HAL CORE
ifeq (yes,$(strip $(MTK_IRTX_PWM_SUPPORT)))
PRODUCT_PACKAGES += android.hardware.ir-service.example
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_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_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 $(MSSI_MTK_USER_SPACE_DEBUG_FW)),yes)
PRODUCT_PACKAGES += libudf
PRODUCT_PACKAGES_ENG += init.preload.rc
PRODUCT_PACKAGES_ENG += malloc_debug_option.rc
endif
# for libudf.vendor
ifeq ($(strip $(MTK_USER_SPACE_DEBUG_FW)),yes)
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 += device/mediatek/common/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/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/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/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/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/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/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/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
PRODUCT_PACKAGES += libMtkOmxMp3Dec
PRODUCT_PACKAGES += libMtkOmxGsmDec
PRODUCT_PACKAGES += libMtkOmxAudioDecBase
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.0
ifeq ($(strip $(KEYMASTER_VERSION)), 4.0)
DEVICE_MANIFEST_FILE += device/mediatek/common/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 += device/mediatek/common/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
# 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 += device/mediatek/common/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_TEE_GP_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_tee_gp_support=1
endif
ifeq ($(strip $(TRUSTONIC_TEE_SUPPORT)), yes)
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_trustonic.xml
PRODUCT_COPY_FILES += \
vendor/mediatek/proprietary/trustzone/trustonic/system_app/mobicore/common/public.libraries-trustonic.txt:system/etc/public.libraries-trustonic.txt
PRODUCT_PACKAGES += libMcClient
PRODUCT_PACKAGES += libTEECommon
PRODUCT_PACKAGES += libTeeClient
PRODUCT_PACKAGES += libMcRegistry
PRODUCT_PACKAGES += mcDriverDaemon
PRODUCT_PACKAGES += libMcTeeKeymaster
PRODUCT_PACKAGES += libMcGatekeeper
PRODUCT_PACKAGES += kmsetkey.trustonic
PRODUCT_PACKAGES += libteeservice_client.trustonic
PRODUCT_PACKAGES += TeeService
PRODUCT_PACKAGES += libTeeServiceJni
PRODUCT_PACKAGES += vendor.trustonic.tee@1.1-service
PRODUCT_PROPERTY_OVERRIDES += ro.hardware.kmsetkey=trustonic
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_trustonic_tee_support=1
ifeq ($(strip $(MTK_SEC_VIDEO_PATH_SUPPORT)), yes)
ifeq ($(strip $(MTK_TEE_GP_SUPPORT)),yes)
PRODUCT_PACKAGES += AVCSecureVdecCA
PRODUCT_PACKAGES += AVCSecureVencCA
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 += SamplePinpad
PRODUCT_PACKAGES += libTlcPinpad
endif
endif
PRODUCT_COPY_FILES += \
device/mediatek/common/public.libraries.vendor.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt:mtk
ifeq ($(strip $(MICROTRUST_TEE_SUPPORT)), yes)
PRODUCT_PACKAGES += teei_daemon
PRODUCT_PACKAGES += bp_kmsetkey_ca
PRODUCT_PACKAGES += libTEECommon
PRODUCT_PACKAGES += kmsetkey.beanpod
PRODUCT_PACKAGES += gatekeeper.beanpod
PRODUCT_PROPERTY_OVERRIDES += ro.hardware.kmsetkey=beanpod
PRODUCT_PROPERTY_OVERRIDES += ro.hardware.gatekeeper=beanpod
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_microtrust_tee_support=1
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_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
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
#PRODUCT_PACKAGES += move_widevine_data.sh
PRODUCT_PACKAGES += android.hardware.drm@1.0-impl
ifeq ($(strip $(MTK_GMO_RAM_OPTIMIZE)),yes)
PRODUCT_PACKAGES += android.hardware.drm@1.0-service-lazy
PRODUCT_PACKAGES += android.hardware.drm@1.2-service-lazy.clearkey
ifeq ($(strip $(MTK_WVDRM_SUPPORT)),yes)
PRODUCT_PACKAGES += android.hardware.drm@1.2-service-lazy.widevine
endif
else
PRODUCT_PACKAGES += android.hardware.drm@1.0-service
PRODUCT_PACKAGES += android.hardware.drm@1.2-service.clearkey
ifeq ($(strip $(MTK_WVDRM_SUPPORT)),yes)
PRODUCT_PACKAGES += android.hardware.drm@1.2-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
ifeq ($(strip $(MTK_WVDRM_L1_SUPPORT)),yes)
PRODUCT_PACKAGES += lib_uree_mtk_modular_drm
PRODUCT_PACKAGES += liboemcrypto
PRODUCT_PACKAGES += libtlcWidevineModularDrm
endif
endif
#################################################
ifeq ($(strip $(MTK_COMBO_SUPPORT)), yes)
$(call inherit-product-if-exists, device/mediatek/common/connectivity/product_package/product_package.mk)
endif
SPMFW_ROOT_DIR := vendor/mediatek/proprietary/hardware/spmfw
ifneq (yes,$(strip $(SPM_FW_USE_PARTITION)))
$(call inherit-product-if-exists,$(SPMFW_ROOT_DIR)/build/product_package.mk)
else
PRODUCT_PACKAGES += spmfw.img
endif
MCUPMFW_ROOT_DIR := vendor/mediatek/proprietary/hardware/mcupmfw
ifeq (yes,$(strip $(MCUPM_FW_USE_PARTITION)))
PRODUCT_PACKAGES += mcupmfw.img
endif
ifeq ($(strip $(MTK_SENSOR_HUB_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.mtk_sensorhub_support=1
PRODUCT_PACKAGES += libhwsensorhub \
libsensorhub \
libsensorhub_jni \
sensorhubservice \
libsensorhubservice
endif
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)
# AudioParamParser
PRODUCT_PACKAGES += libaudio_param_parser-sys libaudio_param_parser-vnd
PRODUCT_PACKAGES_DEBUG += audio_param_test-sys audio_param_test-vnd
XML_CUS_FOLDER_ON_DEVICE := /data/vendor/audiohal/audio_param/
AUDIO_PARAM_OPTIONS_LIST += CUST_XML_DIR=$(XML_CUS_FOLDER_ON_DEVICE)
ifneq ($(MTK_AUDIO_TUNING_TOOL_VERSION),)
ifneq ($(strip $(MTK_AUDIO_TUNING_TOOL_VERSION)),V1)
PRODUCT_PACKAGES += libspeechparser libspeechparser_vendor
AUDIO_PARAM_OPTIONS_LIST += 5_POLE_HS_SUPPORT=$(MTK_HEADSET_ACTIVE_NOISE_CANCELLATION)
MTK_AUDIO_PARAM_DIR_LIST += device/mediatek/common/audio_param
#MTK_AUDIO_PARAM_FILE_LIST += SOME_ZIP_FILE
ifeq ($(strip $(MTK_USB_PHONECALL)),AP)
AUDIO_PARAM_OPTIONS_LIST += VIR_MTK_USB_PHONECALL=yes
endif
# speaker path customization for gain table
ifeq ($(strip $(MTK_AUDIO_SPEAKER_PATH)),int_spk_amp)
AUDIO_PARAM_OPTIONS_LIST += SPK_PATH_INT=yes
else ifeq ($(strip $(MTK_AUDIO_SPEAKER_PATH)),2_in_1_spk)
AUDIO_PARAM_OPTIONS_LIST += SPK_PATH_INT=yes
else ifeq ($(strip $(MTK_AUDIO_SPEAKER_PATH)),3_in_1_spk)
AUDIO_PARAM_OPTIONS_LIST += SPK_PATH_INT=yes
else ifeq ($(strip $(MTK_AUDIO_SPEAKER_PATH)),int_lo_buf)
AUDIO_PARAM_OPTIONS_LIST += SPK_PATH_LO=yes
else ifeq ($(strip $(MTK_AUDIO_SPEAKER_PATH)),int_hp_buf)
AUDIO_PARAM_OPTIONS_LIST += SPK_PATH_HP=yes
else
AUDIO_PARAM_OPTIONS_LIST += SPK_PATH_NO_ANA=yes
endif
# receiver path customization for gain table
ifeq ($(strip $(MTK_AUDIO_SPEAKER_PATH)),2_in_1_spk)
AUDIO_PARAM_OPTIONS_LIST += RCV_PATH_2_IN_1_SPK=yes
else ifeq ($(strip $(MTK_AUDIO_SPEAKER_PATH)),3_in_1_spk)
AUDIO_PARAM_OPTIONS_LIST += RCV_PATH_3_IN_1_SPK=yes
else ifeq ($(findstring smartpa,$(MTK_AUDIO_SPEAKER_PATH)),smartpa)
ifeq ($(MTK_2IN1_SPK_SUPPORT),yes)
AUDIO_PARAM_OPTIONS_LIST += RCV_PATH_NO_ANA=yes
else
AUDIO_PARAM_OPTIONS_LIST += RCV_PATH_INT=yes
endif
else
AUDIO_PARAM_OPTIONS_LIST += RCV_PATH_INT=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
# Speech Loopback Tunning
ifeq ($(MSSI_MTK_TC1_FEATURE),yes)
AUDIO_PARAM_OPTIONS_LIST += MTK_AUDIO_SPH_LPBK_PARAM=yes
else ifeq ($(MTK_TC10_FEATURE),yes)
AUDIO_PARAM_OPTIONS_LIST += MTK_AUDIO_SPH_LPBK_PARAM=yes
else ifeq ($(MTK_AUDIO_SPH_LPBK_PARAM),yes)
AUDIO_PARAM_OPTIONS_LIST += MTK_AUDIO_SPH_LPBK_PARAM=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
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
ifeq ($(MTK_AUDIODSP_SUPPORT),yes)
PRODUCT_COPY_FILES += \
$(call add-to-product-copy-files-if-exists, $(MTK_TARGET_PROJECT_FOLDER)/aurisys_config_hifi3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/aurisys_config_hifi3.xml:mtk) \
$(call add-to-product-copy-files-if-exists, device/mediatek/$(MTK_PLATFORM_DIR)/aurisys_config_hifi3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/aurisys_config_hifi3.xml:mtk) \
vendor/mediatek/proprietary/external/aurisys/aurisys_config_hifi3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/aurisys_config_hifi3.xml:mtk
endif
# aurisys demo library
PRODUCT_PACKAGES += libaurisysdemo
# CM4 phone call
ifeq ($(MTK_AURISYS_PHONE_CALL_SUPPORT),yes)
PRODUCT_COPY_FILES += \
$(call add-to-product-copy-files-if-exists, vendor/mediatek/proprietary/external/aurisys_3rdparty/libfvaudio/FV-SAM-MTKXX.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aurisys_param/FV-SAM-MTKXX.dat:mtk)
PRODUCT_PACKAGES += libfvaudio
endif
# HiFi3 phone call + VoIP + Record
ifeq ($(MTK_AUDIODSP_SUPPORT),yes)
$(foreach bin,$(wildcard vendor/mediatek/proprietary/external/aurisys_3rdparty/libgoodix/libgoodixspeech/ve15/goodix_param/*.bin), \
$(eval PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists, $(bin):$(TARGET_COPY_OUT_VENDOR)/etc/goodix/ve15/$(notdir $(bin)):mtk)) \
)
PRODUCT_PACKAGES += libgoodixspeech_ve15
$(foreach bin,$(wildcard vendor/mediatek/proprietary/external/aurisys_3rdparty/libgoodix/libgoodixspeech/ve18/goodix_param/*.bin), \
$(eval PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists, $(bin):$(TARGET_COPY_OUT_VENDOR)/etc/goodix/ve18/$(notdir $(bin)):mtk)) \
)
PRODUCT_PACKAGES += libgoodixspeech_ve18
$(foreach bin,$(wildcard vendor/mediatek/proprietary/external/aurisys_3rdparty/libgoodix/libgoodixspeech/ve20/goodix_param/*.bin), \
$(eval PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists, $(bin):$(TARGET_COPY_OUT_VENDOR)/etc/goodix/ve20/$(notdir $(bin)):mtk)) \
)
PRODUCT_PACKAGES += libgoodixspeech_ve20
$(foreach bin,$(wildcard vendor/mediatek/proprietary/external/aurisys_3rdparty/libnxp/libnxprecord/nxp_im/*.bin), \
$(eval PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists, $(bin):$(TARGET_COPY_OUT_VENDOR)/etc/nxp/$(notdir $(bin)):mtk)) \
)
PRODUCT_PACKAGES += libnxprecord
PRODUCT_COPY_FILES += \
$(call add-to-product-copy-files-if-exists, vendor/mediatek/proprietary/external/aurisys_3rdparty/libfvaudio/FV-SAM-MTKXX.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aurisys_param/FV-SAM-MTKXX.dat:mtk)
PRODUCT_PACKAGES += libfvaudio
endif
# mediatek IIR
PRODUCT_PACKAGES += lib_iir
# mediatek BESSOUND
PRODUCT_PACKAGES += libaudioloudc
# mediatek record/VoIP
PRODUCT_COPY_FILES += device/mediatek/common/audio_param/Speech_AudioParam.xml:$(TARGET_COPY_OUT_VENDOR)/etc/aurisys_param/Speech_AudioParam.xml:mtk
PRODUCT_PACKAGES += lib_speech_enh
# BliSRC & Bit Converter
PRODUCT_PACKAGES += libaudiocomponentenginec
# tuning tool
PRODUCT_PACKAGES += AudioSetParam
else
PRODUCT_PACKAGES_ENG += AudioSetParam
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
PRODUCT_PACKAGES += libaudiocustparam_vendor
PRODUCT_PACKAGES_DEBUG += audiocommand
ifeq ($(findstring smartpa, $(MTK_AUDIO_SPEAKER_PATH)), smartpa)
PRODUCT_PACKAGES += libaudio_param_parser-sys libaudio_param_parser-vnd
MTK_AUDIO_PARAM_DIR_LIST += device/mediatek/common/audio_param_smartpa
endif
# Audio BTCVSD Lib
PRODUCT_PACKAGES += libcvsd_mtk
PRODUCT_PACKAGES += libmsbc_mtk
# Audio Compensation Lib
PRODUCT_PACKAGES += libaudiocompensationfilter
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
#Fix me: specific enable for build error workaround
SKIP_BOOT_JARS_CHECK := true
ifeq ($(strip $(MTK_SWITCH_ANTENNA_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_switch_antenna=1
endif
ifneq ($(strip $(MTK_MD_SBP_CUSTOM_VALUE)),)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_md_sbp_custom_value=$(strip $(MTK_MD_SBP_CUSTOM_VALUE))
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 Dynamic-SBP
ifeq ($(strip $(MTK_DYNAMIC_SBP_SUPPORT)), yes)
ifneq ($(strip $(MTK_DYNAMIC_SBP_LEVEL)), )
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.radio.mtk_dsbp_support= $(MTK_DYNAMIC_SBP_LEVEL)
else
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.radio.mtk_dsbp_support=1
endif
endif
# Add for MTK_CT_VOLTE_SUPPORT
ifeq ($(strip $(MTK_IMS_SUPPORT)), yes)
ifeq ($(strip $(MTK_RIL_MODE)), c6m_1rild)
ifeq ($(strip $(RAT_CONFIG_C2K_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mtk_ct_volte_support=3
else
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mtk_ct_volte_support=1
endif
else
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mtk_ct_volte_support=1
endif
endif
# Add for Modem protocol2 capability setting
ifneq ($(strip $(MTK_PROTOCOL2_RAT_CONFIG)),)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.radio.mtk_ps2_rat=$(strip $(MTK_PROTOCOL2_RAT_CONFIG))
endif
# Add for Modem protocol3 capability setting
ifneq ($(strip $(MTK_PROTOCOL3_RAT_CONFIG)),)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.radio.mtk_ps3_rat=$(strip $(MTK_PROTOCOL3_RAT_CONFIG))
endif
ifeq ($(strip $(MTK_VIBSPK_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_vibspk_support=1
endif
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RILMUXD=I
# Telephony RIL log configurations
ifeq ($(strip $(MTK_TELEPHONY_CONN_LOG_CTRL_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.log.tel_log_ctrl=1
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.AT=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RILC-MTK=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RILC=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxMainThread=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxRoot=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxRilAdapter=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxController=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RILC-RP=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxTransUtils=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxMclDisThread=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxCloneMgr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxHandlerMgr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxIdToStr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxDisThread=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxMclStatusMgr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-Fusion=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcEccNumberController=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcEccNumberUrcHandler=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpPhoneNumberController=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RilOpProxy=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RILC-OP=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RilOemClient=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaCcciDataHeaderEncoder=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaCcciReader=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaCcciSender=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaControlMsgHandler=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaDriver=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaDriverAccept=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaDriverAdapter=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaDriverDeReg=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaDriverMessage=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaDriverRegFilter=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaDriverULIpPkt=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaDriverUtilis=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaDriverVersion=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaFilterRuleReqHandler=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaRingBuffer=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaShmAccessController=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaShmReadMsgHandler=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaShmSynchronizer=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaShmWriteMsgHandler=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.wpfa_iptable_android=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaRuleRegister=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaParsing=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WpfaRuleContainer=I
ifneq ($(strip $(TARGET_BUILD_VARIANT)),eng)
# user/userdebug load
# V/D/(I/W/E)
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcDC=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcDcCommon=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.NetAgentService=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.NetAgent_IO=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.NetLnkEventHdlr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-DATA=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.GsmCdmaPhone=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RILMD2-SS=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.CapaSwitch=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DSSelector=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DSSelectorOm=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DSSelectorOP01=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DSSelectorOP02=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DSSelectorOP09=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DSSelectorOP18=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DSSelectorUtil=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.SimSwitchOP01=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.SimSwitchOP02=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.SimSwitchOP18=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.IccProvider=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.IccPhoneBookIM=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.AdnRecordCache=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.AdnRecordLoader=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.AdnRecord=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-PHB=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkIccProvider=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkIccPHBIM=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkAdnRecord=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkRecordLoader=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpPhbController=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcPhbReq=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcPhbUrc=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcPhb=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VT=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ImsVTProvider=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.IccCardProxy=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.IsimFileHandler=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.IsimRecords=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.SIMRecords=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.SpnOverride=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.UiccCard=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.UiccController=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-SIM=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.CountryDetector=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.NetworkStats=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.NetworkPolicy=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DataDispatcher=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ImsService=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.IMS_RILA=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.IMSRILRequest=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ImsManager=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ImsApp=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ImsBaseCommands=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkImsManager=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkImsService=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RP_IMS=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcIms=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcImsConference=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcImsDialog=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcImsCtlUrcHdl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcImsCtlReqHdl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ImsCall=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ImsPhone=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ImsPhoneCall=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ImsPhoneBase=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ImsCallSession=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ImsCallProfile=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ImsEcbm=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ImsEcbmProxy=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.OperatorUtils=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WfoApp=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.GsmCdmaConn=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.GsmCdmaPhone=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.Phone=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-CC=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpCallControl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpAudioControl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.GsmCallTkrHlpr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkPhoneNotifr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkFactory=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkGsmCdmaConn=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RadioManager=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL_Mux=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-OEM=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL_UIM_SOCKET=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RILD=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-RP=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxMessage=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxDebugInfo=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxTimer=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxObject=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.SlotQueueEntry=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxAction=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RFX=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpRadioMessage=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpModemMessage=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.PhoneFactory=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ProxyController=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.SpnOverride=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.AirplaneHandler=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxDefDestUtils=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxSM=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxSocketSM=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxDT=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpCdmaOemCtrl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpRadioCtrl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpMDCtrl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpCdmaRadioCtrl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpFOUtils=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ExternalSimMgr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VsimAdaptor=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkCsimFH=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkIsimFH=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkRuimFH=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkSIMFH=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkSIMRecords=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkSmsCbHeader=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkSmsManager=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkSmsMessage=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkSpnOverride=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkIccCardProxy=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkUiccCard=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkUiccCardApp=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkUiccCtrl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkUsimFH=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxTransUtils=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpRilClientCtrl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RilMalClient=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpSimController=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkSubCtrl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcEmbmsReq=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcEmbmsUrc=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcEmbmsUtil=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcEmbmsAt=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkEmbmsAdaptor=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RP_DAC=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RP_DC=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RTC_DAC=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxMclDisThread=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxCloneMgr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxHandlerMgr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxIdToStr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxDisThread=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxMclStatusMgr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RilClient=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcCommSimReq=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcCdmaSimRequest=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcGsmSimRequest=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcCommSimUrc=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcGsmSimUrc=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcCommSimCtrl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcCommSimOpReq=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-Fusion=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcRadioCont=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcDcPdnManager=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcDcReqHandler=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcDcUtility=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxIdToMsgId=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxOpUtils=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxMclMessenger=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxRilAdapter=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxFragEnc=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxStatusMgr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MTKSST=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxRilUtils=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcNwHdlr=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcNwReqHdlr=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcNwRTReqHdlr=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcRatSwHdlr=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcRatSwCtrl=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcNwCtrl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcRadioReq=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcCapa=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcCapa=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpMalController=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.WORLDMODE=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcWp=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcWp=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcOpRadioReq=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxContFactory=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxChannelMgr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcCdmaSimUrc=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkPhoneNumberUtils=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcOemHandler=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcModeCont=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkPhoneSwitcher=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-Parcel=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-Socket=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-SocListen=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-Netlink=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MwiRIL=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RilUtility=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_Stack=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IF_CH=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_WAKELOCK=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_CONFPKG=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_DISP=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_UA=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_MWI=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_REG=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_Service=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_SIPTimer=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_TRANS=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_SIPTX=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_SMS=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_SOC=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_DNS=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IF_SERVICE=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IF_CORE=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_Auto_Testing=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IMCB=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IMCB-CM=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IMCB-0=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IMCB-1=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IMCB-2=I
ifeq ($(strip $(TARGET_BUILD_VARIANT)),user)
# Only user load
# V/D/(I/W/E)
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.CarrierExpressServiceImpl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.CarrierExpressServiceImplExt=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.PhoneConfigurationSettings=I
endif
else
# eng load
# V/(D/I/W/E)
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcDC=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcDcCommon=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.NetAgentService=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.NetAgent_IO=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.NetLnkEventHdlr=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-DATA=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RP_DAC=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RP_DC=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RTC_DAC=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpRadioMessage=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpModemMessage=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpCdmaRadioCtrl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcEmbmsReq=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcEmbmsUrc=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcEmbmsUtil=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcEmbmsAt=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkEmbmsAdaptor=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.ExternalSimMgr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VsimAdaptor=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MTKSST=V
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxRilUtils=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxOpUtils=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxMclMessenger=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxRilAdapter=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxStatusMgr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxCloneMgr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxFragEnc=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RilMalClient=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RpMalController=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcRadioReq=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcRadioCont=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcOpRadioReq=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RP_DC=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxMessage=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxContFactory=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxChannelMgr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RmcCdmaSimUrc=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxMclDisThread=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxCloneMgr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RfxHandlerMgr=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RtcModeCont=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MtkPhoneSwitcher=V
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-Parcel=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-Socket=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-SocListen=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.RIL-Netlink=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_Stack=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IF_CH=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_WAKELOCK=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_CONFPKG=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_DISP=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_UA=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_MWI=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_REG=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_Service=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_SIPTimer=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_TRANS=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_SIPTX=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_SMS=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_SOC=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_DNS=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IF_SERVICE=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IF_CORE=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_Auto_Testing=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IMCB=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IMCB-CM=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IMCB-0=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IMCB-1=D
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.VoLTE_IMCB-2=D
endif
# endif for TARGET_BUILD_VARIANT
endif
# endif for MTK_TELEPHONY_CONN_LOG_CTRL_SUPPORT
# Add for opt_c2k_support
ifneq ($(strip $(MTK_PROTOCOL1_RAT_CONFIG)),)
ifneq ($(findstring C,$(strip $(MTK_PROTOCOL1_RAT_CONFIG))),)
ifneq ($(strip $(MTK_RIL_MODE)), c6m_1rild)
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.C2K_AT=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.C2K_RILC=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.C2K_ATConfig=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.LIBC2K_RIL=I
endif
endif
endif
# Audio policy config
ifeq ($(strip $(USE_XML_AUDIO_POLICY_CONF)), 1)
AUDIO_POLICY_PROJECT_CONFIGS := \
$(strip \
$(notdir $(wildcard $(MTK_TARGET_PROJECT_FOLDER)/audio_policy_config/*.xml)\
) \
)
AUDIO_POLICY_BASE_PROJECT_CONFIGS := \
$(strip \
$(filter-out $(AUDIO_POLICY_PROJECT_CONFIGS), \
$(notdir $(wildcard $(MTK_PROJECT_FOLDER)/audio_policy_config/*.xml)) \
) \
)
AUDIO_POLICY_PLATFORM_CONFIGS := \
$(strip \
$(filter-out $(AUDIO_POLICY_PROJECT_CONFIGS) $(AUDIO_POLICY_BASE_PROJECT_CONFIGS), \
$(notdir $(wildcard device/mediatek/$(MTK_PLATFORM_DIR)/audio_policy_config/*.xml)) \
) \
)
AUDIO_POLICY_COMMON_CONFIGS := \
$(strip \
$(filter-out $(AUDIO_POLICY_PROJECT_CONFIGS) $(AUDIO_POLICY_BASE_PROJECT_CONFIGS) $(AUDIO_POLICY_PLATFORM_CONFIGS), \
$(notdir $(wildcard device/mediatek/common/audio_policy_config/*.xml)) \
) \
)
$(foreach x,$(AUDIO_POLICY_PROJECT_CONFIGS), \
$(eval PRODUCT_COPY_FILES += $(MTK_TARGET_PROJECT_FOLDER)/audio_policy_config/$(x):$(TARGET_COPY_OUT_VENDOR)/etc/$(x)) \
)
$(foreach x,$(AUDIO_POLICY_BASE_PROJECT_CONFIGS), \
$(eval PRODUCT_COPY_FILES += $(MTK_PROJECT_FOLDER)/audio_policy_config/$(x):$(TARGET_COPY_OUT_VENDOR)/etc/$(x)) \
)
$(foreach x,$(AUDIO_POLICY_PLATFORM_CONFIGS), \
$(eval PRODUCT_COPY_FILES += device/mediatek/$(MTK_PLATFORM_DIR)/audio_policy_config/$(x):$(TARGET_COPY_OUT_VENDOR)/etc/$(x)) \
)
$(foreach x,$(AUDIO_POLICY_COMMON_CONFIGS), \
$(eval PRODUCT_COPY_FILES += device/mediatek/common/audio_policy_config/$(x):$(TARGET_COPY_OUT_VENDOR)/etc/$(x)) \
)
endif
PRODUCT_COPY_FILES += \
frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:system/etc/a2dp_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:system/etc/usb_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:system/etc/r_submix_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:system/etc/default_volume_tables.xml \
frameworks/av/services/audiopolicy/config/audio_policy_configuration.xml:system/etc/audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:system/etc/audio_policy_volumes.xml \
frameworks/av/services/audiopolicy/config/audio_policy_configuration_stub.xml:system/etc/audio_policy_configuration_stub.xml \
frameworks/av/services/audiopolicy/config/hearing_aid_audio_policy_configuration.xml:system/etc/hearing_aid_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/audio_policy_configuration_bluetooth_legacy_hal.xml:system/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \
frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:system/etc/bluetooth_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:system/etc/a2dp_in_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/enginedefault/config/example/phone/audio_policy_engine_configuration.xml:system/etc/audio_policy_engine_configuration.xml \
frameworks/av/services/audiopolicy/enginedefault/config/example/phone/audio_policy_engine_default_stream_volumes.xml:system/etc/audio_policy_engine_default_stream_volumes.xml \
frameworks/av/services/audiopolicy/enginedefault/config/example/phone/audio_policy_engine_product_strategies.xml:system/etc/audio_policy_engine_product_strategies.xml \
frameworks/av/services/audiopolicy/enginedefault/config/example/phone/audio_policy_engine_stream_volumes.xml:system/etc/audio_policy_engine_stream_volumes.xml
#Add for video codec customization
PRODUCT_PROPERTY_OVERRIDES += vendor.mtk.vdec.waitkeyframeforplay=9
PRODUCT_PACKAGES_ENG += osal_ut
PRODUCT_PACKAGES_ENG += omx_ut
ifeq ($(strip $(MTK_EMBMS_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_embms_support=1
endif
# 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
PRODUCT_DEX_PREOPT_BOOT_FLAGS += --no-abort-on-soft-verifier-error
# Add for DuraSpeed
ifeq (yes,$(strip $(MTK_DURASPEED_SUPPORT)))
PRODUCT_PACKAGES += duraspeed
PRODUCT_PACKAGES += DuraSpeed
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.duraspeed.support=1
ifeq (yes,$(strip $(MTK_DURASPEED_DEFAULT_ON)))
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.duraspeed.app.on=1
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.duraspeed.lowmemory.enable=1
endif
PRODUCT_COPY_FILES += device/mediatek/common/duraspeed.rc:system/etc/init/duraspeed.rc
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 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
# Add for Display HDR feature
ifeq ($(strip $(MTK_HDR_VIDEO_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_hdr_video_support=1
endif
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 sensor multi-hal
ifeq ($(USE_SENSOR_MULTI_HAL), true)
PRODUCT_COPY_FILES += $(MTK_PROJECT_FOLDER)/hals.conf:system/etc/sensors/hals.conf:mtk
PRODUCT_PROPERTY_OVERRIDES += ro.hardware.sensors=$(MTK_BASE_PROJECT)
PRODUCT_PACKAGES += sensors.$(MTK_BASE_PROJECT)
endif
# sensor related xml files for CTS
ifeq ($(strip $(CUSTOM_KERNEL_ACCELEROMETER)),yes)
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml
endif
ifeq ($(strip $(CUSTOM_KERNEL_MAGNETOMETER)),yes)
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml
endif
ifeq ($(strip $(CUSTOM_KERNEL_ALSPS)),yes)
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml
else
ifeq ($(strip $(CUSTOM_KERNEL_PS)),yes)
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml
endif
ifeq ($(strip $(CUSTOM_KERNEL_ALS)),yes)
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml
endif
endif
ifeq ($(strip $(CUSTOM_KERNEL_GYROSCOPE)),yes)
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml
endif
ifeq ($(strip $(CUSTOM_KERNEL_BAROMETER)),yes)
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml
endif
ifeq ($(strip $(CUSTOM_KERNEL_HUMIDITY)),yes)
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.relative_humidity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.relative_humidity.xml
endif
ifeq ($(strip $(CUSTOM_KERNEL_STEP_COUNTER)),yes)
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml
endif
ifeq ($(strip $(CUSTOM_KERNEL_STEP_DETECTOR)),yes)
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml
endif
# for hifi sensors feature
ifeq ($(strip $(CUSTOM_HIFI_SENSORS)), yes)
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml
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
# PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.telephony.euicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.euicc.xml
# 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
# 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
# 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_ALL 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 += device/mediatek/common/project_manifest/manifest_log.xml
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtklog_internal=1
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.customer_logpath=/data
PRODUCT_PACKAGES += log-handler
PRODUCT_PACKAGES += loghidlsysservice
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
ifeq ($(strip $(MTK_MTKLOGGER_SUPPORT)),yes)
PRODUCT_PACKAGES += DebugLoggerUI
ifeq ($(strip $(MTK_BTLOGGER_SUPPORT)),yes)
PRODUCT_PACKAGES += BtTool
endif
endif
ifeq ($(strip $(MTK_NETWORK_LOG_SUPPORT)),yes)
PRODUCT_PACKAGES += netdiag
PRODUCT_PACKAGES += trace
endif
ifeq ($(strip $(MTK_LOG_SUPPORT_MOBILE_LOG)),yes)
PRODUCT_PACKAGES += mobile_log_d
endif
ifeq ($(strip $(MTK_CONSYSLOGGER_SUPPORT)),yes)
PRODUCT_PACKAGES += connsyslogger
endif
# Add for ModemMonitor(MDM) framework
ifeq ($(strip $(MTK_MODEM_MONITOR_SUPPORT)),yes)
DEVICE_MANIFEST_FILE += device/mediatek/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 $(MSSI_MTK_AEE_SUPPORT)),yes)
MSSI_HAVE_AEE_FEATURE = yes
else
MSSI_HAVE_AEE_FEATURE = no
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)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtklog_internal=1
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.customer_logpath=/data
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_log.xml
PRODUCT_PACKAGES += log-handler
PRODUCT_PACKAGES += loghidlsysservice
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
ifeq ($(strip $(MTK_MTKLOGGER_SUPPORT)),yes)
PRODUCT_PACKAGES += DebugLoggerUI
ifeq ($(strip $(MTK_BTLOGGER_SUPPORT)),yes)
PRODUCT_PACKAGES += BtTool
endif
endif
ifeq ($(strip $(MTK_NETWORK_LOG_SUPPORT)),yes)
PRODUCT_PACKAGES += netdiag
PRODUCT_PACKAGES += trace
endif
ifeq ($(strip $(MTK_LOG_SUPPORT_MOBILE_LOG)),yes)
PRODUCT_PACKAGES += mobile_log_d
endif
ifeq ($(strip $(MTK_CONSYSLOGGER_SUPPORT)),yes)
PRODUCT_PACKAGES += connsyslogger
endif
# Add for ModemMonitor(MDM) framework
ifeq ($(strip $(MTK_MODEM_MONITOR_SUPPORT)),yes)
DEVICE_MANIFEST_FILE += device/mediatek/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 $(MSSI_MTK_AEE_SUPPORT)),yes)
MSSI_HAVE_AEE_FEATURE = yes
else
MSSI_HAVE_AEE_FEATURE = no
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)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.customer_logpath=/data
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_log.xml
PRODUCT_PACKAGES += log-handler
PRODUCT_PACKAGES += loghidlsysservice
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
ifeq ($(strip $(MTK_MTKLOGGER_SUPPORT)),yes)
PRODUCT_PACKAGES += DebugLoggerUI
ifeq ($(strip $(MTK_BTLOGGER_SUPPORT)),yes)
PRODUCT_PACKAGES += BtTool
endif
endif
ifeq ($(strip $(MTK_NETWORK_LOG_SUPPORT)),yes)
PRODUCT_PACKAGES += netdiag
PRODUCT_PACKAGES += trace
endif
ifeq ($(strip $(MTK_LOG_SUPPORT_MOBILE_LOG)),yes)
PRODUCT_PACKAGES += mobile_log_d
endif
ifeq ($(strip $(MTK_CONSYSLOGGER_SUPPORT)),yes)
PRODUCT_PACKAGES += connsyslogger
endif
# Add for ModemMonitor(MDM) framework
ifeq ($(strip $(MTK_MODEM_MONITOR_SUPPORT)),yes)
DEVICE_MANIFEST_FILE += device/mediatek/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 $(MSSI_MTK_AEE_SUPPORT)),yes)
MSSI_HAVE_AEE_FEATURE = yes
else
MSSI_HAVE_AEE_FEATURE = no
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
MSSI_HAVE_AEE_FEATURE = no
HAVE_AEE_FEATURE = no
HAVE_MTK_DEBUG_SEPOLICY = no
endif
# AEE Config
ifeq ($(MSSI_HAVE_AEE_FEATURE),yes)
ifneq ($(wildcard vendor/mediatek/proprietary/external/aee_config_internal/init.aee.mtk.system.rc),)
$(call inherit-product-if-exists, vendor/mediatek/proprietary/external/aee_config_internal/aee_system.mk)
else
$(call inherit-product-if-exists, vendor/mediatek/proprietary/external/aee/config_external/aee_system.mk)
endif
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/external/aee/binary/aee-config:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/aee-config:mtk
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.vendor.have_aee_feature=1
# MRDUMP
PRODUCT_PACKAGES += \
mrdump_tool
ifeq ($(MTK_PRODUCT_LINE), smart_phone)
PRODUCT_PACKAGES += \
dconfig \
doecmd \
dtc_vendor
PRODUCT_HOST_PACKAGES += \
dconfig
# DExecutor
PRODUCT_PACKAGES += \
dexecutor \
dreport \
doeapp-memtester \
doeapp-sat
endif
#system bins
PRODUCT_PACKAGES += aee
PRODUCT_PACKAGES += aeedb
PRODUCT_PACKAGES += aee_aed
PRODUCT_PACKAGES += aee_aed64
PRODUCT_PACKAGES += aee_core_forwarder
PRODUCT_PACKAGES += aee_dumpstate
PRODUCT_PACKAGES += rtt
PRODUCT_PACKAGES += libaed
ifeq ($(strip $(MTK_BASIC_PACKAGE)), yes)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.vendor.aee.basic=yes
PRODUCT_PACKAGES += DropBoxReceiver
endif
endif # MSSI_HAVE_AEE_FEATURE
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:$(TARGET_COPY_OUT_VENDOR)/etc/aee-config:mtk
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.have_aeev_feature=1
#vendor bins
PRODUCT_PACKAGES += aeev
PRODUCT_PACKAGES += aee_aedv
PRODUCT_PACKAGES += aee_aedv64
PRODUCT_PACKAGES += aee_dumpstatev
PRODUCT_PACKAGES += rttv
PRODUCT_PACKAGES += libaedv
PRODUCT_PACKAGES += \
vendor.mediatek.hardware.log@1.0-service
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 default mode for customer setting
ifeq ($(strip $(MTK_MDLOGGER_SUPPORT)), yes)
ifeq ($(strip $(MTK_MDLOGGER_DEFAUTL_MODE)), 1)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.vendor.mdlog.defalut.mode=1
endif
ifeq ($(strip $(MTK_MDLOGGER_DEFAUTL_MODE)), 2)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.vendor.mdlog.defalut.mode=2
endif
ifeq ($(strip $(MTK_MDLOGGER_DEFAUTL_MODE)), 3)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.vendor.mdlog.defalut.mode=3
endif
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)
PRODUCT_PACKAGES += \
libmdloggerrecycle \
libmemoryDumpEncoder \
mdlogger
ifneq ($(strip $(MTK_MD1_SUPPORT)),)
ifneq ($(strip $(MTK_MD1_SUPPORT)),0)
PRODUCT_PACKAGES += emdlogger1
PRODUCT_PACKAGES += libsysenv_system
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.md_log_memdump_wait=15
endif
endif
ifneq ($(strip $(MTK_MD2_SUPPORT)),)
ifneq ($(strip $(MTK_MD2_SUPPORT)),0)
PRODUCT_PACKAGES += emdlogger2
endif
endif
ifneq ($(strip $(MTK_MD5_SUPPORT)),)
ifneq ($(strip $(MTK_MD5_SUPPORT)),0)
PRODUCT_PACKAGES += emdlogger5
endif
endif
# $(call inherit-product-if-exists, vendor/mediatek/proprietary/protect-app/external/emdlogger/usb_port.mk)
ifneq ($(wildcard device/mediatek/$(MTK_PLATFORM_DIR)/emdlogger_usb_config.prop),)
PRODUCT_COPY_FILES += device/mediatek/$(MTK_PLATFORM_DIR)/emdlogger_usb_config.prop:system/etc/emdlogger_usb_config.prop:mtk
endif
endif
ifneq ($(strip $(MTK_MDLOGGER_SUPPORT)),yes)
ifeq ($(strip $(RAT_CONFIG_C2K_SUPPORT)),yes)
PRODUCT_PACKAGES += libmdloggerrecycle
endif
endif
ifeq ($(strip $(RAT_CONFIG_C2K_SUPPORT)),yes)
PRODUCT_PACKAGES += emdlogger3
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)
PRODUCT_PACKAGES += \
libmdloggerrecycle \
libmemoryDumpEncoder \
mdlogger
ifneq ($(strip $(MTK_MD1_SUPPORT)),)
ifneq ($(strip $(MTK_MD1_SUPPORT)),0)
PRODUCT_PACKAGES += emdlogger1
PRODUCT_PACKAGES += libsysenv_system
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.md_log_memdump_wait=15
endif
endif
ifneq ($(strip $(MTK_MD2_SUPPORT)),)
ifneq ($(strip $(MTK_MD2_SUPPORT)),0)
PRODUCT_PACKAGES += emdlogger2
endif
endif
ifneq ($(strip $(MTK_MD5_SUPPORT)),)
ifneq ($(strip $(MTK_MD5_SUPPORT)),0)
PRODUCT_PACKAGES += emdlogger5
endif
endif
# $(call inherit-product-if-exists, vendor/mediatek/proprietary/protect-app/external/emdlogger/usb_port.mk)
ifneq ($(wildcard device/mediatek/$(MTK_PLATFORM_DIR)/emdlogger_usb_config.prop),)
PRODUCT_COPY_FILES += device/mediatek/$(MTK_PLATFORM_DIR)/emdlogger_usb_config.prop:system/etc/emdlogger_usb_config.prop:mtk
endif
endif
ifneq ($(strip $(MTK_MDLOGGER_SUPPORT)),yes)
ifeq ($(strip $(RAT_CONFIG_C2K_SUPPORT)),yes)
PRODUCT_PACKAGES += libmdloggerrecycle
endif
endif
ifeq ($(strip $(RAT_CONFIG_C2K_SUPPORT)),yes)
PRODUCT_PACKAGES += emdlogger3
endif
else ifeq ($(strip $(MTK_LOG_CUSTOMER_SUPPORT)),yes)
HAVE_MTK_DEBUG_SEPOLICY = yes
ifeq ($(strip $(MTK_MDLOGGER_SUPPORT)),yes)
PRODUCT_PACKAGES += \
libmdloggerrecycle \
libmemoryDumpEncoder \
mdlogger
ifneq ($(strip $(MTK_MD1_SUPPORT)),)
ifneq ($(strip $(MTK_MD1_SUPPORT)),0)
PRODUCT_PACKAGES += emdlogger1
PRODUCT_PACKAGES += libsysenv_system
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.md_log_memdump_wait=15
endif
endif
ifneq ($(strip $(MTK_MD2_SUPPORT)),)
ifneq ($(strip $(MTK_MD2_SUPPORT)),0)
PRODUCT_PACKAGES += emdlogger2
endif
endif
ifneq ($(strip $(MTK_MD5_SUPPORT)),)
ifneq ($(strip $(MTK_MD5_SUPPORT)),0)
PRODUCT_PACKAGES += emdlogger5
endif
endif
# $(call inherit-product-if-exists, vendor/mediatek/proprietary/protect-app/external/emdlogger/usb_port.mk)
ifneq ($(wildcard device/mediatek/$(MTK_PLATFORM_DIR)/emdlogger_usb_config.prop),)
PRODUCT_COPY_FILES += device/mediatek/$(MTK_PLATFORM_DIR)/emdlogger_usb_config.prop:system/etc/emdlogger_usb_config.prop:mtk
endif
endif
ifneq ($(strip $(MTK_MDLOGGER_SUPPORT)),yes)
ifeq ($(strip $(RAT_CONFIG_C2K_SUPPORT)),yes)
PRODUCT_PACKAGES += libmdloggerrecycle
endif
endif
ifeq ($(strip $(RAT_CONFIG_C2K_SUPPORT)),yes)
PRODUCT_PACKAGES += emdlogger3
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 += \
device/mediatek/common/overlay/swphone \
device/mediatek/common/overlay/accdet \
device/mediatek/common/overlay/tether \
device/mediatek/common/overlay/multiuser \
device/mediatek/common/overlay/power \
device/mediatek/common/overlay/wallpaper \
device/mediatek/common/overlay/sensor \
device/mediatek/common/overlay/pq \
device/mediatek/common/overlay/tcp
PRODUCT_ENFORCE_RRO_TARGETS += framework-res
# Add vendor minijail policy for mediacodec service for Android O
PRODUCT_COPY_FILES += device/mediatek/common/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 += device/mediatek/common/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 += device/mediatek/common/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaswcodec.policy:mtk
# Add for mediatek-telecom-common.jar
ifdef MTK_BASIC_PACKAGE
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
ifneq ($(strip $(MSSI_MTK_TC1_COMMON_SERVICE)), yes)
ifneq ($(wildcard vendor/mediatek/proprietary/frameworks/opt/telecomm/Android.bp),)
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
PRODUCT_PACKAGES += mediatek-telecom-common
PRODUCT_BOOT_JARS += mediatek-telecom-common
endif
endif
endif
endif
endif
# Add for MtkCarrierConfig
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
ifneq ($(wildcard vendor/mediatek/proprietary/packages/apps/CarrierConfig/Android.bp),)
PRODUCT_PACKAGES += MtkCarrierConfig
endif
endif
endif
#Add ams-aal config file
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,vendor/mediatek/proprietary/frameworks/base/core/java/com/mediatek/amsAal/ams_aal_config.xml:system/etc/ams_aal_config.xml:mtk)
# 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
ifneq ($(MTK_BUILD_IGNORE_IMS_REPO),yes)
MTK_IMS_DEPENDENCY_ENABLED := 1
ifdef CUSTOM_MODEM
ifeq ($(strip $(TARGET_BUILD_VARIANT)),eng)
MTK_MODEM_MODULE_MAKEFILES := $(foreach item,$(CUSTOM_MODEM),$(firstword $(wildcard vendor/mediatek/proprietary/modem/$(patsubst %_prod,%,$(item))/Android.mk vendor/mediatek/proprietary/modem/$(item)/Android.mk)))
else
MTK_MODEM_MODULE_MAKEFILES := $(foreach item,$(CUSTOM_MODEM),$(firstword $(wildcard vendor/mediatek/proprietary/modem/$(patsubst %_prod,%,$(item))_prod/Android.mk vendor/mediatek/proprietary/modem/$(item)/Android.mk)))
endif
MTK_MODEM_APPS_MAKEFILES :=
$(foreach f,$(MTK_MODEM_MODULE_MAKEFILES),\
$(if $(strip $(MTK_MODEM_APPS_MAKEFILES)),,\
$(eval MTK_MODEM_APPS_MAKEFILES := $(wildcard $(patsubst %/Android.mk,%/makefile/product_*.mk,$(f))))\
)\
)
$(foreach f,$(MTK_MODEM_APPS_MAKEFILES),\
$(eval $(call inherit-product-if-exists,$(f)))\
)
endif
endif
ifdef CUSTOM_MODEM
PRODUCT_PACKAGES += mcf_ota
ifeq ($(strip $(TARGET_BUILD_VARIANT)),eng)
MTK_MODEM_MODULE_MAKEFILES := $(foreach item,$(CUSTOM_MODEM),$(firstword $(wildcard vendor/mediatek/proprietary/modem/$(patsubst %_prod,%,$(item))/Android.mk vendor/mediatek/proprietary/modem/$(item)/Android.mk)))
else
MTK_MODEM_MODULE_MAKEFILES := $(foreach item,$(CUSTOM_MODEM),$(firstword $(wildcard vendor/mediatek/proprietary/modem/$(patsubst %_prod,%,$(item))_prod/Android.mk vendor/mediatek/proprietary/modem/$(item)/Android.mk)))
endif
MTK_MODEM_MDDB_MCF_ODB_FILES :=
$(foreach f,$(MTK_MODEM_MODULE_MAKEFILES),\
$(if $(strip $(MTK_MODEM_MDDB_MCF_ODB_FILES)),,\
$(eval MTK_MODEM_MDDB_MCF_ODB_FILES := $(wildcard $(patsubst %/Android.mk,%/MDDB.MCF.ODB.tar.gz,$(f))))\
)\
)
$(foreach f,$(MTK_MODEM_MDDB_MCF_ODB_FILES),\
$(eval PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists, $(f):MDDB.MCF.ODB.tar.gz))\
)
endif
ifeq ($(strip $(MTK_SINGLE_BIN_MODEM_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_single_bin_modem_support=1
endif
PRODUCT_PACKAGES += libandroid_net
# A/B System updates
ifeq ($(strip $(MTK_AB_OTA_UPDATER)), yes)
PRODUCT_PACKAGES += \
update_engine \
update_engine_sideload \
update_verifier
PRODUCT_HOST_PACKAGES += \
delta_generator \
shflags \
brillo_update_payload \
bsdiff \
simg2img
PRODUCT_PACKAGES_DEBUG += \
update_engine_client \
bootctl
PRODUCT_PACKAGES += mtk_plpath_utils
PRODUCT_PACKAGES += mtk_plpath_utils.recovery
# 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
# bootctrl AIDL
PRODUCT_PACKAGES += \
android.hardware.boot-service_common-mtk \
android.hardware.boot-service.mtk \
android.hardware.boot-service.mtk-service-lazy \
android.hardware.boot-service.mtk_recovery \
# 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 += device/mediatek/common/project_manifest/manifest_boot.xml
endif
-include vendor/mediatek/build/core/releaseBRM.mk
# Add for telephony resource overlay
DEVICE_PACKAGE_OVERLAYS += device/mediatek/common/overlay/telephony
#getgameserver
ifneq ($(strip $(MTK_GMO_RAM_OPTIMIZE)), yes)
PRODUCT_PACKAGES += getgameserver
PRODUCT_PACKAGES += testgameserver
endif
# If telephony add on is supported, add it into Product packages
#TelephonyProvider AOSP code will be replaced by MTK
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(wildcard vendor/mediatek/proprietary/packages/providers/Telephony/TelephonyProvider/Android.bp),)
PRODUCT_PACKAGES += \
MtkTelephonyProvider
endif
endif
# If telephony add on is supported, add it into Product packages
ifeq ($(strip $(MSSI_MTK_TELEPHONY_ADD_ON_POLICY)), 0)
# ContactsProvider AOSP code will be replaced by MTK
ifneq ($(strip $(MSSI_MTK_OVERRIDES_APKS)), no)
# Disable in tc1 project
ifneq ($(strip $(MSSI_MTK_TC1_COMMON_SERVICE)), yes)
ifneq ($(wildcard vendor/mediatek/proprietary/packages/providers/ContactsProvider/Android.bp),)
PRODUCT_PACKAGES += \
MtkContactsProvider
endif
endif
endif
endif
#netdagent
PRODUCT_PACKAGES += netdagent
PRODUCT_PACKAGES += netdc
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_netdagent.xml
PRODUCT_COPY_FILES += \
device/mediatek/system/common/oem-iptables-init.sh:system/bin/oem-iptables-init.sh
#tetheroffload
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
# Contacts AOSP code will be replaced by MTK
ifneq ($(strip $(MTK_OVERRIDES_APKS)), no)
# If telephony add on is supported, add it into Product packages
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
# Disable in tc1 project
ifneq ($(strip $(MSSI_MTK_TC1_COMMON_SERVICE)), yes)
ifneq ($(wildcard vendor/mediatek/proprietary/packages/apps/Contacts/Android.bp),)
PRODUCT_PACKAGES += MtkContacts
ifneq ($(strip $(BUILD_GMS)), yes)
PRODUCT_PACKAGES += MtkSimProcessor
endif
endif
endif
endif
endif
#netutils-wrapper
PRODUCT_PACKAGES += netutils-wrapper-1.0
# Dialer AOSP code will be replaced by MTK
ifndef MTK_TB_WIFI_3G_MODE
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(strip $(MSSI_MTK_TC1_COMMON_SERVICE)), yes)
ifneq ($(wildcard vendor/mediatek/proprietary/packages/apps/Dialer/Android.mk),)
PRODUCT_PACKAGES += \
MtkDialer
endif
endif
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
# When telephony add on support, use MtkSystemUI override SystemUI
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(strip $(MTK_TC1_COMMON_SERVICE)), yes)
PRODUCT_PACKAGES += MtkSystemUI
endif
endif
# WifiResOverlay
PRODUCT_PACKAGES += WifiResOverlay
# CellbroadcastUIResOverlay
PRODUCT_PACKAGES += CellbroadcastUIResOverlay
# SettingsProviderResOverlay
PRODUCT_PACKAGES += SettingsProviderResOverlay
# FrameworkResOverlay
PRODUCT_PACKAGES += FrameworkResOverlay
#NetworkStack RRO
PRODUCT_PACKAGES += NetworkStackResOverlay
PRODUCT_PACKAGES += GoogleNetworkStackResOverlay
PRODUCT_PACKAGES += NetworkStackInProcessResOverlay
# Tethering RRO
PRODUCT_PACKAGES += TetheringResOverlay
PRODUCT_PACKAGES += InProcessTetheringResOverlay
PRODUCT_PACKAGES += GoogleTetheringResOverlay
# Stk APP built in according to package.
ifneq ($(strip $(MTK_TB_WIFI_3G_MODE)),WIFI_ONLY)
# if telephony add on not support, no need to install telephony add on related APKs
ifeq ($(strip $(MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(strip $(MTK_TC1_COMMON_SERVICE)), yes)
PRODUCT_PACKAGES += Stk1
else
PRODUCT_PACKAGES += Stk
endif
else
PRODUCT_PACKAGES += Stk
endif
endif
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)
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,vendor/mediatek/proprietary/frameworks/base/data/etc/system-ext-permissions-mediatek.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/system-ext-permissions-mediatek.xml)
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,vendor/mediatek/proprietary/frameworks/base/data/etc/product-permissions-mediatek.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/product-permissions-mediatek.xml)
endif
# If telephony add on is supported, add it into Product packages
# MMSService AOSP code will be replaced by MTK
ifeq ($(strip $(MSSI_MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(strip $(MSSI_MTK_TC1_COMMON_SERVICE)), yes)
ifneq ($(wildcard vendor/mediatek/proprietary/packages/services/Mms/Android.bp),)
PRODUCT_PACKAGES += \
MtkMmsService
endif
endif
endif
# If telephony add on is supported, add it into Product packages
# TelephonyProvider AOSP code will be replaced by MTK
ifeq ($(strip $(MSSI_MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(wildcard vendor/mediatek/proprietary/packages/providers/TelephonyProvider/Android.bp),)
PRODUCT_PACKAGES += \
MtkTelephonyProvider
endif
endif
# Use Mtk Gallery to override AOSP Gallery
ifeq ($(strip $(MTK_EMULATOR_SUPPORT)),yes)
PRODUCT_PACKAGES += SDKGallery
else
PRODUCT_PACKAGES += Gallery2
PRODUCT_PACKAGES += MtkGallery2
PRODUCT_PACKAGES += Gallery2Root
PRODUCT_PACKAGES += Gallery2Drm
PRODUCT_PACKAGES += Gallery2Gif
PRODUCT_PACKAGES += Gallery2Pq
PRODUCT_PACKAGES += Gallery2PqTool
PRODUCT_PACKAGES += Gallery2Raw
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)
# Disable in tc1 project
ifneq ($(strip $(MSSI_MTK_TC1_COMMON_SERVICE)), yes)
PRODUCT_PACKAGES += MtkSettings
endif
endif
#For ATM test with WiFi
#ifneq ($(strip $(MTK_GMO_ROM_OPTIMIZE)), yes)
# PRODUCT_PACKAGES += ATMWifiMeta
#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
PRODUCT_PACKAGES += \
libvibratormediatekimpl \
android.hardware.vibrator-service.mediatek
# Light HAL
PRODUCT_PACKAGES += \
android.hardware.lights-service.mediatek
ifeq ($(strip $(CUSTOM_KERNEL_BIOMETRIC_SENSOR)),yes)
PRODUCT_PACKAGES += biosensord_nvram
PRODUCT_PACKAGES += libbiosensor
endif
# MtkSystemServices for decouple AOSP systemserver
PRODUCT_PACKAGES += mediatek-services
# Add for PMS support removable system app
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
ifeq ($(strip $(MSSI_MTK_CTA_SET)), yes)
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists, \
vendor/mediatek/proprietary/frameworks/base/data/etc/pms_sysapp_removable_system_list.txt:system/etc/permissions/pms_sysapp_removable_system_list.txt)
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists, \
vendor/mediatek/proprietary/frameworks/base/data/etc/pms_sysapp_removable_vendor_list.txt:system/etc/permissions/pms_sysapp_removable_vendor_list.txt)
endif
endif
# Framework add on for net modules
ifneq ($(wildcard vendor/mediatek/proprietary/frameworks/opt/net/services/Android.bp),)
ifeq ($(strip $(MSSI_MTK_TELEPHONY_ADD_ON_POLICY)), 0)
ifneq ($(strip $(MSSI_MTK_TC1_COMMON_SERVICE)), yes)
PRODUCT_PACKAGES += mediatek-framework-net
endif
endif
endif
# move proprietary mount point to vendor
PRODUCT_PACKAGES += gen_mount_point_for_ab
PRODUCT_PACKAGES += MusicBspPlus
# Presence
ifeq ($(strip $(MTK_UCE_SUPPORT)), yes)
PRODUCT_PACKAGES += \
Presence
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.vendor.mtk_uce_support=1
endif
# Rcs UA
ifeq ($(strip $(MTK_RCS_UA_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += persist.vendor.mtk_rcs_ua_support=1
PRODUCT_PACKAGES += \
RcsUaService \
com.mediatek.ims.rcsua \
com.mediatek.ims.rcsua.xml \
AutoConfigService \
volte_rcs_ua \
vendor.mediatek.hardware.rcs@1.0.so \
rcs_volte_stack \
librcs_volte_core \
librcs_interface
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_rcs.xml
endif
# 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
# Camera app
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_camera_app_version=$(strip $(MTK_CAMERA_APP_VERSION))
# For IWLAN operation mode
PRODUCT_PROPERTY_OVERRIDES += ro.telephony.iwlan_operation_mode=AP-assisted
PRODUCT_PACKAGES += check-mtk-hidl
# MPE
ifeq ($(strip $(MTK_MPE_SUPPORT)),yes)
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/hardware/connectivity/gps/mtk_mnld/etc/mpe.conf:$(TARGET_COPY_OUT_VENDOR)/etc/mpe.conf:mtk
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/internal/em_enable),)
PRODUCT_PACKAGES += atci_service
PRODUCT_PACKAGES += atci_service_sys
PRODUCT_PACKAGES += libatciserv_jni
PRODUCT_PACKAGES += AtciService
else
ifeq ($(strip $(MTK_CUSTOM_USERLOAD_ENGINEERMODE)), yes)
PRODUCT_PACKAGES += atci_service
PRODUCT_PACKAGES += atci_service_sys
PRODUCT_PACKAGES += libatciserv_jni
PRODUCT_PACKAGES += AtciService
endif
endif
endif
MTK_AVB_IMG_RELEASE_AUTH = no
ifeq ($(MTK_DYNAMIC_PARTITION_SUPPORT), yes)
PRODUCT_USE_DYNAMIC_PARTITIONS := true
endif
PRODUCT_SHIPPING_API_LEVEL := $(strip $(word 1,$(PRODUCT_SHIPPING_API_LEVEL)))
# setup avb2.0 configs.
MAIN_VBMETA_IN_BOOT ?= no
ifeq (-4.9-lc,$(findstring -4.9-lc,$(LINUX_KERNEL_VERSION)))
BOARD_AVB_ENABLE ?= true
else ifeq (-4.9,$(findstring -4.9,$(LINUX_KERNEL_VERSION)))
BOARD_AVB_ENABLE ?= true
else ifeq (-4.14,$(findstring -4.14,$(LINUX_KERNEL_VERSION)))
BOARD_AVB_ENABLE ?= true
else ifeq (-4.4,$(findstring -4.4,$(LINUX_KERNEL_VERSION)))
BOARD_AVB_ENABLE ?= true
else ifeq (-4.19,$(findstring -4.19,$(LINUX_KERNEL_VERSION)))
BOARD_AVB_ENABLE ?= true
endif
PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/by-name/system
PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/by-name/vendor
ifeq ($(strip $(BOARD_AVB_ENABLE)), true)
#settings for main vbmeta
BOARD_AVB_ALGORITHM ?= SHA256_RSA2048
BOARD_AVB_KEY_PATH ?= device/mediatek/common/oem_prvk.pem
BOARD_AVB_ROLLBACK_INDEX ?= 0
SET_RECOVERY_AS_CHAIN ?= yes
ifeq ($(strip $(MAIN_VBMETA_IN_BOOT)),no)
ifeq ($(strip $(SET_RECOVERY_AS_CHAIN)),yes)
#settings for recovery, which is configured as chain partition
BOARD_AVB_RECOVERY_KEY_PATH := device/mediatek/common/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
BOARD_AVB_BOOT_KEY_PATH := device/mediatek/common/boot_prvk.pem
BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA2048
BOARD_AVB_BOOT_ROLLBACK_INDEX := 0
BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 3
endif
ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS), true)
BOARD_AVB_VBMETA_SYSTEM := system
BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := device/mediatek/common/system_prvk.pem
BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := 0
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
BOARD_AVB_VBMETA_VENDOR := vendor
BOARD_AVB_VBMETA_VENDOR_KEY_PATH := device/mediatek/common/vendor_prvk.pem
BOARD_AVB_VBMETA_VENDOR_ALGORITHM := SHA256_RSA2048
BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX := 0
BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX_LOCATION := 4
else
#settings for system, which is configured as chain partition
BOARD_AVB_SYSTEM_KEY_PATH := device/mediatek/common/system_prvk.pem
BOARD_AVB_SYSTEM_ALGORITHM := SHA256_RSA2048
BOARD_AVB_SYSTEM_ROLLBACK_INDEX := 0
BOARD_AVB_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
#settings for vendor, which is configured as chain partition
BOARD_AVB_VENDOR_KEY_PATH := device/mediatek/common/vendor_prvk.pem
BOARD_AVB_VENDOR_ALGORITHM := SHA256_RSA2048
BOARD_AVB_VENDOR_ROLLBACK_INDEX := 0
BOARD_AVB_VENDOR_ROLLBACK_INDEX_LOCATION := 4
endif
BOARD_AVB_SYSTEM_ADD_HASHTREE_FOOTER_ARGS := --hash_algorithm sha256
BOARD_AVB_VENDOR_ADD_HASHTREE_FOOTER_ARGS := --hash_algorithm sha256
BOARD_AVB_PRODUCT_ADD_HASHTREE_FOOTER_ARGS := --hash_algorithm sha256
BOARD_AVB_ODM_ADD_HASHTREE_FOOTER_ARGS := --hash_algorithm sha256
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))
ifeq (yes,$(MTK_TINYSYS_SCP_SUPPORT))
PRODUCT_PACKAGES += tinysys-scp
endif
ifeq (yes,$(MTK_AUDIODSP_SUPPORT))
PRODUCT_PACKAGES += tinysys-adsp
endif
# Load parameters of BesLoudness and ACF
PRODUCT_PACKAGES += libaudiocompensationfilter_vendor
ifeq (yes,$(MTK_TINYSYS_SSPM_SUPPORT))
PRODUCT_PACKAGES += tinysys-sspm
endif
ifeq (yes,$(MTK_TINYSYS_MCUPM_SUPPORT))
PRODUCT_PACKAGES += tinysys-mcupm
endif
# NeuroPilot NN SDK
ifeq ($(strip $(MTK_NN_SDK_SUPPORT)), yes)
PRODUCT_PACKAGES += libneuropilot
PRODUCT_PACKAGES += libtflite_mtk
PRODUCT_PACKAGES += libtflite_mtk.vendor
PRODUCT_PACKAGES += libtflite_mtk_static
PRODUCT_PACKAGES += libneuropilot_jni
PRODUCT_PACKAGES += libneuroeara
endif
# NeuroPilot Hal Util
PRODUCT_PACKAGES += libneuropilot_hal_utils
PRODUCT_PACKAGES += libneuropilot_hal_utils.vendor
ifeq ($(strip $(MTK_IMSI_SWITCH_SUPPORT)),yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_imsi_switch_support=1
endif
#Boot performance
PRODUCT_COPY_FILES += device/mediatek/common/bootperf.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/bootperf.rc
# App open msync
ifeq ($(strip $(MTK_BSP_PACKAGE)),yes)
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/frameworks/base/data/etc/open_msync_app_list.xml:system/etc/open_msync_app_list.xml:mtk
endif
# App Resolution Tuner
ifeq ($(strip $(MTK_BSP_PACKAGE)),yes)
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/frameworks/base/data/etc/resolution_tuner_app_list.xml:system/etc/resolution_tuner_app_list.xml:mtk
endif
ifeq ($(strip $(MTK_APP_RESOLUTION_TUNER_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.app_resolution_tuner=1
else ifeq ($(strip $(MTK_GAME_AISR_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.app_resolution_tuner=1
endif
# 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
PRODUCT_PACKAGES_DEBUG += eeprom_write
# camera meta
PRODUCT_PACKAGES_ENG += camtest_metadataconverter
PRODUCT_PACKAGES_ENG += camtest_metadata
# ACDK UT
PRODUCT_PACKAGES_ENG += acdk_camshottest
# camera test
PRODUCT_PACKAGES_ENG += ImageIoCamsv_Test
PRODUCT_PACKAGES_ENG += ImageIo_Test
PRODUCT_PACKAGES_ENG += IspDrv_Test
PRODUCT_PACKAGES_ENG += tuningTest
PRODUCT_PACKAGES_ENG += iopipeTest
PRODUCT_PACKAGES_ENG += sensorprovider.test
PRODUCT_PACKAGES_ENG += camshottest
# netlog compress so
PRODUCT_PACKAGES += libcompress
# For Telepony Assist
ifneq ($(strip $(MSSI_MTK_TC1_COMMON_SERVICE)), yes)
ifneq ($(strip $(MTK_TB_WIFI_3G_MODE)), WIFI_ONLY)
PRODUCT_PACKAGES += MtkTelephonyAssist
endif
endif
# PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.base_build=noah
#Gaming with smooth lte mobile data
ifeq ($(strip $(MTK_GWSD_SUPPORT)), yes)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.vendor.mtk_gwsd_support=1
PRODUCT_PACKAGES += mediatek-gwsd
PRODUCT_PACKAGES += libgwsd-ril
endif
ifeq ($(strip $(MTK_GWSD_V2_SUPPORT)), yes)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.vendor.mtk_gwsd_support=1
PRODUCT_PACKAGES += mediatek-gwsdv2
PRODUCT_PACKAGES += libgwsdv2-ril
endif
ifeq ($(strip $(MTK_VODATA_SUPPORT)), yes)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.vendor.vodata_support=1
PRODUCT_PACKAGES += mediatek-vodata
endif
ifeq ($(strip $(MSSI_MTK_AUDIO_ADPCM_SUPPORT)), yes)
PRODUCT_PACKAGES += libmtkadpcmextractor
endif
ifeq ($(strip $(MSSI_MTK_AUDIO_ALAC_SUPPORT)), yes)
PRODUCT_PACKAGES += libmtkalacextractor
endif
ifeq ($(strip $(MSSI_MTK_AUDIO_APE_SUPPORT)), yes)
PRODUCT_PACKAGES += libmtkapeextractor
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
PRODUCT_PACKAGES += libaal_cust
PRODUCT_PACKAGES += libaal_sec
endif
# PQ HIDL
ifeq (,$(filter $(strip $(MTK_PQ_SUPPORT)), no PQ_OFF))
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_pq.xml
endif
PRODUCT_PACKAGES += \
vendor.mediatek.hardware.pq@2.2-service \
vendor.mediatek.hardware.pq@2.15-impl
# MMS HIDL
PRODUCT_PACKAGES += \
vendor.mediatek.hardware.mms@1.3-impl
ifeq ($(strip $(MTK_GMO_RAM_OPTIMIZE)), yes)
PRODUCT_PACKAGES += vendor.mediatek.hardware.mms@1.3-service-lazy
else
PRODUCT_PACKAGES += vendor.mediatek.hardware.mms@1.3-service
endif
# mtk audio/video extractors
ifeq ($(strip $(MSSI_MTK_FLV_PLAYBACK_SUPPORT)), yes)
PRODUCT_PACKAGES += libmtkflvextractor
endif
ifeq ($(strip $(MSSI_MTK_WMV_PLAYBACK_SUPPORT)), yes)
PRODUCT_PACKAGES += libmtkasfextractor
endif
ifeq ($(strip $(MSSI_MTK_AVI_PLAYBACK_SUPPORT)), yes)
PRODUCT_PACKAGES += libmtkaviextractor
endif
# mtk av enhance
PRODUCT_PACKAGES += libmtkavenhancements
PRODUCT_PACKAGES += libmtkmpeg2extractor
PRODUCT_PACKAGES += libmtkmp3extractor
# 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
# 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
# do something for vendor_init
PRODUCT_COPY_FILES += $(LOCAL_PATH)/vendor_init_as_system.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/hw/vendor_init_as_system.rc:mtk
# thumbnail prefer hw codecs
PRODUCT_PROPERTY_OVERRIDES += media.stagefright.thumbnail.prefer_hw_codecs=true
ifeq ($(MTK_DYNAMIC_PARTITION_SUPPORT)), yes)
PRODUCT_PACKAGES += \
fastbootd \
android.hardware.fastboot@1.0-impl-mtk
endif
ifeq ($(strip $(MSSI_MTK_SYSTEM_UPDATE_SUPPORT)), yes)
ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
PRODUCT_PACKAGES += GoogleOtaBinder
PRODUCT_PACKAGES += SystemUpdate
PRODUCT_PACKAGES += SystemUpdateAssistant
endif
endif
ifeq ($(strip $(MSSI_MTK_OMACP_SUPPORT)),yes)
PRODUCT_PACKAGES += Omacp
endif
#for gralloc test
PRODUCT_PACKAGES_ENG += test_grallocutils
PRODUCT_SHIPPING_API_LEVEL := $(strip $(word 1,$(PRODUCT_SHIPPING_API_LEVEL)))
# for TC1 customer
ifeq ($(strip $(MTK_TC1_FEATURE)),yes)
# PRODUCT_PACKAGES += libtc1rft
PRODUCT_PACKAGES += libtc1part
PRODUCT_PACKAGES += libccci_tc1_srv
# test module for eng load
PRODUCT_PACKAGES_ENG += tc1_test
endif
####################################################################################################
##
## MTK Diagnostic Monitoring Framework
##
## 1. Diagnostic Monitoring Collector (DMC)
## - MTK_DMC_SUPPORT: Core implementation of DMC in vendor partition.
## - MSSI_MTK_DMC_SUPPORT: The APM service in system partition, to collect KPI from Android FWK
##
## 2. DMC Application: Modem Analysis Public Interface (MAPI)
## - MTK_MAPI_SUPPORT: Provide vendor executables for PC diagnostic tool.
##
## 3. DMC Application: Modem Diagnostic Monitoring Interface (MDMI)
## - MTK_MDMI_SUPPORT: Defines diagnostic translator for MDMI in vendor partition.
## - MSSI_MDMI_SUPPORT: MDMI libraries defined in GSMA TS.31 in system partition.
##
####################################################################################################
# DMC Framework
ifeq ($(strip $(MSSI_MTK_DMC_SUPPORT)), yes)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.vendor.system.mtk_dmc_support=1
PRODUCT_PACKAGES += ApmService
PRODUCT_PACKAGES += apm-msg-defs
endif
ifeq ($(strip $(MTK_DMC_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_dmc_support=1
PRODUCT_PACKAGES += dmc_core
# Packet Monitor
PRODUCT_PACKAGES += mtk_pkm_service
# Shared library which used by dlopen(), so build it explictly
PRODUCT_PACKAGES += libapmonitor_vendor
PRODUCT_PACKAGES += libpkm
# HIDL manifest
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_dmc.xml
DEVICE_MANIFEST_FILE += device/mediatek/common/project_manifest/manifest_apmonitor.xml
endif
# DMC Application: MDMI
ifeq ($(strip $(MSSI_MTK_MDMI_SUPPORT)), yes)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.vendor.system.mtk_mdmi_support=1
PRODUCT_PACKAGES += libVzw_mdmi_debug
PRODUCT_PACKAGES += libVzw_mdmi_lte
PRODUCT_PACKAGES += libVzw_mdmi_gsm
PRODUCT_PACKAGES += libVzw_mdmi_umts
PRODUCT_PACKAGES += libVzw_mdmi_wifi
PRODUCT_PACKAGES += libVzw_mdmi_ims
PRODUCT_PACKAGES += libVzw_mdmi_commands
PRODUCT_PACKAGES += libVzw_mdmi_wcdma
PRODUCT_PACKAGES += libVzw_mdmi_hsupa
PRODUCT_PACKAGES += libVzw_mdmi_hsdpa
PRODUCT_PACKAGES += libVzw_mdmi_embms
endif
ifeq ($(strip $(MTK_MDMI_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_mdmi_support=1
PRODUCT_PACKAGES += libtranslator_mdmi_v2.8.2
endif
# DMC Application: MAPI
ifeq ($(strip $(MSSI_MTK_MAPI_SUPPORT)), yes)
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.vendor.system.mtk_mapi_support=1
PRODUCT_PACKAGES += mdi_redirector
PRODUCT_PACKAGES += mdi_redirector_ctrl
endif
ifeq ($(strip $(MTK_MAPI_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.mtk_mapi_support=1
PRODUCT_PACKAGES += libtranslator_mapi_v3.0
endif
# Diagnostic Monitoring Log Setting
# Set debug level to [I] in default, enable it in EM APP manually
ifeq ($(strip $(MTK_DMC_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DMC-Core=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DMC-TranslatorLoader=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DMC-TranslatorUtils=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DMC-ReqQManager=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DMC-DmcService=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DMC-ApmService=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DMC-SessionManager=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.DMC-EventsSubscriber=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.LCM-Subscriber=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.APM-Subscriber=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MDM-Subscriber=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.APM-SessionJ=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.APM-SessionN=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.APM-ServiceJ=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.APM-KpiMonitor=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.PKM-MDM=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.PKM-Lib=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.PKM-Monitor=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.PKM-SA=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.PKM-Service=I
endif
ifeq ($(strip $(MTK_MAPI_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MAPI-TranslatorManager=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MAPI-MdiRedirectorCtrl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MAPI-MdiRedirector=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MAPI-NetworkSocketConnection=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MAPI-SocketConnection=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MAPI-SocketListener=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MAPI-CommandProcessor=I
endif
ifeq ($(strip $(MTK_MDMI_SUPPORT)), yes)
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MDMI-TranslatorManager=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MDMI-MdmiRedirectorCtrl=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MDMI-MdmiRedirector=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MDMI-Permission=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MDMI-CoreSession=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MDMI-NetworkSocketConnection=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MDMI-SocketConnection=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MDMI-SocketListener=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MDMI-CommandProcessor=I
PRODUCT_PROPERTY_OVERRIDES += persist.log.tag.MDMI-Provider=I
endif
####################################################################################################
## MTK Diagnostic Monitoring Framework End
####################################################################################################
# lazy hal
ifeq ($(strip $(MTK_CAM_LAZY_HAL)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.camera.enableLazyHal=true
PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-service-lazy
endif
####################################################################################################
#for ts_ufozip in libuvvf
ifeq ($(BUILD_MTK_LDVT), yes)
PRODUCT_PACKAGES_ENG += ts_ufozip
endif
####################################################################################################
# From Android Q, GMS devices must preload Google signed Mainline module release
ifeq ($(BUILD_GMS), yes)
PRODUCT_PACKAGE_OVERLAYS += device/mediatek/common/overlay/mainline
ifneq ($(strip $(MTK_GMO_RAM_OPTIMIZE)), yes)
ifneq ($(call math_gt_or_eq,$(PRODUCT_SHIPPING_API_LEVEL),29),)
# FBE device can support updatable APEX
# FBE is mandatory for Q new launching device
# Mainline partner build config - updatable APEX
MAINLINE_INCLUDE_WIFI_MODULE := false
$(call inherit-product, vendor/partner_modules/build/mainline_modules.mk)
else
# FDE device cannot support updatable APEX
# P OTA to Q project may be FDE
# Mainline partner build config - flatten APEX, non low RAM
OVERRIDE_TARGET_FLATTEN_APEX := true
PRODUCT_PROPERTY_OVERRIDES += ro.apex.updatable=false
$(call inherit-product, vendor/partner_modules/build/mainline_modules_flatten_apex.mk)
endif
else
# A-Go doesn't support updatable APEX
# Mainline partner build config - low RAM
OVERRIDE_TARGET_FLATTEN_APEX := true
PRODUCT_PROPERTY_OVERRIDES += ro.apex.updatable=false
$(call inherit-product, vendor/partner_modules/build/mainline_modules_low_ram.mk)
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 += device/mediatek/common/project_manifest/manifest_nwk_opt.xml
PRODUCT_PACKAGES += libnwk_opt_halwrap
PRODUCT_PACKAGES += libnwk_opt_halwrap_vendor
endif
endif
ifeq ($(strip $(MTK_ENABLE_GENIEZONE)),yes)
PRODUCT_PACKAGES += gz.img
PRODUCT_PACKAGES += gz.bin
endif
ifeq ($(strip $(MTK_DPM_SUPPORT)),yes)
PRODUCT_PACKAGES += dpm.img
endif
#apdb
PRODUCT_PACKAGES += apdb
#FM Radio
ifeq ($(strip $(MSSI_MTK_FM_SUPPORT)), yes)
PRODUCT_PACKAGES += FMRadio
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
ifeq ($(strip $(MTK_ANDROID_WIDE_GAMUT_DISPLAY)), yes)
PRODUCT_PROPERTY_OVERRIDES += ro.surface_flinger.has_wide_color_display=true
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
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
# Enable Incremental on the device via kernel driver
PRODUCT_PROPERTY_OVERRIDES += ro.incremental.enable=yes
# Enable FUSE passthrough on the device
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += persist.sys.fuse.passthrough.enable=true
ifdef CUSTOM_MODEM
$(foreach item,$(CUSTOM_MODEM),\
$(eval PRODUCT_COPY_FILES += $(call find-copy-subdir-files,*,vendor/mediatek/proprietary/modem/$(item)/mddata,$(TARGET_COPY_OUT_VENDOR)/etc/md)))
endif
ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug),)
PRODUCT_SYSTEM_PROPERTIES += \
arm64.memtag.process.system_server=sync
endif
# M-ProMotion
ifneq ($(strip $(MTK_BASIC_PACKAGE)), yes)
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/frameworks/base/data/etc/msync_ctrl_table.xml:system/etc/msync_ctrl_table.xml:mtk
PRODUCT_COPY_FILES += vendor/mediatek/proprietary/frameworks/opt/msync-lib/lib/msync-lib.jar:system/framework/msync-lib.jar:mtk
endif