/**@class android.net.NetworkAgent
@extends android.os.Handler

 A Utility class for handling for communicating between bearer-specific
 code and ConnectivityService.

 A bearer may have more than one NetworkAgent if it can simultaneously
 support separate networks (IMS / Internet / MMS Apns on cellular, or
 perhaps connections with different SSID or P2P for Wi-Fi).

 @hide
*/
var NetworkAgent = {

/***/
netId : "null",
/** Sent by ConnectivityService to the NetworkAgent to inform it of
 suspected connectivity problems on its network.  The NetworkAgent
 should take steps to verify and correct connectivity.
*/
CMD_SUSPECT_BAD : "528384",
/** Sent by the NetworkAgent (note the EVENT vs CMD prefix) to
 ConnectivityService to pass the current NetworkInfo (connection state).
 Sent when the NetworkInfo changes, mainly due to change of state.
 obj = NetworkInfo
*/
EVENT_NETWORK_INFO_CHANGED : "528385",
/** Sent by the NetworkAgent to ConnectivityService to pass the current
 NetworkCapabilties.
 obj = NetworkCapabilities
*/
EVENT_NETWORK_CAPABILITIES_CHANGED : "528386",
/** Sent by the NetworkAgent to ConnectivityService to pass the current
 NetworkProperties.
 obj = NetworkProperties
*/
EVENT_NETWORK_PROPERTIES_CHANGED : "528387",
/***/
WIFI_BASE_SCORE : "60",
/** Sent by the NetworkAgent to ConnectivityService to pass the current
 network score.
 obj = network score Integer
*/
EVENT_NETWORK_SCORE_CHANGED : "528388",
/** Sent by the NetworkAgent to ConnectivityService to add new UID ranges
 to be forced into this Network.  For VPNs only.
 obj = UidRange[] to forward
*/
EVENT_UID_RANGES_ADDED : "528389",
/** Sent by the NetworkAgent to ConnectivityService to remove UID ranges
 from being forced into this Network.  For VPNs only.
 obj = UidRange[] to stop forwarding
*/
EVENT_UID_RANGES_REMOVED : "528390",
/** Sent by ConnectivityService to the NetworkAgent to inform the agent of the
 networks status - whether we could use the network or could not, due to
 either a bad network configuration (no internet link) or captive portal.

 arg1 = either {@code VALID_NETWORK} or {@code INVALID_NETWORK}
*/
CMD_REPORT_NETWORK_STATUS : "528391",
/***/
VALID_NETWORK : "1",
/***/
INVALID_NETWORK : "2",
/** Sent by the NetworkAgent to ConnectivityService to indicate this network was
 explicitly selected.  This should be sent before the NetworkInfo is marked
 CONNECTED so it can be given special treatment at that time.

 obj = boolean indicating whether to use this network even if unvalidated
*/
EVENT_SET_EXPLICITLY_SELECTED : "528392",
/** Sent by ConnectivityService to the NetworkAgent to inform the agent of
 whether the network should in the future be used even if not validated.
 This decision is made by the user, but it is the network transport's
 responsibility to remember it.

 arg1 = 1 if true, 0 if false
*/
CMD_SAVE_ACCEPT_UNVALIDATED : "528393",
/**Sent by ConnectivityService to the NetworkAgent to inform the agent to pull
 the underlying network connection for updated bandwidth information.
*/
CMD_REQUEST_BANDWIDTH_UPDATE : "528394",
/** Sent by ConnectivityService to the NeworkAgent to inform the agent to avoid
 automatically reconnecting to this network (e.g. via autojoin).  Happens
 when user selects "No" option on the "Stay connected?" dialog box.
*/
CMD_PREVENT_AUTOMATIC_RECONNECT : "528395",
/**
*/
handleMessage : function(  ) {},

/**Called by the bearer code when it has new LinkProperties data.
*/
sendLinkProperties : function(  ) {},

/**Called by the bearer code when it has new NetworkInfo data.
*/
sendNetworkInfo : function(  ) {},

/**Called by the bearer code when it has new NetworkCapabilities data.
*/
sendNetworkCapabilities : function(  ) {},

/**Called by the bearer code when it has a new score for this network.
*/
sendNetworkScore : function(  ) {},

/**Called by the VPN code when it wants to add ranges of UIDs to be routed
 through the VPN network.
*/
addUidRanges : function(  ) {},

/**Called by the VPN code when it wants to remove ranges of UIDs from being routed
 through the VPN network.
*/
removeUidRanges : function(  ) {},

/**Called by the bearer to indicate this network was manually selected by the user.
 This should be called before the NetworkInfo is marked CONNECTED so that this
 Network can be given special treatment at that time. If {@code acceptUnvalidated} is
 {@code true}, then the system will switch to this network. If it is {@code false} and the
 network cannot be validated, the system will ask the user whether to switch to this network.
 If the user confirms and selects "don't ask again", then the system will call
 {@link #saveAcceptUnvalidated} to persist the user's choice. Thus, if the transport ever
 calls this method with {@code acceptUnvalidated} set to {@code false}, it must also implement
 {@link #saveAcceptUnvalidated} to respect the user's choice.
*/
explicitlySelected : function(  ) {},


};