/**@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( ) {}, };