• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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    <!--  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. -->
26    <bool name="audioUseDynamicRouting">false</bool>
27
28    <!--  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>
31    <!-- 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>
35
36    <!--  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
41    <string name="inputService" translatable="false">android.car.input.service/.DefaultInputService</string>
42
43    <!--  Service responsible for displaying information on the car instrument cluster. -->
44    <string name="instrumentClusterRendererService" translatable="false">android.car.cluster/.ClusterRenderingService</string>
45
46    <!--  Whether to enable Activity blocking for safety. When Activity blocking is enabled,
47          only whitelisted safe Activities will be allowed while car is not parked. -->
48    <bool name="enableActivityBlockingForSafety">true</bool>
49    <!--  Activity to be presented when un-safe activity is launched. Take a look at the javadoc of the
50          default implementation. -->
51    <string name="activityBlockingActivity" translatable="false">com.android.car/com.android.car.pm.ActivityBlockingActivity</string>
52    <!--  Comma separated list of activities that need to be exempted from getting
53          blocked in a UX restricted state.
54          Format of each entry is either to specify package name to whitelist the whole package or
55          use format of "packagename/activity_classname" for tagging each activities.
56          For general guidelines to design distraction optimized apps, please refer
57          to Android Auto Driver Distraction Guidelines. -->
58    <string name="activityWhitelist" translatable="false"></string>
59    <!--  Comma separated list of activities that need to be exempted from getting
60          blocked in a UX restricted state.
61          Format of each entry is either to specify package name to whitelist the whole package or
62          use format of "packagename/activity_classname" for tagging each activities.
63          The current implementations expects the following system packages/activities to be
64          whitelisted. For general guidelines to design distraction optimized apps, please refer
65          to Android Auto Driver Distraction Guidelines. -->
66    <string name="systemActivityWhitelist" translatable="false">com.android.systemui,com.google.android.permissioncontroller/com.android.packageinstaller.permission.ui.GrantPermissionsActivity,android/com.android.internal.app.ResolverActivity,com.android.mtp/com.android.mtp.ReceiverActivity</string>
67    <!--  Comma separated list of activities that will be blocked during restricted state.
68          Format of each entry is either to specify package name to whitelist the whole package
69          or use format of "packagename/activity_classname" for tagging each activities.-->
70    <string name="activityBlacklist" translatable="false"></string>
71    <!-- List of play store package names that are allowed sources of app installation-->
72    <string-array translatable="false" name="allowedAppInstallSources">
73    </string-array>
74    <!-- Default home activity -->
75    <string name="defaultHomeActivity" translatable="false"><!--com.your.package/com.your.package.Activity--></string>
76    <!--  The com.android.car.vms.VmsClientManager will bind to this list of clients running as system user -->
77    <string-array translatable="false" name="vmsPublisherSystemClients">
78    </string-array>
79    <!--  The com.android.car.vms.VmsClientManager will bind to this list of clients running as current user -->
80    <string-array translatable="false" name="vmsPublisherUserClients">
81    </string-array>
82    <!-- Number of milliseconds to wait before trying re-bind to a crashed publisher. -->
83    <integer name="millisecondsBeforeRebindToVmsPublisher">10000</integer>
84
85    <!-- Hours of uptime (excluding sleep) after which a 1% increase in the wear of the flash
86         storage in the head-unit is considered as acceptable level of wear. -->
87    <integer name="acceptableHoursPerOnePercentFlashWear">70</integer>
88
89    <!-- How often (in hours of uptime excluding sleep) CarService will flush to disk information
90         about the total running time of the head-unit. A shutdown or reboot of the head-unit
91          will always cause a flush of the uptime information, regardless of this setting. -->
92    <integer name="uptimeHoursIntervalBetweenUptimeDataWrite">5</integer>
93
94    <!-- The name of an activity to be launched by CarService whenever it detects a change in the
95         level of wear of the flash storage. Value must either be an empty string, which means that
96         no activity shall be launched, or must be in the format of a flattened ComponentName and
97         reference a valid activity. It is strongly recommended that the chosen activity be
98         protected with the android.car.permission.STORAGE_MONITORING permission. -->
99    <string name="activityHandlerForFlashWearChanges" translatable="false">com.google.android.car.defaultstoragemonitoringcompanionapp/.MainActivity</string>
100
101    <!-- How often (in seconds) CarService will update I/O metrics from the kernel. -->
102    <integer name="ioStatsRefreshRateSeconds">60</integer>
103
104    <!-- The number of I/O metrics samples to keep in memory at one time.
105         The system will keep a sliding window of samples of this size, and allow
106         retrieval of activity this many sample windows back in time. Setting this to
107         0 means no samples will be collected, effectively disabling I/O metric collection. -->
108    <integer name="ioStatsNumSamplesToStore">15</integer>
109
110    <!-- The maximum number of KB (1024 bytes) that can be written to storage in one sample
111         before CarService deems I/O activity excessive. A simple way to set this value
112         is - given the total writable amount (storage size * P/E cycles) - to make
113         reasonable assumptions about the expected lifetime of the vehicle and the average
114         daily driving time, and use that to allocate a per-sample budget. -->
115    <integer name="acceptableWrittenKBytesPerSample">115000</integer>
116    <!-- The maximum number of fsync() system calls that can be made in one sample before
117         CarService deems I/O activity excessive. -->
118    <integer name="acceptableFsyncCallsPerSample">150</integer>
119
120    <!-- The maximum number of samples (within an I/O stats sample window) that CarService
121         should consider exhibiting excessive I/O activity before broadcasting an intent
122         to signal the potential for flash wear. -->
123    <integer name="maxExcessiveIoSamplesInWindow">11</integer>
124
125    <!-- The name of an intent to be notified by CarService whenever it detects too many
126         samples with excessive I/O activity. Value must either be an empty string, which
127         means that no notification will take place, or be in the format of a flattened
128         ComponentName and reference a valid BroadcastReceiver. This broadcast receiver
129         must be registered in its containing app's AndroidManifest.xml and it is
130         strongly recommended that it be protected with the
131         android.car.permission.STORAGE_MONITORING permission. -->
132    <string name="intentReceiverForUnacceptableIoMetrics" translatable="false">com.google.android.car.defaultstoragemonitoringcompanionapp/.ExcessiveIoIntentReceiver</string>
133
134    <!-- The Model ID to advertise Bluetooth Fast Pair connections with.  Must be overlayed with
135         device specific model id. -->
136    <integer name="fastPairModelId">0x000000</integer>
137
138    <!-- Maximum allowed time to run garage mode. Note that 15 min (=900sec) is the minimum required
139         duration and this should not be made shorter. -->
140    <integer name="maxGarageModeRunningDurationInSecs">900</integer>
141
142    <!-- The garage mode configuration, specifying the time after shutdown to reboot into garage
143         mode and the number of attempts at that time to try before moving to the next wake up
144         time. This is intended to be a back-off pattern. -->
145    <string-array translatable="false" name="config_garageModeCadence">
146        <!-- <wake up after X min/hour/days>,<how many times> -->
147        <item>15m,1</item>
148        <item>6h,8</item>
149        <item>1d,5</item>
150        <item>3d,2</item>
151        <item>7d,3</item>
152    </string-array>
153
154    <!-- The services that needs to be started earlier in the boot sequence and in particular order.
155         Every item in this array contains a flatten component name of a service that needs to be
156         started and a list of parameters after hashtag symbol. Here's the format:
157
158         <item>com.bar.foo/.Service#bind={bind|start|startForeground},user={all|system|foreground},
159         trigger={asap,userUnlocked}</item>
160
161         bind: bind - start service with Context#bindService
162               start - start service with Context#startService
163               startForeground - start service with Context#startForegroundService
164               If service was bound it will be restarted unless it is constantly crashing.
165               The default value is 'start'
166         user: all - the service will be bound/started for system and all foreground users
167               system - the service will be started/bound only for system user (u0)
168               foreground - the service will be bound/started only for foreground users
169               The default value is 'all'
170         trigger: indicates when the service needs to be started/bound
171               asap - the service might be bound when user is not fully loaded, be careful with
172                      this value, the service also needs to have directBootAware flag set to true
173               userUnlocked - start service when user unlocked the device
174               The default value is 'userUnlocked'
175
176         If the service bound/started for foreground user it will be unbound/stopped when user
177         is no longer foreground.
178     -->
179    <string-array translatable="false" name="config_earlyStartupServices">
180        <item>com.android.car.messenger/.MessengerService#bind=startForeground,user=foreground,trigger=userUnlocked</item>
181    </string-array>
182
183    <!-- The consent activity that must be shown for every unknown mobile device before projection
184         gets started.  The format is: com.your.package/com.your.Activity  -->
185    <string name="config_projectionConsentActivity" translatable="false"/>
186
187    <!-- Display Id where projection rendering activity needs to be shown, Specify -1 to use system
188         defaults -->
189    <integer name="config_projectionActivityDisplayId" translatable="false">-1</integer>
190
191    <!-- Bounds of the projection activity on the screen. It should be in the pixels and screen
192         coordinates in the following order: left, top, right, bottom. -->
193    <integer-array name="config_projectionActivityLaunchBounds" translatable="false"/>
194
195    <!-- UI mode for projection activity. See ProjectionOptions class for possible values. -->
196    <integer name="config_projectionUiMode" translatable="false">0</integer>
197
198    <!-- Configure whether access point created for wireless projection should be in tethered mode.
199         This will allow mobile device to use Internet provided by the vehicle during projection.
200         If this value is true then tethering is enabled. Otherwise, local-only hotspot will be
201         created. -->
202    <bool name="config_projectionAccessPointTethering" translatable="false">false</bool>
203
204    <!-- service/characteristics uuid for adding new escrow token -->
205    <string name="enrollment_service_uuid" translatable="false">5e2a68a4-27be-43f9-8d1e-4546976fabd7</string>
206    <string name="enrollment_server_write_uuid" translatable="false">5e2a68a5-27be-43f9-8d1e-4546976fabd7</string>
207    <string name="enrollment_client_write_uuid" translatable="false">5e2a68a6-27be-43f9-8d1e-4546976fabd7</string>
208
209    <!-- service/characteristics uuid for unlocking a device -->
210    <string name="unlock_service_uuid" translatable="false">00003ac5-0000-1000-8000-00805f9b34fb</string>
211    <string name="unlock_client_write_uuid" translatable="false">5e2a68a2-27be-43f9-8d1e-4546976fabd7</string>
212    <string name="unlock_server_write_uuid" translatable="false">5e2a68a3-27be-43f9-8d1e-4546976fabd7</string>
213
214    <string name="token_handle_shared_preferences" translatable="false">com.android.car.trust.TOKEN_HANDLE</string>
215
216    <!-- The package name of the default bugreport application that can use CarBugreportServiceManager.
217         There is no default bugreporting app.-->
218    <string name="config_car_bugreport_application" translatable="false"></string>
219
220</resources>
221