• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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# Enable support for chinook sensorhub
23TARGET_USES_CHINOOK_SENSORHUB := false
24
25ifeq ($(TARGET_PREBUILT_KERNEL),)
26  LOCAL_KERNEL := device/huawei/angler-kernel/Image.gz-dtb
27else
28  LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
29endif
30
31PRODUCT_COPY_FILES := \
32    $(LOCAL_KERNEL):kernel
33
34PRODUCT_COPY_FILES += \
35    device/huawei/angler/init.angler.rc:root/init.angler.rc \
36    device/huawei/angler/init.angler.usb.rc:root/init.angler.usb.rc \
37    device/huawei/angler/fstab.angler:root/fstab.angler \
38    device/huawei/angler/ueventd.angler.rc:root/ueventd.angler.rc \
39    device/huawei/angler/init.recovery.angler.rc:root/init.recovery.angler.rc \
40    device/huawei/angler/init.angler.power.sh:system/bin/init.angler.power.sh \
41    device/huawei/angler/uinput-fpc.kl:system/usr/keylayout/uinput-fpc.kl \
42    device/huawei/angler/uinput-fpc.idc:system/usr/idc/uinput-fpc.idc \
43    device/huawei/angler/init.qcom.devwait.sh:system/bin/init.qcom.devwait.sh \
44    device/huawei/angler/init.qcom.devstart.sh:system/bin/init.qcom.devstart.sh
45
46ifeq ($(TARGET_USES_CHINOOK_SENSORHUB),true)
47PRODUCT_COPY_FILES += \
48    device/huawei/angler/init.angler.sensorhub.rc:root/init.angler.sensorhub.rc
49else
50PRODUCT_COPY_FILES += \
51    device/huawei/angler/init.angler.nanohub.rc:root/init.angler.sensorhub.rc
52endif
53
54PRODUCT_COPY_FILES += \
55    device/huawei/angler/init.mcfg.sh:system/bin/init.mcfg.sh
56
57PRODUCT_COPY_FILES += \
58    device/huawei/angler/init.radio.sh:system/bin/init.radio.sh
59
60# Thermal configuration
61PRODUCT_COPY_FILES += \
62    device/huawei/angler/thermal-engine-angler.conf:system/etc/thermal-engine.conf
63
64# Vendor Interface Manifest
65PRODUCT_COPY_FILES += \
66    device/huawei/angler/manifest.xml:vendor/manifest.xml
67
68# Media
69PRODUCT_COPY_FILES += \
70    frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \
71    frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/etc/media_codecs_google_telephony.xml \
72    frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \
73    device/huawei/angler/media_codecs.xml:system/etc/media_codecs.xml \
74    device/huawei/angler/media_codecs_performance.xml:system/etc/media_codecs_performance.xml \
75    device/huawei/angler/media_profiles.xml:system/etc/media_profiles.xml
76
77# Audio
78PRODUCT_COPY_FILES += \
79    device/huawei/angler/audio_output_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_output_policy.conf \
80    device/huawei/angler/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \
81    device/huawei/angler/mixer_paths.xml:system/etc/mixer_paths.xml \
82    device/huawei/angler/audio_platform_info_i2s.xml:system/etc/audio_platform_info_i2s.xml \
83    device/huawei/angler/sound_trigger_mixer_paths.xml:system/etc/sound_trigger_mixer_paths.xml \
84    device/huawei/angler/sound_trigger_platform_info.xml:system/etc/sound_trigger_platform_info.xml \
85    device/huawei/angler/audio_platform_info.xml:system/etc/audio_platform_info.xml \
86    device/huawei/angler/audio_policy_configuration.xml:system/etc/audio_policy_configuration.xml \
87    device/huawei/angler/audio_policy_volumes_drc.xml:system/etc/audio_policy_volumes_drc.xml \
88    frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:system/etc/a2dp_audio_policy_configuration.xml \
89    frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:system/etc/r_submix_audio_policy_configuration.xml \
90    frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:system/etc/usb_audio_policy_configuration.xml \
91    frameworks/av/services/audiopolicy/config/default_volume_tables.xml:system/etc/default_volume_tables.xml \
92
93# Input device files
94PRODUCT_COPY_FILES += \
95    device/huawei/angler/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl \
96    device/huawei/angler/qpnp_pon.kl:system/usr/keylayout/qpnp_pon.kl \
97    device/huawei/angler/synaptics_dsx.idc:system/usr/idc/synaptics_dsx.idc
98
99# for launcher layout
100PRODUCT_PACKAGES += \
101    AnglerLayout
102
103# Fingerprint Sensor
104PRODUCT_PACKAGES += \
105    fingerprint.angler \
106    android.hardware.biometrics.fingerprint@2.1-service
107
108# Delegation for OEM customization
109PRODUCT_OEM_PROPERTIES := \
110    ro.config.ringtone \
111    ro.config.notification_sound \
112    ro.config.alarm_alert \
113    ro.config.wallpaper \
114    ro.config.wallpaper_component \
115    ro.oem.* \
116    oem.*
117
118PRODUCT_COPY_FILES += \
119    device/huawei/angler/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config
120
121# Wifi
122PRODUCT_COPY_FILES += \
123    device/huawei/angler/bcmdhd.cal:system/etc/wifi/bcmdhd.cal \
124    device/huawei/angler/bcmdhd-pme.cal:system/etc/wifi/bcmdhd-pme.cal \
125    device/huawei/angler/bcmdhd-high.cal:system/etc/wifi/bcmdhd-high.cal \
126    device/huawei/angler/bcmdhd-low.cal:system/etc/wifi/bcmdhd-low.cal \
127    device/huawei/angler/filter_ie:system/etc/wifi/filter_ie
128
129# These are the hardware-specific features
130PRODUCT_COPY_FILES += \
131    frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \
132    frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \
133    frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \
134    frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \
135    frameworks/native/data/etc/android.hardware.camera.full.xml:system/etc/permissions/android.hardware.camera.full.xml \
136    frameworks/native/data/etc/android.hardware.camera.raw.xml:system/etc/permissions/android.hardware.camera.raw.xml \
137    frameworks/native/data/etc/android.hardware.fingerprint.xml:system/etc/permissions/android.hardware.fingerprint.xml \
138    frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \
139    frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
140    frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \
141    frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \
142    frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
143    frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
144    frameworks/native/data/etc/android.hardware.sensor.barometer.xml:system/etc/permissions/android.hardware.sensor.barometer.xml \
145    frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:system/etc/permissions/android.hardware.sensor.stepcounter.xml \
146    frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:system/etc/permissions/android.hardware.sensor.stepdetector.xml \
147    frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:system/etc/permissions/android.hardware.sensor.hifi_sensors.xml \
148    frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
149    frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \
150    frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \
151    frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
152    frameworks/native/data/etc/android.hardware.audio.low_latency.xml:system/etc/permissions/android.hardware.audio.low_latency.xml \
153    frameworks/native/data/etc/android.hardware.audio.pro.xml:system/etc/permissions/android.hardware.audio.pro.xml \
154    frameworks/native/data/etc/android.hardware.telephony.cdma.xml:system/etc/permissions/android.hardware.telephony.cdma.xml \
155    frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \
156    frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \
157    frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml \
158    frameworks/native/data/etc/android.hardware.nfc.hcef.xml:system/etc/permissions/android.hardware.nfc.hcef.xml \
159    frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \
160    frameworks/native/data/etc/android.software.midi.xml:system/etc/permissions/android.software.midi.xml \
161    frameworks/native/data/etc/android.software.verified_boot.xml:system/etc/permissions/android.software.verified_boot.xml \
162    frameworks/native/data/etc/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml \
163    frameworks/native/data/etc/android.hardware.opengles.aep.xml:system/etc/permissions/android.hardware.opengles.aep.xml \
164    frameworks/native/data/etc/android.hardware.vulkan.level-0.xml:system/etc/permissions/android.hardware.vulkan.level.xml \
165    frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:system/etc/permissions/android.hardware.vulkan.version.xml
166
167
168# MSM IRQ Balancer configuration file
169PRODUCT_COPY_FILES += \
170    device/huawei/angler/msm_irqbalance.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance.conf
171
172# Qseecomd configuration file
173PRODUCT_COPY_FILES += \
174    device/huawei/angler/init.angler.qseecomd.sh:system/bin/init.angler.qseecomd.sh
175
176PRODUCT_TAGS += dalvik.gc.type-precise
177
178# This device is 560dpi.  However the platform doesn't
179# currently contain all of the bitmaps at 560dpi density so
180# we do this little trick to fall back to the xxhdpi version
181# if the 560dpi doesn't exist.
182PRODUCT_AAPT_CONFIG := normal
183PRODUCT_AAPT_PREF_CONFIG := 560dpi
184# A list of dpis to select prebuilt apk, in precedence order.
185PRODUCT_AAPT_PREBUILT_DPI := xxxhdpi xxhdpi xhdpi hdpi
186
187PRODUCT_CHARACTERISTICS := nosdcard
188
189PRODUCT_PACKAGES += \
190    gralloc.msm8994 \
191    android.hardware.graphics.allocator@2.0-impl \
192    android.hardware.graphics.allocator@2.0-service \
193    android.hardware.graphics.mapper@2.0-impl \
194    hwcomposer.msm8994 \
195    libgenlock \
196    memtrack.msm8994 \
197    android.hardware.memtrack@1.0-impl
198
199# Light HAL
200PRODUCT_PACKAGES += \
201    lights.angler \
202    android.hardware.light@2.0-impl
203
204# RenderScript HAL
205PRODUCT_PACKAGES += \
206    android.hardware.renderscript@1.0-impl
207
208PRODUCT_PACKAGES += \
209    android.hardware.drm@1.0-impl \
210
211USE_XML_AUDIO_POLICY_CONF := 1
212PRODUCT_PACKAGES += \
213    audio.primary.msm8994 \
214    audio.a2dp.default \
215    audio.usb.default \
216    audio.r_submix.default \
217    libaudio-resampler \
218    dsm_ctrl
219
220PRODUCT_PACKAGES += \
221    android.hardware.soundtrigger@2.0-impl
222
223# Audio effects
224PRODUCT_PACKAGES += \
225    libqcomvisualizer \
226    libqcomvoiceprocessing \
227    libqcomvoiceprocessingdescriptors \
228    libqcompostprocbundle
229
230PRODUCT_PACKAGES += \
231    libc2dcolorconvert \
232    libstagefrighthw \
233    libOmxCore \
234    libmm-omxcore \
235    libOmxVdec \
236    libOmxVdecHevc \
237    libOmxVenc
238
239PRODUCT_PACKAGES += \
240    android.hardware.audio@2.0-impl \
241    android.hardware.audio.effect@2.0-impl \
242    android.hardware.broadcastradio@1.0-impl \
243    android.hardware.soundtrigger@2.0-impl
244
245#CAMERA
246PRODUCT_PACKAGES += \
247    camera.device@3.2-impl \
248    android.hardware.camera.provider@2.4-impl \
249    camera.msm8994 \
250    libcamera \
251    libmmcamera_interface \
252    libmmcamera_interface2 \
253    libmmjpeg_interface \
254    libqomx_core \
255    mm-qcamera-app
256
257# GPS
258PRODUCT_PACKAGES += \
259    libgps.utils \
260    gps.msm8994
261
262PRODUCT_PACKAGES += \
263    android.hardware.graphics.composer@2.1-impl
264
265# Sensor & activity_recognition HAL
266TARGET_USES_NANOHUB_SENSORHAL := true
267NANOHUB_SENSORHAL_LID_STATE_ENABLED := true
268NANOHUB_SENSORHAL_USB_MAG_BIAS_ENABLED := true
269NANOHUB_SENSORHAL_SENSORLIST := $(LOCAL_PATH)/sensorhal/sensorlist.cpp
270
271PRODUCT_PACKAGES += \
272    sensors.angler \
273    activity_recognition.angler \
274    context_hub.default \
275    android.hardware.sensors@1.0-impl \
276    android.hardware.contexthub@1.0-impl \
277
278# new gatekeeper HAL
279PRODUCT_PACKAGES += \
280    android.hardware.gatekeeper@1.0-impl
281
282ifeq ($(TARGET_USES_CHINOOK_SENSORHUB),true)
283PRODUCT_PACKAGES += \
284    sensortool.angler \
285    nano4x1.bin
286else
287PRODUCT_PACKAGES += \
288    nanoapp_cmd
289endif
290
291# sensor utilities (only for userdebug and eng builds)
292ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
293PRODUCT_PACKAGES += \
294    nanotool \
295    sensortest
296endif
297
298# for off charging mode
299PRODUCT_PACKAGES += \
300    charger_res_images
301
302PRODUCT_PACKAGES += \
303    android.hardware.wifi@1.0-service \
304    libwpa_client \
305    hostapd \
306    wlutil \
307    wificond \
308    wifilogd \
309    wpa_supplicant \
310    wpa_supplicant.conf
311
312# Bluetooth HAL
313PRODUCT_PACKAGES += \
314    libbt-vendor \
315    android.hardware.bluetooth@1.0-impl
316
317# NFC
318PRODUCT_PACKAGES += \
319    libnfc-nci \
320    NfcNci \
321    Tag \
322    nfc_nci.angler \
323    android.hardware.nfc@1.0-impl \
324
325# Keymaster HAL
326PRODUCT_PACKAGES += \
327    android.hardware.keymaster@3.0-impl
328
329# Vibrator
330PRODUCT_PACKAGES += \
331    android.hardware.vibrator@1.0-impl
332
333# Power HAL
334PRODUCT_PACKAGES += \
335    power.angler \
336    android.hardware.power@1.0-impl \
337
338# Thermal HAL
339PRODUCT_PACKAGES += \
340    thermal.angler \
341    android.hardware.thermal@1.0-impl
342
343#GNSS HAL
344PRODUCT_PACKAGES += \
345    android.hardware.gnss@1.0-impl
346
347#USB HAL
348PRODUCT_PACKAGES += \
349    android.hardware.usb@1.0-service
350# Library used for VTS tests  (only for userdebug and eng builds)
351ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
352# Test HAL for hwbinder performance benchmark.
353PRODUCT_PACKAGES += \
354     android.hardware.tests.libhwbinder@1.0-impl
355
356# Test HAL for FMQ performance benchmark.
357PRODUCT_PACKAGES += \
358     android.hardware.tests.msgq@1.0-impl
359
360# For VTS profiling.
361PRODUCT_PACKAGES += \
362     libvts_profiling \
363     libvts_multidevice_proto
364endif
365
366PRODUCT_COPY_FILES += \
367    device/huawei/angler/nfc/libnfc-brcm.conf:system/etc/libnfc-brcm.conf \
368    device/huawei/angler/nfc/libnfc-nxp.conf:system/etc/libnfc-nxp.conf
369
370DEVICE_PACKAGE_OVERLAYS := \
371    device/huawei/angler/overlay
372
373PRODUCT_PROPERTY_OVERRIDES += \
374    ro.opengles.version=196610
375
376PRODUCT_PROPERTY_OVERRIDES += \
377    ro.sf.lcd_density=560
378
379PRODUCT_PROPERTY_OVERRIDES += \
380    persist.hwc.mdpcomp.enable=true \
381    persist.data.mode=concurrent
382
383PRODUCT_PROPERTY_OVERRIDES += \
384    persist.radio.data_no_toggle=1
385
386PRODUCT_PROPERTY_OVERRIDES += \
387	persist.radio.data_con_rprt=true
388
389# Write Manufacturer & Model information in created media files.
390# IMPORTANT: ONLY SET THIS PROPERTY TO TRUE FOR PUBLIC DEVICES
391ifneq ($(filter aosp_angler% angler%, $(TARGET_PRODUCT)),)
392PRODUCT_PROPERTY_OVERRIDES += \
393    media.recorder.show_manufacturer_and_model=true
394else
395$(error "you must decide whether to write manufacturer and model information into created media files for this device. ONLY ENABLE IT FOR PUBLIC DEVICE.")
396endif  #TARGET_PRODUCT
397
398PRODUCT_PROPERTY_OVERRIDES += \
399    ro.hwui.texture_cache_size=72 \
400    ro.hwui.layer_cache_size=48 \
401    ro.hwui.r_buffer_cache_size=8 \
402    ro.hwui.path_cache_size=32 \
403    ro.hwui.gradient_cache_size=1 \
404    ro.hwui.drop_shadow_cache_size=6 \
405    ro.hwui.texture_cache_flushrate=0.4 \
406    ro.hwui.text_small_cache_width=1024 \
407    ro.hwui.text_small_cache_height=1024 \
408    ro.hwui.text_large_cache_width=2048 \
409    ro.hwui.text_large_cache_height=1024
410
411# Enable low power video mode for 4K encode
412PRODUCT_PROPERTY_OVERRIDES += \
413    vidc.debug.perf.mode=2 \
414    vidc.enc.dcvs.extra-buff-count=2
415
416# for perfd
417PRODUCT_PROPERTY_OVERRIDES += \
418    ro.min_freq_0=384000
419    ro.min_freq_4=384000
420
421PRODUCT_PROPERTY_OVERRIDES += \
422    ro.vendor.extension_library=libqti-perfd-client.so
423
424PRODUCT_PROPERTY_OVERRIDES += \
425    rild.libpath=/vendor/lib64/libril-qc-qmi-1.so
426
427PRODUCT_PROPERTY_OVERRIDES += \
428    ro.telephony.default_cdma_sub=0
429
430# LTE, CDMA, GSM/WCDMA
431PRODUCT_PROPERTY_OVERRIDES += \
432    ro.telephony.default_network=10 \
433    telephony.lteOnCdmaDevice=1 \
434    persist.radio.mode_pref_nv10=1
435
436PRODUCT_PROPERTY_OVERRIDES += \
437    persist.radio.apm_sim_not_pwdn=1
438
439# Setup custom emergency number list based on the MCC. This is needed by RIL
440PRODUCT_PROPERTY_OVERRIDES += \
441    persist.radio.custom_ecc=1
442
443# Enable Wifi calling
444PRODUCT_PROPERTY_OVERRIDES += \
445    persist.data.iwlan.enable=true
446
447PRODUCT_PROPERTY_OVERRIDES += \
448   ro.frp.pst=/dev/block/platform/soc.0/f9824900.sdhci/by-name/frp
449
450# For SPN display
451PRODUCT_COPY_FILES += \
452    device/huawei/angler/spn-conf.xml:system/etc/spn-conf.xml
453
454# Request modem to send PLMN name always irrespective
455# of display condition in EFSPN.
456# RIL uses this property.
457PRODUCT_PROPERTY_OVERRIDES += \
458    persist.radio.always_send_plmn=true
459
460# If data_no_toggle is 0 there are no reports if the screen is off.
461# If data_no_toggle is 1 then dormancy indications will come with screen off.
462PRODUCT_PROPERTY_OVERRIDES += \
463    persist.radio.data_no_toggle=1
464
465# Ril sends only one RIL_UNSOL_CALL_RING, so set call_ring.multiple to false
466PRODUCT_PROPERTY_OVERRIDES += \
467    ro.telephony.call_ring.multiple=0
468
469# Update 1x signal strength after 2s
470PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
471    persist.radio.snapshot_enabled=1 \
472    persist.radio.snapshot_timer=2
473
474# Reduce client buffer size for fast audio output tracks
475PRODUCT_PROPERTY_OVERRIDES += \
476    af.fast_track_multiplier=1
477
478# Low latency audio buffer size in frames
479PRODUCT_PROPERTY_OVERRIDES += \
480    audio_hal.period_size=192
481
482#for qcom modify fluence type name, here added and enable
483PRODUCT_PROPERTY_OVERRIDES += \
484    ro.qc.sdk.audio.fluencetype="fluence" \
485    persist.audio.fluence.voicecall=true \
486    persist.audio.fluence.voicecomm=true \
487    persist.audio.product.identify="angler" \
488    persist.audio.fluence.speaker=true
489
490# Default OMX service to non-Treble
491PRODUCT_PROPERTY_OVERRIDES += \
492    persist.media.treble_omx=false
493
494# Enable AAC 5.1 output
495PRODUCT_PROPERTY_OVERRIDES += \
496    media.aac_51_output_enabled=true
497
498#stereo speakers: orientation changes swap L/R channels
499PRODUCT_PROPERTY_OVERRIDES += \
500    ro.audio.monitorRotation=true
501
502# low audio flinger standby delay to reduce power consumption
503PRODUCT_PROPERTY_OVERRIDES += \
504    ro.audio.flinger_standbytime_ms=300
505
506PRODUCT_PROPERTY_OVERRIDES += \
507    persist.sys.ssr.restart_level="ALL_ENABLE"
508
509# Enable camera EIS
510# eis.enable: enables electronic image stabilization
511# is_type: sets image stabilization type
512PRODUCT_PROPERTY_OVERRIDES += \
513    persist.camera.eis.enable=1 \
514    persist.camera.is_type=4
515
516# For android_filesystem_config.h
517PRODUCT_PACKAGES += \
518   fs_config_files
519
520# For data
521PRODUCT_PACKAGES += \
522   librmnetctl
523
524# limit dex2oat threads to improve thermals
525PRODUCT_PROPERTY_OVERRIDES += \
526    dalvik.vm.boot-dex2oat-threads=4 \
527    dalvik.vm.dex2oat-threads=4 \
528    dalvik.vm.image-dex2oat-threads=4
529
530# Modem debugger
531ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
532ifeq (,$(filter aosp_angler, $(TARGET_PRODUCT)))
533PRODUCT_PACKAGES += \
534    NexusLogger
535endif # aosp_angler
536
537PRODUCT_COPY_FILES += \
538    device/huawei/angler/init.angler.diag.rc.userdebug:root/init.angler.diag.rc
539
540# subsystem ramdump collection
541PRODUCT_PROPERTY_OVERRIDES += \
542    persist.sys.ssr.enable_ramdumps=1
543else # userdebug eng
544PRODUCT_COPY_FILES += \
545    device/huawei/angler/init.angler.diag.rc.user:root/init.angler.diag.rc
546endif # userdebug eng
547
548# Incoming number (b/23529711)
549PRODUCT_PROPERTY_OVERRIDES += \
550    persist.radio.redir_party_num=0
551
552# OEM Unlock reporting
553PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
554    ro.oem_unlock_supported=1
555
556# ro.product.first_api_level indicates the first api level the device has commercially launched on.
557PRODUCT_PROPERTY_OVERRIDES += \
558    ro.product.first_api_level=23
559
560# In userdebug, add minidebug info the the boot image and the system server to support
561# diagnosing native crashes.
562ifneq (,$(filter userdebug, $(TARGET_BUILD_VARIANT)))
563    # Boot image.
564    PRODUCT_DEX_PREOPT_BOOT_FLAGS += --generate-mini-debug-info
565    # System server and some of its services.
566    # Note: we cannot use PRODUCT_SYSTEM_SERVER_JARS, as it has not been expanded at this point.
567    $(call add-product-dex-preopt-module-config,services,--generate-mini-debug-info)
568    $(call add-product-dex-preopt-module-config,wifi-service,--generate-mini-debug-info)
569endif
570
571# setup dalvik vm configs.
572$(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk)
573
574$(call inherit-product-if-exists, hardware/qcom/msm8994/msm8994.mk)
575$(call inherit-product-if-exists, vendor/qcom/gpu/msm8994/msm8994-gpu-vendor.mk)
576
577# copy wlan firmware
578$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4358/device-bcm.mk)
579
580# GPS configuration
581PRODUCT_COPY_FILES += \
582    device/huawei/angler/gps.conf:system/etc/gps.conf:qcom
583
584# setup dm-verity configs.
585PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/platform/soc.0/f9824900.sdhci/by-name/system
586PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor
587$(call inherit-product, build/target/product/verity.mk)
588
589# b/29995499
590$(call add-product-sanitizer-module-config,cameraserver,never)
591$(call add-product-sanitizer-module-config,mm-qcamera-daemon,never)
592
593# b/36201281
594$(call add-product-sanitizer-module-config,thermal-engine,never)
595$(call add-product-sanitizer-module-config,qmuxd,never)
596