# Inherit from those products. Most specific first $(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_p.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk) # Get non-open-source specific aspects $(call inherit-product-if-exists, vendor/lenovo/sdm710-common/sdm710-common-vendor.mk) # Setup dalvik vm configs $(call inherit-product, frameworks/native/build/phone-xhdpi-4096-dalvik-heap.mk) include build/make/target/product/iorap_large_memory_config.mk # Boot animation TARGET_SCREEN_HEIGHT := 2340 TARGET_SCREEN_WIDTH := 1080 # Device uses high-density artwork where available PRODUCT_AAPT_CONFIG := normal PRODUCT_AAPT_PREF_CONFIG := xxhdpi # Overlays DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay-pe # Permissions PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \ frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \ 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.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.vr.high_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vr.high_performance.xml \ frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \ frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.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.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.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 # AID/fs configs PRODUCT_PACKAGES += \ fs_config_files # Audio PRODUCT_PACKAGES += \ android.hardware.audio@5.0-impl:32 \ android.hardware.audio.effect@5.0-impl:32 \ android.hardware.audio.service \ android.hardware.soundtrigger@2.2-impl:32 \ audio.a2dp.default \ audio.r_submix.default \ audio.usb.default \ libqcompostprocbundle \ libqcomvisualizer \ libqcomvoiceprocessing \ libtinycompress \ libvolumelistener \ tinymix PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/audio/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.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 \ $(LOCAL_PATH)/audio/bluetooth_qti_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \ $(LOCAL_PATH)/audio/graphite_ipc_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/graphite_ipc_platform_info.xml \ $(LOCAL_PATH)/audio/listen_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/listen_platform_info.xml \ $(LOCAL_PATH)/audio/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt PRODUCT_COPY_FILES += \ $(TOPDIR)frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \ $(TOPDIR)frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ $(TOPDIR)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 \ android.hardware.bluetooth@1.0.vendor \ android.hardware.bluetooth.audio@2.0-impl \ audio.bluetooth.default \ BluetoothQti \ libbthost_if \ libldacBT_dec \ com.qualcomm.qti.bluetooth_audio@1.0.vendor \ vendor.qti.hardware.bluetooth_audio@2.0.vendor \ vendor.qti.hardware.btconfigstore@1.0.vendor \ vendor.qti.hardware.capabilityconfigstore@1.0.vendor # Camera PRODUCT_PACKAGES += \ android.hardware.camera.provider@2.4-impl \ android.hardware.camera.provider@2.4-service \ vendor.qti.hardware.camera.device@1.0.vendor \ GcamGo # Charger PRODUCT_PACKAGES += \ libsuspend # Common init scripts PRODUCT_PACKAGES += \ fstab.qcom \ init.class_main.sh \ init.msm.usb.configfs.rc \ init.power.rc \ init.qcom.rc \ init.qcom.sh \ init.qcom.early_boot.sh \ init.qcom.post_boot.sh \ init.qcom.sensors.sh \ init.qcom.usb.rc \ init.qcom.usb.sh \ init.target.rc \ ueventd.qcom.rc # Codec2 PRODUCT_PACKAGES += \ libcodec2_vndk.vendor \ libcodec2_hidl@1.0.vendor # Codec2 modules PRODUCT_PACKAGES += \ com.android.media.swcodec \ libsfplugin_ccodec # Context Hub PRODUCT_PACKAGES += \ android.hardware.contexthub@1.0-impl.generic \ android.hardware.contexthub@1.0-service # Display PRODUCT_PACKAGES += \ android.hardware.graphics.composer@2.3-service \ android.hardware.graphics.mapper@2.0-impl-qti-display \ android.hardware.memtrack@1.0-impl \ android.hardware.memtrack@1.0-service \ gralloc.sdm710 \ hwcomposer.sdm710 \ libdisplayconfig.qti \ libqdMetaData \ libqdMetaData.system \ libtinyxml \ libtinyxml.vendor \ libvulkan \ vendor.display.config@1.0.vendor \ vendor.display.config@2.0 \ vendor.display.config@2.0.vendor \ memtrack.sdm710 \ vendor.qti.hardware.display.allocator@1.0-service PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ ro.surface_flinger.has_HDR_display=true \ ro.surface_flinger.has_wide_color_display=true \ ro.surface_flinger.use_color_management=true \ ro.surface_flinger.wcg_composition_dataspace=143261696 # DRM PRODUCT_PACKAGES += \ android.hardware.drm@1.0 \ android.hardware.drm@1.0.vendor \ android.hardware.drm@1.1 \ android.hardware.drm@1.1.vendor \ android.hardware.drm@1.2 \ android.hardware.drm@1.2.vendor \ android.hardware.drm@1.3 \ android.hardware.drm@1.3.vendor \ android.hardware.drm@1.4-service.clearkey # Gatekeeper PRODUCT_PACKAGES += \ android.hardware.gatekeeper@1.0 \ android.hardware.gatekeeper@1.0.vendor # GNSS PRODUCT_PACKAGES += \ android.hardware.gnss@1.0 \ android.hardware.gnss@1.0.vendor \ android.hardware.gnss@1.1 \ android.hardware.gnss@1.1.vendor \ android.hardware.gnss@2.0 \ android.hardware.gnss@2.0.vendor # Health PRODUCT_PACKAGES += \ android.hardware.health@2.1-impl-qti \ android.hardware.health@2.1-service # HIDL PRODUCT_PACKAGES += \ android.hidl.base@1.0 \ android.hidl.base@1.0_system \ android.hidl.manager@1.0 \ android.hidl.manager@1.0_system \ android.hidl.allocator@1.0 \ android.hidl.allocator@1.0.vendor \ libhidltransport \ libhidltransport.vendor \ libhwbinder \ libhwbinder.vendor # Fingerprint PRODUCT_PACKAGES += \ android.hardware.biometrics.fingerprint@2.1.vendor # FM PRODUCT_PACKAGES += \ FM2 \ libqcomfm_jni \ qcom.fmradio # IMS PRODUCT_PACKAGES += \ ims-ext-common \ ims_ext_common.xml # Input PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/keylayout/fts_ts.kl:$(TARGET_COPY_OUT_SYSTEM)/usr/keylayout/fts_ts.kl # IRQ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/msm_irqbalance.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance.conf # IPA PRODUCT_PACKAGES += \ ipacm \ IPACM_cfg.xml # Keymaster PRODUCT_PACKAGES += \ android.hardware.keymaster@3.0 \ android.hardware.keymaster@3.0.vendor \ android.hardware.keymaster@4.0 \ android.hardware.keymaster@4.0.vendor # Lights PRODUCT_PACKAGES += \ android.hardware.light@2.0-service.lenovo_sdm710 # Livedisplay ifeq ($(findstring Plus, $(CUSTOM_VERSION)),) PRODUCT_PACKAGES += \ vendor.lineage.livedisplay@2.0-service-sdm endif # Media PRODUCT_PACKAGES += \ libavservices_minijail \ libavservices_minijail.vendor \ libc2dcolorconvert \ libOmxAacEnc \ libOmxAmrEnc \ libOmxCore \ libOmxEvrcEnc \ libOmxG711Enc \ libOmxQcelp13Enc \ libOmxVdec \ libOmxVenc \ libstagefrighthw PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ $(LOCAL_PATH)/configs/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \ $(LOCAL_PATH)/configs/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \ $(LOCAL_PATH)/configs/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \ $(LOCAL_PATH)/configs/media_profiles_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml \ $(LOCAL_PATH)/configs/system_properties.xml:$(TARGET_COPY_OUT_VENDOR)/etc/system_properties.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 # Seccomp policy PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/seccomp/codec2.vendor.ext.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/codec2.vendor.ext.policy \ $(LOCAL_PATH)/seccomp/mediacodec-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \ # Native libraries whitelist PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt # Net PRODUCT_PACKAGES += \ android.system.net.netd@1.1 \ android.system.net.netd@1.1.vendor \ netutils-wrapper-1.0 # Neural Network PRODUCT_PACKAGES += \ android.hardware.neuralnetworks@1.0 \ android.hardware.neuralnetworks@1.0.vendor \ android.hardware.neuralnetworks@1.1 \ android.hardware.neuralnetworks@1.1.vendor \ android.hardware.neuralnetworks@1.2 \ android.hardware.neuralnetworks@1.2.vendor # Perfd (dummy) PRODUCT_PACKAGES += \ libqti-perfd-client # PocketMode PRODUCT_PACKAGES += \ LenovoPocketMode # Power PRODUCT_PACKAGES += \ android.hardware.power@1.2 \ android.hardware.power@1.2.vendor \ android.hardware.power-service.lenovo PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json # Protobuf PRODUCT_PACKAGES += \ libprotobuf-cpp-full-vendorcompat \ libprotobuf-cpp-lite-vendorcompat # QTI PRODUCT_PACKAGES += \ libqti_vndfwk_detect.vendor PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/privapp-permissions-qti.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/privapp-permissions-qti.xml # Radio PRODUCT_PACKAGES += \ android.hardware.radio@1.2 \ android.hardware.radio@1.2.vendor \ android.hardware.radio@1.3 \ android.hardware.radio@1.3.vendor \ android.hardware.radio@1.4 \ android.hardware.radio@1.4.vendor \ android.hardware.radio@1.5 \ android.hardware.radio@1.5.vendor \ android.hardware.radio.config@1.0 \ android.hardware.radio.config@1.0.vendor \ android.hardware.radio.config@1.1 \ android.hardware.radio.config@1.1.vendor \ android.hardware.radio.config@1.2 \ android.hardware.radio.config@1.2.vendor \ android.hardware.radio.deprecated@1.0 \ android.hardware.radio.deprecated@1.0.vendor \ libjson \ libjson.vendor \ librmnetctl # RenderScript PRODUCT_PACKAGES += \ android.hardware.renderscript@1.0-impl # Secure element PRODUCT_PACKAGES += \ android.hardware.secure_element@1.1 \ android.hardware.secure_element@1.1.vendor \ android.hardware.secure_element@1.2 \ android.hardware.secure_element@1.2.vendor \ # Sensors PRODUCT_PACKAGES += \ android.hardware.sensors@2.0.vendor \ libsensorndkbridge # Soong namespaces PRODUCT_SOONG_NAMESPACES += \ $(LOCAL_PATH) \ hardware/google/interfaces \ hardware/google/pixel \ vendor/qcom/opensource/commonsys/system/bt/conf # Telephony PRODUCT_PACKAGES += \ telephony-ext PRODUCT_BOOT_JARS += \ telephony-ext PRODUCT_PACKAGES += \ qti-telephony-hidl-wrapper \ qti_telephony_hidl_wrapper.xml \ qti-telephony-utils \ qti_telephony_utils.xml # Tethering PRODUCT_PACKAGES += \ TetheringConfigOverlay # Thermal engine PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/thermal-engine.conf:$(TARGET_COPY_OUT_VENDOR)/etc/thermal-engine.conf # Tracing PRODUCT_PACKAGES += \ android.hardware.atrace@1.0-service.pixel # USB PRODUCT_PACKAGES += \ android.hardware.usb@1.0-service # Vibrator PRODUCT_PACKAGES += \ android.hardware.vibrator@1.0-impl \ android.hardware.vibrator@1.0-service # WiFi PRODUCT_PACKAGES += \ android.hardware.wifi@1.0-service \ hostapd \ libwifi-hal-qcom \ libwpa_client \ WifiOverlay \ wpa_supplicant \ wpa_supplicant.conf PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/wifi/hostapd.accept:$(TARGET_COPY_OUT_VENDOR)/etc/hostapd/hostapd.accept \ $(LOCAL_PATH)/wifi/hostapd.conf:$(TARGET_COPY_OUT_VENDOR)/etc/hostapd/hostapd_default.conf \ $(LOCAL_PATH)/wifi/hostapd.deny:$(TARGET_COPY_OUT_VENDOR)/etc/hostapd/hostapd.deny \ $(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 \ $(LOCAL_PATH)/wifi/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_qcom_cfg.ini # WiFi Display PRODUCT_PACKAGES += \ libnl \ libwfdaac_vendor # Setting vendor SPL VENDOR_SECURITY_PATCH = $(PLATFORM_SECURITY_PATCH) # Set boot SPL BOOT_SECURITY_PATCH = $(PLATFORM_SECURITY_PATCH)