config.xml 166 KB
Newer Older
1 2 3 4 5
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2009, The Android Open Source Project
**
6 7 8
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
9
**
10
**     http://www.apache.org/licenses/LICENSE-2.0
11
**
12 13 14 15
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
16 17 18 19 20
** limitations under the License.
*/
-->

<!-- These resources are around just to allow their values to be customized
21 22 23 24 25
     for different hardware and product builds.  Do not translate.

     NOTE: The naming convention is "config_camelCaseValue". Some legacy
     entries do not follow the convention, but all new entries should. -->

26 27 28 29
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <!-- Do not translate. Defines the slots for the right-hand side icons.  That is to say, the
         icons in the status bar that are not notifications. -->
    <string-array name="config_statusBarIcons">
30 31
        <item><xliff:g id="id">@string/status_bar_rotate</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_headset</xliff:g></item>
32
        <item><xliff:g id="id">@string/status_bar_data_saver</xliff:g></item>
33 34 35 36 37 38 39 40 41 42 43 44 45 46
        <item><xliff:g id="id">@string/status_bar_managed_profile</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_ime</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_sync_failing</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_sync_active</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_cast</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_hotspot</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_location</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_bluetooth</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_nfc</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_tty</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_speakerphone</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_zen</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_mute</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_volume</xliff:g></item>
Jason Monk's avatar
Jason Monk committed
47 48
        <item><xliff:g id="id">@string/status_bar_vpn</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_ethernet</xliff:g></item>
49
        <item><xliff:g id="id">@string/status_bar_wifi</xliff:g></item>
Jason Monk's avatar
Jason Monk committed
50 51
        <item><xliff:g id="id">@string/status_bar_mobile</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_airplane</xliff:g></item>
52 53 54 55 56 57 58 59
        <item><xliff:g id="id">@string/status_bar_cdma_eri</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_data_connection</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_phone_evdo_signal</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_phone_signal</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_battery</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_alarm_clock</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_secure</xliff:g></item>
        <item><xliff:g id="id">@string/status_bar_clock</xliff:g></item>
60
        <item><xliff:g id="id">@string/status_bar_su</xliff:g></item>
61 62
    </string-array>

63 64
    <string translatable="false" name="status_bar_rotate">rotate</string>
    <string translatable="false" name="status_bar_headset">headset</string>
65
    <string translatable="false" name="status_bar_data_saver">data_saver</string>
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
    <string translatable="false" name="status_bar_managed_profile">managed_profile</string>
    <string translatable="false" name="status_bar_ime">ime</string>
    <string translatable="false" name="status_bar_sync_failing">sync_failing</string>
    <string translatable="false" name="status_bar_sync_active">sync_active</string>
    <string translatable="false" name="status_bar_cast">cast</string>
    <string translatable="false" name="status_bar_hotspot">hotspot</string>
    <string translatable="false" name="status_bar_location">location</string>
    <string translatable="false" name="status_bar_bluetooth">bluetooth</string>
    <string translatable="false" name="status_bar_nfc">nfc</string>
    <string translatable="false" name="status_bar_tty">tty</string>
    <string translatable="false" name="status_bar_speakerphone">speakerphone</string>
    <string translatable="false" name="status_bar_zen">zen</string>
    <string translatable="false" name="status_bar_mute">mute</string>
    <string translatable="false" name="status_bar_volume">volume</string>
    <string translatable="false" name="status_bar_wifi">wifi</string>
    <string translatable="false" name="status_bar_cdma_eri">cdma_eri</string>
    <string translatable="false" name="status_bar_data_connection">data_connection</string>
    <string translatable="false" name="status_bar_phone_evdo_signal">phone_evdo_signal</string>
    <string translatable="false" name="status_bar_phone_signal">phone_signal</string>
    <string translatable="false" name="status_bar_battery">battery</string>
    <string translatable="false" name="status_bar_alarm_clock">alarm_clock</string>
    <string translatable="false" name="status_bar_secure">secure</string>
    <string translatable="false" name="status_bar_clock">clock</string>
Jason Monk's avatar
Jason Monk committed
89 90 91 92
    <string translatable="false" name="status_bar_mobile">mobile</string>
    <string translatable="false" name="status_bar_vpn">vpn</string>
    <string translatable="false" name="status_bar_ethernet">ethernet</string>
    <string translatable="false" name="status_bar_airplane">airplane</string>
93
    <string translatable="false" name="status_bar_su">su</string>
94

95 96 97 98 99
    <!-- Flag indicating whether the surface flinger has limited
         alpha compositing functionality in hardware.  If set, the window
         manager will disable alpha trasformation in animations where not
         strictly needed. -->
    <bool name="config_sf_limitedAlpha">false</bool>
100 101 102 103 104

    <!-- Default value used to block data calls if ims is not
         connected.  If you use the ims apn DCT will block
         any other apn from connecting until ims apn is connected-->
    <bool name="ImsConnectedDefaultValue">false</bool>
105

106 107
    <!-- Flag indicating whether the surface flinger is inefficient
         at performing a blur.  Used by parts of the UI to turn off
108 109 110
         the blur effect where it isn't worth the performance hit.
         As of Honeycomb, blurring is not supported anymore. -->
    <bool name="config_sf_slowBlur">true</bool>
111

112 113 114 115 116
    <!-- Flag indicating that the media framework should support playing of sounds on volume
         key usage.  This adds noticeable additional overhead to volume key processing, so
         is disableable for products for which it is irrelevant. -->
    <bool name="config_useVolumeKeySounds">true</bool>

117 118 119 120 121 122 123
    <!-- The attenuation in dB applied to the sound effects played
         through AudioManager.playSoundEffect() when no volume is specified. -->
    <integer name="config_soundEffectVolumeDb">-6</integer>

    <!-- The attenuation in dB applied to the lock/unlock sounds. -->
    <integer name="config_lockSoundVolumeDb">-6</integer>

124
    <!-- Flag indicating whether the AUDIO_BECOMING_NOISY notification should
125
         be sent during a change to the audio output device. -->
126 127
    <bool name="config_sendAudioBecomingNoisy">true</bool>

128
    <!-- The duration (in milliseconds) of a short animation. -->
129
    <integer name="config_shortAnimTime">200</integer>
130

131
    <!-- The duration (in milliseconds) of a medium-length animation. -->
132
    <integer name="config_mediumAnimTime">400</integer>
133

134
    <!-- The duration (in milliseconds) of a long animation. -->
135
    <integer name="config_longAnimTime">500</integer>
Daisuke Miyakawa's avatar
Daisuke Miyakawa committed
136

137 138 139
    <!-- The duration (in milliseconds) of the activity open/close and fragment open/close animations. -->
    <integer name="config_activityShortDur">150</integer>
    <integer name="config_activityDefaultDur">220</integer>
140

141 142 143
    <!-- The duration (in milliseconds) of the tooltip show/hide animations. -->
    <integer name="config_tooltipAnimTime">150</integer>

144 145 146 147 148 149
    <!-- Duration for the dim animation behind a dialog.  This may be either
         a percentage, which is relative to the duration of the enter/open
         animation of the window being shown that is dimming behind, or it may
         be an integer for a constant duration. -->
    <fraction name="config_dimBehindFadeDuration">100%</fraction>

150 151 152
    <!-- The maximum width we would prefer dialogs to be.  0 if there is no
         maximum (let them grow as large as the screen).  Actual values are
         specified for -large and -xlarge configurations. -->
Adam Powell's avatar
Adam Powell committed
153
    <dimen name="config_prefDialogWidth">320dp</dimen>
154

155 156 157 158
    <!-- Enables or disables fading edges when marquee is enabled in TextView.
         Off by default, since the framebuffer readback used to implement the
         fading edges is prohibitively expensive on most GPUs. -->
    <bool name="config_ui_enableFadingMarquee">false</bool>
159

160 161 162 163 164
    <!-- Enables or disables haptic effect when the text insertion/selection handle is moved
         manually by the user. Off by default, since the expected haptic feedback may not be
         available on some devices. -->
    <bool name="config_enableHapticTextHandle">false</bool>

165
    <!-- Whether dialogs should close automatically when the user touches outside
166
         of them.  This should not normally be modified. -->
167
    <bool name="config_closeDialogWhenTouchOutside">true</bool>
168

169
    <!-- Device configuration indicating whether we should avoid using accelerated graphics
170
         in certain places to reduce RAM footprint.  This is ignored if ro.config.low_ram
171 172 173 174 175
         is true (in that case this is assumed true as well).  It can allow you to tune down
         your device's memory use without going to the point of causing applications to turn
         off features. -->
    <bool name="config_avoidGfxAccel">false</bool>

176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
    <!-- Device configuration setting the minfree tunable in the lowmemorykiller in the kernel.
         A high value will cause the lowmemorykiller to fire earlier, keeping more memory
         in the file cache and preventing I/O thrashing, but allowing fewer processes to
         stay in memory.  A low value will keep more processes in memory but may cause
         thrashing if set too low.  Overrides the default value chosen by ActivityManager
         based on screen size and total memory for the largest lowmemorykiller bucket, and
         scaled proportionally to the smaller buckets.  -1 keeps the default. -->
    <integer name="config_lowMemoryKillerMinFreeKbytesAbsolute">-1</integer>

    <!-- Device configuration adjusting the minfree tunable in the lowmemorykiller in the
         kernel.  A high value will cause the lowmemorykiller to fire earlier, keeping more
         memory in the file cache and preventing I/O thrashing, but allowing fewer processes
         to stay in memory.  A low value will keep more processes in memory but may cause
         thrashing if set too low.  Directly added to the default value chosen by
         ActivityManager based on screen size and total memory for the largest lowmemorykiller
         bucket, and scaled proportionally to the smaller buckets. 0 keeps the default. -->
    <integer name="config_lowMemoryKillerMinFreeKbytesAdjust">0</integer>

194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211
    <!-- Device configuration setting the /proc/sys/vm/extra_free_kbytes tunable in the kernel
         (if it exists).  A high value will increase the amount of memory that the kernel
         tries to keep free, reducing allocation time and causing the lowmemorykiller to kill
         earlier.  A low value allows more memory to be used by processes but may cause more
         allocations to block waiting on disk I/O or lowmemorykiller.  Overrides the default
         value chosen by ActivityManager based on screen size.  0 prevents keeping any extra
         memory over what the kernel keeps by default.  -1 keeps the default. -->
    <integer name="config_extraFreeKbytesAbsolute">-1</integer>

    <!-- Device configuration adjusting the /proc/sys/vm/extra_free_kbytes tunable in the kernel
         (if it exists).  0 uses the default value chosen by ActivityManager.  A positive value
         will increase the amount of memory that the kernel tries to keep free, reducing
         allocation time and causing the lowmemorykiller to kill earlier.  A negative value
         allows more memory to be used by processes but may cause more allocations to block
         waiting on disk I/O or lowmemorykiller.  Directly added to the default value chosen by
         ActivityManager based on screen size. -->
    <integer name="config_extraFreeKbytesAdjust">0</integer>

212 213 214 215 216 217 218 219 220
    <!-- Set this to true to enable the platform's auto-power-save modes like doze and
         app standby.  These are not enabled by default because they require a standard
         cloud-to-device messaging service for apps to interact correctly with the modes
         (such as to be able to deliver an instant message to the device even when it is
         dozing).  This should be enabled if you have such services and expect apps to
         correctly use them when installed on your device.  Otherwise, keep this disabled
         so that applications can still use their own mechanisms. -->
    <bool name="config_enableAutoPowerModes">false</bool>

221 222 223 224 225 226 227 228 229 230 231 232 233 234 235
    <!-- The threshold angle for any motion detection in auto-power save modes.
         In hundreths of a degree. -->
    <integer name="config_autoPowerModeThresholdAngle">200</integer>

    <!-- The sensor id of an "any motion" sensor used in auto-power save modes.
         0 indicates this sensor is not available. -->
    <integer name="config_autoPowerModeAnyMotionSensor">0</integer>

    <!-- If an any motion sensor is not available, prefer the wrist tilt detector over the
         SMD. -->
    <bool name="config_autoPowerModePreferWristTilt">false</bool>

    <!-- If a location should be pre-fetched when going into device idle. -->
    <bool name="config_autoPowerModePrefetchLocation">true</bool>

236 237 238 239
    <!-- The duration (in milliseconds) that the radio will scan for a signal
         when there's no network connection. If the scan doesn't timeout, use zero -->
    <integer name="config_radioScanningTimeout">0</integer>

240 241
    <!-- XXXXX NOTE THE FOLLOWING RESOURCES USE THE WRONG NAMING CONVENTION.
         Please don't copy them, copy anything else. -->
242 243 244 245

    <!-- This string array should be overridden by the device to present a list of network
         attributes.  This is used by the connectivity manager to decide which networks can coexist
         based on the hardware -->
246
    <!-- An Array of "[Connection name],[ConnectivityManager.TYPE_xxxx],
247 248 249 250 251
         [associated radio-type],[priority],[restoral-timer(ms)],[dependencyMet]  -->
    <!-- the 5th element "resore-time" indicates the number of milliseconds to delay
         before automatically restore the default connection.  Set -1 if the connection
         does not require auto-restore. -->
    <!-- the 6th element indicates boot-time dependency-met value. -->
252
    <string-array translatable="false" name="networkAttributes">
Robert Greenwalt's avatar
Robert Greenwalt committed
253 254
        <item>"wifi,1,1,1,-1,true"</item>
        <item>"mobile,0,0,0,-1,true"</item>
255 256
        <item>"mobile_mms,2,0,2,60000,true"</item>
        <item>"mobile_supl,3,0,2,60000,true"</item>
257
        <item>"mobile_dun,4,0,2,60000,true"</item>
258 259 260 261
        <item>"mobile_hipri,5,0,3,60000,true"</item>
        <item>"mobile_fota,10,0,2,60000,true"</item>
        <item>"mobile_ims,11,0,2,60000,true"</item>
        <item>"mobile_cbs,12,0,2,60000,true"</item>
repo sync's avatar
repo sync committed
262
        <item>"wifi_p2p,13,1,0,-1,true"</item>
263
        <item>"mobile_ia,14,0,2,-1,true"</item>
264
        <item>"mobile_emergency,15,0,2,-1,true"</item>
265 266
    </string-array>

267 268 269 270 271 272
    <!-- Array of ConnectivityManager.TYPE_xxxx constants for networks that may only
         be controlled by systemOrSignature apps.  -->
    <integer-array translatable="false" name="config_protectedNetworks">
        <item>10</item>
        <item>11</item>
        <item>12</item>
273
        <item>14</item>
274
        <item>15</item>
275 276
    </integer-array>

277 278 279 280 281
    <!-- This string array should be overridden by the device to present a list of radio
         attributes.  This is used by the connectivity manager to decide which networks can coexist
         based on the hardware -->
    <!-- An Array of "[ConnectivityManager connectionType],
                      [# simultaneous connection types]"  -->
282
    <string-array translatable="false" name="radioAttributes">
283 284
        <item>"1,1"</item>
        <item>"0,1"</item>
285
    </string-array>
286

287 288 289
    <!-- The maximum duration (in milliseconds) we expect a network transition to take -->
    <integer name="config_networkTransitionTimeout">60000</integer>

290 291 292 293 294 295 296
    <!-- Whether/how to notify the user on network switches. See LingerMonitor.java. -->
    <integer translatable="false" name="config_networkNotifySwitchType">0</integer>

    <!-- What types of network switches to notify. See LingerMonitor.java. -->
    <string-array translatable="false" name="config_networkNotifySwitches">
    </string-array>

297 298 299 300 301
    <!-- Whether the device should automatically switch away from Wi-Fi networks that lose
         Internet access. Actual device behaviour is controlled by
         Settings.Global.NETWORK_AVOID_BAD_WIFI. This is the default value of that setting. -->
    <integer translatable="false" name="config_networkAvoidBadWifi">1</integer>

302 303 304 305 306 307 308
    <!-- If the hardware supports specially marking packets that caused a wakeup of the
         main CPU, set this value to the mark used. -->
    <integer name="config_networkWakeupPacketMark">0</integer>

    <!-- Mask to use when checking skb mark defined in config_networkWakeupPacketMark above. -->
    <integer name="config_networkWakeupPacketMask">0</integer>

309 310 311 312 313
    <!-- Whether the APF Filter in the device should filter out IEEE 802.3 Frames
         Those frames are identified by the field Eth-type having values
         less than 0x600 -->
    <bool translatable="false" name="config_apfDrop802_3Frames">true</bool>

314 315 316
    <!-- Default value for ConnectivityManager.getMultipathPreference() on metered networks. Actual
         device behaviour is controlled by Settings.Global.NETWORK_METERED_MULTIPATH_PREFERENCE.
         This is the default value of that setting. -->
317
    <integer translatable="false" name="config_networkMeteredMultipathPreference">0</integer>
318

Robert Greenwalt's avatar
Robert Greenwalt committed
319
    <!-- List of regexpressions describing the interface (if any) that represent tetherable
320
         USB interfaces.  If the device doesn't want to support tethering over USB this should
Robert Greenwalt's avatar
Robert Greenwalt committed
321 322 323 324 325 326 327 328 329 330
         be empty.  An example would be "usb.*" -->
    <string-array translatable="false" name="config_tether_usb_regexs">
    </string-array>

    <!-- List of regexpressions describing the interface (if any) that represent tetherable
         Wifi interfaces.  If the device doesn't want to support tethering over Wifi this
         should be empty.  An example would be "softap.*" -->
    <string-array translatable="false" name="config_tether_wifi_regexs">
    </string-array>

331 332 333 334 335 336
    <!-- List of regexpressions describing the interface (if any) that represent tetherable
         WiMAX interfaces.  If the device doesn't want to support tethering over Wifi this
         should be empty.  An example would be "softap.*" -->
    <string-array translatable="false" name="config_tether_wimax_regexs">
    </string-array>

Danica Chang's avatar
Danica Chang committed
337 338 339 340 341 342
    <!-- List of regexpressions describing the interface (if any) that represent tetherable
         bluetooth interfaces.  If the device doesn't want to support tethering over bluetooth this
         should be empty. -->
    <string-array translatable="false" name="config_tether_bluetooth_regexs">
    </string-array>

343 344 345 346
    <!-- Max number of Bluetooth tethering connections allowed. If this is
         updated config_tether_dhcp_range has to be updated appropriately. -->
    <integer translateable="false" name="config_max_pan_devices">5</integer>

Robert Greenwalt's avatar
Robert Greenwalt committed
347
    <!-- Dhcp range (min, max) to use for tethering purposes -->
348
    <string-array translatable="false" name="config_tether_dhcp_range">
Robert Greenwalt's avatar
Robert Greenwalt committed
349 350
    </string-array>

351 352 353
    <!-- Regex of wired ethernet ifaces -->
    <string translatable="false" name="config_ethernet_iface_regex">eth\\d</string>

354 355
    <!-- If the mobile hotspot feature requires provisioning, a package name and class name
        can be provided to launch a supported application that provisions the devices.
356 357 358

        Example Usage:

359 360 361
        String[] appDetails = getStringArray(R.array.config_mobile_hotspot_provision_app);
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.setClassName(appDetails[0], appDetails[1]);
362 363 364 365 366 367 368 369 370 371 372 373 374
        startActivityForResult(intent, 0);

        public void onActivityResult(int requestCode, int resultCode, Intent intent) {
            super.onActivityResult(requestCode, resultCode, intent);
            if (requestCode == 0) {
                if (resultCode == Activity.RESULT_OK) {
                    //Mobile hotspot provisioning successful
                } else {
                    //Mobile hotspot provisioning failed
                }
            }

        See src/com/android/settings/TetherSettings.java for more details.
375
        For ui-less/periodic recheck support see config_mobile_hotspot_provision_app_no_ui
376
        -->
377 378 379 380 381 382 383 384
    <!-- The first element is the package name and the second element is the class name
         of the provisioning app -->
    <string-array translatable="false" name="config_mobile_hotspot_provision_app">
    <!--
        <item>com.example.provisioning</item>
        <item>com.example.provisioning.Activity</item>
    -->
    </string-array>
385

386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419
    <!-- If the mobile hotspot feature requires provisioning, an action can be provided
         that will be broadcast in non-ui cases for checking the provisioning status.

         A second broadcast, action defined by config_mobile_hotspot_provision_response,
         will be sent back to notify if provisioning succeeded or not.  The response will
         match that of the activity in config_mobile_hotspot_provision_app, but instead
         contained within the int extra "EntitlementResult".

         Example Usage:
         String provisionAction = getString(R.string.config_mobile_hotspot_provision_check);
         sendBroadcast(new Intent(provisionAction));

         public void onReceive(Context context, Intent intent) {
             String provisionResponse =
                    getString(R.string.config_mobile_hotspot_provision_response);
             if (provisionResponse.equals(intent.getAction())
                    && intent.getIntExtra("EntitlementResult") == Activity.RESULT_OK) {
                 //Mobile hotspot provisioning successful
             } else {
                 //Mobile hotspot provisioning failed
             }
         }
        -->
    <string translatable="false" name="config_mobile_hotspot_provision_app_no_ui"></string>
    <!-- Sent in response to a provisioning check. The caller must hold the
         permission android.permission.CONNECTIVITY_INTERNAL for Settings to
         receive this response.

         See config_mobile_hotspot_provision_response
         -->
    <string translatable="false" name="config_mobile_hotspot_provision_response"></string>
    <!-- Number of hours between each background provisioning call -->
    <integer translatable="false" name="config_mobile_hotspot_provision_check_period">24</integer>

420
    <!-- Activity name to enable wifi tethering after provisioning app succeeds -->
421
    <string translatable="false" name="config_wifi_tether_enable">com.android.settings/.TetherService</string>
422

423 424 425 426 427 428
    <!-- Controls the WiFi wakeup feature.
          0 = Not available.
          1 = Available.
     -->
    <integer translatable="false" name="config_wifi_wakeup_available">0</integer>

429 430 431 432 433 434
    <!-- Array of ConnectivityManager.TYPE_xxxx values allowable for tethering.

         Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
         [1,7,0] for TYPE_WIFI, TYPE_BLUETOOTH, and TYPE_MOBILE.

         This list is also modified by code within the framework, including:
435 436

             - TYPE_ETHERNET (9) is prepended to this list, and
437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456

             - the return value of TelephonyManager.getTetherApnRequired()
               determines how the array is further modified:

                   * DUN_REQUIRED
                     TYPE_MOBILE is removed (if present)
                     TYPE_MOBILE_HIPRI is removed (if present)
                     TYPE_MOBILE_DUN is appended (if not already present)

                   * DUN_NOT_REQUIRED
                     TYPE_MOBILE_DUN is removed (if present)
                     TYPE_MOBILE is appended (if not already present)
                     TYPE_MOBILE_HIPRI is appended (if not already present)

                   * DUN_UNSPECIFIED
                     if any of TYPE_MOBILE{,_DUN,_HIPRI} are present:
                         change nothing
                     else:
                         TYPE_MOBILE is appended
                         TYPE_MOBILE_HIPRI is appended
457 458 459

         For other changes applied to this list, now and in the future, see
         com.android.server.connectivity.tethering.TetheringConfiguration.
460 461 462

         Note also: the order of this is important. The first upstream type
         for which a satisfying network exists is used.
463
      -->
464 465
    <integer-array translatable="false" name="config_tether_upstream_types">
        <item>1</item>
Robert Greenwalt's avatar
Robert Greenwalt committed
466
        <item>7</item>
467
        <item>0</item>
468
    </integer-array>
469

470 471 472 473 474 475 476
    <!-- If the DUN connection for this CDMA device supports more than just DUN -->
    <!-- traffic you should list them here. -->
    <!-- If this device is not CDMA this is ignored.  If this list is empty on -->
    <!-- a DUN-requiring CDMA device, the DUN APN will just support just DUN. -->
    <string-array translatable="false" name="config_cdma_dun_supported_types">
    </string-array>

477 478
    <!-- String containing the apn value for tethering.  May be overriden by secure settings
         TETHER_DUN_APN.  Value is a comma separated series of strings:
479 480 481 482 483 484 485 486
         "name,apn,proxy,port,username,password,server,mmsc,mmsproxy,mmsport,mcc,mnc,auth,type",
         Or string format of ApnSettingV3.
         note that empty fields can be ommitted: "name,apn,,,,,,,,,310,260,,DUN"
         Multiple entries are separated by using string-array:
         "<item>[ApnSettingV3]Name,apn,,,,,,,,,123,45,,mms|*,IPV6,IP,true,14,,,,,,,spn,testspn</item>
          <item>[ApnSettingV3]Name1,apn2,,,,,,,,,123,46,,mms|*,IPV6,IP,true,12,,,,,,,,</item>" -->
    <string-array translatable="false" name="config_tether_apndata">
    </string-array>
487

488 489
    <!-- Boolean indicating whether the wifi chipset has dual frequency band support -->
    <bool translatable="false" name="config_wifi_dual_band_support">false</bool>
490

491 492 493
    <!-- Boolean indicating whether 802.11r Fast BSS Transition is enabled on this platform -->
    <bool translatable="false" name="config_wifi_fast_bss_transition_enabled">false</bool>

Irfan Sheriff's avatar
Irfan Sheriff committed
494 495 496
    <!-- Device type information conforming to Annex B format in WiFi Direct specification.
         The default represents a dual-mode smartphone -->
    <string translatable="false" name="config_wifi_p2p_device_type">10-0050F204-5</string>
repo sync's avatar
repo sync committed
497

498 499 500
    <!-- Boolean indicating whether the wifi chipset supports background scanning mechanism.
         This mechanism allows the host to remain in suspend state and the dongle to actively
         scan and wake the host when a configured SSID is detected by the dongle. This chipset
501
         capability can provide power savings when wifi needs to be always kept on. -->
502 503
    <bool translatable="false" name="config_wifi_background_scan_support">false</bool>

vandwalle's avatar
vandwalle committed
504 505 506
    <!-- Boolean indicating we re-try re-associating once upon disconnection and RSSI is high failure  -->
    <bool translatable="true" name="config_wifi_enable_disconnection_debounce">true</bool>

507 508 509 510
    <!-- Boolean indicating whether or not to revert to default country code when cellular
         radio is unable to find any MCC information to infer wifi country code from -->
    <bool translatable="false" name="config_wifi_revert_country_code_on_cellular_loss">false</bool>

511
    <!-- Boolean indicating whether or not wifi firmware debugging is enabled -->
512
    <bool translatable="false" name="config_wifi_enable_wifi_firmware_debugging">true</bool>
513

514 515 516 517 518
    <!-- Integer size limit, in KB, for a single WifiLogger ringbuffer, in default logging mode -->
    <integer translatable="false" name="config_wifi_logger_ring_buffer_default_size_limit_kb">32</integer>

    <!-- Integer size limit, in KB, for a single WifiLogger ringbuffer, in verbose logging mode -->
    <integer translatable="false" name="config_wifi_logger_ring_buffer_verbose_size_limit_kb">1024</integer>
519

520 521 522 523
    <!-- Boolean indicating whether or not wifi should turn off when emergency call is made -->
    <bool translatable="false" name="config_wifi_turn_off_during_emergency_call">false</bool>

    <!-- Integer specifying the basic autojoin parameters -->
vandwalle's avatar
vandwalle committed
524
    <integer translatable="false" name="config_wifi_framework_5GHz_preference_boost_threshold">-65</integer>
525
    <integer translatable="false" name="config_wifi_framework_5GHz_preference_boost_factor">40</integer>
vandwalle's avatar
vandwalle committed
526
    <integer translatable="false" name="config_wifi_framework_5GHz_preference_penalty_threshold">-75</integer>
527 528 529 530 531 532
    <integer translatable="false" name="config_wifi_framework_RSSI_SCORE_OFFSET">85</integer>
    <integer translatable="false" name="config_wifi_framework_RSSI_SCORE_SLOPE">4</integer>
    <integer translatable="false" name="config_wifi_framework_SAME_BSSID_AWARD">24</integer>
    <integer translatable="false" name="config_wifi_framework_LAST_SELECTION_AWARD">480</integer>
    <integer translatable="false" name="config_wifi_framework_PASSPOINT_SECURITY_AWARD">40</integer>
    <integer translatable="false" name="config_wifi_framework_SECURITY_AWARD">80</integer>
533 534
    <!-- Integer specifying the base interval in seconds for the exponential backoff scan for autojoin -->
    <integer translatable="false" name="config_wifi_framework_exponential_backoff_scan_base_interval">20</integer>
535 536 537
    <!-- Integers specifying the max packet Tx/Rx rates for full scan -->
    <integer translatable="false" name="config_wifi_framework_max_tx_rate_for_full_scan">8</integer>
    <integer translatable="false" name="config_wifi_framework_max_rx_rate_for_full_scan">16</integer>
538 539 540
    <!-- Integers specifying the min packet Tx/Rx rates in packets per second for staying on the same network -->
    <integer translatable="false" name="config_wifi_framework_min_tx_rate_for_staying_on_network">16</integer>
    <integer translatable="false" name="config_wifi_framework_min_rx_rate_for_staying_on_network">16</integer>
541 542
    <!-- Integer parameters of the wifi to cellular handover feature
         wifi should not stick to bad networks -->
543
    <integer translatable="false" name="config_wifi_framework_wifi_score_bad_rssi_threshold_5GHz">-82</integer>
544
    <integer translatable="false" name="config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz">-82</integer>
545 546 547
    <integer translatable="false" name="config_wifi_framework_wifi_score_low_rssi_threshold_5GHz">-70</integer>
    <integer translatable="false" name="config_wifi_framework_wifi_score_good_rssi_threshold_5GHz">-57</integer>
    <integer translatable="false" name="config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz">-85</integer>
548
    <integer translatable="false" name="config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz">-85</integer>
549 550
    <integer translatable="false" name="config_wifi_framework_wifi_score_low_rssi_threshold_24GHz">-73</integer>
    <integer translatable="false" name="config_wifi_framework_wifi_score_good_rssi_threshold_24GHz">-60</integer>
551 552 553 554
    <integer translatable="false" name="config_wifi_framework_wifi_score_bad_link_speed_24">6</integer>
    <integer translatable="false" name="config_wifi_framework_wifi_score_bad_link_speed_5">12</integer>
    <integer translatable="false" name="config_wifi_framework_wifi_score_good_link_speed_24">24</integer>
    <integer translatable="false" name="config_wifi_framework_wifi_score_good_link_speed_5">36</integer>
555

556
    <string  translatable="false" name="config_wifi_random_mac_oui">DA-A1-19</string>
557
    <string  translatable="false" name="config_wifi_framework_sap_2G_channel_list">1,6,11</string>
558

559 560 561 562 563 564 565 566 567
    <bool translatable="false" name="config_wifi_framework_cellular_handover_enable_user_triggered_adjustment">true</bool>

    <!-- Integer packet threshold used to allow scan while associated -->
    <integer translatable="false" name="config_wifi_framework_associated_full_scan_tx_packet_threshold">5</integer>
    <integer translatable="false" name="config_wifi_framework_associated_full_scan_rx_packet_threshold">10</integer>
    <integer translatable="false" name="config_wifi_framework_associated_partial_scan_tx_packet_threshold">40</integer>
    <integer translatable="false" name="config_wifi_framework_associated_partial_scan_rx_packet_threshold">80</integer>
    <integer translatable="false" name="config_wifi_framework_network_switch_tx_packet_threshold">2</integer>
    <integer translatable="false" name="config_wifi_framework_network_switch_rx_packet_threshold">20</integer>
vandwalle's avatar
vandwalle committed
568

569 570 571
    <!-- Integer indicating wpa_supplicant scan interval in milliseconds -->
    <integer translatable="false" name="config_wifi_supplicant_scan_interval">15000</integer>

572 573 574 575
    <!-- Integer indicating amount of time failed networks areblacklisted for the purpose
         of network switching in milliseconds -->
    <integer translatable="false" name="config_wifi_network_switching_blacklist_time">172800000</integer>

576 577 578
    <!-- Integer indicating wpa_supplicant scan interval when p2p is connected in milliseconds -->
    <integer translatable="false" name="config_wifi_scan_interval_p2p_connected">60000</integer>

579 580 581 582 583 584
    <!-- Integer indicating the framework scan interval in milliseconds. This is used in the scenario
         where the chipset does not support background scanning (config_wifi_background_scan_suport
         is false) to set up a periodic wake up scan so that the device can connect to a new access
         point on the move. A value of 0 means no periodic scans will be used in the framework. -->
    <integer translatable="false" name="config_wifi_framework_scan_interval">300000</integer>

585 586 587
    <!-- Integer indicating the framework no networks periodic scan interval in milliseconds. -->
    <integer translatable="false" name="config_wifi_no_network_periodic_scan_interval">300000</integer>

588 589
    <!-- Integer indicating disconnect mode short scan interval in milliseconds -->
    <integer translatable="false" name="config_wifi_disconnected_short_scan_interval">15000</integer>
590

591 592 593
    <!-- Integer indicating associated partial scan short interval in milliseconds -->
    <integer translatable="false" name="config_wifi_associated_short_scan_interval">20000</integer>

vandwalle's avatar
vandwalle committed
594 595 596 597 598 599 600 601 602 603 604 605
    <!-- Integer indicating associated full scan backoff, representing a fraction: xx/8 -->
    <integer translatable="false" name="config_wifi_framework_associated_full_scan_backoff">12</integer>

    <!-- Integer indicating associated full scan max interval in milliseconds -->
    <integer translatable="false" name="config_wifi_framework_associated_full_scan_max_interval">300000</integer>

    <!-- Integer indicating associated full scan max total dwell time in milliseconds -->
    <integer translatable="false" name="config_wifi_framework_associated_full_scan_max_total_dwell_time">500</integer>

    <!-- Integer indicating associated full scan max num active channels -->
    <integer translatable="false" name="config_wifi_framework_associated_partial_scan_max_num_active_channels">6</integer>

606
    <!-- Integer indicating RSSI boost given to current network -->
607
    <integer translatable="false" name="config_wifi_framework_current_network_boost">16</integer>
608

609 610 611
    <!-- Integer indicating how to handle beacons with uninitialized RSSI value of 0 -->
    <integer translatable="false" name="config_wifi_framework_scan_result_rssi_level_patchup_value">-85</integer>

612 613 614
    <!-- Boolean indicating associated network selection is allowed -->
    <bool translatable="false" name="config_wifi_framework_enable_associated_network_selection">true</bool>

615 616 617
    <!-- Boolean indicating that wifi only link configuratios that have exact same credentials (i.e PSK) -->
    <bool translatable="false" name="config_wifi_only_link_same_credential_configurations">true</bool>

618 619 620 621
    <!-- Boolean indicating whether framework needs to set the tx power limit for meeting SAR requirements
         during voice calls -->
    <bool translatable="false" name="config_wifi_framework_enable_voice_call_sar_tx_power_limit">false</bool>

622 623 624
    <!-- Wifi driver supports batched scan -->
    <bool translatable="false" name="config_wifi_batched_scan_supported">false</bool>

625
    <!-- Idle Receive current for wifi radio. 0 by default-->
626
    <integer translatable="false" name="config_wifi_idle_receive_cur_ma">0</integer>
627 628

    <!-- Rx current for wifi radio. 0 by default-->
629
    <integer translatable="false" name="config_wifi_active_rx_cur_ma">0</integer>
630 631

    <!-- Tx current for wifi radio. 0 by default-->
632
    <integer translatable="false" name="config_wifi_tx_cur_ma">0</integer>
633 634

    <!-- Operating volatage for wifi radio. 0 by default-->
635
    <integer translatable="false" name="config_wifi_operating_voltage_mv">0</integer>
636

637 638
    <!-- Flag indicating whether the we should enable the automatic brightness in Settings.
         Software implementation will be used if config_hardware_auto_brightness_available is not set -->
639
    <bool name="config_automatic_brightness_available">false</bool>
640

641
    <!-- Fast brightness animation ramp rate in brightness units per second-->
642
    <integer translatable="false" name="config_brightness_ramp_rate_fast">180</integer>
643

644
    <!-- Slow brightness animation ramp rate in brightness units per second-->
645
    <integer translatable="false" name="config_brightness_ramp_rate_slow">60</integer>
646

647 648 649
    <!-- Don't name config resources like this.  It should look like config_annoyDianne -->
    <bool name="config_annoy_dianne">true</bool>

650 651
    <!-- XXXXXX END OF RESOURCES USING WRONG NAMING CONVENTION -->

652 653
    <!-- If this is true, the screen will come on when you unplug usb/power/whatever. -->
    <bool name="config_unplugTurnsOnScreen">false</bool>
654

655 656 657
    <!-- If this is true, the message that USB is only being used for charging will be shown. -->
    <bool name="config_usbChargingMessage">true</bool>

658 659 660
    <!-- Set this true only if the device has separate attention and notification lights. -->
    <bool name="config_useAttentionLight">false</bool>

661
    <!-- If this is true, the screen will fade off. -->
662
    <bool name="config_animateScreenLights">false</bool>
663

664 665 666
    <!-- If this is true, key chords can be used to take a screenshot on the device. -->
    <bool name="config_enableScreenshotChord">true</bool>

667 668 669 670 671 672 673 674 675 676 677 678 679
    <!-- If this is true, allow wake from theater mode when plugged in or unplugged. -->
    <bool name="config_allowTheaterModeWakeFromUnplug">false</bool>
    <!-- If this is true, allow wake from theater mode from gesture. -->
    <bool name="config_allowTheaterModeWakeFromGesture">false</bool>
    <!-- If this is true, allow wake from theater mode from camera lens cover is switched. -->
    <bool name="config_allowTheaterModeWakeFromCameraLens">false</bool>
    <!-- If this is true, allow wake from theater mode from power key press. -->
    <bool name="config_allowTheaterModeWakeFromPowerKey">true</bool>
    <!-- If this is true, allow wake from theater mode from regular key press. Setting this value to
         true implies config_allowTheaterModeWakeFromPowerKey is also true-->
    <bool name="config_allowTheaterModeWakeFromKey">false</bool>
    <!-- If this is true, allow wake from theater mode from motion. -->
    <bool name="config_allowTheaterModeWakeFromMotion">false</bool>
680 681
    <!-- If this is true, allow wake from theater mode from motion. -->
    <bool name="config_allowTheaterModeWakeFromMotionWhenNotDreaming">false</bool>
682 683 684 685 686 687
    <!-- If this is true, allow wake from theater mode from lid switch. -->
    <bool name="config_allowTheaterModeWakeFromLidSwitch">false</bool>
    <!-- If this is true, allow wake from theater mode when docked. -->
    <bool name="config_allowTheaterModeWakeFromDock">false</bool>
    <!-- If this is true, allow wake from theater mode from window layout flag. -->
    <bool name="config_allowTheaterModeWakeFromWindowLayout">false</bool>
688 689
    <!-- If this is true, go to sleep when theater mode is enabled from button press -->
    <bool name="config_goToSleepOnButtonPressTheaterMode">true</bool>
690 691
    <!-- If this is true, long press on power button will be available from the non-interactive state -->
    <bool name="config_supportLongPressPowerWhenNonInteractive">false</bool>
692

693 694
    <!-- Auto-rotation behavior -->

695 696 697 698 699 700 701 702 703
    <!-- If true, enables auto-rotation features using the accelerometer.
         Otherwise, auto-rotation is disabled.  Applications may still request
         to use specific orientations but the sensor is ignored and sensor-based
         orientations are not available.  Furthermore, all auto-rotation related
         settings are omitted from the system UI.  In certain situations we may
         still use the accelerometer to determine the orientation, such as when
         docked if the dock is configured to enable the accelerometer. -->
    <bool name="config_supportAutoRotation">true</bool>

704 705
    <!-- If true, the screen can be rotated via the accelerometer in all 4
         rotations as the default behavior. -->
706
    <bool name="config_allowAllRotations">false</bool>
707

708 709 710 711 712 713 714 715
    <!-- If true, the direction rotation is applied to get to an application's requested
         orientation is reversed.  Normally, the model is that landscape is
         clockwise from portrait; thus on a portrait device an app requesting
         landscape will cause a clockwise rotation, and on a landscape device an
         app requesting portrait will cause a counter-clockwise rotation.  Setting
         true here reverses that logic. -->
    <bool name="config_reverseDefaultRotation">false</bool>

716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752
    <!-- Sets the minimum and maximum tilt tolerance for each possible rotation.
         This array consists of 4 pairs of values which specify the minimum and maximum
         tilt angle at which the device will transition into each rotation.

         The tilt angle represents the direction in which the plane of the screen is facing;
         it is also known as the angle of elevation.

           -90 degree tilt means that the screen is facing straight down
                           (the device is being held overhead upside-down)
             0 degree tilt means that the screen is facing outwards
                           (the device is being held vertically)
            90 degree tilt means that the screen is facing straight up
                           (the device is resting on a flat table)

        The default tolerances are set conservatively such that the device is more
        likely to remain in its natural orientation than rotate into a counterclockwise,
        clockwise, or reversed posture (with an especially strong bias against the latter)
        to prevent accidental rotation while carrying the device in hand.

        These thresholds may need to be tuned when the device is intended to be
        mounted into a dock with a particularly shallow profile wherein rotation
        would ordinarily have been suppressed.

        It is helpful to consider the desired behavior both when the device is being
        held at a positive tilt (typical case) vs. a negative tilt (reading overhead in
        bed) since they are quite different.  In the overhead case, we typically want
        the device to more strongly prefer to retain its current configuration (in absence
        of a clear indication that a rotation is desired) since the user's head and neck may
        be held at an unusual angle.
    -->
    <integer-array name="config_autoRotationTiltTolerance">
        <!-- rotation:   0 (natural)    --> <item>-25</item> <item>70</item>
        <!-- rotation:  90 (rotate CCW) --> <item>-25</item> <item>65</item>
        <!-- rotation: 180 (reverse)    --> <item>-25</item> <item>60</item>
        <!-- rotation: 270 (rotate CW)  --> <item>-25</item> <item>65</item>
    </integer-array>

753 754
    <!-- Lid switch behavior -->

755 756 757
    <!-- The number of degrees to rotate the display when the keyboard is open.
         A value of -1 means no change in orientation by default. -->
    <integer name="config_lidOpenRotation">-1</integer>
758

759 760 761 762 763
    <!-- Indicate whether the lid state impacts the accessibility of
         the physical keyboard.  0 means it doesn't, 1 means it is accessible
         when the lid is open, 2 means it is accessible when the lid is
         closed.  The default is 0. -->
    <integer name="config_lidKeyboardAccessibility">0</integer>
764

765 766 767 768 769
    <!-- Indicate whether the lid state impacts the accessibility of
         the navigation buttons.  0 means it doesn't, 1 means it is accessible
         when the lid is open, 2 means it is accessible when the lid is
         closed.  The default is 0. -->
    <integer name="config_lidNavigationAccessibility">0</integer>
770

771 772 773 774
    <!-- Indicate whether closing the lid causes the lockscreen to appear.
         The default is false. -->
    <bool name="config_lidControlsScreenLock">false</bool>

775 776 777 778
    <!-- Indicate whether closing the lid causes the device to go to sleep and opening
         it causes the device to wake up.
         The default is false. -->
    <bool name="config_lidControlsSleep">false</bool>
779

780 781 782 783 784
    <!-- Desk dock behavior -->

    <!-- The number of degrees to rotate the display when the device is in a desk dock.
         A value of -1 means no change in orientation by default. -->
    <integer name="config_deskDockRotation">-1</integer>
785

786
    <!-- Control whether being in the desk dock (and powered) always
787 788 789 790
         keeps the screen on.  By default it stays on when plugged in to
         AC.  0 will not keep it on; or together 1 to stay on when plugged
         in to AC and 2 to stay on when plugged in to USB.  (So 3 for both.) -->
    <integer name="config_deskDockKeepsScreenOn">1</integer>
791

792
    <!-- Control whether being in the desk dock should enable accelerometer
793 794 795 796 797 798
         based screen orientation.  This defaults to true because it is
         common for desk docks to be sold in a variety of form factors
         with different orientations.  Since we cannot always tell these docks
         apart and the docks cannot report their true orientation on their own,
         we rely on gravity to determine the effective orientation. -->
    <bool name="config_deskDockEnablesAccelerometer">true</bool>
799

800 801 802 803 804 805 806 807 808 809 810 811
    <!-- Car dock behavior -->

    <!-- The number of degrees to rotate the display when the device is in a car dock.
         A value of -1 means no change in orientation by default. -->
    <integer name="config_carDockRotation">-1</integer>

    <!-- Control whether being in the car dock (and powered) always
         keeps the screen on.  By default it stays on when plugged in to
         AC.  0 will not keep it on; or together 1 to stay on when plugged
         in to AC and 2 to stay on when plugged in to USB.  (So 3 for both.) -->
    <integer name="config_carDockKeepsScreenOn">1</integer>

812 813 814
    <!-- Control whether being in the car dock should enable accelerometer based
         screen orientation.  This defaults to true because putting a device in
         a car dock make the accelerometer more a physical input (like a lid). -->
815

816
    <bool name="config_carDockEnablesAccelerometer">true</bool>
817

818 819 820 821 822 823 824
    <!--  Control whether to launch Car dock home app when user presses home button or when
          car dock intent is fired.
          In mobile device, usually separate home app is expected in car mode, and this should be
          enabled. But in environments like real car, default home app may be enough, and in that
          case, this can be disabled (set to false). -->
    <bool name="config_enableCarDockHomeLaunch">true</bool>

825
    <!-- HDMI behavior -->
826

827 828 829 830 831
    <!-- The number of degrees to rotate the display when the device has HDMI connected
         but is not in a dock.  A value of -1 means no change in orientation by default.
         Use -1 except on older devices whose Hardware Composer HAL does not
         provide full support for multiple displays.  -->
    <integer name="config_undockedHdmiRotation">-1</integer>
832

833 834 835 836 837
    <!-- Control the default UI mode type to use when there is no other type override
         happening.  One of the following values (See Configuration.java):
             1  UI_MODE_TYPE_NORMAL
             4  UI_MODE_TYPE_TELEVISION
             5  UI_MODE_TYPE_APPLIANCE
838
             6  UI_MODE_TYPE_WATCH
839
             7  UI_MODE_TYPE_VR_HEADSET
840 841
         Any other values will have surprising consequences. -->
    <integer name="config_defaultUiModeType">1</integer>
842

843 844 845 846 847 848 849 850 851
    <!--  Control whether to lock UI mode to what is selected from config_defaultUiModeType.
          Once UI mode is locked, applications cannot change it anymore. -->
    <bool name="config_lockUiMode">false</bool>

    <!--  Control whether to lock day/night mode change from normal application. When it is
          true, day / night mode change is only allowed to apps with MODIFY_DAY_NIGHT_MODE
          permission. -->
    <bool name="config_lockDayNightMode">false</bool>

852 853 854 855 856 857 858 859
    <!-- Control the default night mode to use when there is no other mode override set.
         One of the following values (see UiModeManager.java):
             0 - MODE_NIGHT_AUTO
             1 - MODE_NIGHT_NO
             2 - MODE_NIGHT_YES
    -->
    <integer name="config_defaultNightMode">1</integer>

860 861 862 863
    <!-- Boolean indicating whether the HWC setColorTransform function can be performed efficiently
         in hardware. -->
    <bool name="config_setColorTransformAccelerated">false</bool>

864
    <!-- Control whether Night display is available. This should only be enabled on devices
865 866 867
         that have a HWC implementation that can apply the matrix passed to setColorTransform
         without impacting power, performance, and app compatibility (e.g. protected content). -->
    <bool name="config_nightDisplayAvailable">@bool/config_setColorTransformAccelerated</bool>
868 869 870 871 872 873 874

    <!-- Default mode to control how Night display is automatically activated.
         One of the following values (see NightDisplayController.java):
             0 - AUTO_MODE_DISABLED
             1 - AUTO_MODE_CUSTOM
             2 - AUTO_MODE_TWILIGHT
    -->
875
    <integer name="config_defaultNightDisplayAutoMode">0</integer>
876 877 878 879 880 881 882 883 884

    <!-- Default time when Night display is automatically activated.
         Represented as milliseconds from midnight (e.g. 79200000 == 10pm). -->
    <integer name="config_defaultNightDisplayCustomStartTime">79200000</integer>

    <!-- Default time when Night display is automatically deactivated.
         Represented as milliseconds from midnight (e.g. 21600000 == 6am). -->
    <integer name="config_defaultNightDisplayCustomEndTime">21600000</integer>

885 886 887 888 889 890 891 892 893 894
    <!-- Minimum color temperature, in Kelvin, supported by Night display. -->
    <integer name="config_nightDisplayColorTemperatureMin">2596</integer>

    <!-- Default color temperature, in Kelvin, to tint the screen when Night display is
         activated. -->
    <integer name="config_nightDisplayColorTemperatureDefault">2850</integer>

    <!-- Maximum color temperature, in Kelvin, supported by Night display. -->
    <integer name="config_nightDisplayColorTemperatureMax">4082</integer>

895 896 897 898 899 900 901 902 903 904 905 906
    <string-array name="config_nightDisplayColorTemperatureCoefficientsNative">
        <!-- R a-coefficient --> <item>0.0</item>
        <!-- R b-coefficient --> <item>0.0</item>
        <!-- R y-intercept --> <item>1.0</item>
        <!-- G a-coefficient --> <item>-0.00000000962353339</item>
        <!-- G b-coefficient --> <item>0.000153045476</item>
        <!-- G y-intercept --> <item>0.390782778</item>
        <!-- B a-coefficient --> <item>-0.0000000189359041</item>
        <!-- B b-coefficient --> <item>0.000302412211</item>
        <!-- B y-intercept --> <item>-0.198650895</item>
    </string-array>

907 908 909 910 911 912 913 914 915 916 917 918
    <string-array name="config_nightDisplayColorTemperatureCoefficients">
        <!-- R a-coefficient --> <item>0.0</item>
        <!-- R b-coefficient --> <item>0.0</item>
        <!-- R y-intercept --> <item>1.0</item>
        <!-- G a-coefficient --> <item>-0.00000000962353339</item>
        <!-- G b-coefficient --> <item>0.000153045476</item>
        <!-- G y-intercept --> <item>0.390782778</item>
        <!-- B a-coefficient --> <item>-0.0000000189359041</item>
        <!-- B b-coefficient --> <item>0.000302412211</item>
        <!-- B y-intercept --> <item>-0.198650895</item>
    </string-array>

919 920 921 922 923 924 925
    <!-- Indicate whether to allow the device to suspend when the screen is off
         due to the proximity sensor.  This resource should only be set to true
         if the sensor HAL correctly handles the proximity sensor as a wake-up source.
         Otherwise, the device may fail to wake out of suspend reliably.
         The default is false. -->
    <bool name="config_suspendWhenScreenOffDueToProximity">false</bool>

926 927 928 929
    <!-- Control the behavior when the user long presses the power button.
            0 - Nothing
            1 - Global actions menu
            2 - Power off (with confirmation)
930
            3 - Power off (without confirmation)
931 932 933
    -->
    <integer name="config_longPressOnPowerBehavior">1</integer>

934 935 936 937 938 939 940
    <!-- Control the behavior when the user long presses the back button.  Non-zero values are only
         valid for watches as part of CDD/CTS.
            0 - Nothing
            1 - Go to voice assist
    -->
    <integer name="config_longPressOnBackBehavior">0</integer>

941 942 943 944 945 946
    <!-- Control the behavior when the user panic presses the back button.
            0 - Nothing
            1 - Go to home
    -->
    <integer name="config_backPanicBehavior">0</integer>

947 948 949 950 951
    <!-- Control the behavior when the user short presses the power button.
            0 - Nothing
            1 - Go to sleep (doze)
            2 - Really go to sleep (don't doze)
            3 - Really go to sleep and go home (don't doze)
952 953
            4 - Go to home
            5 - Dismiss IME if shown. Otherwise go to home
954 955 956
    -->
    <integer name="config_shortPressOnPowerBehavior">1</integer>

957 958 959 960 961 962 963 964 965 966 967 968 969
    <!-- Control the behavior when the user double presses the power button.
            0 - Nothing
            1 - Toggle theater mode setting
            2 - Brightness boost
    -->
    <integer name="config_doublePressOnPowerBehavior">0</integer>

    <!-- Control the behavior when the user triple presses the power button.
            0 - Nothing
            1 - Toggle theater mode setting
            2 - Brightness boost
    -->
    <integer name="config_triplePressOnPowerBehavior">0</integer>
970

971 972 973 974 975 976
    <!-- Control the behavior when the user presses the sleep button.
            0 - Go to sleep (doze)
            1 - Go to sleep (doze) and go home
    -->
    <integer name="config_shortPressOnSleepBehavior">0</integer>

977
    <!-- Package name for default keyguard appwidget [DO NOT TRANSLATE] -->
978
    <string name="widget_default_package_name" translatable="false"></string>
979 980

    <!-- Class name for default keyguard appwidget [DO NOT TRANSLATE] -->
981
    <string name="widget_default_class_name" translatable="false"></string>
982

983 984 985
    <!-- Indicate whether the SD card is accessible without removing the battery. -->
    <bool name="config_batterySdCardAccessibility">false</bool>

986 987 988 989 990
    <!-- List of file paths for USB host busses to exclude from USB host support.
         For example, if the first USB bus on the device is used to communicate
         with the modem or some other restricted hardware, add "/dev/bus/usb/001/"
         to this list.  If this is empty, no parts of the host USB bus will be excluded.
    -->
991
    <string-array name="config_usbHostBlacklist" translatable="false">
992 993
    </string-array>

Mike Lockwood's avatar
Mike Lockwood committed
994 995 996 997 998 999
    <!-- List of paths to serial ports that are available to the serial manager.
         for example, /dev/ttyUSB0
    -->
    <string-array translatable="false" name="config_serialPorts">
    </string-array>

1000 1001 1002 1003 1004 1005 1006
    <!-- Vibrator pattern for feedback about a long screen/key press -->
    <integer-array name="config_longPressVibePattern">
        <item>0</item>
        <item>1</item>
        <item>20</item>
        <item>21</item>
    </integer-array>
1007

1008 1009 1010 1011 1012 1013 1014
    <!-- Vibrator pattern for feedback about touching a virtual key -->
    <integer-array name="config_virtualKeyVibePattern">
        <item>0</item>
        <item>10</item>
        <item>20</item>
        <item>30</item>
    </integer-array>
1015

1016 1017 1018 1019 1020
    <!-- Vibrator pattern for a very short but reliable vibration for soft keyboard tap -->
    <integer-array name="config_keyboardTapVibePattern">
        <item>40</item>
    </integer-array>

1021 1022 1023
    <!-- Vibrator pattern for feedback when selecting an hour/minute tick of a Clock -->
    <integer-array name="config_clockTickVibePattern">
        <item>125</item>
1024
        <item>30</item>
1025 1026
    </integer-array>

1027 1028 1029
    <!-- Vibrator pattern for feedback when selecting a day/month/year date of a Calendar -->
    <integer-array name="config_calendarDateVibePattern">
        <item>125</item>
1030
        <item>30</item>
1031 1032
    </integer-array>

1033
    <!-- Vibrator pattern for feedback about booting with safe mode enabled -->
1034 1035 1036 1037 1038 1039 1040 1041 1042
    <integer-array name="config_safeModeEnabledVibePattern">
        <item>0</item>
        <item>1</item>
        <item>20</item>
        <item>21</item>
        <item>500</item>
        <item>600</item>
    </integer-array>

1043 1044 1045 1046 1047 1048 1049 1050
    <!-- Vibrator pattern for feedback about hitting a scroll barrier -->
    <integer-array name="config_scrollBarrierVibePattern">
        <item>0</item>
        <item>15</item>
        <item>10</item>
        <item>10</item>
    </integer-array>

1051 1052
    <bool name="config_use_strict_phone_number_comparation">false</bool>

1053 1054
    <!-- Display low battery warning when battery level dips to this value.
         Also, the battery stats are flushed to disk when we hit this level.  -->
1055
    <integer name="config_criticalBatteryWarningLevel">5</integer>
1056

1057 1058 1059
    <!-- Shutdown if the battery temperature exceeds (this value * 0.1) Celsius. -->
    <integer name="config_shutdownBatteryTemperature">680</integer>

1060
    <!-- Display low battery warning when battery level dips to this value -->
1061
    <integer name="config_lowBatteryWarningLevel">15</integer>
1062

1063 1064 1065
    <!-- Close low battery warning when battery level reaches the lowBatteryWarningLevel
         plus this -->
    <integer name="config_lowBatteryCloseWarningBump">5</integer>
1066

1067
    <!-- Default color for notification LED. -->
1068
    <color name="config_defaultNotificationColor">#ffffffff</color>
1069 1070 1071 1072 1073 1074 1075

    <!-- Default LED on time for notification LED in milliseconds. -->
    <integer name="config_defaultNotificationLedOn">500</integer>

    <!-- Default LED off time for notification LED in milliseconds. -->
    <integer name="config_defaultNotificationLedOff">2000</integer>

1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087
    <!-- Default value for led color when battery is low on charge -->
    <integer name="config_notificationsBatteryLowARGB">0xFFFF0000</integer>

    <!-- Default value for led color when battery is medium charged -->
    <integer name="config_notificationsBatteryMediumARGB">0xFFFFFF00</integer>

    <!-- Default value for led color when battery is fully charged -->
    <integer name="config_notificationsBatteryFullARGB">0xFF00FF00</integer>

    <!-- Default value for LED on time when the battery is low on charge in miliseconds -->
    <integer name="config_notificationsBatteryLedOn">125</integer>

1088 1089 1090
    <!-- Is the notification LED intrusive? Used to decide if there should be a disable option -->
    <bool name="config_intrusiveNotificationLed">false</bool>

1091 1092 1093
    <!-- De we do icon badges? Used to decide if there should be a disable option-->
    <bool name="config_notificationBadging">true</bool>

1094 1095 1096
    <!-- Default value for LED off time when the battery is low on charge in miliseconds -->
    <integer name="config_notificationsBatteryLedOff">2875</integer>

1097
    <!-- Number of notifications to keep in the notification service historical archive -->
1098
    <integer name="config_notificationServiceArchiveSize">100</integer>
1099

1100 1101 1102
    <!-- Allow the menu hard key to be disabled in LockScreen on some devices -->
    <bool name="config_disableMenuKeyInLockScreen">false</bool>

1103 1104
    <!-- Don't show lock screen before unlock screen (PIN/pattern/password) -->
    <bool name="config_enableLockBeforeUnlockScreen">false</bool>
Jae Yong Sung's avatar
Jae Yong Sung committed
1105

1106
    <!-- Disable lockscreen rotation by default -->
Jae Yong Sung's avatar
Jae Yong Sung committed
1107 1108
    <bool name="config_enableLockScreenRotation">false</bool>

1109 1110
    <!-- Enable lockscreen translucent decor by default -->
    <bool name="config_enableLockScreenTranslucentDecor">true</bool>
1111

1112 1113 1114
    <!-- Enable translucent decor by default -->
    <bool name="config_enableTranslucentDecor">true</bool>

1115 1116 1117
    <!-- Is the device capable of hot swapping an UICC Card -->
    <bool name="config_hotswapCapable">false</bool>

1118 1119 1120
    <!-- Component name of the ICC hotswap prompt for restart dialog -->
    <string name="config_iccHotswapPromptForRestartDialogComponent" translateable="false">@null</string>

1121
    <!-- Enable puk unlockscreen by default.
John Wang's avatar
John Wang committed
1122
         If unlock screen is disabled, the puk should be unlocked through Emergency Dialer -->
1123
    <bool name="config_enable_puk_unlock_screen">true</bool>
John Wang's avatar
John Wang committed
1124

1125 1126 1127 1128 1129
    <!-- Enable emergency call when sim is locked or puk locked. Some countries/carriers do not
         allow emergency calls to be placed without the IMSI, which is locked in the SIM.
         If so, this should be set to 'false' in an overlay. -->
    <bool name="config_enable_emergency_call_while_sim_locked">true</bool>

1130 1131 1132
    <!-- Is the lock-screen disabled for new users by default -->
    <bool name="config_disableLockscreenByDefault">false</bool>

1133 1134 1135 1136 1137
    <!-- If true, enables verification of the lockscreen credential in the factory reset protection
        flow. This should be true if gatekeeper / weaver credentials can still be checked after a
        factory reset. -->
    <bool name="config_enableCredentialFactoryResetProtection">true</bool>

1138
    <!-- Control the behavior when the user long presses the home button.
1139
            0 - Nothing
1140
            1 - Launch all apps intent
1141
            2 - Launch assist intent
1142 1143
         This needs to match the constants in
         policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
1144
    -->
1145
    <integer name="config_longPressOnHomeBehavior">0</integer>
1146

1147 1148 1149 1150 1151 1152 1153 1154
    <!-- Control the behavior when the user double-taps the home button.
            0 - Nothing
            1 - Recent apps view in SystemUI
         This needs to match the constants in
         policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
    -->
    <integer name="config_doubleTapOnHomeBehavior">0</integer>

1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166
    <!-- Minimum screen brightness setting allowed by the power manager.
         The user is forbidden from setting the brightness below this level. -->
    <integer name="config_screenBrightnessSettingMinimum">10</integer>

    <!-- Maximum screen brightness allowed by the power manager.
         The user is forbidden from setting the brightness above this level. -->
    <integer name="config_screenBrightnessSettingMaximum">255</integer>

    <!-- Default screen brightness setting.
         Must be in the range specified by minimum and maximum. -->
    <integer name="config_screenBrightnessSettingDefault">102</integer>

1167 1168 1169 1170 1171 1172 1173 1174 1175 1176
    <!-- Default screen brightness for VR setting. -->
    <integer name="config_screenBrightnessForVrSettingDefault">86</integer>

    <!-- Minimum screen brightness setting allowed for VR. Device panels start increasing pulse
         width as brightness decreases below this theshold. -->
    <integer name="config_screenBrightnessForVrSettingMinimum">79</integer>

    <!-- Maximum screen brightness setting allowed for VR. -->
    <integer name="config_screenBrightnessForVrSettingMaximum">255</integer>

1177 1178 1179 1180 1181
    <!-- Screen brightness used to dim the screen while dozing in a very low power state.
         May be less than the minimum allowed brightness setting
         that can be set by the user. -->
    <integer name="config_screenBrightnessDoze">1</integer>

1182 1183 1184 1185 1186
    <!-- Whether or not to skip the initial brightness ramps when the display transitions to
         STATE_ON. Setting this to true will skip the brightness ramp to the last stored active
         brightness value and will repeat for the following ramp if autobrightness is enabled. -->
    <bool name="config_skipScreenOnBrightnessRamp">false</bool>

1187 1188 1189
    <!-- Allow automatic adjusting of the screen brightness while dozing in low power state. -->
    <bool name="config_allowAutoBrightnessWhileDozing">false</bool>

1190 1191 1192 1193 1194 1195 1196 1197
    <!-- Stability requirements in milliseconds for accepting a new brightness level.  This is used
         for debouncing the light sensor.  Different constants are used to debounce the light sensor
         when adapting to brighter or darker environments.  This parameter controls how quickly
         brightness changes occur in response to an observed change in light level that exceeds the
         hysteresis threshold. -->
    <integer name="config_autoBrightnessBrighteningLightDebounce">4000</integer>
    <integer name="config_autoBrightnessDarkeningLightDebounce">8000</integer>

1198 1199 1200 1201 1202 1203
    <!-- Initial light sensor event rate in milliseconds for automatic brightness control. This is
         used for obtaining the first light sample when the device stops dozing.

         Set this to -1 to disable this feature. -->
    <integer name="config_autoBrightnessInitialLightSensorRate">-1</integer>

1204 1205 1206
    <!-- Light sensor event rate in milliseconds for automatic brightness control. -->
    <integer name="config_autoBrightnessLightSensorRate">250</integer>

1207 1208 1209 1210
    <!-- The maximum range of gamma adjustment possible using the screen
         auto-brightness adjustment setting. -->
    <fraction name="config_autoBrightnessAdjustmentMaxGamma">300%</fraction>

1211 1212 1213 1214
    <!-- If we allow automatic adjustment of screen brightness while dozing, how many times we want
         to reduce it to preserve the battery. Value of 100% means no scaling. -->
    <fraction name="config_screenAutoBrightnessDozeScaleFactor">100%</fraction>

1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227
    <!-- When the screen is turned on, the previous estimate of the ambient light level at the time
         the screen was turned off is restored and is used to determine the initial screen
         brightness.

         If this flag is true, then the ambient light level estimate will be promptly recomputed
         after the warm-up interface and the screen brightness will be adjusted immediately.

         If this flag is false, then the ambient light level estimate will be adjusted more
         gradually in the same manner that normally happens when the screen is on according to the
         brightening or dimming debounce thresholds.  As a result, it may take somewhat longer to
         adapt to the environment.  This mode may be better suited for watches. -->
    <bool name="config_autoBrightnessResetAmbientLuxAfterWarmUp">true</bool>

1228 1229 1230
    <!-- Period of time in which to consider light samples in milliseconds. -->
    <integer name="config_autoBrightnessAmbientLightHorizon">10000</integer>

1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244
    <!-- Screen brightness used to dim the screen when the user activity
         timeout expires.  May be less than the minimum allowed brightness setting
         that can be set by the user. -->
    <integer name="config_screenBrightnessDim">10</integer>

    <!-- Minimum allowable screen brightness to use in a very dark room.
         This value sets the floor for the darkest possible auto-brightness
         adjustment.  It is expected to be somewhat less than the first entry in
         config_autoBrightnessLcdBacklightValues so as to allow the user to have
         some range of adjustment to dim the screen further than usual in very
         dark rooms. The contents of the screen must still be clearly visible
         in darkness (although they may not be visible in a bright room). -->
    <integer name="config_screenBrightnessDark">1</integer>

1245
    <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
1246
         The N entries of this array define N + 1 control points as follows:
1247
         (1-based arrays)
1248

1249 1250 1251
         Point 1:            (0, value[1]):             lux <= 0
         Point 2:     (level[1], value[2]):  0        < lux <= level[1]
         Point 3:     (level[2], value[3]):  level[2] < lux <= level[3]
1252
         ...
1253
         Point N+1: (level[N], value[N+1]):  level[N] < lux
1254 1255 1256 1257

         The control points must be strictly increasing.  Each control point
         corresponds to an entry in the brightness backlight values arrays.
         For example, if LUX == level[1] (first element of the levels array)
1258
         then the brightness will be determined by value[2] (second element
1259 1260 1261 1262
         of the brightness values array).

         Spline interpolation is used to determine the auto-brightness
         backlight values for LUX levels between these control points.
1263 1264 1265 1266 1267 1268 1269 1270

         Must be overridden in platform specific overlays -->
    <integer-array name="config_autoBrightnessLevels">
    </integer-array>

    <!-- Array of output values for LCD backlight corresponding to the LUX values
         in the config_autoBrightnessLevels array.  This array should have size one greater
         than the size of the config_autoBrightnessLevels array.
1271
         The brightness values must be between 0 and 255 and be non-decreasing.
1272 1273 1274 1275 1276 1277 1278
         This must be overridden in platform specific overlays -->
    <integer-array name="config_autoBrightnessLcdBacklightValues">
    </integer-array>

    <!-- Array of output values for button backlight corresponding to the LUX values
         in the config_autoBrightnessLevels array.  This array should have size one greater
         than the size of the config_autoBrightnessLevels array.
1279
         The brightness values must be between 0 and 255 and be non-decreasing.
1280 1281 1282 1283 1284 1285 1286
         This must be overridden in platform specific overlays -->
    <integer-array name="config_autoBrightnessButtonBacklightValues">
    </integer-array>

    <!-- Array of output values for keyboard backlight corresponding to the LUX values
         in the config_autoBrightnessLevels array.  This array should have size one greater
         than the size of the config_autoBrightnessLevels array.
1287
         The brightness values must be between 0 and 255 and be non-decreasing.
1288 1289 1290
         This must be overridden in platform specific overlays -->
    <integer-array name="config_autoBrightnessKeyboardBacklightValues">
    </integer-array>
1291

1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325
    <!-- Array of hysteresis constraint values for brightening, represented as tenths of a
         percent. The length of this array is assumed to be one greater than
         config_dynamicHysteresisLuxLevels. The brightening threshold is calculated as
         lux * (1.0f + CONSTRAINT_VALUE). When the current lux is higher than this threshold,
         the screen brightness is recalculated. See the config_dynamicHysteresisLuxLevels
         description for how the constraint value is chosen. -->
    <integer-array name="config_dynamicHysteresisBrightLevels">
        <item>100</item>
    </integer-array>

    <!-- Array of hysteresis constraint values for darkening, represented as tenths of a
         percent. The length of this array is assumed to be one greater than
         config_dynamicHysteresisLuxLevels. The darkening threshold is calculated as
         lux * (1.0f - CONSTRAINT_VALUE). When the current lux is lower than this threshold,
         the screen brightness is recalculated. See the config_dynamicHysteresisLuxLevels
         description for how the constraint value is chosen. -->
    <integer-array name="config_dynamicHysteresisDarkLevels">
        <item>200</item>
    </integer-array>

    <!-- Array of ambient lux threshold values. This is used for determining hysteresis constraint
         values by calculating the index to use for lookup and then setting the constraint value
         to the corresponding value of the array. The new brightening hysteresis constraint value
         is the n-th element of config_dynamicHysteresisBrightLevels, and the new darkening
         hysteresis constraint value is the n-th element of config_dynamicHysteresisDarkLevels.

         The (zero-based) index is calculated as follows: (MAX is the largest index of the array)
         condition                      calculated index
         value < lux[0]                 0
         lux[n] <= value < lux[n+1]     n+1
         lux[MAX] <= value              MAX+1 -->
    <integer-array name="config_dynamicHysteresisLuxLevels">
    </integer-array>

1326 1327 1328 1329 1330
    <!-- Amount of time it takes for the light sensor to warm up in milliseconds.
         For this time after the screen turns on, the Power Manager
         will not debounce light sensor readings -->
    <integer name="config_lightSensorWarmupTime">0</integer>

1331 1332
    <!-- Enables swipe versus poly-finger touch disambiguation in the KeyboardView -->
    <bool name="config_swipeDisambiguation">true</bool>
1333

1334 1335 1336 1337 1338 1339 1340
    <!-- Specifies the amount of time to disable virtual keys after the screen is touched
         in order to filter out accidental virtual key presses due to swiping gestures
         or taps near the edge of the display.  May be 0 to disable the feature.
         It is recommended that this value be no more than 250 ms.
         This feature should be disabled for most devices. -->
    <integer name="config_virtualKeyQuietTimeMillis">0</integer>

1341 1342 1343 1344 1345 1346 1347 1348
    <!-- A list of potential packages, in priority order, that may contain an
         ephemeral resolver. Each package will be be queried for a component
         that has been granted the PACKAGE_EPHEMERAL_AGENT permission.
         This may be empty if ephemeral apps are not supported. -->
    <string-array name="config_ephemeralResolverPackage" translatable="false">
        <!-- Add packages here -->
    </string-array>

1349
    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not
1350
         specified -->
1351
    <string name="default_wallpaper_component" translatable="false">@null</string>
1352

1353 1354 1355
    <!-- By default a product has no distinct default lock wallpaper -->
    <item name="default_lock_wallpaper" type="drawable">@null</item>

1356 1357 1358
    <!-- Component name of the built in wallpaper used to display bitmap wallpapers. This must not be null. -->
    <string name="image_wallpaper_component" translatable="false">com.android.systemui/com.android.systemui.ImageWallpaper</string>

1359 1360 1361
    <!-- True if WallpaperService is enabled -->
    <bool name="config_enableWallpaperService">true</bool>

1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373
    <!-- Enables the TimeZoneRuleManager service. This is the master switch for the updateable time
         zone update mechanism. -->
    <bool name="config_enableUpdateableTimeZoneRules">false</bool>

    <!-- Enables APK-based time zone update triggering. Set this to false when updates are triggered
         via external events and not by APK updates. For example, if an updater checks with a server
         on a regular schedule.
         [This is only used if config_enableUpdateableTimeZoneRules is true.] -->
    <bool name="config_timeZoneRulesUpdateTrackingEnabled">false</bool>

    <!-- The package of the time zone rules updater application. Expected to be the same
         for all Android devices that support APK-based time zone rule updates.
1374
         A package-targeted com.android.intent.action.timezone.TRIGGER_RULES_UPDATE_CHECK intent
1375 1376 1377 1378 1379 1380
         will be sent to the updater app if the system server detects an update to the updater or
         data app packages.
         The package referenced here must have the android.permission.UPDATE_TIME_ZONE_RULES
         permission.
         [This is only used if config_enableUpdateableTimeZoneRules and
         config_timeZoneRulesUpdateTrackingEnabled are true.] -->
1381
    <string name="config_timeZoneRulesUpdaterPackage" translateable="false">com.android.timezone.updater</string>
1382 1383 1384

    <!-- The package of the time zone rules data application. Expected to be configured
         by OEMs to reference their own priv-app APK package.
1385
         A package-targeted com.android.intent.action.timezone.TRIGGER_RULES_UPDATE_CHECK intent
1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404
         will be sent to the updater app if the system server detects an update to the updater or
         data app packages.
         [This is only used if config_enableUpdateableTimeZoneRules and
         config_timeZoneRulesUpdateTrackingEnabled are true.] -->
    <string name="config_timeZoneRulesDataPackage" translateable="false"></string>

    <!-- The allowed time in milliseconds between an update check intent being broadcast and the
         response being considered overdue. Reliability triggers will not fire in this time.
         [This is only used if config_enableUpdateableTimeZoneRules and
         config_timeZoneRulesUpdateTrackingEnabled are true.] -->
    <!-- 5 minutes -->
    <integer name="config_timeZoneRulesCheckTimeMillisAllowed">300000</integer>

    <!-- The number of times a time zone update check is allowed to fail before the system will stop
         reacting to reliability triggers.
         [This is only used if config_enableUpdateableTimeZoneRules and
         config_timeZoneRulesUpdateTrackingEnabled are true.] -->
    <integer name="config_timeZoneRulesCheckRetryCount">5</integer>

1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431
    <!-- Whether to enable network location overlay which allows network
         location provider to be replaced by an app at run-time. When disabled,
         only the config_networkLocationProviderPackageName package will be
         searched for network location provider, otherwise packages whose
         signature matches the signatures of config_locationProviderPackageNames
         will be searched, and the service with the highest version number will
         be picked. Anyone who wants to disable the overlay mechanism can set it
         to false.
         -->
    <bool name="config_enableNetworkLocationOverlay" translatable="false">true</bool>
    <!-- Package name providing network location support. Used only when
         config_enableNetworkLocationOverlay is false. -->
    <string name="config_networkLocationProviderPackageName" translatable="false">@null</string>

    <!-- Whether to enable fused location provider overlay which allows fused
         location provider to be replaced by an app at run-time. When disabled,
         only the config_fusedLocationProviderPackageName package will be
         searched for fused location provider, otherwise packages whose
         signature matches the signatures of config_locationProviderPackageNames
         will be searched, and the service with the highest version number will
         be picked. Anyone who wants to disable the overlay mechanism can set it
         to false.
         -->
    <bool name="config_enableFusedLocationOverlay" translatable="false">true</bool>
    <!-- Package name providing fused location support. Used only when
         config_enableFusedLocationOverlay is false. -->
    <string name="config_fusedLocationProviderPackageName" translatable="false">com.android.location.fused</string>
1432

1433 1434 1435
    <!-- The package name of the default network recommendation app.
         A network recommendation provider must:
             * Be granted the SCORE_NETWORKS permission.
1436
             * Be granted the ACCESS_COARSE_LOCATION permission.
1437 1438 1439
             * Include a Service for the android.net.scoring.RECOMMEND_NETWORKS action
               protected by the BIND_NETWORK_RECOMMENDATION_SERVICE permission.

1440
         This must be set to a valid network recommendation app or empty.
1441
     -->
1442
    <string name="config_defaultNetworkRecommendationProviderPackage" translatable="false"></string>
1443

1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455
    <!-- Whether to enable Hardware FLP overlay which allows Hardware FLP to be
         replaced by an app at run-time. When disabled, only the
         config_hardwareFlpPackageName package will be searched for Hardware Flp,
         otherwise packages whose signature matches the signatures of
         config_locationProviderPackageNames will be searched, and the service
         with the highest version number will be picked. Anyone who wants to
         disable the overlay mechanism can set it to false.
         -->
    <bool name="config_enableHardwareFlpOverlay" translatable="false">true</bool>
    <!-- Package name providing Hardware Flp. Used only when
         config_enableHardwareFlpOverlay is false. -->
    <string name="config_hardwareFlpPackageName" translatable="false">com.android.location.fused</string>
1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482

    <!-- Whether to enable geocoder overlay which allows geocoder to be replaced
         by an app at run-time. When disabled, only the
         config_geocoderProviderPackageName package will be searched for
         geocoder, otherwise packages whose signature matches the signatures of
         config_locationProviderPackageNames will be searched, and the service
         with the highest version number will be picked. Anyone who wants to
         disable the overlay mechanism can set it to false.
         -->
    <bool name="config_enableGeocoderOverlay" translatable="false">true</bool>
    <!-- Package name providing geocoder API support. Used only when
         config_enableGeocoderOverlay is false. -->
    <string name="config_geocoderProviderPackageName" translatable="false">@null</string>

    <!-- Whether to enable geofence overlay which allows geofence to be replaced
         by an app at run-time. When disabled, only the
         config_geofenceProviderPackageName package will be searched for
         geofence implementation, otherwise packages whose signature matches the
         signatures of config_locationProviderPackageNames will be searched, and
         the service with the highest version number will be picked. Anyone who
         wants to disable the overlay mechanism can set it to false.
         -->
    <bool name="config_enableGeofenceOverlay" translatable="false">true</bool>
    <!-- Package name providing geofence API support. Used only when
         config_enableGeofenceOverlay is false. -->
    <string name="config_geofenceProviderPackageName" translatable="false">@null</string>

1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495
    <!-- Whether to enable Hardware Activity-Recognition overlay which allows Hardware
         Activity-Recognition to be replaced by an app at run-time. When disabled, only the
         config_activityRecognitionHardwarePackageName package will be searched for
         its implementation, otherwise packages whose signature matches the
         signatures of config_locationProviderPackageNames will be searched, and
         the service with the highest version number will be picked. Anyone who
         wants to disable the overlay mechanism can set it to false.
         -->
    <bool name="config_enableActivityRecognitionHardwareOverlay" translatable="false">true</bool>
    <!-- Package name providing Hardware Activity-Recognition API support. Used only when
         config_enableActivityRecognitionHardwareOverlay is false. -->
    <string name="config_activityRecognitionHardwarePackageName" translatable="false">@null</string>

1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509
    <!-- Package name(s) containing location provider support.
         These packages can contain services implementing location providers,
         such as the Geocode Provider, Network Location Provider, and
         Fused Location Provider. They will each be searched for
         service components implementing these providers.
         It is strongly recommended that the packages explicitly named
         below are on the system image, so that they will not map to
         a 3rd party application.
         The location framework also has support for installation
         of new location providers at run-time. The new package does not
         have to be explicitly listed here, however it must have a signature
         that matches the signature of at least one package on this list.
         -->
    <string-array name="config_locationProviderPackageNames" translatable="false">
1510
        <!-- The standard AOSP fused location provider -->
1511 1512
        <item>com.android.location.fused</item>
    </string-array>
1513

1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528
    <!-- This string array can be overriden to enable test location providers initially. -->
    <!-- Array of "[locationProviderName],[requiresNetwork],
         [requiresSatellite],[requiresCell],[hasMonetaryCost],
         [supportAltitute],[supportsSpeed],[supportsBearing],
         [powerRequirement],[accuracy]" -->
    <!-- powerRequirement is defined in android.location.Criteria
         0 = NO_REQUIREMENT / 1 = POWER_LOW / 2 = POWER_MEDIUM / 3 = POWER_HIGH -->
    <!-- accuracy is defined in anroid.location.Criteria
         1 = ACCURACY_FINE / 2 = ACCURACY_COARSE -->
    <string-array name="config_testLocationProviders" translatable="false">
        <!-- Example test network location provider
        <item>network,false,false,false,false,true,true,true,1,2</item>
        -->
    </string-array>

1529 1530 1531
    <!-- Boolean indicating if current platform supports bluetooth SCO for off call
    use cases -->
    <bool name="config_bluetooth_sco_off_call">true</bool>
1532

1533 1534 1535 1536
    <!-- Boolean indicating if current platform supports bluetooth wide band
         speech -->
    <bool name="config_bluetooth_wide_band_speech">true</bool>

1537 1538 1539
    <!-- Boolean indicating if current platform need do one-time bluetooth address
         re-validation -->
    <bool name="config_bluetooth_address_validation">false</bool>
1540

1541 1542 1543
    <!-- Boolean indicating if current platform supports BLE peripheral mode -->
    <bool name="config_bluetooth_le_peripheral_mode_supported">false</bool>

1544 1545 1546
    <!-- Boolean indicating if current platform supports HFP inband ringing -->
    <bool name="config_bluetooth_hfp_inband_ringing_support">false</bool>

1547 1548 1549 1550 1551 1552 1553 1554
    <!-- Max number of scan filters supported by blutooth controller. 0 if the
         device does not support hardware scan filters-->
    <integer translatable="false" name="config_bluetooth_max_scan_filters">0</integer>

    <!-- Max number of advertisers supported by bluetooth controller. 0 if the
         device does not support multiple advertisement-->
    <integer translatable="false" name="config_bluetooth_max_advertisers">0</integer>

1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566
    <!-- Idle current for bluetooth controller. 0 by default-->
    <integer translatable="false" name="config_bluetooth_idle_cur_ma">1</integer>

    <!-- Rx current for bluetooth controller. 0 by default-->
    <integer translatable="false" name="config_bluetooth_rx_cur_ma">2</integer>

    <!-- Tx current for bluetooth controller. 0 by default-->
    <integer translatable="false" name="config_bluetooth_tx_cur_ma">3</integer>

    <!-- Operating volatage for bluetooth controller. 0 by default-->
    <integer translatable="false" name="config_bluetooth_operating_voltage_mv">4</integer>

1567 1568 1569
    <!-- Whether supported profiles should be reloaded upon enabling bluetooth -->
    <bool name="config_bluetooth_reload_supported_profiles_when_enabled">false</bool>

1570 1571
    <!-- Enabling autoconnect over pan -->
    <bool name="config_bluetooth_pan_enable_autoconnect">false</bool>
1572

1573 1574 1575 1576 1577 1578 1579 1580 1581 1582
    <!-- The default data-use polling period. -->
    <integer name="config_datause_polling_period_sec">600</integer>

    <!-- The default data-use threshold in bytes. 0 disables-->
    <integer name="config_datause_threshold_bytes">0</integer>

    <!-- The default reduced-datarate value in kilobits per sec -->
    <integer name="config_datause_throttle_kbitsps">300</integer>

    <!-- The default iface on which to monitor data use -->
1583
    <string name="config_datause_iface" translatable="false">rmnet0</string>
1584 1585 1586 1587 1588

    <!-- The default reduced-datarate notification mask -->
    <!-- 2 means give warning -->
    <integer name="config_datause_notification_type">2</integer>

1589 1590 1591 1592 1593
    <!-- If Voice Radio Technology is RIL_RADIO_TECHNOLOGY_LTE:14 or
         RIL_RADIO_TECHNOLOGY_UNKNOWN:0 this is the value that should be used instead.
         A configuration value of RIL_RADIO_TECHNOLOGY_UNKNOWN:0 means
         there is no replacement value and that the default assumption
         for phone type (GSM) should be used. -->
1594 1595
    <integer name="config_volte_replacement_rat">0</integer>

1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608
    <!-- Flag indicating whether the current device is "voice capable".
         If true, this means that the device supports circuit-switched
         (i.e. voice) phone calls over the telephony network, and is
         allowed to display the in-call UI while a cellular voice call is
         active.  This can be overridden to false for "data only" devices
         which can't make voice calls and don't support any in-call UI.

         Note: this flag is subtly different from the
         PackageManager.FEATURE_TELEPHONY system feature, which is
         available on *any* device with a telephony radio, even if the
         device is data-only. -->
    <bool name="config_voice_capable">true</bool>

1609 1610 1611 1612 1613
    <!-- Flag indicating whether all audio streams should be mapped to
         one single stream. If true, all audio streams are mapped to
         STREAM_MUSIC as if it's on TV platform. -->
    <bool name="config_single_volume">false</bool>

1614 1615 1616 1617
    <!-- Flag indicating that an outbound call must have a call capable phone account
         that has declared it can process the call's handle. -->
    <bool name="config_requireCallCapableAccountForHandle">false</bool>

Wink Saville's avatar
Wink Saville committed
1618 1619 1620
    <!-- Flag indicating if the user is notified when the mobile network access is restricted -->
    <bool name="config_user_notification_of_restrictied_mobile_access">true</bool>

John Wang's avatar
John Wang committed
1621 1622 1623 1624 1625 1626 1627 1628 1629 1630
    <!-- Flag indicating whether the current device allows sms service.
         If true, this means that the device supports both sending and
         receiving sms via the telephony network.
         This can be overridden to false for "data only" devices
         which can't send and receive sms message.

         Note: Disable SMS also disable voicemail waiting sms,
               cell broadcasting sms, and MMS. -->