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"> |
| 23 | <!-- Audio routing policy for all H/W variants. Each item represents policy for one variant. |
| 24 | |
| 25 | Each item is defined in this format: |
| 26 | physicalStreamNumber:(streamType,)*StreamType#physicalStreamNumber:... |
| 27 | |
| 28 | Stream type is logical stream type to route to the physical stream. Currently defined |
Keun-young Park | 5672e85 | 2016-02-09 19:53:48 -0800 | [diff] [blame] | 29 | types are: call, media, nav_guidance, voice_command, alarm, notification, system, safety, |
| 30 | and unknown |
keunyoung | 5c7cb26 | 2015-10-19 10:47:45 -0700 | [diff] [blame] | 31 | unknown is for stream not tagged with specific contents. |
| 32 | physicalStreamNumber should be [0, maxNumberOfPhysicalStream - 1]. |
Keun-young Park | 5672e85 | 2016-02-09 19:53:48 -0800 | [diff] [blame] | 33 | There is no "radio" as radio routing is outside android (for external module) or same as |
| 34 | music (for android internal module) |
keunyoung | 5c7cb26 | 2015-10-19 10:47:45 -0700 | [diff] [blame] | 35 | OEM can put multiple policies as item and VEHICLE_PROPERTY_AUDIO_HW_VARIANT in vehicle HAL |
Pavel Maltsev | e11ad3a | 2016-03-25 15:40:24 -0700 | [diff] [blame] | 36 | can decide which policy to use for the given H/W. This allows OEMs to support multiple |
keunyoung | 5c7cb26 | 2015-10-19 10:47:45 -0700 | [diff] [blame] | 37 | audio policy from single android S/W by detecting system's audio capability in |
| 38 | vehicle HAL.--> |
| 39 | <string-array translatable="false" name="audioRoutingPolicy"> |
| 40 | <!-- alll logical streams into single physical stream 0. --> |
Keun-young Park | 3057ebd | 2016-03-28 18:12:09 -0700 | [diff] [blame] | 41 | <item>"0:call,media,radio,nav_guidance,voice_command,alarm,notification,system,safety,unknown"</item> |
keunyoung | 5c7cb26 | 2015-10-19 10:47:45 -0700 | [diff] [blame] | 42 | <!-- call and media to physical stream 0 while all others go to physical stream 1 --> |
Keun-young Park | 3057ebd | 2016-03-28 18:12:09 -0700 | [diff] [blame] | 43 | <item>"0:call,media,radio,unknown#1:nav_guidance,voice_command,alarm,notification,system,safety"</item> |
keunyoung | 5c7cb26 | 2015-10-19 10:47:45 -0700 | [diff] [blame] | 44 | </string-array> |
Keun-young Park | 6eab4de | 2016-03-31 19:53:02 -0700 | [diff] [blame] | 45 | <!-- Configuration to enable usage of dynamic audio routing. If this is set to false, |
| 46 | dynamic audio routing is disabled and audio works in legacy mode. It may be useful |
| 47 | during initial development where audio hal does not support bus based addressing yet. --> |
| 48 | <bool name="audioUseDynamicRouting">true</bool> |
Keun-young Park | 3cb8910 | 2016-05-05 13:16:03 -0700 | [diff] [blame] | 49 | <!-- Whether to block other audio while media audio is muted with display off. When set to true, |
| 50 | other sounds cannot be played either while display is off. If false, only media is muted |
| 51 | and other sounds can be still played. --> |
| 52 | <bool name="displayOffMuteLockAllAudio">true</bool> |
Vitalii Tomkiv | e836ac3 | 2016-04-05 17:26:41 -0700 | [diff] [blame] | 53 | |
Vitalii Tomkiv | 2bd0692 | 2016-07-26 11:07:48 -0700 | [diff] [blame] | 54 | <string name="inputService">android.car.input.service/.DefaultInputService</string> |
Keun-young Park | a28d7b2 | 2016-02-29 16:54:29 -0800 | [diff] [blame] | 55 | |
Pavel Maltsev | 905968c | 2017-07-16 19:48:57 -0700 | [diff] [blame] | 56 | <string name="instrumentClusterRendererService">android.car.cluster.sample/.SampleClusterServiceImpl</string> |
Keun-young Park | 4727da3 | 2016-05-31 10:00:51 -0700 | [diff] [blame] | 57 | |
Enrico Granata | 9a916d7 | 2017-09-19 14:33:08 -0700 | [diff] [blame] | 58 | <!-- 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] | 59 | only whitelisted safe Activities will be allowed while car is not parked. --> |
| 60 | <bool name="enableActivityBlockingForSafety">true</bool> |
| 61 | <!-- Activity to be presented when un-safe activity is launched. Take a look at the javadoc of the |
| 62 | default implementation. --> |
| 63 | <string name="activityBlockingActivity">com.android.car/com.android.car.pm.ActivityBlockingActivity</string> |
| 64 | <!-- Comma separated list of activities that will be allowed by default. This only applies to |
| 65 | system apps which is included into system image and non-system app in the list will be |
| 66 | ignored. Format of each entry is either to specify package name to whitelist the whole |
| 67 | package or use format of "packagename/activity_classname" for tagging each activities. |
| 68 | Besides this, system apps with car app meta data will be auto whitelisted. --> |
Keun-young Park | 9896081 | 2016-10-04 12:50:54 -0700 | [diff] [blame] | 69 | <string name="defauiltActivityWhitelist">android,com.android.systemui</string> |
Yao Chen | b982e64 | 2016-10-13 14:22:56 -0700 | [diff] [blame] | 70 | <!-- Default home activity --> |
Pavel Maltsev | ed2c864 | 2017-12-18 12:56:26 -0800 | [diff] [blame^] | 71 | <string name="defaultHomeActivity"><!--com.your.package/com.your.package.Activity--></string> |
Antonio Cortes | 6b3544c | 2017-02-06 16:54:58 -0800 | [diff] [blame] | 72 | <!-- The com.android.car.VmsPublisherService will bind to this list of clients --> |
| 73 | <string-array translatable="false" name="vmsPublisherClients"> |
| 74 | </string-array> |
Antonio Cortes | bb73c4c | 2017-05-16 14:18:47 -0700 | [diff] [blame] | 75 | <!-- Permissions that the com.android.car.VmsPublisherService is allowed to grant to publishers --> |
| 76 | <string-array translatable="false" name="vmsSafePermissions"> |
| 77 | <item>"android.permission.ACCESS_FINE_LOCATION"</item> |
| 78 | </string-array> |
Enrico Granata | 9a916d7 | 2017-09-19 14:33:08 -0700 | [diff] [blame] | 79 | |
Enrico Granata | 9c1f272 | 2017-09-21 17:19:04 -0700 | [diff] [blame] | 80 | <!-- Hours of uptime (excluding sleep) after which a 1% increase in the wear of the flash |
| 81 | storage in the head-unit is considered as acceptable level of wear. --> |
| 82 | <integer name="acceptableHoursPerOnePercentFlashWear">70</integer> |
| 83 | |
| 84 | <!-- How often (in hours of uptime excluding sleep) CarService will flush to disk information |
| 85 | about the total running time of the head-unit. A shutdown or reboot of the head-unit |
| 86 | will always cause a flush of the uptime information, regardless of this setting. --> |
| 87 | <integer name="uptimeHoursIntervalBetweenUptimeDataWrite">5</integer> |
Enrico Granata | 3a1e626 | 2017-09-29 12:07:44 -0700 | [diff] [blame] | 88 | |
| 89 | <!-- The name of an activity to be launched by CarService whenever it detects a change in the |
| 90 | level of wear of the flash storage. Value must either be an empty string, which means that |
| 91 | no activity shall be launched, or must be in the format of a flattened ComponentName and |
| 92 | reference a valid activity. It is strongly recommended that the chosen activity be |
| 93 | protected with the android.car.permission.STORAGE_MONITORING permission. --> |
| 94 | <string name="activityHandlerForFlashWearChanges">com.google.android.car.defaultstoragemonitoringcompanionapp/.MainActivity</string> |
Enrico Granata | 3346ed8 | 2017-11-02 13:40:45 -0700 | [diff] [blame] | 95 | |
| 96 | <!-- How often (in seconds) CarService will update I/O metrics from the kernel. --> |
| 97 | <integer name="ioStatsRefreshRateSeconds">60</integer> |
Enrico Granata | 0f72b74 | 2017-11-02 18:26:41 -0700 | [diff] [blame] | 98 | |
| 99 | <!-- The number of I/O metrics samples to keep in memory at one time. |
| 100 | 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] | 101 | retrieval of activity this many sample windows back in time. Setting this to |
| 102 | 0 means no samples will be collected, effectively disabling I/O metric collection. --> |
| 103 | <integer name="ioStatsNumSamplesToStore">0</integer> |
Enrico Granata | 43024de | 2017-11-16 17:09:37 -0800 | [diff] [blame] | 104 | |
| 105 | <!-- 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] | 106 | before CarService deems I/O activity excessive. A simple way to set this value |
| 107 | is - given the total writable amount (storage size * P/E cycles) - to make |
| 108 | reasonable assumptions about the expected lifetime of the vehicle and the average |
| 109 | daily driving time, and use that to allocate a per-sample budget. --> |
Enrico Granata | 43024de | 2017-11-16 17:09:37 -0800 | [diff] [blame] | 110 | <integer name="acceptableWrittenKBytesPerSample">0</integer> |
| 111 | <!-- The maximum number of fsync() system calls that can be made in one sample before |
| 112 | CarService deems I/O activity excessive. --> |
| 113 | <integer name="acceptableFsyncCallsPerSample">0</integer> |
| 114 | |
| 115 | <!-- The maximum number of samples (within an I/O stats sample window) that CarService |
| 116 | should consider exhibiting excessive I/O activity before broadcasting an intent |
| 117 | to signal the potential for flash wear. --> |
Enrico Granata | 88d92c8 | 2017-11-30 16:47:15 -0800 | [diff] [blame] | 118 | <integer name="maxExcessiveIoSamplesInWindow">0</integer> |
Enrico Granata | 43024de | 2017-11-16 17:09:37 -0800 | [diff] [blame] | 119 | |
| 120 | <!-- The name of an intent to be notified by CarService whenever it detects too many |
| 121 | samples with excessive I/O activity. Value must either be an empty string, which |
| 122 | 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] | 123 | ComponentName and reference a valid BroadcastReceiver. This broadcast receiver |
| 124 | must be registered in its containing app's AndroidManifest.xml and it is |
| 125 | strongly recommended that it be protected with the |
| 126 | android.car.permission.STORAGE_MONITORING permission. --> |
Enrico Granata | 43024de | 2017-11-16 17:09:37 -0800 | [diff] [blame] | 127 | <string name="intentReceiverForUnacceptableIoMetrics"></string> |
keunyoung | 5c7cb26 | 2015-10-19 10:47:45 -0700 | [diff] [blame] | 128 | </resources> |