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