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