# # Copyright (C) 2020 The Android Open-Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # TARGET_USERIMAGES_USE_F2FS := true # define hardware platform PRODUCT_PLATFORM := sdm845 # Enable updating of APEXes $(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) include device/google/crosshatch/device.mk PRODUCT_PROPERTY_OVERRIDES += \ ro.control_privapp_permissions=disable PRODUCT_ENFORCE_RRO_TARGETS := framework-res # Audio fluence, ns, aec property, voice volume steps PRODUCT_PROPERTY_OVERRIDES += \ ro.qc.sdk.audio.fluencetype=fluencepro \ persist.audio.fluence.voicecall=true \ persist.audio.fluence.speaker=true \ persist.audio.fluence.voicecomm=true \ persist.audio.fluence.voicerec=false \ ro.config.vc_call_vol_steps=7 # Bug 77867216 PRODUCT_PROPERTY_OVERRIDES += audio.adm.buffering.ms=3 PRODUCT_PROPERTY_OVERRIDES += vendor.audio.adm.buffering.ms=3 PRODUCT_PROPERTY_OVERRIDES += audio_hal.period_multiplier=2 PRODUCT_PROPERTY_OVERRIDES += af.fast_track_multiplier=1 # Enable HW Codec 2.0 as default service # Set all codec components are available with their normal ranks # Set OMX components's default rank large than Codec 2.0 HW components's default rank (0x100) PRODUCT_PROPERTY_OVERRIDES += debug.stagefright.ccodec=4 PRODUCT_PROPERTY_OVERRIDES += debug.stagefright.omx_default_rank=512 # Pixelstats broken mic detection PRODUCT_PROPERTY_OVERRIDES += vendor.audio.mic_break=true # Setting vendor SPL VENDOR_SECURITY_PATCH = $(PLATFORM_SECURITY_PATCH) # Set boot SPL BOOT_SECURITY_PATCH = $(PLATFORM_SECURITY_PATCH) # MIDI feature PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml # Audio low latency feature 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 # Pro audio feature PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml # Enable AAudio MMAP/NOIRQ data path. # 1 is AAUDIO_POLICY_NEVER means only use Legacy path. # 2 is AAUDIO_POLICY_AUTO means try MMAP then fallback to Legacy path. # 3 is AAUDIO_POLICY_ALWAYS means only use MMAP path. PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_policy=2 # 1 is AAUDIO_POLICY_NEVER means only use SHARED mode # 2 is AAUDIO_POLICY_AUTO means try EXCLUSIVE then fallback to SHARED mode. # 3 is AAUDIO_POLICY_ALWAYS means only use EXCLUSIVE mode. PRODUCT_PROPERTY_OVERRIDES += aaudio.mmap_exclusive_policy=2 # Increase the apparent size of a hardware burst from 1 msec to 2 msec. # A "burst" is the number of frames processed at one time. # That is an increase from 48 to 96 frames at 48000 Hz. # The DSP will still be bursting at 48 frames but AAudio will think the burst is 96 frames. # A low number, like 48, might increase power consumption or stress the system. PRODUCT_PROPERTY_OVERRIDES += aaudio.hw_burst_min_usec=2000 # Set lmkd options PRODUCT_PRODUCT_PROPERTIES += \ ro.lmk.low=1001 \ ro.lmk.medium=800 \ ro.lmk.critical=0 \ ro.lmk.critical_upgrade=false \ ro.lmk.upgrade_pressure=100 \ ro.lmk.downgrade_pressure=100 \ ro.lmk.kill_heaviest_task=true \ ro.lmk.kill_timeout_ms=100 \ ro.lmk.use_minfree_levels=true \ # A2DP offload enabled for compilation AUDIO_FEATURE_ENABLED_A2DP_OFFLOAD := true # A2DP offload supported PRODUCT_PROPERTY_OVERRIDES += \ ro.bluetooth.a2dp_offload.supported=true # A2DP offload disabled (UI toggle property) PRODUCT_PROPERTY_OVERRIDES += \ persist.bluetooth.a2dp_offload.disabled=false # A2DP offload DSP supported encoder list PRODUCT_PROPERTY_OVERRIDES += \ persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac # Modem loging file PRODUCT_COPY_FILES += \ device/google/crosshatch/init.logging.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).logging.rc # Dumpstate HAL PRODUCT_PACKAGES += \ android.hardware.dumpstate@1.0-service.blueline # Dmabuf dump tool for bug reports PRODUCT_PACKAGES += \ dmabuf_dump # whitelisted app PRODUCT_COPY_FILES += \ device/google/crosshatch/qti_whitelist.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/qti_whitelist.xml PRODUCT_PACKAGES += \ llkd #PRODUCT_PROPERTY_OVERRIDES += \ # ro.khungtask.enable=false # # Enable retrofit dynamic partitions for all blueline # and blueline targets PRODUCT_USE_DYNAMIC_PARTITIONS := true PRODUCT_RETROFIT_DYNAMIC_PARTITIONS := true PRODUCT_PACKAGES += \ android.hardware.boot@1.0-impl.recovery \ bootctrl.sdm845 \ bootctrl.sdm845.recovery \ check_dynamic_partitions \ AB_OTA_POSTINSTALL_CONFIG += \ RUN_POSTINSTALL_product=true \ POSTINSTALL_PATH_product=bin/check_dynamic_partitions \ FILESYSTEM_TYPE_product=ext4 \ POSTINSTALL_OPTIONAL_product=false \ # Sepolicy for EVS include packages/services/Car/evs/sepolicy/evs.mk