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 <!-- Whether to block other audio while media audio is muted with display off. When set to true, 28 other sounds cannot be played either while display is off. If false, only media is muted 29 and other sounds can be still played. --> 30 <bool name="displayOffMuteLockAllAudio">true</bool> 31 32 <string name="inputService">android.car.input.service/.DefaultInputService</string> 33 34 <string name="instrumentClusterRendererService">android.car.cluster.sample/.SampleClusterServiceImpl</string> 35 36 <!-- Whether to enable Activity blocking for safety. When Activity blocking is enabled, 37 only whitelisted safe Activities will be allowed while car is not parked. --> 38 <bool name="enableActivityBlockingForSafety">true</bool> 39 <!-- Activity to be presented when un-safe activity is launched. Take a look at the javadoc of the 40 default implementation. --> 41 <string name="activityBlockingActivity">com.android.car/com.android.car.pm.ActivityBlockingActivity</string> 42 <!-- Comma separated list of activities that need to be exempted from getting 43 blocked in a UX restricted state. 44 Format of each entry is either to specify package name to whitelist the whole package or 45 use format of "packagename/activity_classname" for tagging each activities. 46 The current implementations expects the following system packages/activities to be 47 whitelisted. For general guidelines to design distraction optimized apps, please refer 48 to Android Auto Driver Distraction Guidelines. --> 49 <string name="activityWhitelist">com.android.systemui,com.google.android.packageinstaller/com.android.packageinstaller.permission.ui.GrantPermissionsActivity</string> 50 <!-- Comma separated list of activities that will be blocked during restricted state. 51 Format of each entry is either to specify package name to whitelist the whole package 52 or use format of "packagename/activity_classname" for tagging each activities.--> 53 <string name="activityBlacklist"></string> 54 <!-- Default home activity --> 55 <string name="defaultHomeActivity"><!--com.your.package/com.your.package.Activity--></string> 56 <!-- The com.android.car.VmsPublisherService will bind to this list of clients --> 57 <string-array translatable="false" name="vmsPublisherClients"> 58 </string-array> 59 <!-- Permissions that the com.android.car.VmsPublisherService is allowed to grant to publishers --> 60 <string-array translatable="false" name="vmsSafePermissions"> 61 <item>"android.permission.ACCESS_FINE_LOCATION"</item> 62 </string-array> 63 64 <!-- Number of milliseconds to wait before trying re-bind to a crashed publisher. --> 65 <integer name="millisecondsBeforeRebindToVmsPublisher">10000</integer> 66 67 <!-- Hours of uptime (excluding sleep) after which a 1% increase in the wear of the flash 68 storage in the head-unit is considered as acceptable level of wear. --> 69 <integer name="acceptableHoursPerOnePercentFlashWear">70</integer> 70 71 <!-- How often (in hours of uptime excluding sleep) CarService will flush to disk information 72 about the total running time of the head-unit. A shutdown or reboot of the head-unit 73 will always cause a flush of the uptime information, regardless of this setting. --> 74 <integer name="uptimeHoursIntervalBetweenUptimeDataWrite">5</integer> 75 76 <!-- The name of an activity to be launched by CarService whenever it detects a change in the 77 level of wear of the flash storage. Value must either be an empty string, which means that 78 no activity shall be launched, or must be in the format of a flattened ComponentName and 79 reference a valid activity. It is strongly recommended that the chosen activity be 80 protected with the android.car.permission.STORAGE_MONITORING permission. --> 81 <string name="activityHandlerForFlashWearChanges">com.google.android.car.defaultstoragemonitoringcompanionapp/.MainActivity</string> 82 83 <!-- How often (in seconds) CarService will update I/O metrics from the kernel. --> 84 <integer name="ioStatsRefreshRateSeconds">60</integer> 85 86 <!-- The number of I/O metrics samples to keep in memory at one time. 87 The system will keep a sliding window of samples of this size, and allow 88 retrieval of activity this many sample windows back in time. Setting this to 89 0 means no samples will be collected, effectively disabling I/O metric collection. --> 90 <integer name="ioStatsNumSamplesToStore">15</integer> 91 92 <!-- The maximum number of KB (1024 bytes) that can be written to storage in one sample 93 before CarService deems I/O activity excessive. A simple way to set this value 94 is - given the total writable amount (storage size * P/E cycles) - to make 95 reasonable assumptions about the expected lifetime of the vehicle and the average 96 daily driving time, and use that to allocate a per-sample budget. --> 97 <integer name="acceptableWrittenKBytesPerSample">115000</integer> 98 <!-- The maximum number of fsync() system calls that can be made in one sample before 99 CarService deems I/O activity excessive. --> 100 <integer name="acceptableFsyncCallsPerSample">150</integer> 101 102 <!-- The maximum number of samples (within an I/O stats sample window) that CarService 103 should consider exhibiting excessive I/O activity before broadcasting an intent 104 to signal the potential for flash wear. --> 105 <integer name="maxExcessiveIoSamplesInWindow">11</integer> 106 107 <!-- The name of an intent to be notified by CarService whenever it detects too many 108 samples with excessive I/O activity. Value must either be an empty string, which 109 means that no notification will take place, or be in the format of a flattened 110 ComponentName and reference a valid BroadcastReceiver. This broadcast receiver 111 must be registered in its containing app's AndroidManifest.xml and it is 112 strongly recommended that it be protected with the 113 android.car.permission.STORAGE_MONITORING permission. --> 114 <string name="intentReceiverForUnacceptableIoMetrics">com.google.android.car.defaultstoragemonitoringcompanionapp/.ExcessiveIoIntentReceiver</string> 115 116 <!-- The Model ID to advertise Bluetooth Fast Pair connections with. Must be overlayed with 117 device specific model id. --> 118 <integer name="fastPairModelId">0x000000</integer> 119 120 <!-- The garage mode configuration, specifying the time after shutdown to reboot into garage 121 mode and the number of attempts at that time to try before moving to the next wake up 122 time. This is intended to be a back-off pattern. --> 123 <string-array translatable="false" name="config_garageModeCadence"> 124 <!-- <wake up after X min/hour/days>,<how many times> --> 125 <item>15m,1</item> 126 <item>6h,8</item> 127 <item>1d,5</item> 128 <item>3d,2</item> 129 <item>7d,3</item> 130 </string-array> 131 132 </resources> 133