blob: 3e54b8ce7bcf64564a14bafe3fe83ab71f0e36c3 [file] [log] [blame]
keunyoung5c7cb262015-10-19 10:47:45 -07001<?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">
Keun-young Park6eab4de2016-03-31 19:53:02 -070023 <!-- Configuration to enable usage of dynamic audio routing. If this is set to false,
24 dynamic audio routing is disabled and audio works in legacy mode. It may be useful
25 during initial development where audio hal does not support bus based addressing yet. -->
Hongwei Wangf2219ff2018-02-21 10:21:25 -080026 <bool name="audioUseDynamicRouting">false</bool>
Hongwei Wang56a51632018-12-03 14:38:50 -080027
Hongwei Wang3a578002018-05-31 13:11:03 -070028 <!-- Configuration to persist master mute state. If this is set to true,
29 Android will restore the master mute state on boot. -->
30 <bool name="audioPersistMasterMuteState">true</bool>
Keun-young Park3cb89102016-05-05 13:16:03 -070031 <!-- Whether to block other audio while media audio is muted with display off. When set to true,
32 other sounds cannot be played either while display is off. If false, only media is muted
33 and other sounds can be still played. -->
34 <bool name="displayOffMuteLockAllAudio">true</bool>
Vitalii Tomkive836ac32016-04-05 17:26:41 -070035
Sal Savage703c46f2019-04-15 08:39:25 -070036 <!-- Configuration to enable or disable the default Bluetooth Device Connection Policy. This
37 policy determines when to initiate device connections, but does not control the actual
38 connection process. Disable this default to implement your own policy. -->
39 <bool name="useDefaultBluetoothConnectionPolicy">true</bool>
40
Vitalii Tomkiv2bd06922016-07-26 11:07:48 -070041 <string name="inputService">android.car.input.service/.DefaultInputService</string>
Keun-young Parka28d7b22016-02-29 16:54:29 -080042
Roberto Perez57fb28e2019-04-12 14:56:00 -070043 <string name="instrumentClusterRendererService">android.car.cluster.sample/.ClusterRenderingServiceImpl</string>
Keun-young Park4727da32016-05-31 10:00:51 -070044
Enrico Granata9a916d72017-09-19 14:33:08 -070045 <!-- Whether to enable Activity blocking for safety. When Activity blocking is enabled,
Keun-young Park4727da32016-05-31 10:00:51 -070046 only whitelisted safe Activities will be allowed while car is not parked. -->
47 <bool name="enableActivityBlockingForSafety">true</bool>
48 <!-- Activity to be presented when un-safe activity is launched. Take a look at the javadoc of the
49 default implementation. -->
50 <string name="activityBlockingActivity">com.android.car/com.android.car.pm.ActivityBlockingActivity</string>
Ram Periathiruvadi2d536c32018-05-23 12:22:11 -070051 <!-- Comma separated list of activities that need to be exempted from getting
52 blocked in a UX restricted state.
53 Format of each entry is either to specify package name to whitelist the whole package or
54 use format of "packagename/activity_classname" for tagging each activities.
Yao, Yuxing4c3b93c2019-02-20 09:00:01 -080055 For general guidelines to design distraction optimized apps, please refer
56 to Android Auto Driver Distraction Guidelines. -->
57 <string name="activityWhitelist"></string>
58 <!-- Comma separated list of activities that need to be exempted from getting
59 blocked in a UX restricted state.
60 Format of each entry is either to specify package name to whitelist the whole package or
61 use format of "packagename/activity_classname" for tagging each activities.
Ram Periathiruvadi2d536c32018-05-23 12:22:11 -070062 The current implementations expects the following system packages/activities to be
63 whitelisted. For general guidelines to design distraction optimized apps, please refer
64 to Android Auto Driver Distraction Guidelines. -->
Yao, Yuxing4c3b93c2019-02-20 09:00:01 -080065 <string name="systemActivityWhitelist">com.android.systemui,com.google.android.packageinstaller/com.android.packageinstaller.permission.ui.GrantPermissionsActivity,android/com.android.internal.app.ResolverActivity</string>
Ram Periathiruvadi46a3a3d2018-03-23 16:58:32 -070066 <!-- Comma separated list of activities that will be blocked during restricted state.
67 Format of each entry is either to specify package name to whitelist the whole package
68 or use format of "packagename/activity_classname" for tagging each activities.-->
69 <string name="activityBlacklist"></string>
Ram Periathiruvadid937c322018-06-13 12:28:12 -070070 <!-- List of play store package names that are allowed sources of app installation-->
71 <string-array translateble="false" name="allowedAppInstallSources">
72 </string-array>
Yao Chenb982e642016-10-13 14:22:56 -070073 <!-- Default home activity -->
Pavel Maltseved2c8642017-12-18 12:56:26 -080074 <string name="defaultHomeActivity"><!--com.your.package/com.your.package.Activity--></string>
Mark Tabrya8fce562019-01-16 16:24:01 -080075 <!-- The com.android.car.vms.VmsClientManager will bind to this list of clients running as system user -->
76 <string-array translatable="false" name="vmsPublisherSystemClients">
77 </string-array>
78 <!-- The com.android.car.vms.VmsClientManager will bind to this list of clients running as current user -->
79 <string-array translatable="false" name="vmsPublisherUserClients">
Antonio Cortes6b3544c2017-02-06 16:54:58 -080080 </string-array>
Asaf Rosenfeldf12116d2018-04-20 14:57:25 -070081 <!-- Number of milliseconds to wait before trying re-bind to a crashed publisher. -->
82 <integer name="millisecondsBeforeRebindToVmsPublisher">10000</integer>
83
Enrico Granata9c1f2722017-09-21 17:19:04 -070084 <!-- Hours of uptime (excluding sleep) after which a 1% increase in the wear of the flash
85 storage in the head-unit is considered as acceptable level of wear. -->
86 <integer name="acceptableHoursPerOnePercentFlashWear">70</integer>
87
88 <!-- How often (in hours of uptime excluding sleep) CarService will flush to disk information
89 about the total running time of the head-unit. A shutdown or reboot of the head-unit
90 will always cause a flush of the uptime information, regardless of this setting. -->
91 <integer name="uptimeHoursIntervalBetweenUptimeDataWrite">5</integer>
Enrico Granata3a1e6262017-09-29 12:07:44 -070092
93 <!-- The name of an activity to be launched by CarService whenever it detects a change in the
94 level of wear of the flash storage. Value must either be an empty string, which means that
95 no activity shall be launched, or must be in the format of a flattened ComponentName and
96 reference a valid activity. It is strongly recommended that the chosen activity be
97 protected with the android.car.permission.STORAGE_MONITORING permission. -->
98 <string name="activityHandlerForFlashWearChanges">com.google.android.car.defaultstoragemonitoringcompanionapp/.MainActivity</string>
Enrico Granata3346ed82017-11-02 13:40:45 -070099
100 <!-- How often (in seconds) CarService will update I/O metrics from the kernel. -->
101 <integer name="ioStatsRefreshRateSeconds">60</integer>
Enrico Granata0f72b742017-11-02 18:26:41 -0700102
103 <!-- The number of I/O metrics samples to keep in memory at one time.
104 The system will keep a sliding window of samples of this size, and allow
Enrico Granata88d92c82017-11-30 16:47:15 -0800105 retrieval of activity this many sample windows back in time. Setting this to
106 0 means no samples will be collected, effectively disabling I/O metric collection. -->
Pavel Maltsevf4b375e2018-04-30 10:16:26 -0700107 <integer name="ioStatsNumSamplesToStore">15</integer>
Enrico Granata43024de2017-11-16 17:09:37 -0800108
109 <!-- The maximum number of KB (1024 bytes) that can be written to storage in one sample
Enrico Granataafe7f302017-11-28 14:18:37 -0800110 before CarService deems I/O activity excessive. A simple way to set this value
111 is - given the total writable amount (storage size * P/E cycles) - to make
112 reasonable assumptions about the expected lifetime of the vehicle and the average
113 daily driving time, and use that to allocate a per-sample budget. -->
Pavel Maltsevf4b375e2018-04-30 10:16:26 -0700114 <integer name="acceptableWrittenKBytesPerSample">115000</integer>
Enrico Granata43024de2017-11-16 17:09:37 -0800115 <!-- The maximum number of fsync() system calls that can be made in one sample before
116 CarService deems I/O activity excessive. -->
Pavel Maltsevf4b375e2018-04-30 10:16:26 -0700117 <integer name="acceptableFsyncCallsPerSample">150</integer>
Enrico Granata43024de2017-11-16 17:09:37 -0800118
119 <!-- The maximum number of samples (within an I/O stats sample window) that CarService
120 should consider exhibiting excessive I/O activity before broadcasting an intent
121 to signal the potential for flash wear. -->
Pavel Maltsevf4b375e2018-04-30 10:16:26 -0700122 <integer name="maxExcessiveIoSamplesInWindow">11</integer>
Enrico Granata43024de2017-11-16 17:09:37 -0800123
124 <!-- The name of an intent to be notified by CarService whenever it detects too many
125 samples with excessive I/O activity. Value must either be an empty string, which
126 means that no notification will take place, or be in the format of a flattened
Enrico Granataafe7f302017-11-28 14:18:37 -0800127 ComponentName and reference a valid BroadcastReceiver. This broadcast receiver
128 must be registered in its containing app's AndroidManifest.xml and it is
129 strongly recommended that it be protected with the
130 android.car.permission.STORAGE_MONITORING permission. -->
Pavel Maltsevf4b375e2018-04-30 10:16:26 -0700131 <string name="intentReceiverForUnacceptableIoMetrics">com.google.android.car.defaultstoragemonitoringcompanionapp/.ExcessiveIoIntentReceiver</string>
Joseph Pirozzoe5ac56c2018-01-10 15:05:57 -0800132
133 <!-- The Model ID to advertise Bluetooth Fast Pair connections with. Must be overlayed with
134 device specific model id. -->
135 <integer name="fastPairModelId">0x000000</integer>
136
Keun young Park4b4ddda2019-03-26 18:47:37 -0700137 <!-- Maximum allowed time to run garage mode. Note that 15 min (=900sec) is the minimum required
138 duration and this should not be made shorter. -->
139 <integer name="maxGarageModeRunningDurationInSecs">900</integer>
140
Bryan Eylerfe99dde2018-03-28 13:51:55 -0700141 <!-- The garage mode configuration, specifying the time after shutdown to reboot into garage
142 mode and the number of attempts at that time to try before moving to the next wake up
143 time. This is intended to be a back-off pattern. -->
144 <string-array translatable="false" name="config_garageModeCadence">
145 <!-- <wake up after X min/hour/days>,<how many times> -->
146 <item>15m,1</item>
147 <item>6h,8</item>
148 <item>1d,5</item>
149 <item>3d,2</item>
150 <item>7d,3</item>
151 </string-array>
152
Pavel Maltsev38da4312019-04-08 10:38:38 -0700153 <!-- The services that needs to be started earlier in the boot sequence and in particular order.
154 Every item in this array contains a flatten component name of a service that needs to be
155 started and a list of parameters after hashtag symbol. Here's the format:
156
157 <item>com.bar.foo/.Service#bind={true|false},user={all|system|foreground},trigger={asap,userUnlocked}</item>
158
159 bind: indicates whether service needs to be bound or started, if the value is 'true'
160 the service will be bound by calling Context#bindService(...), otherwise it will
161 be started using Context#startService. If service was bound it will be restarted
162 unless it is constantly crashing. The default value is 'false'
163 user: all - the service will be bound/started for system and all foreground users
164 system - the service will be started/bound only for system user (u0)
165 foreground - the service will be bound/started only for foreground users
166 The default value is 'all'
167 trigger: indicates when the service needs to be started/bound
168 asap - the service might be bound when user is not fully loaded, be careful with
169 this value, the service also needs to have directBootAware flag set to true
170 userUnlocked - start service when user unlocked the device
171 The default value is 'userUnlocked'
172
173 If the service bound/started for foreground user it will be unbound/stopped when user
174 is no longer foreground.
175 -->
176 <string-array translatable="false" name="config_earlyStartupServices">
177 <!-- list your services here -->
178 </string-array>
179
Pavel Maltseva1ac7fc2018-09-14 14:19:34 -0700180 <string name="config_TetheredProjectionAccessPointSsid" translatable="false">CarAP</string>
181
Pavel Maltsev48a31942019-03-03 22:08:28 -0800182 <!-- The consent activity that must be shown for every unknown mobile device before projection
183 gets started. The format is: com.your.package/com.your.Activity -->
184 <string name="config_projectionConsentActivity" translatable="false"/>
185
186 <!-- Display Id where projection rendering activity needs to be shown, Specify -1 to use system
187 defaults -->
188 <integer name="config_projectionActivityDisplayId" translatable="false">-1</integer>
189
190 <!-- Bounds of the projection activity on the screen. It should be in the pixels and screen
191 coordinates in the following order: left, top, right, bottom. -->
192 <integer-array name="config_projectionActivityLaunchBounds" translatable="false"/>
193
194 <!-- UI mode for projection activity. See ProjectionOptions class for possible values. -->
195 <integer name="config_projectionUiMode" translatable="false">0</integer>
196
Ram Periathiruvadide0ca082019-03-20 11:16:44 -0700197 <!-- service/characteristics uuid for adding new escrow token -->
198 <string name="enrollment_service_uuid" translatable="false">5e2a68a4-27be-43f9-8d1e-4546976fabd7</string>
199 <string name="enrollment_handle_uuid" translatable="false">5e2a68a5-27be-43f9-8d1e-4546976fabd7</string>
200 <string name="enrollment_token_uuid" translatable="false">5e2a68a6-27be-43f9-8d1e-4546976fabd7</string>
201
202 <!-- service/characteristics uuid for unlocking a device -->
203 <string name="unlock_service_uuid" translatable="false">5e2a68a1-27be-43f9-8d1e-4546976fabd7</string>
204 <string name="unlock_escrow_token_uuid" translatable="false">5e2a68a2-27be-43f9-8d1e-4546976fabd7</string>
205 <string name="unlock_handle_uuid" translatable="false">5e2a68a3-27be-43f9-8d1e-4546976fabd7</string>
206
207 <string name="token_handle_shared_preferences" translatable="false">com.android.car.trust.TOKEN_HANDLE</string>
208
keunyoung5c7cb262015-10-19 10:47:45 -0700209</resources>