1#
2# Copyright (C) 2014 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# Enable updating of APEXes
18$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
19
20# Device overlay
21DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay
22
23# Build and run only ART
24PRODUCT_RUNTIMES := runtime_libart_default
25
26PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
27
28# Enable Scoped Storage related
29$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
30
31# vndk
32PRODUCT_PACKAGES += vndk-sp
33
34# HACK: Avoid usb crash
35PRODUCT_PRODUCT_PROPERTIES := \
36    persist.adb.nonblocking_ffs=0 \
37    ro.adb.nonblocking_ffs=0
38
39# DRM HAL
40PRODUCT_PACKAGES += \
41    android.hardware.drm-service.clearkey \
42    android.hardware.drm-service.widevine
43
44# Use Launcher3QuickStep
45PRODUCT_PACKAGES += Launcher3QuickStep
46
47# Enable WiFi
48PRODUCT_PACKAGES += \
49    hostapd \
50    libwpa_client \
51    wpa_supplicant \
52    wpa_supplicant.conf \
53    wificond
54
55PRODUCT_PROPERTY_OVERRIDES += \
56    wifi.interface=wlan0 \
57    wifi.supplicant_scan_interval=15
58
59PRODUCT_COPY_FILES += \
60    frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
61    frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
62    $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
63    $(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf
64
65# Enable BT
66PRODUCT_PACKAGES += \
67    android.hardware.bluetooth-service.default
68
69PRODUCT_COPY_FILES += \
70    frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
71    frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml
72
73#
74# Power HAL
75#
76PRODUCT_PACKAGES += \
77    android.hardware.power-service.example
78
79#
80# PowerStats HAL
81#
82PRODUCT_PACKAGES += \
83    android.hardware.power.stats-service.example
84
85
86# Audio
87PRODUCT_PACKAGES += \
88    android.hardware.audio.service \
89    android.hardware.audio@7.0-impl \
90    android.hardware.audio.effect@7.0-impl \
91    android.hardware.soundtrigger@2.3-impl \
92    android.hardware.bluetooth.audio@2.0-impl
93
94# Build default bluetooth a2dp and usb audio HALs
95PRODUCT_PACKAGES += \
96    audio.bluetooth.default \
97    audio.usb.default \
98    audio.r_submix.default
99
100# Bluetooth Audio AIDL HAL
101PRODUCT_PACKAGES += \
102    android.hardware.bluetooth.audio-impl \
103PRODUCT_COPY_FILES += \
104    frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml \
105
106# Build tinyalsa cli tools for debugging
107PRODUCT_PACKAGES += \
108    tinyplay \
109    tinycap \
110    tinymix \
111    tinypcminfo
112
113
114# audio policy configuration
115USE_XML_AUDIO_POLICY_CONF := 1
116PRODUCT_COPY_FILES += \
117    $(LOCAL_PATH)/etc/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
118    $(LOCAL_PATH)/etc/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
119    frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
120    frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \
121    frameworks/av/services/audiopolicy/config/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \
122    frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \
123    frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
124    frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
125    frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
126    frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml
127
128# Copy media codecs config file
129PRODUCT_COPY_FILES += \
130    $(LOCAL_PATH)/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
131    frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
132    frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
133    frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml
134
135PRODUCT_COPY_FILES += \
136    $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
137    $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaswcodec.policy
138
139# Copy hardware config file(s)
140PRODUCT_COPY_FILES +=  \
141        device/linaro/dragonboard/etc/permissions/android.software.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.xml
142
143
144# External Web Cam support
145PRODUCT_PACKAGES += \
146	android.hardware.camera.provider@2.4-impl \
147	android.hardware.camera.provider@2.4-external-service
148
149PRODUCT_COPY_FILES += \
150    frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
151    $(LOCAL_PATH)/etc/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
152    $(LOCAL_PATH)/etc/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml
153
154# Keymaster
155PRODUCT_PACKAGES += \
156    android.hardware.keymaster@3.0-impl \
157    android.hardware.keymaster@3.0-service
158
159# Gatekeeper
160PRODUCT_PACKAGES += \
161    android.hardware.gatekeeper@1.0-service.software
162
163# Health HAL
164PRODUCT_PACKAGES += com.google.cf.health
165
166# Thermal HAL
167PRODUCT_PACKAGES += com.android.hardware.thermal
168
169# TODO: disable this service once we implement system suspend
170PRODUCT_PACKAGES += \
171    suspend_blocker
172
173# dtc and fdtoverlay tools to apply dt overlays
174# mkbootimg host tool to build boot.img separately
175PRODUCT_HOST_PACKAGES := \
176    dtc \
177    fdtoverlay \
178    mkbootimg
179
180# Userspace vendor services for WiFi/Audio to work
181PRODUCT_PACKAGES += \
182    pd-mapper \
183    qrtr-ns \
184    qrtr-cfg \
185    qrtr-lookup \
186    rmtfs \
187    tqftpserv
188
189PRODUCT_COPY_FILES += \
190    $(LOCAL_PATH)/shared/utils/init.utils.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.utils.rc
191
192# Copy standard platform config files
193PRODUCT_COPY_FILES +=  \
194    $(LOCAL_PATH)/ueventd.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc \
195    frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \
196    frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
197    frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml \
198    frameworks/native/data/etc/android.software.voice_recognizers.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.voice_recognizers.xml \
199    frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
200    frameworks/native/data/etc/android.software.print.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.print.xml \
201    frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
202    frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
203    frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
204    frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml
205
206TARGET_PRODUCT_PROP := $(LOCAL_PATH)/product.prop
207
208DEVICE_MANIFEST_FILE := device/linaro/dragonboard/manifest.xml
209DEVICE_MATRIX_FILE := device/linaro/dragonboard/compatibility_matrix.xml
210