<?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-array translatable="false" name="config_default_vm_number">
        <item>1416</item>
    </string-array>

    <string-array translatable= "false" name= "config_mobile_hotspot_provision_app">
        <item>com.huawei.entitlement</item>
        <item>com.huawei.entitlement.EntitlementDialogActivity</item >
    </string-array>
    <string translatable= "false" name= "config_mobile_hotspot_provision_app_no_ui">com.huawei.entitlement.SILENT_ENTITLEMENT_CHECK</string >
    <string translatable= "false" name= "config_mobile_hotspot_provision_response">com.huawei.entitlement.SILENT_ENTITLEMENT_CHECK_RESULT</string >
    <!-- Config SoftAP 2G channel list -->
    <string  translatable="false" name="config_wifi_framework_sap_2G_channel_list">1,6</string>
    <!-- The list of ril radio technologies (see ServiceState.java) which only support
         a single data connection at one time.  This may change by carrier via
         overlays (some don't support multiple pdp on UMTS).  All unlisted radio
         tech types support unlimited types (practically only 2-4 used). -->
    <integer-array name="config_onlySingleDcAllowed">
        <item>1</item>  <!-- GPRS -->
        <item>2</item>  <!-- EDGE -->
        <item>3</item>  <!-- UMTS -->
        <item>4</item>  <!-- IS95A -->
        <item>5</item>  <!-- IS95B -->
        <item>6</item>  <!-- 1xRTT -->
        <item>7</item>  <!-- EVDO_0 -->
        <item>8</item>  <!-- EVDO_A -->
        <item>9</item>  <!-- HSDPA -->
        <item>10</item> <!-- HSUPA -->
        <item>11</item> <!-- HSPA -->
        <item>12</item> <!-- EVDO_B -->
        <item>13</item> <!-- EHRPD -->
        <item>15</item> <!-- HSPAP -->
    </integer-array>
    <!-- Values for GPS configuration for SBM-->
    <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_MODE=1</item>
        <item>SUPL_VER=0x20000</item>
        <item>LPP_PROFILE=0</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>SUPL_ES=1</item>
    </string-array>
</resources>
