# # Copyright (C) 2022 The LineageOS Project # # SPDX-License-Identifier: Apache-2.0 # # Enable updating of APEXes $(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) # A/B AB_OTA_UPDATER := true AB_OTA_PARTITIONS += \ boot \ dtbo \ product \ system \ system_ext \ vbmeta \ vendor \ vendor_boot PRODUCT_PACKAGES += \ update_engine \ update_engine_sideload \ update_verifier 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 # AAPT PRODUCT_AAPT_CONFIG := normal PRODUCT_AAPT_PREF_CONFIG := xxhdpi # ANT+ PRODUCT_PACKAGES += \ AntHalService-Soong \ com.dsi.ant@1.0.vendor # Audio PRODUCT_PACKAGES += \ audio_amplifier.bengal \ audio.bluetooth.default \ audio.primary.bengal \ audio.r_submix.default \ audio.usb.default \ sound_trigger.primary.bengal PRODUCT_PACKAGES += \ android.hardware.audio@6.0-impl \ android.hardware.audio.effect@6.0-impl \ android.hardware.audio.service \ android.hardware.bluetooth.audio@2.0-impl \ android.hardware.soundtrigger@2.3-impl PRODUCT_PACKAGES += \ liba2dpoffload \ libbatterylistener \ libcomprcapture \ libexthwplugin \ libhdmiedid \ libhfp \ libsndmonitor \ libspkrprot \ libssrec PRODUCT_PACKAGES += \ libaudiopreprocessing \ libbundlewrapper \ libdownmix \ libdynproc \ libeffectproxy \ libldnhncr \ libqcompostprocbundle \ libqcomvisualizer \ libqcomvoiceprocessing \ libreverbwrapper \ libvisualizer \ libvolumelistener # Audio - Configs PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ $(LOCAL_PATH)/audio/audio_io_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_io_policy.conf \ $(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ $(LOCAL_PATH)/audio/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_a2dp_offload_disabled.xml \ $(LOCAL_PATH)/audio/audio_policy_configuration_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.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 \ frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml # Bluetooth PRODUCT_PACKAGES += \ android.hardware.bluetooth@1.0.vendor \ vendor.qti.hardware.bluetooth_audio@2.1.vendor \ vendor.qti.hardware.btconfigstore@1.0.vendor \ vendor.qti.hardware.btconfigstore@2.0.vendor # Bootctrl PRODUCT_PACKAGES += \ android.hardware.boot@1.1-impl-qti \ android.hardware.boot@1.1-impl-qti.recovery \ android.hardware.boot@1.1-service # Camera PRODUCT_PACKAGES += \ android.hardware.camera.provider@2.4-impl \ android.hardware.camera.provider@2.4-service_64 PRODUCT_PACKAGES += \ android.frameworks.sensorservice@1.0 \ android.frameworks.sensorservice@1.0.vendor \ vendor.qti.hardware.camera.postproc@1.0.vendor PRODUCT_PACKAGES += \ libgui_vendor # ConfigStore PRODUCT_PACKAGES += \ disable_configstore # Dalvik $(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk) # Display PRODUCT_PACKAGES += \ android.hardware.graphics.mapper@3.0-impl-qti-display \ android.hardware.graphics.mapper@4.0-impl-qti-display \ android.hardware.memtrack@1.0-impl \ android.hardware.memtrack@1.0-service \ vendor.qti.hardware.display.allocator-service \ vendor.qti.hardware.display.composer-service PRODUCT_PACKAGES += \ gralloc.bengal \ memtrack.bengal PRODUCT_PACKAGES += \ init.qti.display_boot.sh \ libdisplayconfig.qti \ libdisplayconfig.system.qti \ libqdMetaData \ libqdMetaData.system \ libsdmcore \ libsdmutils PRODUCT_PACKAGES += \ vendor.display.config@1.11.vendor \ vendor.qti.hardware.display.mapper@1.1.vendor \ vendor.qti.hardware.display.mapper@2.0.vendor \ vendor.qti.hardware.display.mapper@3.0.vendor \ vendor.qti.hardware.display.mapper@4.0.vendor # DRM PRODUCT_PACKAGES += \ android.hardware.drm@1.4-service.clearkey # Fastbootd PRODUCT_PACKAGES += \ fastbootd # Filesystem PRODUCT_PACKAGES += \ fs_config_files # Fingerprint PRODUCT_PACKAGES += \ android.hardware.biometrics.fingerprint@2.1.vendor \ com.motorola.hardware.biometric.fingerprint@1.0.vendor # Framework detect PRODUCT_PACKAGES += \ libqti_vndfwk_detect \ libqti_vndfwk_detect.vendor \ libvndfwk_detect_jni.qti \ libvndfwk_detect_jni.qti.vendor # Gatekeeper PRODUCT_PACKAGES += \ android.hardware.gatekeeper@1.0.vendor # GPS PRODUCT_PACKAGES += \ android.hardware.gnss@2.1.vendor # Health PRODUCT_PACKAGES += \ android.hardware.health@2.1-impl:64 \ android.hardware.health@2.1-impl.recovery \ android.hardware.health@2.1-service # HIDL PRODUCT_PACKAGES += \ libhidltransport.vendor \ libhwbinder.vendor # IPACM PRODUCT_PACKAGES += \ ipacm \ IPACM_cfg.xml # Keymaster PRODUCT_PACKAGES += \ android.hardware.keymaster@4.1.vendor # Media PRODUCT_PACKAGES += \ libmm-omxcore \ libOmxCore \ libOmxVdec \ libOmxVenc \ libstagefrighthw \ libc2dcolorconvert PRODUCT_PACKAGES += \ libavservices_minijail.vendor # Media - Configs PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ $(LOCAL_PATH)/media/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \ $(LOCAL_PATH)/media/media_codecs_performance_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_v1.xml \ $(LOCAL_PATH)/media/media_codecs_performance_v2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_v2.xml \ $(LOCAL_PATH)/media/media_codecs_performance_v3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_v3.xml \ $(LOCAL_PATH)/media/media_codecs_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor.xml \ $(LOCAL_PATH)/media/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \ $(LOCAL_PATH)/media/media_codecs_vendor_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_v1.xml \ $(LOCAL_PATH)/media/media_codecs_vendor_v2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_v2.xml \ $(LOCAL_PATH)/media/media_codecs_vendor_v3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_v3.xml \ $(LOCAL_PATH)/media/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \ $(LOCAL_PATH)/media/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml \ $(LOCAL_PATH)/media/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \ $(LOCAL_PATH)/media/media_profiles_khaje.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_khaje.xml \ $(LOCAL_PATH)/media/media_profiles_scuba.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_scuba.xml \ $(LOCAL_PATH)/media/media_profiles_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml PRODUCT_COPY_FILES += \ frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \ frameworks/av/media/libstagefright/data/media_codecs_google_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2.xml \ frameworks/av/media/libstagefright/data/media_codecs_google_c2_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_audio.xml \ frameworks/av/media/libstagefright/data/media_codecs_google_c2_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_video.xml \ frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \ frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \ frameworks/av/media/libstagefright/data/media_codecs_google_video_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video_le.xml # Net PRODUCT_PACKAGES += \ android.system.net.netd@1.1.vendor # Neural networks PRODUCT_PACKAGES += \ android.hardware.neuralnetworks@1.3.vendor # NFC PRODUCT_PACKAGES += \ com.android.nfc_extras \ Tag # Overlay DEVICE_PACKAGE_OVERLAYS += \ $(LOCAL_PATH)/overlay \ $(LOCAL_PATH)/overlay-lineage PRODUCT_ENFORCE_RRO_TARGETS := * # Partitions PRODUCT_BUILD_SUPER_PARTITION := false PRODUCT_USE_DYNAMIC_PARTITIONS := true # Perf PRODUCT_PACKAGES += \ vendor.qti.hardware.perf@2.2.vendor # 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.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 \ 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.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.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml # Power PRODUCT_PACKAGES += \ android.hardware.power-service-qti \ android.hardware.power@1.2.vendor \ android.hardware.power-V1-ndk_platform.vendor # Public libraries PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt \ $(LOCAL_PATH)/configs/public.libraries.system_ext-qti.txt:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/public.libraries-qti.txt # RIL PRODUCT_PACKAGES += \ android.hardware.radio@1.5.vendor \ android.hardware.radio.config@1.2.vendor \ android.hardware.radio.deprecated@1.0.vendor \ android.hardware.secure_element@1.2.vendor \ libjson \ libprotobuf-cpp-full \ librmnetctl \ libxml2 # Rootdir PRODUCT_PACKAGES += \ init.class_main.sh \ init.mdm.sh \ init.mmi.boot.sh \ init.mmi.laser.sh \ init.mmi.touch.sh \ init.oem.hw.sh \ init.qcom.early_boot.sh \ init.qcom.post_boot.sh \ init.qcom.sh \ init.qti.dcvs.sh \ init.qti.early_init.sh \ init.mmi.charge_only.rc \ init.mmi.chipset.rc \ init.mmi.debug.rc \ init.mmi.rc \ init.qcom.factory.rc \ init.qcom.rc \ init.recovery.qcom.rc \ init.target.rc \ ueventd.qcom.rc \ # Sensors PRODUCT_PACKAGES += \ android.hardware.sensors@2.0-service.multihal \ libsensorndkbridge # Service Tracker PRODUCT_PACKAGES += \ vendor.qti.hardware.servicetracker@1.2.vendor # Soong namespaces PRODUCT_SOONG_NAMESPACES += \ $(LOCAL_PATH) \ vendor/qcom/opensource/usb/etc # Telephony PRODUCT_PACKAGES += \ ims-ext-common \ ims_ext_common.xml \ qti-telephony-hidl-wrapper \ qti_telephony_hidl_wrapper.xml \ qti-telephony-hidl-wrapper-prd \ qti_telephony_hidl_wrapper_prd.xml \ qti-telephony-utils \ qti_telephony_utils.xml \ telephony-ext PRODUCT_BOOT_JARS += \ telephony-ext # Thermal PRODUCT_PACKAGES += \ android.hardware.thermal@2.0-service.qti # USB PRODUCT_PACKAGES += \ android.hardware.usb@1.3-service-qti PRODUCT_PACKAGES += \ init.qcom.usb.rc \ init.qcom.usb.sh # 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:vendor/etc/excluded-input-devices.xml # Wifi PRODUCT_PACKAGES += \ android.hardware.wifi@1.0-service \ hostapd \ libqsap_sdk \ libwpa_client \ libwifi-hal-qcom \ wpa_supplicant \ wpa_supplicant.conf PRODUCT_PACKAGES += \ WifiResCommonOverlay # Wifi - Configs PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \ $(LOCAL_PATH)/wifi/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_qcom_cfg.ini \ $(LOCAL_PATH)/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf # Wifi Display PRODUCT_PACKAGES += \ libnl \ libwfdaac_vendor PRODUCT_BOOT_JARS += \ WfdCommon # Get non-open-source specific aspects $(call inherit-product, vendor/motorola/sm6225-common/sm6225-common-vendor.mk)