<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2009, 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 may 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.  Do not translate. -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

    <!-- 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",
         Or string format of ApnSettingV3.
         note that empty fields can be ommitted: "name,apn,,,,,,,,,310,260,,DUN" -->
    <string-array translatable="false" name="config_tether_apndata">
        <item>Fido LTE Tethering,ltedata.apn,,,,,,,,,302,370,,DUN</item>
        <item>[ApnSettingV3]MTS Tethering,internet.mts,,,,,,,,,302,370,,DUN,,,true,0,,,,,,,gid,2C</item>
    </string-array>

    <!-- Configure mobile network MTU. Carrier specific value is set here.
    -->
    <integer name="config_mobile_mtu">1410</integer>

  <!-- Values for GPS configuration (Rogers) -->
    <string-array translatable="false" name="config_gpsParameters">
        <item>SUPL_HOST=supl.google.com</item>
        <item>SUPL_PORT=7275</item>
        <item>SUPL_VER=0x20000</item>
        <item>SUPL_MODE=1</item>
        <item>SUPL_ES=0</item>
        <item>LPP_PROFILE=2</item>
        <item>USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL=1</item>
        <item>A_GLONASS_POS_PROTOCOL_SELECT=0</item>
        <item>GPS_LOCK=0</item>
    </string-array>

</resources>
