#For QSSI, we build only the system image. Here we explicitly set the images
#we build so there is no confusion.

TARGET_BOARD_PLATFORM := qssi
TARGET_BOOTLOADER_BOARD_NAME := qssi

# Skip VINTF checks for kernel configs since we do not have kernel source
PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false

#Enable product partition Native I/F. It is automatically set to current if
#the shipping API level for the target is greater than 29
PRODUCT_PRODUCT_VNDK_VERSION := current

RELAX_USES_LIBRARY_CHECK := true
NEED_AIDL_NDK_PLATFORM_BACKEND := true

#Enable product partition Java I/F. It is automatically set to true if
#the shipping API level for the target is greater than 29
PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE := true

PRODUCT_BUILD_SYSTEM_IMAGE := true
PRODUCT_BUILD_SYSTEM_OTHER_IMAGE := false
PRODUCT_BUILD_VENDOR_IMAGE := false
PRODUCT_BUILD_SYSTEM_EXT_IMAGE := false
PRODUCT_BUILD_ODM_IMAGE := false
PRODUCT_BUILD_CACHE_IMAGE := false
PRODUCT_BUILD_USERDATA_IMAGE := false

# Enable debugfs restrictions
PRODUCT_SET_DEBUGFS_RESTRICTIONS := true

#Also, there is no need to build an OTA package as this will be done later
#when we combine this system build with the non-system images.
TARGET_SKIP_OTA_PACKAGE := true

# Enable AVB 2.0
BOARD_AVB_ENABLE := true

#### Dynamic Partition Handling

####

# Retain the earlier default behavior i.e. ota config (dynamic partition was disabled if not set explicitly), so set
# SHIPPING_API_LEVEL to 28 if it was not set earlier (this is generally set earlier via build.sh per-target)
SHIPPING_API_LEVEL := 33

$(call inherit-product-if-exists, vendor/qcom/defs/product-defs/system/cne_url*.mk)

#### Turning BOARD_DYNAMIC_PARTITION_ENABLE flag to TRUE will enable dynamic partition/super image creation.
# Enable Dynamic partitions only for Q new launch devices and beyond.
ifeq (true,$(call math_gt_or_eq,$(SHIPPING_API_LEVEL),29))
  BOARD_DYNAMIC_PARTITION_ENABLE ?= true
  PRODUCT_SHIPPING_API_LEVEL := $(SHIPPING_API_LEVEL)
else ifeq ($(SHIPPING_API_LEVEL),28)
  BOARD_DYNAMIC_PARTITION_ENABLE ?= false
  $(call inherit-product, build/make/target/product/product_launched_with_p.mk)
endif

ifneq ($(strip $(BOARD_DYNAMIC_PARTITION_ENABLE)),true)
# Enable chain partition for system, to facilitate system-only OTA in Treble.
BOARD_AVB_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_SYSTEM_ALGORITHM := SHA256_RSA2048
BOARD_AVB_SYSTEM_ROLLBACK_INDEX := 0
BOARD_AVB_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
PRODUCT_BUILD_RAMDISK_IMAGE := false
PRODUCT_BUILD_PRODUCT_IMAGE := false
else
PRODUCT_USE_DYNAMIC_PARTITIONS := true
# Disable building the SUPER partition in this build. SUPER should be built
# after QSSI has been merged with the SoC build.
PRODUCT_BUILD_SYSTEM_EXT_IMAGE := true
PRODUCT_BUILD_PRODUCT_IMAGE := true
PRODUCT_BUILD_SUPER_PARTITION := false
PRODUCT_BUILD_RAMDISK_IMAGE := true
BOARD_AVB_VBMETA_SYSTEM := system system_ext product
BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2
endif
#### Dynamic Partition Handling

PRODUCT_SOONG_NAMESPACES += \
    hardware/google/av \
    hardware/google/interfaces

VENDOR_QTI_PLATFORM := qssi
VENDOR_QTI_DEVICE := qssi

#QSSI configuration
#Single system image project structure
TARGET_USES_QSSI := true

TARGET_USES_NEW_ION := true

ENABLE_AB ?= true

TARGET_DEFINES_DALVIK_HEAP := true
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, device/qcom/qssi/common64.mk)

#Inherit all except heap growth limit from phone-xhdpi-2048-dalvik-heap.mk
PRODUCT_PROPERTY_OVERRIDES  += \
     dalvik.vm.heapstartsize=8m \
     dalvik.vm.heapsize=512m \
     dalvik.vm.heaptargetutilization=0.75 \
     dalvik.vm.heapminfree=512k \
     dalvik.vm.heapmaxfree=8m


PRODUCT_NAME := $(VENDOR_QTI_DEVICE)
PRODUCT_DEVICE := $(VENDOR_QTI_DEVICE)
PRODUCT_BRAND := Fairphone
PRODUCT_MODEL := FP5
PRODUCT_MANUFACTURER := Fairphone

# MODIFIED-BEGIN by Gu xiaocong, 2019-12-04,BUG-8671753
# OVERRIDE_TARGET_PRODUCT change
OVERRIDE_TARGET_PRODUCT := FP5
OVERRIDE_TARGET_DEVICE := FP5
# MODIFIED-END by Gu xiaocong,BUG-8671

PRODUCT_EXTRA_VNDK_VERSIONS := 30 31 32

#Initial bringup flags
TARGET_USES_AOSP := false
TARGET_USES_AOSP_FOR_AUDIO := false
TARGET_USES_QCOM_BSP := false

# RRO configuration
TARGET_USES_RRO := true

TARGET_USES_NQ_NFC := false


# default is nosdcard, S/W button enabled in resource
PRODUCT_CHARACTERISTICS := nosdcard
BOARD_FRP_PARTITION_NAME := frp

#Android EGL implementation
PRODUCT_PACKAGES += libGLES_android
PRODUCT_PACKAGES += fsck.exfat
PRODUCT_PACKAGES += mkfs.exfat

PRODUCT_BOOT_JARS += tcmiface
PRODUCT_BOOT_JARS += telephony-ext
PRODUCT_PACKAGES += telephony-ext

TARGET_ENABLE_QC_AV_ENHANCEMENTS := false

TARGET_SYSTEM_PROP += device/qcom/qssi/system.prop

TARGET_DISABLE_DASH := true
TARGET_DISABLE_QTI_VPP := true

ifneq ($(TARGET_DISABLE_DASH), true)
    PRODUCT_BOOT_JARS += qcmediaplayer
endif

#Project is missing on sdm845, comment it for now
#ifneq ($(strip $(QCPATH)),)
#    PRODUCT_BOOT_JARS += libprotobuf-java_mls
#endif

PRODUCT_PACKAGES += android.hardware.media.omx@1.0-impl

# Audio configuration file
-include $(TOPDIR)vendor/qcom/opensource/audio-hal/primary-hal/configs/qssi/qssi.mk
-include $(TOPDIR)vendor/qcom/opensource/commonsys/audio/configs/qssi/qssi.mk
-include $(TOPDIR)vendor/st/nfc/st21nfc/NfcDeviceConfig.mk
AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
USE_LIB_PROCESS_GROUP := true

PRODUCT_PACKAGES += fs_config_files

ifeq ($(ENABLE_AB), true)
#A/B related packages
PRODUCT_PACKAGES += update_engine \
    update_engine_client \
    update_verifier \
    bootctrl.msmnile \
    android.hardware.boot@1.0-impl \
    android.hardware.boot@1.0-service

PRODUCT_HOST_PACKAGES += \
    brillo_update_payload

#Boot control HAL test app
PRODUCT_PACKAGES_DEBUG += bootctl
endif

PRODUCT_PACKAGES += libtctcameraalgo_jni.tct

#Healthd packages
PRODUCT_PACKAGES += \
    android.hardware.health@1.0-impl \
    android.hardware.health@1.0-convert \
    android.hardware.health@1.0-service \
    libhealthd.msm

DEVICE_FRAMEWORK_MANIFEST_FILE := device/qcom/qssi/framework_manifest.xml
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := vendor/qcom/opensource/core-utils/vendor_framework_compatibility_matrix.xml
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += device/qcom/qssi/pxlw/vendor_framework_compatibility_matrix.xml

#audio related module
PRODUCT_PACKAGES += libvolumelistener


#PlayAutoInstallStub
PRODUCT_PACKAGES += PlayAutoInstallStub

# Display/Graphics
PRODUCT_PACKAGES += \
    android.hardware.configstore@1.0-service \
    android.hardware.broadcastradio@1.0-impl

# Camera configuration file. Shared by passthrough/binderized camera HAL
PRODUCT_PACKAGES += camera.device@3.2-impl
PRODUCT_PACKAGES += camera.device@1.0-impl
PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-impl
# Enable binderized camera HAL
PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-service_64

# default permissions
PRODUCT_COPY_FILES += \
    device/qcom/qssi/default-permissions-cameratct.xml:system_ext/etc/default-permissions/default-permissions-cameratct.xml

# default permissions for wallpaper
PRODUCT_COPY_FILES += \
    device/qcom/qssi/default-permissions-wallpaper.xml:system_ext/etc/default-permissions/default-permissions-wallpaper.xml

# Context hub HAL
PRODUCT_PACKAGES += \
    android.hardware.contexthub@1.0-impl.generic \
    android.hardware.contexthub@1.0-service

# system prop for enabling QFS (QTI Fingerprint Solution)
PRODUCT_PROPERTY_OVERRIDES += \
    persist.vendor.qfp=true

PRODUCT_SYSTEM_PROPERTIES += \
    persist.device_config.runtime_native_boot.iorap_perfetto_enable=true

ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
PRODUCT_SYSTEM_PROPERTIES += \
    vold.debug=true
endif

# USB default HAL
PRODUCT_PACKAGES += \
    android.hardware.usb@1.0-service

#MMITest
PRODUCT_PACKAGES += MMITest
#MTF
PRODUCT_PACKAGES += MTFCamera
#DualCali
PRODUCT_PACKAGES += DualCaliTool
#tp rawdata
PRODUCT_PACKAGES += TpRawdata
#OIS
PRODUCT_PACKAGES += CameraOIS
#Iris
PRODUCT_PACKAGES += Iris

ifeq ($(TARGET_BUILD_MMITEST),false)
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.telephony.euicc.xml:system/etc/permissions/android.hardware.telephony.euicc.xml 

PRODUCT_PACKAGES += EuiccGoogle T2mEuiccOverlay
endif

#PASR HAL and APP
PRODUCT_PACKAGES += \
    vendor.qti.power.pasrmanager@1.0-service \
    vendor.qti.power.pasrmanager@1.0-impl \
    pasrservice

# Kernel modules install path
KERNEL_MODULES_INSTALL := dlkm
KERNEL_MODULES_OUT := out/target/product/$(PRODUCT_NAME)/$(KERNEL_MODULES_INSTALL)/lib/modules

ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)
PRODUCT_COPY_FILES += \
    device/qcom/qssi/init.qcom.testscripts.sh:$(TARGET_COPY_OUT_PRODUCT)/etc/init.qcom.testscripts.sh
endif

PRODUCT_COPY_FILES += \
    device/qcom/qssi/public.libraries.product-qti.txt:$(TARGET_COPY_OUT_PRODUCT)/etc/public.libraries-qti.txt

# copy system_ext specific whitelisted libraries to system_ext/etc
PRODUCT_COPY_FILES += \
    device/qcom/qssi/public.libraries.system_ext-qti.txt:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/public.libraries-qti.txt

#Begin added by shounanyang on 20230117
PRODUCT_COPY_FILES += \
    device/qcom/qssi/public.libraries-tct.txt:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/public.libraries-tct.txt
#End added by shounanyang on 20230117

#ThemePicker permissions
PRODUCT_COPY_FILES +=\
device/qcom/qssi/privapp-permissions-wallpaper.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/privapp-permissions-wallpaper.xml

#Enable full treble flag
PRODUCT_FULL_TREBLE_OVERRIDE := true
PRODUCT_VENDOR_MOVE_ENABLED := true
PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true

ifneq ($(strip $(TARGET_USES_RRO)),true)
DEVICE_PACKAGE_OVERLAYS += device/qcom/qssi/overlay
endif
PRODUCT_PACKAGE_OVERLAYS += device/qcom/qssi/fairphone/overlay


#+ FP5-564. Disable Android's rescue party. liquan.zhou.t2m. 20230412
PRODUCT_SYSTEM_EXT_PROPERTIES += persist.sys.disable_rescue=true
#- FP5-564. Disable Android's rescue party. liquan.zhou.t2m. 20230412

#Enable vndk-sp Libraries
PRODUCT_PACKAGES += vndk_package

#Enable sysrilcmd
PRODUCT_PACKAGES += \
		    qcrilhook \
		    qcrilhook.xml \
		    sysrilcmd \
		    sysrilcmd.xml

PRODUCT_PACKAGES += EuiccOverlay
PRODUCT_PACKAGES += SetupWizardOverlay

ifeq ($(TARGET_BUILD_MMITEST),true)
PRODUCT_PACKAGES += Robust \
     robustd \
     memtester \
     libwifi_robust_jni \
     libwifitestmodejni \
     TctWlanTestMode
endif

#aw882xx cali file
PRODUCT_PACKAGES += aw882xx_cali
PRODUCT_PACKAGES += FPCamera

PRODUCT_PACKAGES += fpconfig_util

PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE:=true


TARGET_MOUNT_POINTS_SYMLINKS := false

TARGET_USES_MKE2FS := true

PRODUCT_PROPERTY_OVERRIDES += \
ro.crypto.volume.filenames_mode = "aes-256-cts" \
ro.crypto.allow_encrypt_override = true

TARGET_USES_QCOM_DISPLAY_BSP := true

ifeq ($(TARGET_USES_NEW_ION),true)
AUDIO_FEATURE_ENABLED_DLKM := true
else
AUDIO_FEATURE_ENABLED_DLKM := false
endif

# Enable virtual A/B compression
$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/android_t_baseline.mk)
PRODUCT_VIRTUAL_AB_COMPRESSION_METHOD := gz

# Include mainline components and QSSI whitelist
ifeq (true,$(call math_gt_or_eq,$(SHIPPING_API_LEVEL),29))
  $(call inherit-product, device/qcom/qssi/qssi_whitelist.mk)
  PRODUCT_ARTIFACT_PATH_REQUIREMENT_IGNORE_PATHS := /system/system_ext/
  PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := true
endif

ifeq ($(TARGET_BUILD_MMITEST),false)
$(call inherit-product, vendor/partner_gms/products/gms_eea_v2_type4c.mk)
$(call inherit-product-if-exists, vendor/partner_modules/build/mainline_modules.mk)
endif

PRODUCT_PACKAGES += \
      smcd \
      OneTouchFeedback \
      privapp_permissions_onetouchfeedback

PRODUCT_PACKAGES += WallpaperPicker
PRODUCT_PACKAGES += ThemePicker
PRODUCT_PACKAGES += ThemesStub
PRODUCT_PACKAGES += FAIRPHONE.html.gz
PRODUCT_PACKAGES += FAIRPHONE.png

PRODUCT_PACKAGES += \
      libulk_ancbase \
      libFaceDetectCA \
      libanc_faceid \
      libanc_faceid_jni

PRODUCT_PACKAGES += MyFairPhone

PRODUCT_PACKAGES += FairphoneActivator
PRODUCT_PACKAGES += privapp_permissions_FairphoneActivator

PRODUCT_COPY_FILES += device/qcom/qssi/google_clientidbase_config/google_clientidbase.rc:$(TARGET_COPY_OUT_SYSTEM)/etc/init/google_clientidbase.rc

PRODUCT_COPY_FILES += \
      device/qcom/qssi/splash/bootanimation.zip:system/media/bootanimation.zip

PRODUCT_COPY_FILES += \
    device/qcom/qssi/default-permissions-fp5.xml:system_ext/etc/default-permissions/default-permissions-fp5.xml

###################################################################################
# This is the End of target.mk file.
# Now, Pickup other split product.mk files:
###################################################################################
$(call inherit-product-if-exists, vendor/qcom/defs/product-defs/system/*.mk)
###################################################################################

$(call inherit-product, device/t2m/common/qssi.mk)

$(call inherit-product-if-exists, vendor/customer_carrier/customer_carrier.mk)


