<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2015, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You my obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** 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
** limitations under the License.
*/
-->

<!-- These resources are around just to allow their values to be customized
     for different hardware and product builds. -->
<resources>

    <!-- Array of ConnectivityManager.TYPE_xxxx values allowable for tethering -->
    <!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
    <!== [0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
    <integer-array translatable="false" name="config_tether_upstream_types">
        <item>1</item>
        <item>4</item>
        <item>7</item>
        <item>9</item>
    </integer-array>

    <!-- String containing the apn value for tethering.  May be overriden by secure settings
     TETHER_DUN_APN.  Value is a comma separated series of strings:
     "name,apn,proxy,port,username,password,server,mmsc,mmsproxy,mmsport,mcc,mnc,auth,type"
     note that empty fields can be ommitted: "name,apn,,,,,,,,,310,260,,DUN" -->
    <string-array translatable="false" name="config_tether_apndata">
        <item>T-Mobile Tethering,pcweb.tmobile.com,,,,,,,,,310,210,,DUN</item>
        <item>[ApnSettingV3]MetroPCS Tethering,pcweb.metropcs.com,,,,,,,,,310,210,,DUN,,,true,0,,,,,,,gid,6D</item>
    </string-array>

    <!-- 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.
    -->
    <string-array name="config_mobile_tcp_buffers">
        <item>umts:21135,131070,1056768,6144,24576,165312</item>
        <item>hspa:18300,131070,1056768,6144,24576,393216</item>
        <item>hsdpa:18300,131070,1056768,6144,24576,393216</item>
        <item>hsupa:6141,131070,1056768,6144,24576,393216</item>
        <item>hspap:31455,131070,1830912,6144,24576,1830912</item>
        <item>edge:8192,26280,704512,4096,16384,110208</item>
        <item>gprs:8192,8760,704512,4096,8760,110208</item>
        <item>lte:786432,1572864,3840000,786432,1572864,3840000</item>
    </string-array>

    <!-- Values for GPS configuration (T-Mobile) -->
    <string-array translatable="false" name="config_gpsParameters">
        <item>SUPL_HOST=supl.google.com</item>
        <item>SUPL_PORT=7275</item>
        <item>XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin</item>
        <item>XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin</item>
        <item>XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin</item>
        <item>NTP_SERVER=north-america.pool.ntp.org</item>
        <item>SUPL_VER=0x20000</item>
        <item>NMEA_PROVIDER=0</item>
        <item>A_GLONASS_POS_PROTOCOL_SELECT=0</item>
        <item>ERR_ESTIMATE=0</item>
        <item>INTERMEDIATE_POS=0</item>
        <item>GPS_LOCK=1</item>
        <item>LPP_PROFILE=2</item>
        <item>SUPL_MODE=1</item>
        <item>SUPL_ES=0</item>
    </string-array>

    <!-- MMS user agent prolfile url -->
    <string name="config_mms_user_agent_profile_url" translatable="false">http://gsm.lge.com/html/gsm/R5LkS9d9_LIAeJ1_/Nexus5X-M10.xml</string>

</resources>

