# # SPDX-FileCopyrightText: The LineageOS Project # SPDX-License-Identifier: Apache-2.0 # # Partitions PRODUCT_PACKAGES += \ vendor_bt_firmware_mountpoint \ vendor_dsp_mountpoint \ vendor_firmware_mnt_mountpoint \ vendor_fsg_mountpoint PRODUCT_USE_DYNAMIC_PARTITIONS := true # Enable project quotas and casefolding for emulated storage without sdcardfs $(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) # Installs gsi keys into ramdisk, to boot a GSI with verified boot. $(call inherit-product, $(SRC_TARGET_DIR)/product/developer_gsi_keys.mk) # Add common definitions for Qualcomm $(call inherit-product, hardware/qcom-caf/common/common.mk) # Overlays DEVICE_PACKAGE_OVERLAYS += \ $(LOCAL_PATH)/overlay-lineage PRODUCT_ENFORCE_RRO_TARGETS := * PRODUCT_PACKAGES += \ FrameworksResCommon \ FrameworksResProduct \ FrameworksResTarget \ LineageApertureAppCommon \ NcmTetheringOverlay \ SettingsProviderResCommon \ SystemUIResCommon \ TelephonyResCommon \ TelephonyResProduct \ WifiResCommon \ WifiResTarget # A/B $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_vendor_ramdisk.mk) AB_OTA_POSTINSTALL_CONFIG += \ RUN_POSTINSTALL_system=true \ POSTINSTALL_PATH_system=system/bin/otapreopt_script \ FILESYSTEM_TYPE_system=ext4 \ POSTINSTALL_OPTIONAL_system=true AB_OTA_POSTINSTALL_CONFIG += \ RUN_POSTINSTALL_vendor=true \ POSTINSTALL_PATH_vendor=bin/checkpoint_gc \ FILESYSTEM_TYPE_vendor=ext4 \ POSTINSTALL_OPTIONAL_vendor=true PRODUCT_PACKAGES += \ checkpoint_gc \ otapreopt_script # Additional native libraries PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt \ $(LOCAL_PATH)/configs/public.libraries-qti.txt:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/public.libraries-qti.txt # Audio PRODUCT_PACKAGES += \ android.hardware.audio@6.0-impl \ android.hardware.audio.effect@6.0-impl \ android.hardware.audio.service \ android.hardware.bluetooth.audio-impl \ android.hardware.soundtrigger@2.3-impl \ audioadsprpcd \ audio.bluetooth.default \ audio.primary.holi \ audio.r_submix.default \ audio.usb.default \ liba2dpoffload \ libbatterylistener \ libcirrusspkrprot \ libcomprcapture \ libexthwplugin \ libhdmiedid \ libhfp \ libqcompostprocbundle \ libqcomvisualizer \ libqcomvoiceprocessing \ libsndmonitor \ libspkrprot \ libvolumelistener \ sound_trigger.primary.holi PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ $(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ $(LOCAL_PATH)/audio/audio_policy_configuration_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_offload_disabled.xml \ $(LOCAL_PATH)/audio/bluetooth_hearing_aid_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_hearing_aid_audio_policy_configuration.xml \ $(LOCAL_PATH)/audio/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml \ $(LOCAL_PATH)/audio/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml PRODUCT_COPY_FILES += \ frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \ frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml # Board API level BOARD_SHIPPING_API_LEVEL := 30 # Boot control PRODUCT_PACKAGES += \ android.hardware.boot-service.qti \ android.hardware.boot-service.qti.recovery # Camera PRODUCT_PACKAGES += \ android.hardware.camera.provider@2.4-impl \ android.hardware.camera.provider@2.4-service_64 # Device ID attestation PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml # Display PRODUCT_PACKAGES += \ android.hardware.graphics.mapper@3.0-impl-qti-display \ android.hardware.graphics.mapper@4.0-impl-qti-display \ init.qti.display_boot.rc \ init.qti.display_boot.sh \ vendor.qti.hardware.display.allocator-service \ vendor.qti.hardware.display.composer-service \ vendor.qti.hardware.memtrack-service # DRM PRODUCT_PACKAGES += \ android.hardware.drm-service.clearkey # fastbootd PRODUCT_PACKAGES += \ fastbootd # GPS PRODUCT_PACKAGES += \ android.hardware.gnss@2.1-impl-qti \ android.hardware.gnss@2.1-service-qti \ gnss@2.0-base.policy \ gnss@2.0-xtra-daemon.policy \ libbatching \ libgeofencing \ libgnss \ libloc_socket PRODUCT_PACKAGES += \ flp.conf \ gnss_antenna_info.conf \ gps.conf \ izat.conf # Health PRODUCT_PACKAGES += \ android.hardware.health-service.qti # Init PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/rootdir/etc/fstab.qcom:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.qcom PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/rootdir/etc/fstab.qcom:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.qcom \ $(LOCAL_PATH)/rootdir/etc/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc $(foreach f,$(wildcard $(LOCAL_PATH)/rootdir/etc/init/hw/*.rc),\ $(eval PRODUCT_COPY_FILES += $(f):$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/$(notdir $f))) $(foreach f,$(wildcard $(LOCAL_PATH)/rootdir/etc/init/*.rc),\ $(eval PRODUCT_COPY_FILES += $(f):$(TARGET_COPY_OUT_VENDOR)/etc/init/$(notdir $f))) $(foreach f,$(wildcard $(LOCAL_PATH)/rootdir/bin/*.sh),\ $(eval PRODUCT_COPY_FILES += $(f):$(TARGET_COPY_OUT_VENDOR)/bin/$(notdir $f))) PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/recovery/root/init.recovery.qcom.rc:recovery/root/init.recovery.qcom.rc # IPACM PRODUCT_PACKAGES += \ ipacm \ IPACM_cfg.xml # IPC router config PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config # Kernel PRODUCT_ENABLE_UFFD_GC := true # LiveDisplay PRODUCT_PACKAGES += \ vendor.lineage.livedisplay-service.sdm \ vendor.lineage.livedisplay-service.sysfs $(call soong_config_set_bool,livedisplay_sdm,enable_dm,false) $(call soong_config_set_bool,livedisplay_sysfs,enable_se,true) # Lineage Health PRODUCT_PACKAGES += \ vendor.lineage.health-service.default $(call soong_config_set,lineage_health,charging_control_charging_path,/sys/module/qpnp_adaptive_charge/parameters/charging_enabled) # Media PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/media/blair/media_codecs_performance_blair.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_blair.xml \ $(LOCAL_PATH)/media/blair/media_profiles_blair.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_blair.xml \ $(LOCAL_PATH)/media/holi/media_codecs_performance_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_holi.xml \ $(LOCAL_PATH)/media/holi/media_profiles_holi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_holi.xml \ $(LOCAL_PATH)/media/media_codecs_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml \ $(LOCAL_PATH)/media/media_codecs_performance_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml $(call soong_config_set_bool,stagefright,target_disable_thumbnail_block_model,true) # Moto hardware PRODUCT_PACKAGES += \ MotoActions \ MotoCommonOverlay # Permissions PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \ frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \ frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \ frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \ frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \ frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml \ frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml \ frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \ frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \ frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \ frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \ frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \ frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \ frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \ frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level-1.xml \ frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_1.xml \ frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \ frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \ frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \ frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml \ frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \ frameworks/native/data/etc/android.software.ipsec_tunnel_migration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnel_migration.xml \ frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \ frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \ frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml \ frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \ frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \ frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \ frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \ frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \ frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \ frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \ frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/product_privapp-permissions-hotword.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-hotword.xml PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/hotword-hiddenapi-package-whitelist.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/hotword-hiddenapi-package-whitelist.xml PRODUCT_PACKAGES += \ android.hardware.hardware_keystore.km41.xml # Power PRODUCT_PACKAGES += \ android.hardware.power-service-qti # Properties PRODUCT_VENDOR_PROPERTY_BLACKLIST := \ ro.carrier # RFS MSM MPSS symlinks PRODUCT_PACKAGES += \ rfs_msm_mpss_readonly_vendor_fsg_symlink # Sensors PRODUCT_PACKAGES += \ android.hardware.sensors-service.multihal # Soong namespaces PRODUCT_SOONG_NAMESPACES += \ $(LOCAL_PATH) \ hardware/motorola # Telephony PRODUCT_PACKAGES += \ extphonelib \ extphonelib-product \ extphonelib.xml \ extphonelib_product.xml \ MotoNrEnabler \ ims-ext-common \ ims_ext_common.xml \ qti-telephony-hidl-wrapper \ qti-telephony-hidl-wrapper-prd \ qti_telephony_hidl_wrapper.xml \ qti_telephony_hidl_wrapper_prd.xml \ qti-telephony-utils \ qti-telephony-utils-prd \ qti_telephony_utils.xml \ qti_telephony_utils_prd.xml \ telephony-ext PRODUCT_PACKAGES += \ qcrilNrDb_vendor PRODUCT_BOOT_JARS += \ telephony-ext # Thermal PRODUCT_PACKAGES += \ android.hardware.thermal-service.qti # Update engine PRODUCT_PACKAGES += \ update_engine \ update_engine_sideload \ update_verifier PRODUCT_PACKAGES_DEBUG += \ update_engine_client # USB PRODUCT_PACKAGES += \ android.hardware.usb-service.qti \ android.hardware.usb.gadget-service.qti \ init.qcom.usb.rc \ init.qcom.usb.sh \ usb_compositions.conf PRODUCT_SOONG_NAMESPACES += vendor/qcom/opensource/usb/etc # Vendor service manager PRODUCT_PACKAGES += \ vndservicemanager # Vibrator PRODUCT_PACKAGES += \ vendor.qti.hardware.vibrator.service PRODUCT_COPY_FILES += \ vendor/qcom/opensource/vibrator/excluded-input-devices.xml:$(TARGET_COPY_OUT_VENDOR)/etc/excluded-input-devices.xml # WiFi PRODUCT_PACKAGES += \ android.hardware.wifi-service \ hostapd \ libwifi-hal-ctrl \ libwifi-hal-qcom \ wpa_supplicant \ wpa_supplicant.conf # WiFi firmware symlinks PRODUCT_PACKAGES += \ firmware_wlan_mac.bin_symlink \ firmware_WCNSS_qcom_cfg.ini_symlink PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/wifi/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_qcom_cfg.ini \ $(LOCAL_PATH)/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \ $(LOCAL_PATH)/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf # Inherit from vendor blobs $(call inherit-product, vendor/motorola/sm6375-common/sm6375-common-vendor.mk)