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