/**@class android.telephony.data.ApnSetting.Builder
@extends java.lang.Object

 Provides a convenient way to set the fields of a {@link android.telephony.data.ApnSetting} when creating a new
 instance. The following settings are required to build an {@code ApnSetting}:

 <ul><li>apnTypeBitmask</li>
 <li>apnName</li>
 <li>entryName</li></ul>

 <p>The example below shows how you might create a new {@code ApnSetting}:

 <pre><code>
 // Create an MMS proxy address with a hostname. A network might not be
 // available, so supply a dummy (0.0.0.0) IPv4 address to avoid DNS lookup.
 String host = "mms.example.com";
 byte[] ipAddress = new byte[4];
 InetAddress mmsProxy;
 try {
   mmsProxy = InetAddress.getByAddress(host, ipAddress);
 } catch (UnknownHostException e) {
   e.printStackTrace();
   return;
 }

 ApnSetting apn = new ApnSetting.Builder()
     .setApnTypeBitmask(ApnSetting.TYPE_DEFAULT | ApnSetting.TYPE_MMS)
     .setApnName("apn.example.com")
     .setEntryName("Example Carrier APN")
     .setMmsc(Uri.parse("http://mms.example.com:8002"))
     .setMmsProxyAddress(mmsProxy)
     .setMmsProxyPort(8799)
     .build();
 </code></pre>
*/
var Builder = {

/**Set the MTU size of the mobile interface to which the APN connected.
@param {Number} mtu the MTU size to set for the APN
@hide 
*/
setMtu : function(  ) {},

/**Sets the profile id to which the APN saved in modem.
@param {Number} profileId the profile id to set for the APN
@hide 
*/
setProfileId : function(  ) {},

/**Sets if the APN setting is to be set in modem.
@param {Boolean} modemCognitive if the APN setting is to be set in modem
@hide 
*/
setModemCognitive : function(  ) {},

/**Sets the max connections of this APN.
@param {Number} maxConns the max connections of this APN
@hide 
*/
setMaxConns : function(  ) {},

/**Sets the wait time for retry of the APN.
@param {Number} waitTime the wait time for retry of the APN
@hide 
*/
setWaitTime : function(  ) {},

/**Sets the time to limit max connection for the APN.
@param {Number} maxConnsTime the time to limit max connection for the APN
@hide 
*/
setMaxConnsTime : function(  ) {},

/**Sets the MVNO match data for the APN.
@param {String} mvnoMatchData the MVNO match data for the APN
@hide 
*/
setMvnoMatchData : function(  ) {},

/**Sets the APN set id for the APN.
@param {Number} apnSetId the set id for the APN
@hide 
*/
setApnSetId : function(  ) {},

/**Sets a human-readable name that describes the APN.
@param {String} entryName the entry name to set for the APN
*/
setEntryName : function(  ) {},

/**Sets the name of the APN.
@param {String} apnName the name to set for the APN
*/
setApnName : function(  ) {},

/**Sets the address of an HTTP proxy for the APN. The proxy address can be an IP address or
 hostname. If {@code proxy} contains both an IP address and hostname, this method ignores
 the IP address.

 <p>The {@link java.net.InetAddress} methods
 {@link java.net.InetAddress#getAllByName getAllByName()} require DNS for hostname
 resolution. To avoid this requirement when setting a hostname, call
 {@link java.net.InetAddress#getByAddress(java.lang.String, byte[])} with both the
 hostname and a dummy IP address. See {@link android.telephony.data.ApnSetting.Builder above} for an example.
@param {Object {InetAddress}} proxy the proxy address to set for the APN
@deprecated use {@link #setProxyAddress(String)} instead.
*/
setProxyAddress : function(  ) {},

/**Sets the proxy address of the APN.
@param {String} proxy the proxy address to set for the APN
*/
setProxyAddress : function(  ) {},

/**Sets the proxy port of the APN.
@param {Number} port the proxy port to set for the APN
*/
setProxyPort : function(  ) {},

/**Sets the MMSC Uri of the APN.
@param {Object {Uri}} mmsc the MMSC Uri to set for the APN
*/
setMmsc : function(  ) {},

/**Sets the address of an MMS proxy for the APN. The MMS proxy address can be an IP address
 or hostname. If {@code mmsProxy} contains both an IP address and hostname, this method
 ignores the IP address.

 <p>The {@link java.net.InetAddress} methods
 {@link java.net.InetAddress#getByName getByName()} and
 {@link java.net.InetAddress#getAllByName getAllByName()} require DNS for hostname
 resolution. To avoid this requirement when setting a hostname, call
 {@link java.net.InetAddress#getByAddress(java.lang.String, byte[])} with both the
 hostname and a dummy IP address. See {@link android.telephony.data.ApnSetting.Builder above} for an example.
@param {Object {InetAddress}} mmsProxy the MMS proxy address to set for the APN
@deprecated use {@link #setMmsProxyAddress(String)} instead.
*/
setMmsProxyAddress : function(  ) {},

/**Sets the MMS proxy address of the APN.
@param {String} mmsProxy the MMS proxy address to set for the APN
*/
setMmsProxyAddress : function(  ) {},

/**Sets the MMS proxy port of the APN.
@param {Number} mmsPort the MMS proxy port to set for the APN
*/
setMmsProxyPort : function(  ) {},

/**Sets the APN username of the APN.
@param {String} user the APN username to set for the APN
*/
setUser : function(  ) {},

/**Sets the APN password of the APN.
@param {String} password the APN password to set for the APN
@param password the APN password to set for the APN
*/
setPassword : function(  ) {},

/**Sets the authentication type of the APN.
@param {Number} authType the authentication type to set for the APN
*/
setAuthType : function(  ) {},

/**Sets the bitmask of APN types.

 <p>Apn types are usage categories for an APN entry. One APN entry may support multiple
 APN types, eg, a single APN may service regular internet traffic ("default") as well as
 MMS-specific connections.

 <p>The bitmask of APN types is calculated from APN types defined in {@link android.telephony.data.ApnSetting}.
@param {Number} apnTypeBitmask a bitmask describing the types of the APN
*/
setApnTypeBitmask : function(  ) {},

/**Sets the numeric operator ID for the APN. Numeric operator ID is defined as
 {@link android.provider.Telephony.Carriers#MCC} +
 {@link android.provider.Telephony.Carriers#MNC}.
@param {String} operatorNumeric the numeric operator ID to set for this entry
*/
setOperatorNumeric : function(  ) {},

/**Sets the protocol to use to connect to this APN.

 <p>Protocol is one of the {@code PDP_type} values in TS 27.007 section 10.1.1.
@param {Number} protocol the protocol to set to use to connect to this APN
*/
setProtocol : function(  ) {},

/**Sets the protocol to use to connect to this APN when the device is roaming.

 <p>Roaming protocol is one of the {@code PDP_type} values in TS 27.007 section 10.1.1.
@param {Number} roamingProtocol the protocol to set to use to connect to this APN when roaming
*/
setRoamingProtocol : function(  ) {},

/**Sets the current status for this APN.
@param {Boolean} carrierEnabled the current status to set for this APN
*/
setCarrierEnabled : function(  ) {},

/**Sets Radio Technology (Network Type) info for this APN.
@param {Number} networkTypeBitmask the Radio Technology (Network Type) info
*/
setNetworkTypeBitmask : function(  ) {},

/**Sets the MVNO match type for this APN.
@param {Number} mvnoType the MVNO match type to set for this APN
*/
setMvnoType : function(  ) {},

/**Sets the carrier id for this APN.

 See {@link TelephonyManager#getSimCarrierId()} which provides more background for what a
 carrier ID is.
@param {Number} carrierId the carrier id to set for this APN
*/
setCarrierId : function(  ) {},

/**Sets skip464xlat flag for this APN.
@param {Number} skip464xlat skip464xlat for this APN
@hide 
*/
setSkip464Xlat : function(  ) {},

/**Builds {@link android.telephony.data.ApnSetting} from this builder.
@return {Object {android.telephony.data.ApnSetting}} {@code null} if {@link #setApnName(String)} or {@link #setEntryName(String)}
 is empty, or {@link #setApnTypeBitmask(int)} doesn't contain a valid bit,
 {@link ApnSetting} built from this builder otherwise.
*/
build : function(  ) {},

/**Builds {@link android.telephony.data.ApnSetting} from this builder. This function doesn't check if
 {@link #setApnName}(String) or {@link #setEntryName}(String), or
 {@link #setApnTypeBitmask}(int) is empty.
@hide 
*/
buildWithoutCheck : function(  ) {},


};