<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2024 The LineageOS Project
     SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <!-- NOTE: The telephony module is no longer reading the configuration below for available
         APN types.  The set of APN types and relevant settings are specified within the telephony
         module and are non-configurable.  Whether or not data connectivity over a cellular network
         is available at all is controlled by the flag: config_moble_data_capable. -->
    <string-array name="networkAttributes" translatable="false">
        <item>wifi,1,1,1,-1,true</item>
        <item>mobile,0,0,0,-1,true</item>
        <item>mobile_mms,2,0,4,60000,true</item>
        <item>mobile_supl,3,0,2,60000,true</item>
        <item>mobile_dun,4,0,2,60000,true</item>
        <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>
        <item>bluetooth,7,7,2,-1,true</item>
        <item>mobile_emergency,15,0,5,-1,true</item>
        <item>ethernet,9,9,9,-1,true</item>
    </string-array>

    <!-- An Array of "[ConnectivityManager connectionType],
                      [# simultaneous connection types]"  -->
    <string-array name="radioAttributes" translatable="false">
        <item>1,1</item>
        <item>0,1</item>
        <item>7,1</item>
    </string-array>

    <!-- This setting is deprecated, please use
         com.android.networkstack.tethering.R.array.config_tether_usb_regexs instead. -->
    <string-array name="config_tether_usb_regexs" translatable="false">
        <item>usb\\d</item>
        <item>rndis\\d</item>
    </string-array>

    <!-- This setting is deprecated, please use
         com.android.networkstack.tethering.R.array.config_tether_wifi_regexs instead. -->
    <string-array name="config_tether_wifi_regexs" translatable="false">
        <item>softap0</item>
        <item>wlan0</item>
    </string-array>

    <!-- This setting is deprecated, please use
         com.android.networkstack.tethering.R.array.config_tether_bluetooth_regexs instead. -->
    <string-array name="config_tether_bluetooth_regexs" translatable="false">
        <item>bnep\\d</item>
        <item>bt-pan</item>
    </string-array>

    <!-- This setting is deprecated, please use
         com.android.networkstack.tethering.R.array.config_dhcp_range instead. -->
    <string-array name="config_tether_dhcp_range" translatable="false">
        <item>192.168.42.2</item>
        <item>192.168.42.254</item>
        <item>192.168.43.2</item>
        <item>192.168.43.254</item>
        <item>192.168.44.2</item>
        <item>192.168.44.254</item>
        <item>192.168.45.2</item>
        <item>192.168.45.254</item>
        <item>192.168.46.2</item>
        <item>192.168.46.254</item>
        <item>192.168.47.2</item>
        <item>192.168.47.254</item>
        <item>192.168.48.2</item>
        <item>192.168.48.254</item>
        <item>192.168.49.2</item>
        <item>192.168.49.254</item>
        <item>192.168.50.2</item>
        <item>192.168.50.254</item>
        <item>192.168.51.2</item>
        <item>192.168.51.254</item>
    </string-array>

    <!-- This setting is deprecated, please use
         com.android.networkstack.tethering.R.array.config_tether_upstream_types. -->
    <integer-array name="config_tether_upstream_types" translatable="false">
        <item>0</item>
        <item>1</item>
        <item>5</item>
        <item>7</item>
    </integer-array>

    <!-- Flag indicating whether we should enable the automatic brightness.
         Software implementation will be used if config_hardware_auto_brightness_available is not set -->
    <bool name="config_automatic_brightness_available">true</bool>

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

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

    <!-- Indicate available ColorDisplayManager.COLOR_MODE_xxx. -->
    <integer-array name="config_availableColorModes">
        <item>0</item>
        <item>1</item>
        <item>3</item>
        <item>256</item>
        <item>257</item>
        <item>258</item>
        <item>259</item>
        <item>260</item>
        <item>261</item>
        <item>262</item>
        <item>263</item>
        <item>264</item>
        <item>265</item>
    </integer-array>

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

    <!-- 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">17</integer>

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

         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]
         ...
         Point N+1: (level[N], value[N+1]):  level[N] < lux

         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)
         then the brightness will be determined by value[2] (second element
         of the brightness values array).

         Spline interpolation is used to determine the auto-brightness
         backlight values for lux levels between these control points.

         Must be overridden in platform specific overlays -->
    <integer-array name="config_autoBrightnessLevels">
        <item>10</item>
        <item>30</item>
        <item>60</item>
        <item>100</item>
        <item>150</item>
        <item>210</item>
        <item>255</item>
    </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.
         The brightness values must be between 0 and 255 and be non-decreasing.
         This must be overridden in platform specific overlays -->
    <integer-array name="config_autoBrightnessLcdBacklightValues">
        <item>10</item>
        <item>20</item>
        <item>40</item>
        <item>70</item>
        <item>110</item>
        <item>160</item>
        <item>200</item>
        <item>255</item>
    </integer-array>

    <!-- The restoring is handled by modem if it is true-->
    <bool name="skip_restoring_network_selection" translatable="false">true</bool>

    <!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
         autodetected from the Configuration. -->
    <bool name="config_showNavigationBar">true</bool>

    <!-- ComponentName of a dream to show whenever the system would otherwise have
         gone to sleep.  When the PowerManager is asked to go to sleep, it will instead
         try to start this dream if possible.  The dream should typically call startDozing()
         to put the display into a low power state and allow the application processor
         to be suspended.  When the dream ends, the system will go to sleep as usual.
         Specify the component name or an empty string if none.

         Note that doze dreams are not subject to the same start conditions as ordinary dreams.
         Doze dreams will run whenever the power manager is in a dozing state. -->
    <string name="config_dozeComponent" translatable="false">com.android.systemui/com.android.systemui.doze.DozeService</string>

    <!-- If true, the doze component is not started until after the screen has been
         turned off and the screen off animation has been performed. -->
    <bool name="config_dozeAfterScreenOffByDefault">true</bool>

    <!-- Power Management: Specifies whether to decouple the interactive state of the
         device from the display on/off state.

         When false, setInteractive(..., true) will be called before the display is turned on
         and setInteractive(..., false) will be called after the display is turned off.
         This mode provides best compatibility for devices that expect the interactive
         state to be tied to the display state.

         When true, setInteractive(...) will be called independently of whether the display
         is being turned on or off.  This mode enables the power manager to reduce
         clocks and disable the touch controller while the display is on.

         This resource should be set to "true" when a doze component has been specified
         to maximize power savings but not all devices support it.

         Refer to power.h for details.
    -->
    <bool name="config_powerDecoupleInteractiveModeFromDisplay">false</bool>

    <!-- Set to true to add links to Cell Broadcast app from Settings and MMS app. -->
    <bool name="config_cellBroadcastAppLinks">true</bool>

    <!--  Maximum number of supported users -->
    <integer name="config_multiuserMaximumUsers">4</integer>

    <!-- Whether UI for multi user should be shown -->
    <bool name="config_enableMultiUserUI">true</bool>

    <!-- Configure mobile tcp buffer sizes in the form:
         rat-name:rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max
         If no value is found for the rat-name in use, the system default will be applied.

         This is deprecated. Please use config_mobile_tcp_buffers for rat-based TCP buffers sizes or
         config_tcp_buffers for rat-independent TCP buffer sizes.
    -->
    <string-array name="config_mobile_tcp_buffers">
        <item>5gnr:2097152,6291456,16777216,512000,2097152,8388608</item>
        <item>lte:2097152,4194304,8388608,262144,524288,1048576</item>
        <item>lte_ca:4096,6291456,12582912,4096,1048576,4194304</item>
        <item>umts:4094,87380,1220608,4096,16384,1220608</item>
        <item>hspa:4094,87380,1220608,4096,16384,1220608</item>
        <item>hsupa:4094,87380,1220608,4096,16384,1220608</item>
        <item>hsdpa:4094,87380,1220608,4096,16384,1220608</item>
        <item>hspap:4094,87380,1220608,4096,16384,1220608</item>
        <item>edge:4093,26280,35040,4096,16384,35040</item>
        <item>gprs:4092,8760,11680,4096,8760,11680</item>
        <item>evdo:4094,87380,524288,4096,16384,262144</item>
    </string-array>

    <!-- Set to true if the wifi display supports compositing content stored
         in gralloc protected buffers.  For this to be true, there must exist
         a protected hardware path for surface flinger to composite and send
         protected buffers to the wifi display video encoder.

         If this flag is false, we advise applications not to use protected
         buffers (if possible) when presenting content to a wifi display because
         the content may be blanked.

         This flag controls whether the {@link Display#FLAG_SUPPORTS_PROTECTED_BUFFERS}
         flag is set for wifi displays.
    -->
    <bool name="config_wifiDisplaySupportsProtectedBuffers">true</bool>

    <!-- Whether camera shutter sound is forced or not  (country specific). -->
    <bool name="config_camera_sound_forced">false</bool>

    <!-- Flag indicating if the speed up audio on mt call code should be executed -->
    <bool name="config_speed_up_audio_on_mt_calls">true</bool>

    <!-- set to false if we need to show user confirmation
         when alpha identifier is not provided by the UICC -->
    <bool name="config_stkNoAlphaUsrCnf">false</bool>

    <!-- Flag indicating which package name can access the persistent data partition -->
    <string name="config_persistentDataPackageName" translatable="false">com.google.android.gms</string>

    <!-- Flag specifying whether VoLTE is available on device -->
    <bool name="config_device_volte_available">true</bool>

    <!-- Flag specifying whether VoLTE should be available for carrier: independent of
         carrier provisioning. If false: hard disabled. If true: then depends on carrier
         provisioning, availability etc -->
    <bool name="config_carrier_volte_available">true</bool>

    <!-- Flag specifying whether VT is available on device -->
    <bool name="config_device_vt_available">true</bool>

    <!-- Flag specifying whether WFC over IMS is available on device -->
    <bool name="config_device_wfc_ims_available">true</bool>

    <!--Support decoding the user data payload as pack GSM 8-bit (a GSM alphabet
        string that's stored in 8-bit unpacked format) characters.-->
    <bool name="config_sms_decode_gsm_8bit_data" translatable="false">true</bool>

    <!-- Config determines whether to update phone object when voice registration
         state changes. Voice radio tech change will always trigger an update of
         phone object irrespective of this config -->
    <bool name="config_switch_phone_on_voice_reg_state_change">false</bool>

    <!--The default "usage setting" indicating that the device is either a voice-centric
    device (1) or a data-centric device (2). A voice-centric device will require that any cellular
    service that it uses provides access to voice capability, and a data-centric device will
    likewise require that the network provides access to data services. These settings are
    sent to the cellular modem and control the behavior in accordance with 3gpp TS 24.301 sec 4.3
    (and equivalent functionality in other generations of cellular).-->
    <integer name="config_default_cellular_usage_setting">-1</integer>

    <!-- Whether the Unprocessed audio source supports the required frequency range and level -->
    <bool name="config_supportAudioSourceUnprocessed">true</bool>

    <!-- The default refresh rate for a given device. Change this value to set a higher default
         refresh rate. If the hardware composer on the device supports display modes with a higher
         refresh rate than the default value specified here, the framework may use those higher
         refresh rate modes if an app chooses one by setting preferredDisplayModeId or calling
         setFrameRate().
         If a non-zero value is set for config_defaultPeakRefreshRate, then
         config_defaultRefreshRate may be set to 0, in which case the value set for
         config_defaultPeakRefreshRate will act as the default frame rate. -->
    <integer name="config_defaultRefreshRate">0</integer>

    <!-- The default peak refresh rate for a given device. Change this value if you want to prevent
         the framework from using higher refresh rates, even if display modes with higher refresh
         rates are available from hardware composer. Only has an effect if the value is
         non-zero. -->
    <integer name="config_defaultPeakRefreshRate">240</integer>

    <!-- Whether the device enable the standalone (SA) mode of 5G NR.-->
    <bool name="config_telephony5gStandalone">true</bool>

    <!-- Whether the device enable the non-standalone (NSA) mode of 5G NR.-->
    <bool name="config_telephony5gNonStandalone">true</bool>

    <!-- Whether to select voice/data/sms preference without user confirmation -->
    <bool name="config_voice_data_sms_auto_fallback">true</bool>
</resources>
