• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright (C) 2016 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# Common make file for all car builds
18
19PRODUCT_PUBLIC_SEPOLICY_DIRS += packages/services/Car/car_product/sepolicy/public
20PRODUCT_PRIVATE_SEPOLICY_DIRS += packages/services/Car/car_product/sepolicy/private
21ifeq ($(ENABLE_CARTELEMETRY_SERVICE), true)
22PRODUCT_PRIVATE_SEPOLICY_DIRS += packages/services/Car/car_product/sepolicy/cartelemetry
23endif
24
25PRODUCT_PACKAGES += \
26    Bluetooth \
27    CarActivityResolver \
28    CarDeveloperOptions \
29    CarSettingsIntelligence \
30    CarManagedProvisioning \
31    OneTimeInitializer \
32    CarProvision \
33    StatementService \
34    SystemUpdater
35
36PRODUCT_PACKAGES += \
37    pppd \
38    screenrecord
39
40# This is for testing
41ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
42PRODUCT_PACKAGES += \
43    DefaultStorageMonitoringCompanionApp \
44    EmbeddedKitchenSinkApp \
45    GarageModeTestApp \
46    ExperimentalCarService \
47    BugReportApp \
48    NetworkPreferenceApp \
49    SampleCustomInputService \
50    AdasLocationTestApp \
51    curl \
52    CarTelemetryApp \
53    RailwayReferenceApp \
54
55# SEPolicy for test apps / services
56BOARD_SEPOLICY_DIRS += packages/services/Car/car_product/sepolicy/test
57endif
58
59# ClusterOsDouble is the testing app to test Cluster2 framework and it can handle Cluster VHAL
60# and do some Cluster OS role.
61ifeq ($(ENABLE_CLUSTER_OS_DOUBLE), true)
62PRODUCT_PACKAGES += ClusterHomeSample ClusterOsDouble
63else
64# DirectRenderingCluster is the sample app for the old Cluster framework.
65PRODUCT_PACKAGES += DirectRenderingCluster
66endif  # ENABLE_CLUSTER_OS_DOUBLE
67
68PRODUCT_COPY_FILES += \
69    frameworks/av/media/libeffects/data/audio_effects.conf:system/etc/audio_effects.conf
70
71PRODUCT_PROPERTY_OVERRIDES += \
72    ro.carrier=unknown \
73    ro.hardware.type=automotive \
74
75# Set default Bluetooth profiles
76TARGET_SYSTEM_PROP += \
77    packages/services/Car/car_product/properties/bluetooth.prop
78
79PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
80    config.disable_systemtextclassifier=true
81
82###
83### Suggested values for multi-user properties - can be overridden
84###
85
86# Enable headless system user mode
87PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
88    ro.fw.mu.headless_system_user?=true
89
90# Enable user pre-creation
91PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
92    android.car.number_pre_created_users?=1 \
93    android.car.number_pre_created_guests?=1
94
95# Enable User HAL integration
96# NOTE: when set to true, VHAL must also implement the user-related properties,
97# otherwise CarService will ignore it
98PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
99    android.car.user_hal_enabled?=true
100
101### end of multi-user properties ###
102
103# Overlay for Google network and fused location providers
104$(call inherit-product, device/sample/products/location_overlay.mk)
105$(call inherit-product-if-exists, frameworks/webview/chromium/chromium.mk)
106$(call inherit-product, packages/services/Car/car_product/build/car_base.mk)
107
108# Overrides
109PRODUCT_BRAND := generic
110PRODUCT_DEVICE := generic
111PRODUCT_NAME := generic_car_no_telephony
112
113PRODUCT_IS_AUTOMOTIVE := true
114
115PRODUCT_PROPERTY_OVERRIDES := \
116    ro.config.ringtone=Girtab.ogg \
117    ro.config.notification_sound=Tethys.ogg \
118    ro.config.alarm_alert=Oxygen.ogg \
119    $(PRODUCT_PROPERTY_OVERRIDES) \
120
121PRODUCT_PROPERTY_OVERRIDES += \
122    keyguard.no_require_sim=true
123
124# TODO(b/205189147): Remove the following change after the proper fix is landed.
125# Uses the local KeyGuard animation to resolve TaskView misalignment issue after display-on.
126PRODUCT_SYSTEM_PROPERTIES += \
127    persist.wm.enable_remote_keyguard_animation=0
128
129# TODO(b/198516172): Find a better location to add this read only property
130# It is added here to check the functionality, will be updated in next CL
131PRODUCT_SYSTEM_PROPERTIES += \
132    ro.android.car.carservice.overlay.packages?=com.android.car.resources.vendor;com.google.android.car.resources.vendor;
133
134# vendor layer can override this
135PRODUCT_SYSTEM_PROPERTIES += \
136    ro.android.car.carservice.package?=com.android.car.updatable
137
138# Update with PLATFORM_VERSION_MINOR_INT update
139PRODUCT_SYSTEM_PROPERTIES += ro.android.car.version.platform_minor=3
140
141# Automotive specific packages
142PRODUCT_PACKAGES += \
143    CarFrameworkPackageStubs \
144    CarService \
145    CarShell \
146    CarDialerApp \
147    CarRadioApp \
148    OverviewApp \
149    CarLauncher \
150    CarSystemUI \
151    LocalMediaPlayer \
152    CarMediaApp \
153    CarMessengerApp \
154    CarHTMLViewer \
155    CarHvacApp \
156    CarMapsPlaceholder \
157    CarLatinIME \
158    CarSettings \
159    CarUsbHandler \
160    RotaryIME \
161    RotaryPlayground \
162    android.car.builtin \
163    car-frameworks-service \
164    com.android.car.procfsinspector \
165    com.android.permission \
166
167# RROs
168PRODUCT_PACKAGES += \
169    CarPermissionControllerRRO \
170
171# System Server components
172# Order is important: if X depends on Y, then Y should precede X on the list.
173PRODUCT_SYSTEM_SERVER_JARS += car-frameworks-service
174# TODO: make the order optimal by appending 'car-frameworks-service' at the end
175# after its dependency 'services'. Currently the order is violated because this
176# makefile is included before AOSP makefile.
177PRODUCT_BROKEN_SUBOPTIMAL_ORDER_OF_SYSTEM_SERVER_JARS := true
178
179# Boot animation
180PRODUCT_COPY_FILES += \
181    packages/services/Car/car_product/bootanimations/bootanimation-832.zip:system/media/bootanimation.zip
182
183PRODUCT_LOCALES := \
184    en_US \
185    af_ZA \
186    am_ET \
187    ar_EG ar_XB \
188    as_IN \
189    az_AZ \
190    be_BY \
191    bg_BG \
192    bn_BD \
193    bs_BA \
194    ca_ES \
195    cs_CZ \
196    da_DK \
197    de_DE \
198    el_GR \
199    en_AU en_CA en_GB en_IN en_XA \
200    es_ES es_US \
201    et_EE \
202    eu_ES \
203    fa_IR \
204    fi_FI \
205    fil_PH \
206    fr_CA fr_FR \
207    gl_ES \
208    gu_IN \
209    hi_IN \
210    hr_HR \
211    hu_HU \
212    hy_AM \
213    id_ID \
214    is_IS \
215    it_IT \
216    iw_IL \
217    ja_JP \
218    ka_GE \
219    kk_KZ \
220    km_KH km_MH \
221    kn_IN \
222    ko_KR \
223    ky_KG \
224    lo_LA \
225    lv_LV \
226    lt_LT \
227    mk_MK \
228    ml_IN \
229    mn_MN \
230    mr_IN \
231    ms_MY \
232    my_MM \
233    ne_NP \
234    nl_NL \
235    no_NO \
236    or_IN \
237    pa_IN \
238    pl_PL \
239    pt_BR pt_PT \
240    ro_RO \
241    ru_RU \
242    si_LK \
243    sk_SK \
244    sl_SI \
245    sq_AL \
246    sr_RS \
247    sv_SE \
248    sw_TZ \
249    ta_IN \
250    te_IN \
251    th_TH \
252    tr_TR \
253    uk_UA \
254    ur_PK \
255    uz_UZ \
256    vi_VN \
257    zh_CN zh_HK zh_TW \
258    zu_ZA
259
260PRODUCT_BOOT_JARS += \
261    android.car.builtin
262
263USE_CAR_FRAMEWORK_APEX ?= true
264
265ifeq ($(USE_CAR_FRAMEWORK_APEX),true)
266    PRODUCT_PACKAGES += com.android.car.framework
267
268    PRODUCT_APEX_BOOT_JARS += com.android.car.framework:android.car-module
269    PRODUCT_APEX_SYSTEM_SERVER_JARS += com.android.car.framework:car-frameworks-service-module
270
271    PRODUCT_HIDDENAPI_STUBS := android.car-module.stubs
272    PRODUCT_HIDDENAPI_STUBS_SYSTEM := android.car-module.stubs.system
273    PRODUCT_HIDDENAPI_STUBS_TEST := android.car-module.stubs.test
274else # !USE_CAR_FRAMEWORK_APEX
275    $(warning NOT using CarFramework APEX)
276    PRODUCT_BOOT_JARS += android.car
277    PRODUCT_PACKAGES += android.car CarServiceUpdatableNonModule car-frameworks-service-module
278    PRODUCT_SYSTEM_SERVER_JARS += car-frameworks-service-module
279
280    PRODUCT_HIDDENAPI_STUBS := android.car-stubs-dex
281    PRODUCT_HIDDENAPI_STUBS_SYSTEM := android.car-system-stubs-dex
282    PRODUCT_HIDDENAPI_STUBS_TEST := android.car-test-stubs-dex
283endif # USE_CAR_FRAMEWORK_APEX
284
285# Disable Prime Shader Cache in SurfaceFlinger to make it available faster
286PRODUCT_PROPERTY_OVERRIDES += \
287    service.sf.prime_shader_cache=0
288