1# 2# Copyright (C) 2015 The Android Open-Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16 17# This file includes all definitions that apply to ALL angler devices, and 18# are also specific to angler devices 19# 20# Everything in this directory will become public 21 22 23ifeq ($(TARGET_PREBUILT_KERNEL),) 24LOCAL_KERNEL := device/huawei/angler-kernel/Image.gz-dtb 25else 26LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL) 27endif 28 29PRODUCT_COPY_FILES := \ 30 $(LOCAL_KERNEL):kernel 31 32PRODUCT_COPY_FILES += \ 33 device/huawei/angler/init.angler.rc:root/init.angler.rc \ 34 device/huawei/angler/init.angler.sensorhub.rc:root/init.angler.sensorhub.rc \ 35 device/huawei/angler/init.angler.usb.rc:root/init.angler.usb.rc \ 36 device/huawei/angler/fstab.angler:root/fstab.angler \ 37 device/huawei/angler/ueventd.angler.rc:root/ueventd.angler.rc \ 38 device/huawei/angler/init.angler.power.sh:system/bin/init.angler.power.sh 39 40 41PRODUCT_COPY_FILES += \ 42 device/huawei/angler/init.mcfg.sh:system/bin/init.mcfg.sh 43 44# Thermal configuration 45PRODUCT_COPY_FILES += \ 46 device/huawei/angler/thermal-engine-angler.conf:system/etc/thermal-engine.conf 47 48# Media 49PRODUCT_COPY_FILES += \ 50 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \ 51 frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/etc/media_codecs_google_telephony.xml \ 52 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \ 53 device/huawei/angler/media_codecs.xml:system/etc/media_codecs.xml \ 54 device/huawei/angler/media_codecs_performance.xml:system/etc/media_codecs_performance.xml \ 55 device/huawei/angler/media_profiles.xml:system/etc/media_profiles.xml 56 57# Audio 58PRODUCT_COPY_FILES += \ 59 device/huawei/angler/audio_output_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_output_policy.conf \ 60 device/huawei/angler/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \ 61 device/huawei/angler/mixer_paths.xml:system/etc/mixer_paths.xml \ 62 device/huawei/angler/audio_platform_info_i2s.xml:system/etc/audio_platform_info_i2s.xml \ 63 device/huawei/angler/sound_trigger_mixer_paths.xml:system/etc/sound_trigger_mixer_paths.xml \ 64 device/huawei/angler/sound_trigger_platform_info.xml:system/etc/sound_trigger_platform_info.xml \ 65 device/huawei/angler/audio_policy.conf:system/etc/audio_policy.conf \ 66 device/huawei/angler/audio_platform_info.xml:system/etc/audio_platform_info.xml \ 67 68# Input device files 69PRODUCT_COPY_FILES += \ 70 device/huawei/angler/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl \ 71 device/huawei/angler/qpnp_pon.kl:system/usr/keylayout/qpnp_pon.kl \ 72 device/huawei/angler/synaptics_dsx.idc:system/usr/idc/synaptics_dsx.idc 73 74# for launcher layout 75PRODUCT_PACKAGES += \ 76 AnglerLayout 77 78# Delegation for OEM customization 79PRODUCT_OEM_PROPERTIES := \ 80 ro.config.ringtone \ 81 ro.config.notification_sound \ 82 ro.config.alarm_alert \ 83 ro.config.wallpaper \ 84 ro.config.wallpaper_component \ 85 ro.oem.* \ 86 oem.* 87 88PRODUCT_COPY_FILES += \ 89 device/huawei/angler/sec_config:system/etc/sec_config 90 91# Wifi 92PRODUCT_COPY_FILES += \ 93 device/huawei/angler/bcmdhd.cal:system/etc/wifi/bcmdhd.cal \ 94 device/huawei/angler/bcmdhd-pme.cal:system/etc/wifi/bcmdhd-pme.cal \ 95 device/huawei/angler/bcmdhd-high.cal:system/etc/wifi/bcmdhd-high.cal \ 96 device/huawei/angler/bcmdhd-low.cal:system/etc/wifi/bcmdhd-low.cal 97 98# These are the hardware-specific features 99PRODUCT_COPY_FILES += \ 100 frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \ 101 frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \ 102 frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \ 103 frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \ 104 frameworks/native/data/etc/android.hardware.camera.full.xml:system/etc/permissions/android.hardware.camera.full.xml \ 105 frameworks/native/data/etc/android.hardware.camera.raw.xml:system/etc/permissions/android.hardware.camera.raw.xml \ 106 frameworks/native/data/etc/android.hardware.fingerprint.xml:system/etc/permissions/android.hardware.fingerprint.xml \ 107 frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \ 108 frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ 109 frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \ 110 frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \ 111 frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \ 112 frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \ 113 frameworks/native/data/etc/android.hardware.sensor.barometer.xml:system/etc/permissions/android.hardware.sensor.barometer.xml \ 114 frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:system/etc/permissions/android.hardware.sensor.stepcounter.xml \ 115 frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:system/etc/permissions/android.hardware.sensor.stepdetector.xml \ 116 frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:system/etc/permissions/android.hardware.sensor.hifi_sensors.xml \ 117 frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ 118 frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \ 119 frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ 120 frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ 121 frameworks/native/data/etc/android.hardware.audio.low_latency.xml:system/etc/permissions/android.hardware.audio.low_latency.xml \ 122 frameworks/native/data/etc/android.hardware.audio.pro.xml:system/etc/permissions/android.hardware.audio.pro.xml \ 123 frameworks/native/data/etc/android.hardware.telephony.cdma.xml:system/etc/permissions/android.hardware.telephony.cdma.xml \ 124 frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \ 125 frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \ 126 frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml \ 127 frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \ 128 frameworks/native/data/etc/android.software.midi.xml:system/etc/permissions/android.software.midi.xml \ 129 frameworks/native/data/etc/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml 130 131 132# MSM IRQ Balancer configuration file 133PRODUCT_COPY_FILES += \ 134 device/huawei/angler/msm_irqbalance.conf:system/etc/msm_irqbalance.conf 135 136PRODUCT_TAGS += dalvik.gc.type-precise 137 138# This device is 560dpi. However the platform doesn't 139# currently contain all of the bitmaps at 560dpi density so 140# we do this little trick to fall back to the xxhdpi version 141# if the 560dpi doesn't exist. 142PRODUCT_AAPT_CONFIG := normal 143PRODUCT_AAPT_PREF_CONFIG := 560dpi 144# A list of dpis to select prebuilt apk, in precedence order. 145PRODUCT_AAPT_PREBUILT_DPI := xxxhdpi xxhdpi xhdpi hdpi 146 147PRODUCT_CHARACTERISTICS := nosdcard 148 149PRODUCT_PACKAGES += \ 150 gralloc.msm8994 \ 151 hwcomposer.msm8994 \ 152 libgenlock \ 153 memtrack.msm8994 \ 154 lights.angler 155 156PRODUCT_PACKAGES += \ 157 audio.primary.msm8994 \ 158 audio.a2dp.default \ 159 audio.usb.default \ 160 audio.r_submix.default \ 161 libaudio-resampler \ 162 dsm_ctrl 163 164# Audio effects 165PRODUCT_PACKAGES += \ 166 libqcomvisualizer \ 167 libqcomvoiceprocessing \ 168 libqcomvoiceprocessingdescriptors \ 169 libqcompostprocbundle 170 171PRODUCT_PACKAGES += \ 172 libc2dcolorconvert \ 173 libstagefrighthw \ 174 libOmxCore \ 175 libmm-omxcore \ 176 libOmxVdec \ 177 libOmxVdecHevc \ 178 libOmxVenc 179 180#CAMERA 181PRODUCT_PACKAGES += \ 182 camera.msm8994 \ 183 libcamera \ 184 libmmcamera_interface \ 185 libmmcamera_interface2 \ 186 libmmjpeg_interface \ 187 libqomx_core \ 188 mm-qcamera-app 189 190# Sensor & activity_recognition HAL 191PRODUCT_PACKAGES += \ 192 sensors.angler \ 193 activity_recognition.angler \ 194 sensortool.angler \ 195 nano4x1.bin 196 197# for off charging mode 198PRODUCT_PACKAGES += \ 199 charger_res_images 200 201PRODUCT_PACKAGES += \ 202 libwpa_client \ 203 hostapd \ 204 dhcpcd.conf \ 205 wlutil \ 206 wpa_supplicant \ 207 wpa_supplicant.conf 208 209# NFC 210PRODUCT_PACKAGES += \ 211 libnfc-nci \ 212 nfc_nci.angler \ 213 NfcNci \ 214 Tag 215 216# Power HAL 217PRODUCT_PACKAGES += \ 218 power.angler 219 220PRODUCT_COPY_FILES += \ 221 device/huawei/angler/nfc/libnfc-brcm.conf:system/etc/libnfc-brcm.conf \ 222 device/huawei/angler/nfc/libnfc-nxp.conf:system/etc/libnfc-nxp.conf 223 224DEVICE_PACKAGE_OVERLAYS := \ 225 device/huawei/angler/overlay 226 227PRODUCT_PROPERTY_OVERRIDES += \ 228 ro.opengles.version=196609 229 230PRODUCT_PROPERTY_OVERRIDES += \ 231 ro.sf.lcd_density=560 232 233PRODUCT_PROPERTY_OVERRIDES += \ 234 persist.hwc.mdpcomp.enable=true \ 235 persist.data.mode=concurrent 236 237PRODUCT_PROPERTY_OVERRIDES += \ 238 persist.radio.data_no_toggle=1 239 240PRODUCT_PROPERTY_OVERRIDES += \ 241 persist.radio.data_con_rprt=true 242 243PRODUCT_PROPERTY_OVERRIDES += \ 244 ro.hwui.texture_cache_size=72 \ 245 ro.hwui.layer_cache_size=48 \ 246 ro.hwui.r_buffer_cache_size=8 \ 247 ro.hwui.path_cache_size=32 \ 248 ro.hwui.gradient_cache_size=1 \ 249 ro.hwui.drop_shadow_cache_size=6 \ 250 ro.hwui.texture_cache_flushrate=0.4 \ 251 ro.hwui.text_small_cache_width=1024 \ 252 ro.hwui.text_small_cache_height=1024 \ 253 ro.hwui.text_large_cache_width=2048 \ 254 ro.hwui.text_large_cache_height=1024 255 256# Enable low power video mode for 4K encode 257PRODUCT_PROPERTY_OVERRIDES += \ 258 vidc.debug.perf.mode=2 \ 259 vidc.enc.dcvs.extra-buff-count=2 260 261# for perfd 262PRODUCT_PROPERTY_OVERRIDES += \ 263 ro.min_freq_0=384000 264 ro.min_freq_4=384000 265 266PRODUCT_PROPERTY_OVERRIDES += \ 267 ro.vendor.extension_library=libqti-perfd-client.so 268 269PRODUCT_PROPERTY_OVERRIDES += \ 270 rild.libpath=/system/vendor/lib64/libril-qc-qmi-1.so 271 272PRODUCT_PROPERTY_OVERRIDES += \ 273 ro.telephony.default_cdma_sub=0 274 275# LTE, CDMA, GSM/WCDMA 276PRODUCT_PROPERTY_OVERRIDES += \ 277 ro.telephony.default_network=10 \ 278 telephony.lteOnCdmaDevice=1 \ 279 persist.radio.mode_pref_nv10=1 280 281PRODUCT_PROPERTY_OVERRIDES += \ 282 persist.radio.apm_sim_not_pwdn=1 283 284# Setup custom emergency number list based on the MCC. This is needed by RIL 285PRODUCT_PROPERTY_OVERRIDES += \ 286 persist.radio.custom_ecc=1 287 288# Enable Wifi calling 289PRODUCT_PROPERTY_OVERRIDES += \ 290 persist.data.iwlan.enable=true 291 292PRODUCT_PROPERTY_OVERRIDES += \ 293 ro.frp.pst=/dev/block/platform/soc.0/f9824900.sdhci/by-name/frp 294 295# For SPN display 296PRODUCT_COPY_FILES += \ 297 device/huawei/angler/spn-conf.xml:system/etc/spn-conf.xml 298 299# Request modem to send PLMN name always irrespective 300# of display condition in EFSPN. 301# RIL uses this property. 302PRODUCT_PROPERTY_OVERRIDES += \ 303 persist.radio.always_send_plmn=true 304 305# If data_no_toggle is 0 there are no reports if the screen is off. 306# If data_no_toggle is 1 then dormancy indications will come with screen off. 307PRODUCT_PROPERTY_OVERRIDES += \ 308 persist.radio.data_no_toggle=1 309 310# Ril sends only one RIL_UNSOL_CALL_RING, so set call_ring.multiple to false 311PRODUCT_PROPERTY_OVERRIDES += \ 312 ro.telephony.call_ring.multiple=0 313 314# Update 1x signal strength after 2s 315PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 316 persist.radio.snapshot_enabled=1 \ 317 persist.radio.snapshot_timer=2 318 319# Reduce client buffer size for fast audio output tracks 320PRODUCT_PROPERTY_OVERRIDES += \ 321 af.fast_track_multiplier=1 322 323# Low latency audio buffer size in frames 324PRODUCT_PROPERTY_OVERRIDES += \ 325 audio_hal.period_size=192 326 327#for qcom modify fluence type name, here added and enable 328PRODUCT_PROPERTY_OVERRIDES += \ 329 ro.qc.sdk.audio.fluencetype="fluence" \ 330 persist.audio.fluence.voicecall=true \ 331 persist.audio.fluence.voicecomm=true \ 332 persist.audio.product.identify="angler" \ 333 persist.audio.fluence.speaker=true 334 335# Enable AAC 5.1 output 336PRODUCT_PROPERTY_OVERRIDES += \ 337 media.aac_51_output_enabled=true 338 339#stereo speakers: orientation changes swap L/R channels 340PRODUCT_PROPERTY_OVERRIDES += \ 341 ro.audio.monitorRotation=true 342 343# low audio flinger standby delay to reduce power consumption 344PRODUCT_PROPERTY_OVERRIDES += \ 345 ro.audio.flinger_standbytime_ms=300 346 347PRODUCT_PROPERTY_OVERRIDES += \ 348 persist.sys.ssr.restart_level="ALL_ENABLE" 349 350# Enable camera EIS 351# eis.enable: enables electronic image stabilization 352# is_type: sets image stabilization type 353PRODUCT_PROPERTY_OVERRIDES += \ 354 persist.camera.eis.enable=1 \ 355 persist.camera.is_type=4 356 357# For android_filesystem_config.h 358PRODUCT_PACKAGES += \ 359 fs_config_files 360 361# For data 362PRODUCT_PACKAGES += \ 363 librmnetctl 364 365# limit dex2oat threads to improve thermals 366PRODUCT_PROPERTY_OVERRIDES += \ 367 dalvik.vm.dex2oat-threads=2 \ 368 dalvik.vm.image-dex2oat-threads=4 369 370# Modem debugger 371ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 372PRODUCT_PACKAGES += \ 373 QXDMLogger 374 375PRODUCT_COPY_FILES += \ 376 device/huawei/angler/init.angler.diag.rc.userdebug:root/init.angler.diag.rc 377 378# subsystem ramdump collection 379PRODUCT_PROPERTY_OVERRIDES += \ 380 persist.sys.ssr.enable_ramdumps=1 381else 382PRODUCT_COPY_FILES += \ 383 device/huawei/angler/init.angler.diag.rc.user:root/init.angler.diag.rc 384endif 385 386# Incoming number (b/23529711) 387PRODUCT_PROPERTY_OVERRIDES += \ 388 persist.radio.redir_party_num=0 389 390# setup dalvik vm configs. 391$(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk) 392 393$(call inherit-product-if-exists, hardware/qcom/msm8994/msm8994.mk) 394$(call inherit-product-if-exists, vendor/qcom/gpu/msm8994/msm8994-gpu-vendor.mk) 395 396# copy wlan firmware 397$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4358/device-bcm.mk) 398 399# setup dm-verity configs. 400PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/platform/soc.0/f9824900.sdhci/by-name/system 401PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor 402$(call inherit-product, build/target/product/verity.mk) 403