keunyoung | 5c7cb26 | 2015-10-19 10:47:45 -0700 | [diff] [blame] | 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"> |
Keun-young Park | 6eab4de | 2016-03-31 19:53:02 -0700 | [diff] [blame] | 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. --> |
Hongwei Wang | f2219ff | 2018-02-21 10:21:25 -0800 | [diff] [blame] | 26 | <bool name="audioUseDynamicRouting">false</bool> |
Hongwei Wang | 56a5163 | 2018-12-03 14:38:50 -0800 | [diff] [blame] | 27 | |
Hongwei Wang | 3a57800 | 2018-05-31 13:11:03 -0700 | [diff] [blame] | 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> |
Keun-young Park | 3cb8910 | 2016-05-05 13:16:03 -0700 | [diff] [blame] | 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> |
Vitalii Tomkiv | e836ac3 | 2016-04-05 17:26:41 -0700 | [diff] [blame] | 35 | |
Sal Savage | 703c46f | 2019-04-15 08:39:25 -0700 | [diff] [blame^] | 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 | |
Vitalii Tomkiv | 2bd0692 | 2016-07-26 11:07:48 -0700 | [diff] [blame] | 41 | <string name="inputService">android.car.input.service/.DefaultInputService</string> |
Keun-young Park | a28d7b2 | 2016-02-29 16:54:29 -0800 | [diff] [blame] | 42 | |
Roberto Perez | 57fb28e | 2019-04-12 14:56:00 -0700 | [diff] [blame] | 43 | <string name="instrumentClusterRendererService">android.car.cluster.sample/.ClusterRenderingServiceImpl</string> |
Keun-young Park | 4727da3 | 2016-05-31 10:00:51 -0700 | [diff] [blame] | 44 | |
Enrico Granata | 9a916d7 | 2017-09-19 14:33:08 -0700 | [diff] [blame] | 45 | <!-- Whether to enable Activity blocking for safety. When Activity blocking is enabled, |
Keun-young Park | 4727da3 | 2016-05-31 10:00:51 -0700 | [diff] [blame] | 46 | 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 Periathiruvadi | 2d536c3 | 2018-05-23 12:22:11 -0700 | [diff] [blame] | 51 | <!-- 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, Yuxing | 4c3b93c | 2019-02-20 09:00:01 -0800 | [diff] [blame] | 55 | 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 Periathiruvadi | 2d536c3 | 2018-05-23 12:22:11 -0700 | [diff] [blame] | 62 | 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, Yuxing | 4c3b93c | 2019-02-20 09:00:01 -0800 | [diff] [blame] | 65 | <string name="systemActivityWhitelist">com.android.systemui,com.google.android.packageinstaller/com.android.packageinstaller.permission.ui.GrantPermissionsActivity,android/com.android.internal.app.ResolverActivity</string> |
Ram Periathiruvadi | 46a3a3d | 2018-03-23 16:58:32 -0700 | [diff] [blame] | 66 | <!-- 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 Periathiruvadi | d937c32 | 2018-06-13 12:28:12 -0700 | [diff] [blame] | 70 | <!-- List of play store package names that are allowed sources of app installation--> |
| 71 | <string-array translateble="false" name="allowedAppInstallSources"> |
| 72 | </string-array> |
Yao Chen | b982e64 | 2016-10-13 14:22:56 -0700 | [diff] [blame] | 73 | <!-- Default home activity --> |
Pavel Maltsev | ed2c864 | 2017-12-18 12:56:26 -0800 | [diff] [blame] | 74 | <string name="defaultHomeActivity"><!--com.your.package/com.your.package.Activity--></string> |
Mark Tabry | a8fce56 | 2019-01-16 16:24:01 -0800 | [diff] [blame] | 75 | <!-- 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 Cortes | 6b3544c | 2017-02-06 16:54:58 -0800 | [diff] [blame] | 80 | </string-array> |
Asaf Rosenfeld | f12116d | 2018-04-20 14:57:25 -0700 | [diff] [blame] | 81 | <!-- Number of milliseconds to wait before trying re-bind to a crashed publisher. --> |
| 82 | <integer name="millisecondsBeforeRebindToVmsPublisher">10000</integer> |
| 83 | |
Enrico Granata | 9c1f272 | 2017-09-21 17:19:04 -0700 | [diff] [blame] | 84 | <!-- 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 Granata | 3a1e626 | 2017-09-29 12:07:44 -0700 | [diff] [blame] | 92 | |
| 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 Granata | 3346ed8 | 2017-11-02 13:40:45 -0700 | [diff] [blame] | 99 | |
| 100 | <!-- How often (in seconds) CarService will update I/O metrics from the kernel. --> |
| 101 | <integer name="ioStatsRefreshRateSeconds">60</integer> |
Enrico Granata | 0f72b74 | 2017-11-02 18:26:41 -0700 | [diff] [blame] | 102 | |
| 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 Granata | 88d92c8 | 2017-11-30 16:47:15 -0800 | [diff] [blame] | 105 | 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 Maltsev | f4b375e | 2018-04-30 10:16:26 -0700 | [diff] [blame] | 107 | <integer name="ioStatsNumSamplesToStore">15</integer> |
Enrico Granata | 43024de | 2017-11-16 17:09:37 -0800 | [diff] [blame] | 108 | |
| 109 | <!-- The maximum number of KB (1024 bytes) that can be written to storage in one sample |
Enrico Granata | afe7f30 | 2017-11-28 14:18:37 -0800 | [diff] [blame] | 110 | 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 Maltsev | f4b375e | 2018-04-30 10:16:26 -0700 | [diff] [blame] | 114 | <integer name="acceptableWrittenKBytesPerSample">115000</integer> |
Enrico Granata | 43024de | 2017-11-16 17:09:37 -0800 | [diff] [blame] | 115 | <!-- The maximum number of fsync() system calls that can be made in one sample before |
| 116 | CarService deems I/O activity excessive. --> |
Pavel Maltsev | f4b375e | 2018-04-30 10:16:26 -0700 | [diff] [blame] | 117 | <integer name="acceptableFsyncCallsPerSample">150</integer> |
Enrico Granata | 43024de | 2017-11-16 17:09:37 -0800 | [diff] [blame] | 118 | |
| 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 Maltsev | f4b375e | 2018-04-30 10:16:26 -0700 | [diff] [blame] | 122 | <integer name="maxExcessiveIoSamplesInWindow">11</integer> |
Enrico Granata | 43024de | 2017-11-16 17:09:37 -0800 | [diff] [blame] | 123 | |
| 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 Granata | afe7f30 | 2017-11-28 14:18:37 -0800 | [diff] [blame] | 127 | 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 Maltsev | f4b375e | 2018-04-30 10:16:26 -0700 | [diff] [blame] | 131 | <string name="intentReceiverForUnacceptableIoMetrics">com.google.android.car.defaultstoragemonitoringcompanionapp/.ExcessiveIoIntentReceiver</string> |
Joseph Pirozzo | e5ac56c | 2018-01-10 15:05:57 -0800 | [diff] [blame] | 132 | |
| 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 Park | 4b4ddda | 2019-03-26 18:47:37 -0700 | [diff] [blame] | 137 | <!-- 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 Eyler | fe99dde | 2018-03-28 13:51:55 -0700 | [diff] [blame] | 141 | <!-- 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 Maltsev | 38da431 | 2019-04-08 10:38:38 -0700 | [diff] [blame] | 153 | <!-- 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 Maltsev | a1ac7fc | 2018-09-14 14:19:34 -0700 | [diff] [blame] | 180 | <string name="config_TetheredProjectionAccessPointSsid" translatable="false">CarAP</string> |
| 181 | |
Pavel Maltsev | 48a3194 | 2019-03-03 22:08:28 -0800 | [diff] [blame] | 182 | <!-- 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 Periathiruvadi | de0ca08 | 2019-03-20 11:16:44 -0700 | [diff] [blame] | 197 | <!-- 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 | |
keunyoung | 5c7cb26 | 2015-10-19 10:47:45 -0700 | [diff] [blame] | 209 | </resources> |