1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3/* 4** Copyright 2015, The Android Open Source Project 5** 6** Licensed under the Apache License, Version 2.0 (the "License"); 7** you may not use this file except in compliance with the License. 8** You may obtain a copy of the License at 9** 10** http://www.apache.org/licenses/LICENSE-2.0 11** 12** Unless required by applicable law or agreed to in writing, software 13** distributed under the License is distributed on an "AS IS" BASIS, 14** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15** See the License for the specific language governing permissions and 16** limitations under the License. 17*/ 18--> 19 20<!-- Resources to configure car service based on each OEM's preference. --> 21 22<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> 23 24 <!-- Configuration to enable usage of dynamic audio routing. If this is set to false, 25 dynamic audio routing is disabled and audio works in legacy mode. It may be useful 26 during initial development where audio hal does not support bus based addressing yet. --> 27 <bool name="audioUseDynamicRouting">false</bool> 28 29 <!-- Configuration to enable usage of core audio volume API, aka using AudioManager's 30 AudioAttributes based volume API. 31 Volume application is delegated to AudioPolicyManager. --> 32 <bool name="audioUseCoreVolume">false</bool> 33 34 <!-- Configuration to enable usage of core audio routing API. 35 It may also be enabled with Dynamic Routing enabled, thus, overriding policy routing rules 36 when Dynamic rules can be effectively established. --> 37 <bool name="audioUseCoreRouting">false</bool> 38 39 <!-- Configuration to enable muting of individual volume groups. If this is set to 40 false, muting of individual volume groups is disabled, instead muting will toggle master 41 mute. If this is set to true, car volume group muting is enabled and each individual 42 volume group can be muted separately. --> 43 <bool name="audioUseCarVolumeGroupMuting">false</bool> 44 45 <!-- Configuration to enable IAudioControl#onDevicesToDuckChange API to inform HAL when to 46 duck. If this is set to true, the API will receive signals indicating which output devices 47 to duck as well as what usages are currently holding focus. If set to false, the API will 48 not be called. --> 49 <bool name="audioUseHalDuckingSignals">true</bool> 50 51 <!-- Configuration to select version of volume adjustment context priority list. 52 Version 1 includes all audio contexts arranged in the following order: 53 NAVIGATION, CALL, MUSIC, ANNOUNCEMENT, VOICE_COMMAND, CALL_RING, SYSTEM_SOUND, SAFETY, 54 ALARM, NOTIFICATION, VEHICLE_STATUS, EMERGENCY. 55 Version 2 is limited to the following contexts in order: 56 CALL, MUSIC, ANNOUNCEMENTS, VOICE_COMMAND 57 58 audioVolumeAdjustmentContextsVersion - Integer version number currently limited to 59 numbers listed above. --> 60 <integer name="audioVolumeAdjustmentContextsVersion">1</integer> 61 62 <!-- Configuration to persist global mute state. If this is set to true, 63 Android will restore the global mute state on boot. If audioUseCarVolumeGroupMuting is 64 true, this will have no impact on persisting mute changes as mute changes will be based 65 on individual volume group.--> 66 <bool name="audioPersistMasterMuteState">true</bool> 67 68 <!-- Configuration to indicate the timeout in milliseconds while a car volume group will be 69 considered active for volume control changes during volume key events. The configuration 70 will be used as follows: 71 - The timeout will be used to determine if a playback (audio context associated with the 72 playback's audio usage) can still be considered for automatic volume selection after it 73 has stopped playing. 74 - The timeout will also be used as the pause duration required in between automatic volume 75 adjustments to change what user is adjusting. --> 76 <integer name="audioVolumeKeyEventTimeoutMs">3000</integer> 77 78 <!-- Configuration to enable callback events to volume groups. If this is set to true, clients 79 will receive callback through ICarVolumeGroupEvent to events impacting volume groups. 80 When enabled: 81 - It is strongly recommended that the vendors also support 82 IAudioControl#setModuleChangeCallback, IAudioControl#registerGainCallback for events 83 and changes to audio hardware. 84 - If both CarVolumeCallback and CarVolumeGroupEventCallback are registered by the same 85 application, then the volume group index and volume group mute callbacks shall be 86 through CarVolumeGroupEventCallback ONLY. Therefore, it is strongly recommended that 87 all the applications migrate to the new callback interface for consistent behavior. --> 88 <bool name="audioUseCarVolumeGroupEvent">false</bool> 89 90 <!-- Configuration to enable fade during audio focus changes. If this is set to true, car audio 91 framework will parse the car audio fade config definitions and apply the respective 92 FadeManagerConfiguration when dispatching audio focus loss. 93 Note: 94 - Although car audio framework expects valid fade config definitions when the flag is 95 enabled, the absence of the such definitions does not automatically result in a fatal 96 exception. 97 - All applications of fade configs must have matching fade definitions. It is a fatal error 98 to call out a fade config (by its name) as part of car audio configuration without 99 providing a valid definition. 100 - When the flag is disabled, all fade config definitions and any config application shall 101 be ignored. --> 102 <bool name="audioUseFadeManagerConfiguration">false</bool> 103 104 <!-- Configuration to enable min/max activation volume. If this is set to true, the volume of 105 the volume group with min/max activation volume setting will be set to min activation 106 volume or max activation volume if volume during activation is lower than min activation 107 volume or higher than max activation volume respectively. If this is set to false, no 108 volume level will be changed during activation.--> 109 <bool name="audioUseMinMaxActivationVolume">false</bool> 110 111 <!-- Configuration to enable isolated audio focus request for playback on dynamic devices. If 112 this is set to true, focus requests should only interact if the focus requests are 113 for the same zone and targeting playback will be routed to the same device. Otherwise, 114 the focus requests should interact only if the requests are for the same audio zone.--> 115 <bool name="audioUseIsolatedAudioFocusForDynamicDevices">false</bool> 116 117 <!-- Configuration to enable volume key events affecting volume changes on dynamic devices. 118 If this is set to true, volume changes via key events will also consider volume groups 119 containing dynamic devices for the volume/mute change. The actual volume group selected 120 will be determined by the volume priority list configured with 121 audioVolumeAdjustmentContextsVersion. Otherwise, the volume group selection via key events 122 will not consider volume groups containing dynamic devices. --> 123 <bool name="audioEnableVolumeKeyEventsToDynamicDevices">false</bool> 124 125 <!-- Whether to block other audio while media audio is muted with display off. When set to true, 126 other sounds cannot be played either while display is off. If false, only media is muted 127 and other sounds can be still played. --> 128 <bool name="displayOffMuteLockAllAudio">true</bool> 129 130 <!-- Configuration to enable or disable the default Bluetooth Device Connection Policy. This 131 policy determines when to initiate device connections, but does not control the actual 132 connection process. Disable this default to implement your own policy. --> 133 <bool name="useDefaultBluetoothConnectionPolicy">true</bool> 134 135 <!-- Configuration to enable or disable the default Bluetooth Power Policy. This 136 policy determines when to enable and/or disable the Bluetooth adapter based on 137 CarPowerManager power states. Disable this default to implement your own policy. --> 138 <bool name="useDefaultBluetoothPowerPolicy">true</bool> 139 140 <!-- Service responsible for displaying information on the car instrument cluster. --> 141 <string name="instrumentClusterRendererService" translatable="false">android.car.cluster/.ClusterRenderingService</string> 142 143 <!-- The name of Activity who is in charge of ClusterHome. --> 144 <string name="config_clusterHomeActivity" translatable="false">com.android.car.cluster.home/.ClusterHomeActivity</string> 145 146 <!-- Configures the mode in which ClusterHomeService operates. 147 Currently supported modes are: 148 0 (full mode): All VHAL properties in ClusterHalService#CORE_PROPERTIES must be 149 available. Otherwise, the entire ClusterHomeService is disabled. 150 1 (light mode): ClusterHomeService is always enabled even without any VHAL properties. 151 --> 152 <integer name="config_clusterHomeServiceMode">0</integer> 153 154 <!-- Service responsible for handling the rotary controller input. This service will start 155 on boot or on user switch. Set this string to empty if you don't want to start this 156 service. --> 157 <string name="rotaryService" translatable="false">com.android.car.rotary/com.android.car.rotary.RotaryService</string> 158 159 <!-- Whether to enable Activity blocking for safety. When Activity blocking is enabled, 160 only allowlisted safe Activities will be allowed while car is not parked. --> 161 <bool name="enableActivityBlockingForSafety">true</bool> 162 <!-- Activity to be presented when un-safe activity is launched. Take a look at the javadoc of the 163 default implementation. --> 164 <string name="activityBlockingActivity" translatable="false"> 165 com.android.systemui/com.android.systemui.car.wm.activity.ActivityBlockingActivity 166 </string> 167 <string name="continuousBlankActivity" translatable="false"> 168 com.android.systemui/com.android.systemui.car.wm.activity.ContinuousBlankActivity 169 </string> 170 <!-- Comma separated list of activities that need to be exempted from getting 171 blocked in a UX restricted state. 172 Format of each entry is either to specify package name to allowlist the whole package or 173 use format of "packagename/activity_classname" for tagging each activities. 174 For general guidelines to design distraction optimized apps, please refer 175 to Android Auto Driver Distraction Guidelines. --> 176 <string name="activityAllowlist" translatable="false"></string> 177 <!-- Comma separated list of activities that need to be exempted from getting 178 blocked in a UX restricted state. 179 Format of each entry is either to specify package name to allowlist the whole package or 180 use format of "packagename/activity_classname" for tagging each activities. 181 The current implementations expects the following system packages/activities to be 182 allowlisted. For general guidelines to design distraction optimized apps, please refer 183 to Android Auto Driver Distraction Guidelines. --> 184 <string name="systemActivityAllowlist" translatable="false">com.android.systemui,com.google.android.permissioncontroller/com.android.permissioncontroller.permission.ui.GrantPermissionsActivity,com.android.permissioncontroller/com.android.permissioncontroller.permission.ui.GrantPermissionsActivity,android/com.android.internal.app.ResolverActivity,com.android.mtp/com.android.mtp.ReceiverActivity,com.android.server.telecom/com.android.server.telecom.components.UserCallActivity</string> 185 <!-- Comma separated list of activities that will be blocked during restricted state. 186 Format of each entry is either to specify package name to allowlist the whole package 187 or use format of "packagename/activity_classname" for tagging each activities.--> 188 <string name="activityDenylist" translatable="false"></string> 189 <!-- List of play store package names that are allowed sources of app installation--> 190 <string-array translatable="false" name="allowedAppInstallSources"> 191 </string-array> 192 <!-- Default home activity --> 193 <string name="defaultHomeActivity" translatable="false"><!--com.your.package/com.your.package.Activity--></string> 194 <!-- The vendor-defined HAL property used to collect VMS client metrics. Disabled by default.--> 195 <integer name="vmsHalClientMetricsProperty">0</integer> 196 <!-- The com.android.car.vms.VmsClientManager will bind to this list of clients running as system user --> 197 <string-array translatable="false" name="vmsPublisherSystemClients"> 198 </string-array> 199 <!-- The com.android.car.vms.VmsClientManager will bind to this list of clients running as current user --> 200 <string-array translatable="false" name="vmsPublisherUserClients"> 201 </string-array> 202 <!-- Number of milliseconds to wait before trying re-bind to a crashed publisher. --> 203 <integer name="millisecondsBeforeRebindToVmsPublisher">10000</integer> 204 205 <!-- Hours of uptime (excluding sleep) after which a 1% increase in the wear of the flash 206 storage in the head-unit is considered as acceptable level of wear. --> 207 <integer name="acceptableHoursPerOnePercentFlashWear">70</integer> 208 209 <!-- How often (in hours of uptime excluding sleep) CarService will flush to disk information 210 about the total running time of the head-unit. A shutdown or reboot of the head-unit 211 will always cause a flush of the uptime information, regardless of this setting. --> 212 <integer name="uptimeHoursIntervalBetweenUptimeDataWrite">5</integer> 213 214 <!-- The name of an activity to be launched by CarService whenever it detects a change in the 215 level of wear of the flash storage. Value must either be an empty string, which means that 216 no activity shall be launched, or must be in the format of a flattened ComponentName and 217 reference a valid activity. It is strongly recommended that the chosen activity be 218 protected with the android.car.permission.STORAGE_MONITORING permission. --> 219 <string name="activityHandlerForFlashWearChanges" translatable="false">com.google.android.car.defaultstoragemonitoringcompanionapp/.MainActivity</string> 220 221 <!-- How often (in seconds) CarService will update I/O metrics from the kernel. --> 222 <integer name="ioStatsRefreshRateSeconds">60</integer> 223 224 <!-- The number of I/O metrics samples to keep in memory at one time. 225 The system will keep a sliding window of samples of this size, and allow 226 retrieval of activity this many sample windows back in time. Setting this to 227 0 means no samples will be collected, effectively disabling I/O metric collection. --> 228 <integer name="ioStatsNumSamplesToStore">15</integer> 229 230 <!-- The maximum number of KB (1024 bytes) that can be written to storage in one sample 231 before CarService deems I/O activity excessive. A simple way to set this value 232 is - given the total writable amount (storage size * P/E cycles) - to make 233 reasonable assumptions about the expected lifetime of the vehicle and the average 234 daily driving time, and use that to allocate a per-sample budget. --> 235 <integer name="acceptableWrittenKBytesPerSample">115000</integer> 236 <!-- The maximum number of fsync() system calls that can be made in one sample before 237 CarService deems I/O activity excessive. --> 238 <integer name="acceptableFsyncCallsPerSample">150</integer> 239 240 <!-- The maximum number of samples (within an I/O stats sample window) that CarService 241 should consider exhibiting excessive I/O activity before broadcasting an intent 242 to signal the potential for flash wear. --> 243 <integer name="maxExcessiveIoSamplesInWindow">11</integer> 244 245 <!-- The number of days past until the current day considered by car watchdog to 246 reset the killable state of a package back to KILLABLE_STATE_YES if the package 247 was set to prioritize performance by the user. --> 248 <integer name="watchdogUserPackageSettingsResetDays">90</integer> 249 250 <!-- The number of days past until the current day considered by car watchdog to 251 attribute recurring overuse to a package. --> 252 <integer name="recurringResourceOverusePeriodInDays">14</integer> 253 254 <!-- The number of overuses a package has to exceed for car watchdog to attribute 255 recurring overuse. --> 256 <integer name="recurringResourceOveruseTimes">2</integer> 257 258 <!-- The number of top UID I/O usage summaries to report on car watchdog I/O usage 259 summary atom pull. --> 260 <integer name="uidIoUsageSummaryTopCount">10</integer> 261 262 <!-- The minimum number of total bytes written to disk by the system required to 263 report the stats on car watchdog I/O usage summary atom pull. Currently 500 MiB. --> 264 <integer name="ioUsageSummaryMinSystemTotalWrittenBytes">524288000</integer> 265 266 <!-- The name of an intent to be notified by CarService whenever it detects too many 267 samples with excessive I/O activity. Value must either be an empty string, which 268 means that no notification will take place, or be in the format of a flattened 269 ComponentName and reference a valid BroadcastReceiver. This broadcast receiver 270 must be registered in its containing app's AndroidManifest.xml and it is 271 strongly recommended that it be protected with the 272 android.car.permission.STORAGE_MONITORING permission. --> 273 <string name="intentReceiverForUnacceptableIoMetrics" translatable="false">com.google.android.car.defaultstoragemonitoringcompanionapp/.ExcessiveIoIntentReceiver</string> 274 275 <!-- The path to a file that contains lifetime estimation metrics for the eMMC storage on 276 this system, in the lifetimeA lifetimeB format, as defined by the eMMC extended CSD 277 register specification. --> 278 <string name="eMmcLifetimeFilePath" translatable="false">/sys/bus/mmc/devices/mmc0:0001/life_time</string> 279 280 <!-- The path to a file that contains end of life estimation metrics for the eMMC storage on 281 this system, in the format defined by the eMMC extended CSD register specification. --> 282 <string name="eMmcEolFilePath" translatable="false">/sys/bus/mmc/devices/mmc0:0001/pre_eol_info</string> 283 284 <!-- The Model ID to advertise Bluetooth Fast Pair connections with. Must be overlayed with 285 device specific model id. A model id of 0 will disable Fast Pair--> 286 <integer name="fastPairModelId">0x000000</integer> 287 288 <!-- The Anti Spoofing Public key associated with the advertised Fast Pair Model ID, base64 289 encoded. --> 290 <string name="fastPairAntiSpoofKey" translatable="false"></string> 291 292 <!-- Enable to allow Fast Pair to automatically accept incoming pairing requests with matching 293 Simple Secure Pairing codes without requiring further user input. --> 294 <bool name="fastPairAutomaticAcceptance">false</bool> 295 296 <!-- Maximum allowed time to run garage mode. Note that 15 min (=900sec) is the minimum required 297 duration and this should not be made shorter. --> 298 <integer name="maxGarageModeRunningDurationInSecs">900</integer> 299 300 <!-- The services that need to be started earlier in the boot sequence and in particular order. 301 Every item in this array contains a flatten component name of a service that needs to be 302 started and a list of parameters after hashtag symbol. Here's the format: 303 304 <item>com.bar.foo/.Service#bind={bind|start|startForeground}, 305 user={all|system|foreground|visible|backgroundVisible}, 306 trigger={asap|resume|userUnlocked|userPostUnlocked}</item> 307 308 bind: bind - start service with Context#bindService 309 start - start service with Context#startService 310 startForeground - start service with Context#startForegroundService 311 If service was bound it will be restarted unless it is constantly crashing. 312 The default value is 'start' 313 user: all - the service will be bound/started for system and all visible users 314 system - the service will be started/bound only for system user (u0) 315 foreground - the service will be bound/started only for foreground users 316 visible - the service will be bound/started only for visible users (as defined by 317 `UserManager#isUserVisible()`). 318 backgroundVisible - the service will be bound/started only for background users that 319 are visible. 320 The default value is 'all' 321 trigger: indicates when the service needs to be started/bound 322 asap - the service might be bound when user is not fully loaded, be careful with 323 this value, the service also needs to have directBootAware flag set to true 324 resume - start service when the device resumes from suspend (suspend-to-RAM, or 325 suspend-to-disk). 326 userUnlocked - start service when user unlocked the device 327 userPostUnlocked - start service later after user unlocked. This is used when the 328 service is not urgent and can wait to start. 329 The default value is 'userUnlocked' 330 maxRetries: the maximum number of attempts to rebind/restart a disconnected service. 331 Retries start with 4 second initial delay, being doubled after each failed attempt. 332 The default value is 6. 333 334 If the service bound/started for foreground user it will be unbound/stopped when user 335 is no longer foreground. 336 --> 337 <string-array translatable="false" name="config_earlyStartupServices"> 338 </string-array> 339 340 <!-- The consent activity that must be shown for every unknown mobile device before projection 341 gets started. The format is: com.your.package/com.your.Activity 342 NOTE: deprecated for aareceiver, see integration guide to use aareceiver specific RROs. 343 --> 344 <string name="config_projectionConsentActivity" translatable="false"/> 345 346 <!-- Display Id where projection rendering activity needs to be shown, Specify -1 to use system 347 defaults 348 NOTE: deprecated for aareceiver, see integration guide to use aareceiver specific RROs. 349 --> 350 <integer name="config_projectionActivityDisplayId" translatable="false">-1</integer> 351 352 <!-- Bounds of the projection activity on the screen. It should be in the pixels and screen 353 coordinates in the following order: left, top, right, bottom. 354 NOTE: deprecated for aareceiver, see integration guide to use aareceiver specific RROs. 355 --> 356 <integer-array name="config_projectionActivityLaunchBounds" translatable="false"/> 357 358 <!-- UI mode for projection activity. See ProjectionOptions class for possible values. 359 NOTE: deprecated for aareceiver, see integration guide to use aareceiver specific RROs. 360 --> 361 <integer name="config_projectionUiMode" translatable="false">0</integer> 362 363 <!-- Configure whether access point created for wireless projection should be in tethered mode. 364 This will allow mobile device to use Internet provided by the vehicle during projection. 365 If this value is true then tethering is enabled. Otherwise, local-only hotspot will be 366 created. --> 367 <bool name="config_projectionAccessPointTethering" translatable="false">false</bool> 368 369 <!-- If projection Access Point is configured to not provide Internet access (not tethered, 370 see config_projectionAccessPointTethering) then this flag will be used to control 371 whether Wi-Fi configuration will persist reboots. By default new Wi-Fi credentials are 372 created for every local-only hotspot (LOHS) instantiation, changing this flag to true 373 will make LOHS credentials persistent. --> 374 <bool name="config_stableLocalOnlyHotspotConfig" translatable="false">true</bool> 375 376 <!-- The package name of a service to be launched by CarService to bind to an active media 377 service on the current user. 378 TODO(b/139497602): Remove dependency on Media Center, handle in CarMediaService --> 379 <string name="serviceMediaConnection" translatable="false">com.android.car.media</string> 380 381 <!-- The package name of the default bugreport application that can use CarBugreportServiceManager. 382 There is no default bugreporting app.--> 383 <string name="config_car_bugreport_application" translatable="false"></string> 384 385 <!-- 386 Lists all occupant (= driver + passenger) zones available in the car. 387 Some examples are: 388 <item>occupantZoneId=0,occupantType=DRIVER,seatRow=1,seatSide=driver</item> 389 <item>occupantZoneId=1,occupantType=FRONT_PASSENGER,seatRow=1,seatSide=oppositeDriver</item> 390 <item>occupantZoneId=2,occupantType=REAR_PASSENGER,seatRow=2,seatSide=left</item> 391 <item>occupantZoneId=3,occupantType=REAR_PASSENGER,seatRow=2,seatSide=right</item> 392 393 occupantZoneId: Unique unsigned integer id to represent each passenger zone. Each zone 394 should have different id. 395 occupantType: Occupant type for the display. Use * part from 396 CarOccupantZoneManager.OCCUPANT_TYPE_* like DRIVER, FRONT_PASSENGER, 397 REAR_PASSENGER and etc. 398 seatRow: Integer telling which row the seat is located. Row 1 is for front seats. 399 seatSide: left/center/right for known side. Or can use driver/center/oppositeDriver to 400 handle both right-hand driving and left-hand driving in one place. 401 If car's RHD / LHD is not specified, LHD will be assumed and driver side becomes 402 left. 403 --> 404 <string-array translatable="false" name="config_occupant_zones"> 405 <item>occupantZoneId=0,occupantType=DRIVER,seatRow=1,seatSide=driver</item> 406 </string-array> 407 <!-- 408 Specifies configuration of displays in system telling its usage / type and assigned 409 occupant. DEFAULT_DISPLAY, if assigned here, should be always assigned to the DRIVER zone. 410 411 Some examples are: 412 <item>displayPort=0,displayType=MAIN,occupantZoneId=0,inputTypes=DPAD_KEYS| 413 NAVIGATE_KEYS|ROTARY_NAVIGATION</item> 414 <item>displayPort=1,displayType=INSTRUMENT_CLUSTER,occupantZoneId=0, 415 inputTypes=DPAD_KEYS</item> 416 <item>displayPort=2,displayType=MAIN,occupantZoneId=1, 417 inputTypes=TOUCH_SCREEN</item> 418 <item>displayPort=3,displayType=MAIN,occupantZoneId=2, 419 inputTypes=TOUCH_SCREEN</item> 420 <item>displayUniqueId=virtual:com.example:MainD,displayType=MAIN,occupantZoneId=3, 421 inputTypes=TOUCH_SCREEN</item> 422 423 NOTE: each item should have displayPort or displayUniqueId, if it has both, displayPort 424 will be used. 425 displayPort: Unique Port id for the physical display. 426 displayUniqueId: Unique Id for the display. 427 The unique id of the virtual display will be the form of 'virtual:<PACKAGE>:<ID>'. 428 displayType: Display type for the display. Use * part from 429 CarOccupantZoneManager.DISPLAY_TYPE_* like MAIN, INSTRUMENT_CLUSTER and 430 etc. 431 occupantZoneId: occupantZoneId specified from config_occupant_zones. 432 inputTypes: supported input types for the corresponding display. 433 434 --> 435 <string-array translatable="false" name="config_occupant_display_mapping"> 436 <item>displayPort=0,displayType=MAIN,occupantZoneId=0,inputTypes=TOUCH_SCREEN|DPAD_KEYS|NAVIGATE_KEYS|ROTARY_NAVIGATION</item> 437 </string-array> 438 439 <!-- Specifies notice UI that will be launched when user starts a car or do user 440 switching. It is recommended to use dialog with at least TYPE_APPLICATION_OVERLAY window 441 type to show the UI regardless of activity launches. Target package will be auto-granted 442 necessary permission for TYPE_APPLICATION_OVERLAY window type. The UI package should 443 resolve permission by itself to use any higher priority window type. 444 Setting this string to empty will disable the feature. --> 445 <string name="config_userNoticeUiService" translatable="false">com.google.android.car.kitchensink/.UserNoticeDemoUiService</string> 446 447 <!-- Specifies the user picker to be launched on a secondary display when there is no user 448 allocation when the system boots and when a visible user stops. 449 --> 450 <string name="config_userPickerActivity" translatable="false">com.android.systemui/.car.userpicker.UserPickerActivity</string> 451 452 <!-- Configuration to enable media center to autoplay when the media source is changed. 453 There are 3 supported configurations: 454 0 - never play on change 455 1 - always play 456 2 - retain per source, play based on last remembered playback state for the new source 457 3 - retain previous state, play based on previous source's playback state --> 458 <integer name="config_mediaSourceChangedAutoplay">0</integer> 459 <!-- Configuration to enable media center to autoplay on boot --> 460 <integer name="config_mediaBootAutoplay">2</integer> 461 <!-- Setting this flag to true allows for browsing a different source than the 462 one that is currently playing audio. By default, there is only one active 463 source in the car, for both playback and browse. --> 464 <bool name="config_mediaSourceIndependentPlayback">true</bool> 465 466 <!-- 467 Specifies optional features that can be enabled by this image. Note that vhal can disable 468 them depending on product variation. 469 Feature name can be either service name defined in Car.*_SERVICE for Car*Manager or any 470 optional feature defined under @OptionalFeature annotation. 471 Note that '/' is used to have subfeature under main feature like "MAIN_FEATURE/SUB_FEATURE". 472 473 Some examples are: 474 <item>storage_monitoring</item> 475 <item>com.android.car.user.CarUserNoticeService</item> 476 <item>com.example.Feature/SubFeature</item> 477 478 The default list defined below will enable all optional features defined. 479 --> 480 <string-array translatable="false" name="config_allowed_optional_car_features"> 481 <item>car_navigation_service</item> 482 <item>cluster_service</item> 483 <item>com.android.car.user.CarUserNoticeService</item> 484 <item>diagnostic</item> 485 <item>storage_monitoring</item> 486 <item>vehicle_map_service</item> 487 <item>car_evs_service</item> 488 <item>car_telemetry_service</item> 489 </string-array> 490 491 <!-- Configuration to enable passenger support. 492 If this is set to true and there is a passenger display, a user can login to the passenger 493 display and use it as a normal Android user. --> 494 <bool name="enablePassengerSupport">false</bool> 495 496 <!-- Class name of the custom country detector to be used. Override the default value in the 497 device specific config file. --> 498 <string name="config_customCountryDetector" translatable="false">com.android.server.location.ComprehensiveCountryDetector</string> 499 500 <!-- Controls the use of bluetooth voice recognition when long pressing the voice assist 501 button. --> 502 <bool name="enableLongPressBluetoothVoiceRecognition" translatable="false">true</bool> 503 504 <!-- Switch guest user into new guest user before going to sleep. If this is false, it will 505 be done after waking up from sleep. This only affects if the current user is a guest user. 506 --> 507 <bool name="config_switchGuestUserBeforeGoingSleep" translate="false">true</bool> 508 509 <!-- Enable profile user assignment per each CarOccupantZone for per display android user 510 assignments. This feature is still experimental. --> 511 <bool name="enableProfileUserAssignmentForMultiDisplay" translatable="false">false</bool> 512 513 <!-- The ComponentName of the media source that will be selected as the default --> 514 <string name="config_defaultMediaSource">com.android.car.radio/.service.RadioAppService</string> 515 516 <!-- A configuration flag to enable ending an ongoing call using the physical Call button. --> 517 <bool name="config_callButtonEndsOngoingCall">false</bool> 518 519 <!-- Number of milliseconds to wait before the system goes into Suspend-to-RAM. 520 The valid range is 0 to 3 * 60 * 1000. The default duration is 3 min (= 3 * 60 * 1000). --> 521 <integer name="config_maxSuspendWaitDuration">180000</integer> 522 523 <!-- Number of milliseconds to wait until all listeners complete when PRE_SHUTDOWN_PREPARE is 524 notified --> 525 <integer name="config_preShutdownPrepareTimeout">5000</integer> 526 527 <!-- Number of milliseconds to wait until all listeners complete when SHUTDOWN_ENTER is 528 notified --> 529 <integer name="config_shutdownEnterTimeout">5000</integer> 530 531 <!-- Number of milliseconds to wait until all listeners complete when POST_SHUTDOWN_ENTER is 532 notified --> 533 <integer name="config_postShutdownEnterTimeout">5000</integer> 534 535 <!-- A configuration flag to enable auto power saving for passenger displays. 536 When it's true, the driver display is not affected and always on. When it's false, auto 537 power saving is not applied. OEMs can implement their own auto power saving logic. 538 --> 539 <bool name="config_enablePassengerDisplayPowerSaving">true</bool> 540 541 <!-- Number of milliseconds to wait until screen is automatically turned off. 542 The default duration is 1 min (= 1 * 60 * 1000). --> 543 <integer name="config_noUserScreenOffTimeout">60000</integer> 544 545 <!-- 546 CarEvsService configurations that associate camera devices with service types. 547 548 Some examples are: 549 <item> 550 serviceType=REARVIEW,cameraId=/dev/video0,activityName=com.android.car/com.google.android.car.evs.CarEvsCameraPreviewActivity 551 </item> 552 <item>serviceType=FRONTVIEW,cameraId=/dev/video1</item> 553 554 serviceType: One of CarEvsService types to be enabled. Please use "*" part from 555 CarEvsManager.SERVICE_TYPE_* such as REARVIEW and FRONTVIEW. 556 cameraId: A camera identifier that will be associated with a given service type. 557 This should be exclusive to a single service type. 558 activityName: A component name of an activity to be launched by the system events. 559 --> 560 <string-array name="config_carEvsService" translatable="false"> 561 </string-array> 562 563 <!-- 564 A name of a camera device that provides the rearview through EVS service. 565 This configuration becomes effective if and only if config_carEvsService is empty. 566 --> 567 <string name="config_evsRearviewCameraId" translatable="false">/dev/video10</string> 568 569 <!-- 570 The camera Activity name for EVS, if defined, the Activity will be launched by 571 CarEvsService. This configuration is effective if and only if config_carEvsService 572 is empty. 573 --> 574 <string name="config_evsCameraActivity" translatable="false"></string> 575 576 <!-- A configuration flag to adjust Wifi for suspend. --> 577 <bool name="config_wifiAdjustmentForSuspend">false</bool> 578 579 <!-- A configuration flag to adjust enabling and disabling the GNSS Location Provider for Power 580 Management purposes such as Supsend to RAM. --> 581 <bool name="config_enableCarLocationServiceGnssControlsForPowerManagement" translatable="false">true</bool> 582 583 <!-- A configuration flag to prevent the templated apps from showing dialogs. This is done in 584 the view of driver safety as templated apps can potentially show a dialog with custom UI 585 which can be a distraction hazard for the driver. --> 586 <bool name="config_preventTemplatedAppsFromShowingDialog">true</bool> 587 588 <!-- The class name of the templated activities. This is used to detect currently running 589 templated activity.--> 590 <string name="config_template_activity_class_name"> 591 androidx.car.app.activity.CarAppActivity 592 </string> 593 594 <!-- A flag to configure whether the ExternalCarTime VHAL property should be used to send 595 ExternalTimeSuggestions to the Android TimeManager service. --> 596 <bool name="config_enableExternalCarTimeToExternalTimeSuggestion">false</bool> 597 598 <!-- This is the component name for the OEM customization service. OEM can choose to implement 599 this service to customize car service behavior for different policies. If OEMs choose to 600 implement it, they have to implement a service extending OemCarService exposed by car-lib, 601 and implement the needed component services. 602 If the component name is invalid, CarService would not connect to any OEM service. 603 Component name can not be a third party package. It should be pre-installed --> 604 <string name="config_oemCarService" translatable="false"></string> 605 606 <!-- Related to OEM customization service. How many milliseconds CarService should wait for 607 OEM service to connect. If `config_oemCarService` is set and oem service package exists, 608 then CarService would wait for this much time for OEM service to connect. If OEM service 609 doesn't connect within this time, CarService would crash itself. --> 610 <integer name="config_oemCarService_connection_timeout_ms">5000</integer> 611 612 <!-- Related to OEM customization service. How many milliseconds CarService should wait for 613 OEM service to be ready. This is the wait time after OEM service is connected to 614 CarService. CarService would poll OEM service for being ready, if OEM service not ready 615 within timeout, CarService would crash. --> 616 <integer name="config_oemCarService_serviceReady_timeout_ms">5000</integer> 617 618 <!-- Related to OEM customization service. Default timeout for calls made by CarService to 619 OEM service. After this, CarService would timeout the call. If OEM service returns the 620 results after timeout, it would be ignored. --> 621 <integer name="config_oemCarService_regularCall_timeout_ms">5000</integer> 622 623 <!-- Related to OEM customization service. Default timeout for critical calls made by CarService 624 to OEM service. After this timeout, CarService would itself and OEM Service. --> 625 <integer name="config_oemCarService_crashCall_timeout_ms">10000</integer> 626 627 <!-- Related to OEM customization service. Default thread pool size for communicating with the 628 OEM Service. The value can only be between 8 and 16. If value is higher than 16, thread 629 pool size will be 16. If value is lower than 8, thread pool size will be 8.--> 630 <integer name="config_oemCarService_thread_pool_size">8</integer> 631 632 <!-- Number of seconds to wait until all remote tasks are completed. Should be no smaller than 633 30 seconds --> 634 <integer name="config_allowedSystemUptimeForRemoteAccess">300</integer> 635 636 <!-- Assigns passenger Activities to foreground cpuset rather than the top app cpuset. 637 This is enabled only for a system having both driver and passenger zones. If the system 638 has only driver zone or passenger zones, this configuration will be ignored. --> 639 <bool name="config_assignPassengerActivityToForegroundCpuGroup">true</bool> 640 <!-- Max number of retires for notifying AP power state change. --> 641 <integer name="config_notifyApStateChange_max_retry">100</integer> 642 <!-- Number of ms to sleep between retries for notifying AP power state change. --> 643 <integer name="config_notifyApStateChange_retry_sleep_ms">100</integer> 644 645 <!-- Configurations for ClusterHome visibility monitoring. 646 Please refer to {@link SurfaceControl#TrustedPresentationThresholds} for the detail. --> 647 <fraction name="config_clusterHomeVisibility_minAlpha">100%</fraction> 648 <fraction name="config_clusterHomeVisibility_minRendered">99.9%</fraction> 649 <integer name="config_clusterHomeVisibility_stabilityMs">100</integer> 650 651 <!-- A configuration flag to adjust the enabling of persistent tethering within 652 CarWifiService. --> 653 <bool name="config_enablePersistTetheringCapabilities">false</bool> 654 655 <!-- The packages that should not be stopped when suspend to disk is initiated. --> 656 <string-array translatable="false" name="config_packages_not_to_stop_during_suspend"> 657 </string-array> 658 659 <!-- The value to be set that describes how much memory will be saved when going into suspend 660 to disk. There are 4 values that can be set: 661 none: no memory savings will take place 662 low: cached processes will be stopped. 663 medium: services, cached, and can't save state processes will be stopped. 664 high: foreground services, background services, cached, and can't saved state processes 665 will be stopped. 666 --> 667 <string name="config_suspend_to_disk_memory_savings" translatable="false">low</string> 668</resources> 669