/**@class android.net.wifi.WifiManager
@extends java.lang.Object

 This class provides the primary API for managing all aspects of Wi-Fi
 connectivity.
 <p>
 On releases before {@link android.os.Build.VERSION_CODES#N}, this object
 should only be obtained from an {@linkplain Context#getApplicationContext()
 application context}, and not from any other derived context to avoid memory
 leaks within the calling process.
 <p>
 It deals with several categories of items:
 </p>
 <ul>
 <li>The list of configured networks. The list can be viewed and updated, and
 attributes of individual entries can be modified.</li>
 <li>The currently active Wi-Fi network, if any. Connectivity can be
 established or torn down, and dynamic information about the state of the
 network can be queried.</li>
 <li>Results of access point scans, containing enough information to make
 decisions about what access point to connect to.</li>
 <li>It defines the names of various Intent actions that are broadcast upon
 any sort of change in Wi-Fi state.
 </ul>
 <p>
 This is the API to use when performing Wi-Fi specific operations. To perform
 operations that pertain to network connectivity at an abstract level, use
 {@link android.net.ConnectivityManager}.
 </p>
*/
var WifiManager = {

/** The error code if there was a problem authenticating.
 @deprecated This is no longer supported.
*/
ERROR_AUTHENTICATING : "1",
/** The reason code if there is no error during authentication.
 It could also imply that there no authentication in progress,
 this reason code also serves as a reset value.
 @deprecated This is no longer supported.
 @hide
*/
ERROR_AUTH_FAILURE_NONE : "0",
/** The reason code if there was a timeout authenticating.
 @deprecated This is no longer supported.
 @hide
*/
ERROR_AUTH_FAILURE_TIMEOUT : "1",
/** The reason code if there was a wrong password while
 authenticating.
 @deprecated This is no longer supported.
 @hide
*/
ERROR_AUTH_FAILURE_WRONG_PSWD : "2",
/** The reason code if there was EAP failure while
 authenticating.
 @deprecated This is no longer supported.
 @hide
*/
ERROR_AUTH_FAILURE_EAP_FAILURE : "3",
/** Maximum number of active network suggestions allowed per app.
 @hide
*/
NETWORK_SUGGESTIONS_MAX_PER_APP : "null",
/** Reason code if all of the network suggestions were successfully added or removed.
*/
STATUS_NETWORK_SUGGESTIONS_SUCCESS : "0",
/** Reason code if there was an internal error in the platform while processing the addition or
 removal of suggestions.
*/
STATUS_NETWORK_SUGGESTIONS_ERROR_INTERNAL : "1",
/** Reason code if the user has disallowed "android:change_wifi_state" app-ops from the app.
 @see android.app.AppOpsManager#unsafeCheckOp(String, int, String).
*/
STATUS_NETWORK_SUGGESTIONS_ERROR_APP_DISALLOWED : "2",
/** Reason code if one or more of the network suggestions added already exists in platform's
 database.
 @see WifiNetworkSuggestion#equals(Object)
*/
STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE : "3",
/** Reason code if the number of network suggestions provided by the app crosses the max
 threshold set per app.
 @see #getMaxNumberOfNetworkSuggestionsPerApp()
*/
STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_EXCEEDS_MAX_PER_APP : "4",
/** Reason code if one or more of the network suggestions removed does not exist in platform's
 database.
*/
STATUS_NETWORK_SUGGESTIONS_ERROR_REMOVE_INVALID : "5",
/** Broadcast intent action indicating whether Wi-Fi scanning is allowed currently
 @hide
*/
WIFI_SCAN_AVAILABLE : "wifi_scan_available",
/** Extra int indicating scan availability, WIFI_STATE_ENABLED and WIFI_STATE_DISABLED
 @hide
*/
EXTRA_SCAN_AVAILABLE : "scan_enabled",
/** Broadcast intent action indicating that the credential of a Wi-Fi network
 has been changed. One extra provides the ssid of the network. Another
 extra provides the event type, whether the credential is saved or forgot.
 @hide
*/
WIFI_CREDENTIAL_CHANGED_ACTION : "android.net.wifi.WIFI_CREDENTIAL_CHANGED",
/**@hide */
EXTRA_WIFI_CREDENTIAL_EVENT_TYPE : "et",
/**@hide */
EXTRA_WIFI_CREDENTIAL_SSID : "ssid",
/**@hide */
WIFI_CREDENTIAL_SAVED : "0",
/**@hide */
WIFI_CREDENTIAL_FORGOT : "1",
/**@hide */
PASSPOINT_HOME_NETWORK : "0",
/**@hide */
PASSPOINT_ROAMING_NETWORK : "1",
/** Broadcast intent action indicating that a Passpoint provider icon has been received.

 Included extras:
 {@link #EXTRA_BSSID_LONG}
 {@link #EXTRA_FILENAME}
 {@link #EXTRA_ICON}

 Receiver Required Permission: android.Manifest.permission.ACCESS_WIFI_STATE

 <p>Note: The broadcast is only delivered to registered receivers - no manifest registered
 components will be launched.

 @hide
*/
ACTION_PASSPOINT_ICON : "android.net.wifi.action.PASSPOINT_ICON",
/** BSSID of an AP in long representation.  The {@link #EXTRA_BSSID} contains BSSID in
 String representation.

 Retrieve with {@link android.content.Intent#getLongExtra(String, long)}.

 @hide
*/
EXTRA_BSSID_LONG : "android.net.wifi.extra.BSSID_LONG",
/** Icon data.

 Retrieve with {@link android.content.Intent#getParcelableExtra(String)} and cast into
 {@link android.graphics.drawable.Icon}.

 @hide
*/
EXTRA_ICON : "android.net.wifi.extra.ICON",
/** Name of a file.

 Retrieve with {@link android.content.Intent#getStringExtra(String)}.

 @hide
*/
EXTRA_FILENAME : "android.net.wifi.extra.FILENAME",
/** Broadcast intent action indicating a Passpoint OSU Providers List element has been received.

 Included extras:
 {@link #EXTRA_BSSID_LONG}
 {@link #EXTRA_ANQP_ELEMENT_DATA}

 Receiver Required Permission: android.Manifest.permission.ACCESS_WIFI_STATE

 <p>Note: The broadcast is only delivered to registered receivers - no manifest registered
 components will be launched.

 @hide
*/
ACTION_PASSPOINT_OSU_PROVIDERS_LIST : "android.net.wifi.action.PASSPOINT_OSU_PROVIDERS_LIST",
/** Raw binary data of an ANQP (Access Network Query Protocol) element.

 Retrieve with {@link android.content.Intent#getByteArrayExtra(String)}.

 @hide
*/
EXTRA_ANQP_ELEMENT_DATA : "android.net.wifi.extra.ANQP_ELEMENT_DATA",
/** Broadcast intent action indicating that a Passpoint Deauth Imminent frame has been received.

 Included extras:
 {@link #EXTRA_BSSID_LONG}
 {@link #EXTRA_ESS}
 {@link #EXTRA_DELAY}
 {@link #EXTRA_URL}

 Receiver Required Permission: android.Manifest.permission.ACCESS_WIFI_STATE

 <p>Note: The broadcast is only delivered to registered receivers - no manifest registered
 components will be launched.

 @hide
*/
ACTION_PASSPOINT_DEAUTH_IMMINENT : "android.net.wifi.action.PASSPOINT_DEAUTH_IMMINENT",
/** Flag indicating BSS (Basic Service Set) or ESS (Extended Service Set). This will be set to
 {@code true} for ESS.

 Retrieve with {@link android.content.Intent#getBooleanExtra(String, boolean)}.

 @hide
*/
EXTRA_ESS : "android.net.wifi.extra.ESS",
/** Delay in seconds.

 Retrieve with {@link android.content.Intent#getIntExtra(String, int)}.

 @hide
*/
EXTRA_DELAY : "android.net.wifi.extra.DELAY",
/** String representation of an URL.

 Retrieve with {@link android.content.Intent#getStringExtra(String)}.

 @hide
*/
EXTRA_URL : "android.net.wifi.extra.URL",
/** Broadcast intent action indicating a Passpoint subscription remediation frame has been
 received.

 Included extras:
 {@link #EXTRA_BSSID_LONG}
 {@link #EXTRA_SUBSCRIPTION_REMEDIATION_METHOD}
 {@link #EXTRA_URL}

 Receiver Required Permission: android.Manifest.permission.ACCESS_WIFI_STATE

 <p>Note: The broadcast is only delivered to registered receivers - no manifest registered
 components will be launched.

 @hide
*/
ACTION_PASSPOINT_SUBSCRIPTION_REMEDIATION : "android.net.wifi.action.PASSPOINT_SUBSCRIPTION_REMEDIATION",
/** The protocol supported by the subscription remediation server. The possible values are:
 0 - OMA DM
 1 - SOAP XML SPP

 Retrieve with {@link android.content.Intent#getIntExtra(String, int)}.

 @hide
*/
EXTRA_SUBSCRIPTION_REMEDIATION_METHOD : "android.net.wifi.extra.SUBSCRIPTION_REMEDIATION_METHOD",
/** Activity Action: lunch OSU (Online Sign Up) view.
 Included extras:

 {@link #EXTRA_OSU_NETWORK}: {@link Network} instance associated with OSU AP.
 {@link #EXTRA_URL}: String representation of a server URL used for OSU process.

 <p>Note: The broadcast is only delivered to registered receivers - no manifest registered
 components will be launched.

 @hide
*/
ACTION_PASSPOINT_LAUNCH_OSU_VIEW : "android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW",
/** The lookup key for a {@link android.net.Network} associated with OSU server.

 Retrieve with {@link android.content.Intent#getParcelableExtra(String)}.

 @hide
*/
EXTRA_OSU_NETWORK : "android.net.wifi.extra.OSU_NETWORK",
/** Broadcast intent action indicating that Wi-Fi has been enabled, disabled,
 enabling, disabling, or unknown. One extra provides this state as an int.
 Another extra provides the previous state, if available.

 @see #EXTRA_WIFI_STATE
 @see #EXTRA_PREVIOUS_WIFI_STATE
*/
WIFI_STATE_CHANGED_ACTION : "android.net.wifi.WIFI_STATE_CHANGED",
/** The lookup key for an int that indicates whether Wi-Fi is enabled,
 disabled, enabling, disabling, or unknown.  Retrieve it with
 {@link android.content.Intent#getIntExtra(String,int)}.

 @see #WIFI_STATE_DISABLED
 @see #WIFI_STATE_DISABLING
 @see #WIFI_STATE_ENABLED
 @see #WIFI_STATE_ENABLING
 @see #WIFI_STATE_UNKNOWN
*/
EXTRA_WIFI_STATE : "wifi_state",
/** The previous Wi-Fi state.

 @see #EXTRA_WIFI_STATE
*/
EXTRA_PREVIOUS_WIFI_STATE : "previous_wifi_state",
/** Wi-Fi is currently being disabled. The state will change to {@link #WIFI_STATE_DISABLED} if
 it finishes successfully.

 @see #WIFI_STATE_CHANGED_ACTION
 @see #getWifiState()
*/
WIFI_STATE_DISABLING : "0",
/** Wi-Fi is disabled.

 @see #WIFI_STATE_CHANGED_ACTION
 @see #getWifiState()
*/
WIFI_STATE_DISABLED : "1",
/** Wi-Fi is currently being enabled. The state will change to {@link #WIFI_STATE_ENABLED} if
 it finishes successfully.

 @see #WIFI_STATE_CHANGED_ACTION
 @see #getWifiState()
*/
WIFI_STATE_ENABLING : "2",
/** Wi-Fi is enabled.

 @see #WIFI_STATE_CHANGED_ACTION
 @see #getWifiState()
*/
WIFI_STATE_ENABLED : "3",
/** Wi-Fi is in an unknown state. This state will occur when an error happens while enabling
 or disabling.

 @see #WIFI_STATE_CHANGED_ACTION
 @see #getWifiState()
*/
WIFI_STATE_UNKNOWN : "4",
/** Broadcast intent action indicating that Wi-Fi AP has been enabled, disabled,
 enabling, disabling, or failed.

 @hide
*/
WIFI_AP_STATE_CHANGED_ACTION : "android.net.wifi.WIFI_AP_STATE_CHANGED",
/** The lookup key for an int that indicates whether Wi-Fi AP is enabled,
 disabled, enabling, disabling, or failed.  Retrieve it with
 {@link android.content.Intent#getIntExtra(String,int)}.

 @see #WIFI_AP_STATE_DISABLED
 @see #WIFI_AP_STATE_DISABLING
 @see #WIFI_AP_STATE_ENABLED
 @see #WIFI_AP_STATE_ENABLING
 @see #WIFI_AP_STATE_FAILED

 @hide
*/
EXTRA_WIFI_AP_STATE : "wifi_state",
/** The look up key for an int that indicates why softAP started failed
 currently support general and no_channel
 @see #SAP_START_FAILURE_GENERAL
 @see #SAP_START_FAILURE_NO_CHANNEL

 @hide
*/
EXTRA_WIFI_AP_FAILURE_REASON : "wifi_ap_error_code",
/** The previous Wi-Fi state.

 @see #EXTRA_WIFI_AP_STATE

 @hide
*/
EXTRA_PREVIOUS_WIFI_AP_STATE : "previous_wifi_state",
/** The interface used for the softap.

 @hide
*/
EXTRA_WIFI_AP_INTERFACE_NAME : "wifi_ap_interface_name",
/** The intended ip mode for this softap.
 @see #IFACE_IP_MODE_TETHERED
 @see #IFACE_IP_MODE_LOCAL_ONLY

 @hide
*/
EXTRA_WIFI_AP_MODE : "wifi_ap_mode",
/** Wi-Fi AP is currently being disabled. The state will change to
 {@link #WIFI_AP_STATE_DISABLED} if it finishes successfully.

 @see #WIFI_AP_STATE_CHANGED_ACTION
 @see #getWifiApState()

 @hide
*/
WIFI_AP_STATE_DISABLING : "10",
/** Wi-Fi AP is disabled.

 @see #WIFI_AP_STATE_CHANGED_ACTION
 @see #getWifiState()

 @hide
*/
WIFI_AP_STATE_DISABLED : "11",
/** Wi-Fi AP is currently being enabled. The state will change to
 {@link #WIFI_AP_STATE_ENABLED} if it finishes successfully.

 @see #WIFI_AP_STATE_CHANGED_ACTION
 @see #getWifiApState()

 @hide
*/
WIFI_AP_STATE_ENABLING : "12",
/** Wi-Fi AP is enabled.

 @see #WIFI_AP_STATE_CHANGED_ACTION
 @see #getWifiApState()

 @hide
*/
WIFI_AP_STATE_ENABLED : "13",
/** Wi-Fi AP is in a failed state. This state will occur when an error occurs during
 enabling or disabling

 @see #WIFI_AP_STATE_CHANGED_ACTION
 @see #getWifiApState()

 @hide
*/
WIFI_AP_STATE_FAILED : "14",
/**  All other reasons for AP start failure besides {@link #SAP_START_FAILURE_NO_CHANNEL}.

  @hide
*/
SAP_START_FAILURE_GENERAL : "0",
/**  If Wi-Fi AP start failed, this reason code means that no legal channel exists on user
  selected band due to regulatory constraints.

  @hide
*/
SAP_START_FAILURE_NO_CHANNEL : "1",
/** Interface IP mode unspecified.

 @see updateInterfaceIpState(String, int)

 @hide
*/
IFACE_IP_MODE_UNSPECIFIED : "-1",
/** Interface IP mode for configuration error.

 @see updateInterfaceIpState(String, int)

 @hide
*/
IFACE_IP_MODE_CONFIGURATION_ERROR : "0",
/** Interface IP mode for tethering.

 @see updateInterfaceIpState(String, int)

 @hide
*/
IFACE_IP_MODE_TETHERED : "1",
/** Interface IP mode for Local Only Hotspot.

 @see updateInterfaceIpState(String, int)

 @hide
*/
IFACE_IP_MODE_LOCAL_ONLY : "2",
/** Broadcast intent action indicating that a connection to the supplicant has
 been established (and it is now possible
 to perform Wi-Fi operations) or the connection to the supplicant has been
 lost. One extra provides the connection state as a boolean, where {@code true}
 means CONNECTED.
 @deprecated This is no longer supported.
 @see #EXTRA_SUPPLICANT_CONNECTED
*/
SUPPLICANT_CONNECTION_CHANGE_ACTION : "android.net.wifi.supplicant.CONNECTION_CHANGE",
/** The lookup key for a boolean that indicates whether a connection to
 the supplicant daemon has been gained or lost. {@code true} means
 a connection now exists.
 Retrieve it with {@link android.content.Intent#getBooleanExtra(String,boolean)}.
 @deprecated This is no longer supported.
*/
EXTRA_SUPPLICANT_CONNECTED : "connected",
/** Broadcast intent action indicating that the state of Wi-Fi connectivity
 has changed. An extra provides the new state
 in the form of a {@link android.net.NetworkInfo} object.
 @see #EXTRA_NETWORK_INFO
*/
NETWORK_STATE_CHANGED_ACTION : "android.net.wifi.STATE_CHANGE",
/** The lookup key for a {@link android.net.NetworkInfo} object associated with the
 Wi-Fi network. Retrieve with
 {@link android.content.Intent#getParcelableExtra(String)}.
*/
EXTRA_NETWORK_INFO : "networkInfo",
/** The lookup key for a String giving the BSSID of the access point to which
 we are connected. No longer used.
*/
EXTRA_BSSID : "bssid",
/** The lookup key for a {@link android.net.wifi.WifiInfo} object giving the
 information about the access point to which we are connected.
 No longer used.
*/
EXTRA_WIFI_INFO : "wifiInfo",
/** Broadcast intent action indicating that the state of establishing a connection to
 an access point has changed.One extra provides the new
 {@link android.net.wifi.SupplicantState}. Note that the supplicant state is Wi-Fi specific, and
 is not generally the most useful thing to look at if you are just interested in
 the overall state of connectivity.
 @see #EXTRA_NEW_STATE
 @see #EXTRA_SUPPLICANT_ERROR
 @deprecated This is no longer supported.
*/
SUPPLICANT_STATE_CHANGED_ACTION : "android.net.wifi.supplicant.STATE_CHANGE",
/** The lookup key for a {@link android.net.wifi.SupplicantState} describing the new state
 Retrieve with
 {@link android.content.Intent#getParcelableExtra(String)}.
 @deprecated This is no longer supported.
*/
EXTRA_NEW_STATE : "newState",
/** The lookup key for a {@link android.net.wifi.SupplicantState} describing the supplicant
 error code if any
 Retrieve with
 {@link android.content.Intent#getIntExtra(String, int)}.
 @see #ERROR_AUTHENTICATING
 @deprecated This is no longer supported.
*/
EXTRA_SUPPLICANT_ERROR : "supplicantError",
/** The lookup key for a {@link android.net.wifi.SupplicantState} describing the supplicant
 error reason if any
 Retrieve with
 {@link android.content.Intent#getIntExtra(String, int)}.
 @see #ERROR_AUTH_FAILURE_#REASON_CODE
 @deprecated This is no longer supported.
 @hide
*/
EXTRA_SUPPLICANT_ERROR_REASON : "supplicantErrorReason",
/** Broadcast intent action indicating that the configured networks changed.
 This can be as a result of adding/updating/deleting a network. If
 {@link #EXTRA_MULTIPLE_NETWORKS_CHANGED} is set to true the new configuration
 can be retreived with the {@link #EXTRA_WIFI_CONFIGURATION} extra. If multiple
 Wi-Fi configurations changed, {@link #EXTRA_WIFI_CONFIGURATION} will not be present.
 @hide
*/
CONFIGURED_NETWORKS_CHANGED_ACTION : "android.net.wifi.CONFIGURED_NETWORKS_CHANGE",
/** The lookup key for a (@link android.net.wifi.WifiConfiguration} object representing
 the changed Wi-Fi configuration when the {@link #CONFIGURED_NETWORKS_CHANGED_ACTION}
 broadcast is sent.
 @hide
*/
EXTRA_WIFI_CONFIGURATION : "wifiConfiguration",
/** Multiple network configurations have changed.
 @see #CONFIGURED_NETWORKS_CHANGED_ACTION

 @hide
*/
EXTRA_MULTIPLE_NETWORKS_CHANGED : "multipleChanges",
/** The lookup key for an integer indicating the reason a Wi-Fi network configuration
 has changed. Only present if {@link #EXTRA_MULTIPLE_NETWORKS_CHANGED} is {@code false}
 @see #CONFIGURED_NETWORKS_CHANGED_ACTION
 @hide
*/
EXTRA_CHANGE_REASON : "changeReason",
/** The configuration is new and was added.
 @hide
*/
CHANGE_REASON_ADDED : "0",
/** The configuration was removed and is no longer present in the system's list of
 configured networks.
 @hide
*/
CHANGE_REASON_REMOVED : "1",
/** The configuration has changed as a result of explicit action or because the system
 took an automated action such as disabling a malfunctioning configuration.
 @hide
*/
CHANGE_REASON_CONFIG_CHANGE : "2",
/** An access point scan has completed, and results are available.
 Call {@link #getScanResults}() to obtain the results.
 The broadcast intent may contain an extra field with the key {@link #EXTRA_RESULTS_UPDATED}
 and a {@code boolean} value indicating if the scan was successful.
*/
SCAN_RESULTS_AVAILABLE_ACTION : "android.net.wifi.SCAN_RESULTS",
/** Lookup key for a {@code boolean} extra in intent {@link #SCAN_RESULTS_AVAILABLE_ACTION}
 representing if the scan was successful or not.
 Scans may fail for multiple reasons, these may include:
 <ol>
 <li>An app requested too many scans in a certain period of time.
 This may lead to additional scan request rejections via "scan throttling" for both
 foreground and background apps.
 Note: Apps holding android.Manifest.permission.NETWORK_SETTINGS permission are
 exempted from scan throttling.
 </li>
 <li>The device is idle and scanning is disabled.</li>
 <li>Wifi hardware reported a scan failure.</li>
 </ol>
 @return true scan was successful, results are updated
 @return false scan was not successful, results haven't been updated since previous scan
*/
EXTRA_RESULTS_UPDATED : "resultsUpdated",
/** A batch of access point scans has been completed and the results areavailable.
 Call {@link #getBatchedScanResults}() to obtain the results.
 @deprecated This API is nolonger supported.
 Use {@link android.net.wifi.WifiScanner} API
 @hide
*/
BATCHED_SCAN_RESULTS_AVAILABLE_ACTION : "android.net.wifi.BATCHED_RESULTS",
/** The RSSI (signal strength) has changed.

 Receiver Required Permission: android.Manifest.permission.ACCESS_WIFI_STATE
 @see {@link #EXTRA_NEW_RSSI}
*/
RSSI_CHANGED_ACTION : "android.net.wifi.RSSI_CHANGED",
/** The lookup key for an {@code int} giving the new RSSI in dBm.
*/
EXTRA_NEW_RSSI : "newRssi",
/** Broadcast intent action indicating that the link configuration
 changed on wifi.
 @hide
*/
LINK_CONFIGURATION_CHANGED_ACTION : "android.net.wifi.LINK_CONFIGURATION_CHANGED",
/** The lookup key for a {@link android.net.LinkProperties} object associated with the
 Wi-Fi network. Retrieve with
 {@link android.content.Intent#getParcelableExtra(String)}.
 @hide
*/
EXTRA_LINK_PROPERTIES : "linkProperties",
/** The lookup key for a {@link android.net.NetworkCapabilities} object associated with the
 Wi-Fi network. Retrieve with
 {@link android.content.Intent#getParcelableExtra(String)}.
 @hide
*/
EXTRA_NETWORK_CAPABILITIES : "networkCapabilities",
/** The network IDs of the configured networks could have changed.
*/
NETWORK_IDS_CHANGED_ACTION : "android.net.wifi.NETWORK_IDS_CHANGED",
/** Activity Action: Show a system activity that allows the user to enable
 scans to be available even with Wi-Fi turned off.

 <p>Notification of the result of this activity is posted using the
 {@link android.app.Activity#onActivityResult} callback. The
 <code>resultCode</code>
 will be {@link android.app.Activity#RESULT_OK} if scan always mode has
 been turned on or {@link android.app.Activity#RESULT_CANCELED} if the user
 has rejected the request or an error has occurred.
*/
ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE : "android.net.wifi.action.REQUEST_SCAN_ALWAYS_AVAILABLE",
/** Activity Action: Pick a Wi-Fi network to connect to.
 <p>Input: Nothing.
 <p>Output: Nothing.
*/
ACTION_PICK_WIFI_NETWORK : "android.net.wifi.PICK_WIFI_NETWORK",
/** Activity Action: Show UI to get user approval to enable WiFi.
 <p>Input: {@link android.content.Intent#EXTRA_PACKAGE_NAME} string extra with
           the name of the app requesting the action.
 <p>Output: Nothing.

 @hide
*/
ACTION_REQUEST_ENABLE : "android.net.wifi.action.REQUEST_ENABLE",
/** Activity Action: Show UI to get user approval to disable WiFi.
 <p>Input: {@link android.content.Intent#EXTRA_PACKAGE_NAME} string extra with
           the name of the app requesting the action.
 <p>Output: Nothing.

 @hide
*/
ACTION_REQUEST_DISABLE : "android.net.wifi.action.REQUEST_DISABLE",
/** Directed broadcast intent action indicating that the device has connected to one of the
 network suggestions provided by the app. This will be sent post connection to a network
 which was created with {@link android.net.wifi.WifiNetworkSuggestion.Builder#setIsAppInteractionRequired(
 boolean)}
 flag set.
 <p>
 Note: The broadcast is sent to the app only if it holds
 {@link android.Manifest.permission#ACCESS_FINE_LOCATION ACCESS_FINE_LOCATION} permission.

 @see #EXTRA_NETWORK_SUGGESTION
*/
ACTION_WIFI_NETWORK_SUGGESTION_POST_CONNECTION : "android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION",
/** Sent as as a part of {@link #ACTION_WIFI_NETWORK_SUGGESTION_POST_CONNECTION} that holds
 an instance of {@link android.net.wifi.WifiNetworkSuggestion} corresponding to the connected network.
*/
EXTRA_NETWORK_SUGGESTION : "android.net.wifi.extra.NETWORK_SUGGESTION",
/** Internally used Wi-Fi lock mode representing the case were no locks are held.
 @hide
*/
WIFI_MODE_NO_LOCKS_HELD : "0",
/** In this Wi-Fi lock mode, Wi-Fi will be kept active,
 and will behave normally, i.e., it will attempt to automatically
 establish a connection to a remembered access point that is
 within range, and will do periodic scans if there are remembered
 access points but none are in range.

 @deprecated This API is non-functional and will have no impact.
*/
WIFI_MODE_FULL : "null",
/** In this Wi-Fi lock mode, Wi-Fi will be kept active,
 but the only operation that will be supported is initiation of
 scans, and the subsequent reporting of scan results. No attempts
 will be made to automatically connect to remembered access points,
 nor will periodic scans be automatically performed looking for
 remembered access points. Scans must be explicitly requested by
 an application in this mode.

 @deprecated This API is non-functional and will have no impact.
*/
WIFI_MODE_SCAN_ONLY : "null",
/** In this Wi-Fi lock mode, Wi-Fi will not go to power save.
 This results in operating with low packet latency.
 The lock is only active when the device is connected to an access point.
 The lock is active even when the device screen is off or the acquiring application is
 running in the background.
 This mode will consume more power and hence should be used only
 when there is a need for this tradeoff.
 <p>
 An example use case is when a voice connection needs to be
 kept active even after the device screen goes off.
 Holding a {@link #WIFI_MODE_FULL_HIGH_PERF} lock for the
 duration of the voice call may improve the call quality.
 <p>
 When there is no support from the hardware, the {@link #WIFI_MODE_FULL_HIGH_PERF}
 lock will have no impact.
*/
WIFI_MODE_FULL_HIGH_PERF : "null",
/** In this Wi-Fi lock mode, Wi-Fi will operate with a priority to achieve low latency.
 {@link #WIFI_MODE_FULL_LOW_LATENCY} lock has the following limitations:
 <ol>
 <li>The lock is only active when the device is connected to an access point.</li>
 <li>The lock is only active when the screen is on.</li>
 <li>The lock is only active when the acquiring app is running in the foreground.</li>
 </ol>
 Low latency mode optimizes for reduced packet latency,
 and as a result other performance measures may suffer when there are trade-offs to make:
 <ol>
 <li>Battery life may be reduced.</li>
 <li>Throughput may be reduced.</li>
 <li>Frequency of Wi-Fi scanning may be reduced. This may result in: </li>
 <ul>
 <li>The device may not roam or switch to the AP with highest signal quality.</li>
 <li>Location accuracy may be reduced.</li>
 </ul>
 </ol>
 <p>
 Example use cases are real time gaming or virtual reality applications where
 low latency is a key factor for user experience.
 <p>
 Note: For an app which acquires both {@link #WIFI_MODE_FULL_LOW_LATENCY} and
 {@link #WIFI_MODE_FULL_HIGH_PERF} locks, {@link #WIFI_MODE_FULL_LOW_LATENCY}
 lock will be effective when app is running in foreground and screen is on,
 while the {@link #WIFI_MODE_FULL_HIGH_PERF} lock will take effect otherwise.
*/
WIFI_MODE_FULL_LOW_LATENCY : "null",
/** Number of RSSI levels used in the framework to initiate
 {@link #RSSI_CHANGED_ACTION} broadcast
 @hide
*/
RSSI_LEVELS : "5",
/** Auto settings in the driver. The driver could choose to operate on both
 2.4 GHz and 5 GHz or make a dynamic decision on selecting the band.
 @hide
*/
WIFI_FREQUENCY_BAND_AUTO : "0",
/** Operation on 5 GHz alone
 @hide
*/
WIFI_FREQUENCY_BAND_5GHZ : "1",
/** Operation on 2.4 GHz alone
 @hide
*/
WIFI_FREQUENCY_BAND_2GHZ : "2",
/**@hide */
DEFAULT_POOR_NETWORK_AVOIDANCE_ENABLED : "false",
/**@hide */
HOTSPOT_STARTED : "0",
/**@hide */
HOTSPOT_STOPPED : "1",
/**@hide */
HOTSPOT_FAILED : "2",
/**@hide */
HOTSPOT_OBSERVER_REGISTERED : "3",
/**@hide */
WIFI_FEATURE_INFRA : "1",
/**@hide */
WIFI_FEATURE_INFRA_5G : "2",
/**@hide */
WIFI_FEATURE_PASSPOINT : "4",
/**@hide */
WIFI_FEATURE_P2P : "8",
/**@hide */
WIFI_FEATURE_MOBILE_HOTSPOT : "16",
/**@hide */
WIFI_FEATURE_SCANNER : "32",
/**@hide */
WIFI_FEATURE_AWARE : "64",
/**@hide */
WIFI_FEATURE_D2D_RTT : "128",
/**@hide */
WIFI_FEATURE_D2AP_RTT : "256",
/**@hide */
WIFI_FEATURE_BATCH_SCAN : "512",
/**@hide */
WIFI_FEATURE_PNO : "1024",
/**@hide */
WIFI_FEATURE_ADDITIONAL_STA : "2048",
/**@hide */
WIFI_FEATURE_TDLS : "4096",
/**@hide */
WIFI_FEATURE_TDLS_OFFCHANNEL : "8192",
/**@hide */
WIFI_FEATURE_EPR : "16384",
/**@hide */
WIFI_FEATURE_AP_STA : "32768",
/**@hide */
WIFI_FEATURE_LINK_LAYER_STATS : "65536",
/**@hide */
WIFI_FEATURE_LOGGER : "131072",
/**@hide */
WIFI_FEATURE_HAL_EPNO : "262144",
/**@hide */
WIFI_FEATURE_RSSI_MONITOR : "524288",
/**@hide */
WIFI_FEATURE_MKEEP_ALIVE : "1048576",
/**@hide */
WIFI_FEATURE_CONFIG_NDO : "2097152",
/**@hide */
WIFI_FEATURE_TRANSMIT_POWER : "4194304",
/**@hide */
WIFI_FEATURE_CONTROL_ROAMING : "8388608",
/**@hide */
WIFI_FEATURE_IE_WHITELIST : "16777216",
/**@hide */
WIFI_FEATURE_SCAN_RAND : "33554432",
/**@hide */
WIFI_FEATURE_TX_POWER_LIMIT : "67108864",
/**@hide */
WIFI_FEATURE_WPA3_SAE : "134217728",
/**@hide */
WIFI_FEATURE_WPA3_SUITE_B : "268435456",
/**@hide */
WIFI_FEATURE_OWE : "536870912",
/**@hide */
WIFI_FEATURE_LOW_LATENCY : "1073741824",
/**@hide */
WIFI_FEATURE_DPP : "-2147483648",
/**@hide */
WIFI_FEATURE_P2P_RAND_MAC : "4294967296",
/**@hide */
CONNECT_NETWORK : "151553",
/**@hide */
CONNECT_NETWORK_FAILED : "151554",
/**@hide */
CONNECT_NETWORK_SUCCEEDED : "151555",
/**@hide */
FORGET_NETWORK : "151556",
/**@hide */
FORGET_NETWORK_FAILED : "151557",
/**@hide */
FORGET_NETWORK_SUCCEEDED : "151558",
/**@hide */
SAVE_NETWORK : "151559",
/**@hide */
SAVE_NETWORK_FAILED : "151560",
/**@hide */
SAVE_NETWORK_SUCCEEDED : "151561",
/**@hide
 @deprecated This is deprecated
*/
START_WPS : "151562",
/**@hide
 @deprecated This is deprecated
*/
START_WPS_SUCCEEDED : "151563",
/**@hide
 @deprecated This is deprecated
*/
WPS_FAILED : "151564",
/**@hide
 @deprecated This is deprecated
*/
WPS_COMPLETED : "151565",
/**@hide
 @deprecated This is deprecated
*/
CANCEL_WPS : "151566",
/**@hide
 @deprecated This is deprecated
*/
CANCEL_WPS_FAILED : "151567",
/**@hide
 @deprecated This is deprecated
*/
CANCEL_WPS_SUCCEDED : "151568",
/**@hide */
DISABLE_NETWORK : "151569",
/**@hide */
DISABLE_NETWORK_FAILED : "151570",
/**@hide */
DISABLE_NETWORK_SUCCEEDED : "151571",
/**@hide */
RSSI_PKTCNT_FETCH : "151572",
/**@hide */
RSSI_PKTCNT_FETCH_SUCCEEDED : "151573",
/**@hide */
RSSI_PKTCNT_FETCH_FAILED : "151574",
/** Passed with {@link android.net.wifi.WifiManager.ActionListener#onFailure}.
 Indicates that the operation failed due to an internal error.
 @hide
*/
ERROR : "0",
/** Passed with {@link android.net.wifi.WifiManager.ActionListener#onFailure}.
 Indicates that the operation is already in progress
 @hide
*/
IN_PROGRESS : "1",
/** Passed with {@link android.net.wifi.WifiManager.ActionListener#onFailure}.
 Indicates that the operation failed because the framework is busy and
 unable to service the request
 @hide
*/
BUSY : "2",
/**WPS overlap detected
 @deprecated This is deprecated
*/
WPS_OVERLAP_ERROR : "3",
/**WEP on WPS is prohibited
 @deprecated This is deprecated
*/
WPS_WEP_PROHIBITED : "4",
/**TKIP only prohibited
 @deprecated This is deprecated
*/
WPS_TKIP_ONLY_PROHIBITED : "5",
/**Authentication failure on WPS
 @deprecated This is deprecated
*/
WPS_AUTH_FAILURE : "6",
/**WPS timed out
 @deprecated This is deprecated
*/
WPS_TIMED_OUT : "7",
/** Passed with {@link android.net.wifi.WifiManager.ActionListener#onFailure}.
 Indicates that the operation failed due to invalid inputs
 @hide
*/
INVALID_ARGS : "8",
/** Passed with {@link android.net.wifi.WifiManager.ActionListener#onFailure}.
 Indicates that the operation failed due to user permissions.
 @hide
*/
NOT_AUTHORIZED : "9",
/** Unknown device mobility state

 @see #setDeviceMobilityState(int)

 @hide
*/
DEVICE_MOBILITY_STATE_UNKNOWN : "0",
/** High movement device mobility state.
 e.g. on a bike, in a motor vehicle

 @see #setDeviceMobilityState(int)

 @hide
*/
DEVICE_MOBILITY_STATE_HIGH_MVMT : "1",
/** Low movement device mobility state.
 e.g. walking, running

 @see #setDeviceMobilityState(int)

 @hide
*/
DEVICE_MOBILITY_STATE_LOW_MVMT : "2",
/** Stationary device mobility state

 @see #setDeviceMobilityState(int)

 @hide
*/
DEVICE_MOBILITY_STATE_STATIONARY : "3",
/** Easy Connect Network role: Station.

 @hide
*/
EASY_CONNECT_NETWORK_ROLE_STA : "0",
/** Easy Connect Network role: Access Point.

 @hide
*/
EASY_CONNECT_NETWORK_ROLE_AP : "1",
/**Return a list of all the networks configured for the current foreground
 user.

 Not all fields of WifiConfiguration are returned. Only the following
 fields are filled in:
 <ul>
 <li>networkId</li>
 <li>SSID</li>
 <li>BSSID</li>
 <li>priority</li>
 <li>allowedProtocols</li>
 <li>allowedKeyManagement</li>
 <li>allowedAuthAlgorithms</li>
 <li>allowedPairwiseCiphers</li>
 <li>allowedGroupCiphers</li>
 </ul>
@return {Object {java.util.List}} a list of network configurations in the form of a list
 of {@link WifiConfiguration} objects.
@deprecated a) See {@link WifiNetworkSpecifier.Builder#build()} for new
 mechanism to trigger connection to a Wi-Fi network.
 b) See {@link #addNetworkSuggestions(List)},
 {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
 when auto-connecting to wifi.
 <b>Compatibility Note:</b> For applications targeting
 {@link android.os.Build.VERSION_CODES#Q} or above, this API will return an empty list,
 except for:
 <ul>
 <li>Device Owner (DO) & Profile Owner (PO) apps will have access to the full list.
 <li>Callers with Carrier privilege will receive a restricted list only containing
 configurations which they created.
 </ul>
*/
getConfiguredNetworks : function(  ) {},

/**
@hide 
*/
getPrivilegedConfiguredNetworks : function(  ) {},

/**Returns a list of all matching WifiConfigurations for a given list of ScanResult.

 An empty list will be returned when no configurations are installed or if no configurations
 match the ScanResult.
@param {Object {java.util.List}} scanResults a list of scanResult that represents the BSSID
@return {Object {java.util.List}} List that consists of {@link WifiConfiguration} and corresponding scanResults per
 network type({@link #PASSPOINT_HOME_NETWORK} and {@link #PASSPOINT_ROAMING_NETWORK}).
@hide 
*/
getAllMatchingWifiConfigs : function(  ) {},

/**Returns a list of unique Hotspot 2.0 OSU (Online Sign-Up) providers associated with a given
 list of ScanResult.

 An empty list will be returned if no match is found.
@param {Object {java.util.List}} scanResults a list of ScanResult
@return {Object {java.util.Map}} Map that consists {@link OsuProvider} and a list of matching {@link ScanResult}
@hide 
*/
getMatchingOsuProviders : function(  ) {},

/**Returns the matching Passpoint R2 configurations for given OSU (Online Sign-Up) providers.

 Given a list of OSU providers, this only returns OSU providers that already have Passpoint R2
 configurations in the device.
 An empty map will be returned when there is no matching Passpoint R2 configuration for the
 given OsuProviders.
@param {Object {java.util.Set}} osuProviders a set of {@link OsuProvider}
@return {Object {java.util.Map}} Map that consists of {@link OsuProvider} and matching {@link PasspointConfiguration}.
@hide 
*/
getMatchingPasspointConfigsForOsuProviders : function(  ) {},

/**Add a new network description to the set of configured networks.
 The {@code networkId} field of the supplied configuration object
 is ignored.
 <p/>
 The new network will be marked DISABLED by default. To enable it,
 called {@link #enableNetwork}.
@param {Object {WifiConfiguration}} config the set of variables that describe the configuration,
            contained in a {@link WifiConfiguration} object.
            If the {@link WifiConfiguration} has an Http Proxy set
            the calling app must be System, or be provisioned as the Profile or Device Owner.
@return {Number} the ID of the newly created network description. This is used in
         other operations to specified the network to be acted upon.
         Returns {@code -1} on failure.
@deprecated a) See {@link WifiNetworkSpecifier.Builder#build()} for new
 mechanism to trigger connection to a Wi-Fi network.
 b) See {@link #addNetworkSuggestions(List)},
 {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
 when auto-connecting to wifi.
 <b>Compatibility Note:</b> For applications targeting
 {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return {@code -1}.
*/
addNetwork : function(  ) {},

/**Update the network description of an existing configured network.
@param {Object {WifiConfiguration}} config the set of variables that describe the configuration,
            contained in a {@link WifiConfiguration} object. It may
            be sparse, so that only the items that are being changed
            are non-<code>null</code>. The {@code networkId} field
            must be set to the ID of the existing network being updated.
            If the {@link WifiConfiguration} has an Http Proxy set
            the calling app must be System, or be provisioned as the Profile or Device Owner.
@return {Number} Returns the {@code networkId} of the supplied
         {@code WifiConfiguration} on success.
         <br/>
         Returns {@code -1} on failure, including when the {@code networkId}
         field of the {@code WifiConfiguration} does not refer to an
         existing network.
@deprecated a) See {@link WifiNetworkSpecifier.Builder#build()} for new
 mechanism to trigger connection to a Wi-Fi network.
 b) See {@link #addNetworkSuggestions(List)},
 {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
 when auto-connecting to wifi.
 <b>Compatibility Note:</b> For applications targeting
 {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return {@code -1}.
*/
updateNetwork : function(  ) {},

/**Registers a callback for NetworkRequest matches. See {@link android.net.wifi.WifiManager.NetworkRequestMatchCallback}.
 Caller can unregister a previously registered callback using
 {@link #unregisterNetworkRequestMatchCallback}(NetworkRequestMatchCallback)
 <p>
 Applications should have the
 {@link android.Manifest.permission#NETWORK_SETTINGS} permission. Callers
 without the permission will trigger a {@link java.lang.SecurityException}.
 <p>
@param {Object {WifiManager.NetworkRequestMatchCallback}} callback Callback for network match events
@param {Object {Handler}} handler  The Handler on whose thread to execute the callbacks of the {@code callback}
                 object. If null, then the application's main thread will be used.
@hide 
*/
registerNetworkRequestMatchCallback : function(  ) {},

/**Unregisters a callback for NetworkRequest matches. See {@link android.net.wifi.WifiManager.NetworkRequestMatchCallback}.
 <p>
 Applications should have the
 {@link android.Manifest.permission#NETWORK_SETTINGS} permission. Callers
 without the permission will trigger a {@link java.lang.SecurityException}.
 <p>
@param {Object {WifiManager.NetworkRequestMatchCallback}} callback Callback for network match events
@hide 
*/
unregisterNetworkRequestMatchCallback : function(  ) {},

/**Provide a list of network suggestions to the device. See {@link android.net.wifi.WifiNetworkSuggestion}
 for a detailed explanation of the parameters.
 When the device decides to connect to one of the provided network suggestions, platform sends
 a directed broadcast {@link #ACTION_WIFI_NETWORK_SUGGESTION_POST_CONNECTION} to the app if
 the network was created with {@link android.net.wifi.WifiNetworkSuggestion.Builder
 #setIsAppInteractionRequired()} flag set and the app holds
 {@link android.Manifest.permission#ACCESS_FINE_LOCATION ACCESS_FINE_LOCATION} permission.
<p>
 NOTE:
 <li> These networks are just a suggestion to the platform. The platform will ultimately
 decide on which network the device connects to. </li>
 <li> When an app is uninstalled, all its suggested networks are discarded. If the device is
 currently connected to a suggested network which is being removed then the device will
 disconnect from that network.</li>
 <li> No in-place modification of existing suggestions are allowed. Apps are expected to
 remove suggestions using {@link #removeNetworkSuggestions}(List) and then add the modified
 suggestion back using this API.</li>
@param {Object {java.util.List}} networkSuggestions List of network suggestions provided by the app.
@return {Number} Status code for the operation. One of the STATUS_NETWORK_SUGGESTIONS_ values.
 {@link WifiNetworkSuggestion#equals(Object)} any previously provided suggestions by the app.
@throws {@link SecurityException} if the caller is missing required permissions.
*/
addNetworkSuggestions : function(  ) {},

/**Remove some or all of the network suggestions that were previously provided by the app.
 See {@link android.net.wifi.WifiNetworkSuggestion} for a detailed explanation of the parameters.
 See {@link android.net.wifi.WifiNetworkSuggestion#equals(Object)} for the equivalence evaluation used.
@param {Object {java.util.List}} networkSuggestions List of network suggestions to be removed. Pass an empty list
                           to remove all the previous suggestions provided by the app.
@return {Number} Status code for the operation. One of the STATUS_NETWORK_SUGGESTIONS_ values.
 Any matching suggestions are removed from the device and will not be considered for any
 further connection attempts.
*/
removeNetworkSuggestions : function(  ) {},

/**Returns the max number of network suggestions that are allowed per app on the device.
@see #addNetworkSuggestions(List)
@see #removeNetworkSuggestions(List)
*/
getMaxNumberOfNetworkSuggestionsPerApp : function(  ) {},

/**Add or update a Passpoint configuration.  The configuration provides a credential
 for connecting to Passpoint networks that are operated by the Passpoint
 service provider specified in the configuration.

 Each configuration is uniquely identified by its FQDN (Fully Qualified Domain
 Name).  In the case when there is an existing configuration with the same
 FQDN, the new configuration will replace the existing configuration.
@param {Object {PasspointConfiguration}} config The Passpoint configuration to be added
@throws IllegalArgumentException if configuration is invalid or Passpoint is not enabled on
                                  the device.
*/
addOrUpdatePasspointConfiguration : function(  ) {},

/**Remove the Passpoint configuration identified by its FQDN (Fully Qualified Domain Name).
@param {String} fqdn The FQDN of the Passpoint configuration to be removed
@throws IllegalArgumentException if no configuration is associated with the given FQDN or
                                  Passpoint is not enabled on the device.
@deprecated This is no longer supported.
*/
removePasspointConfiguration : function(  ) {},

/**Return the list of installed Passpoint configurations.

 An empty list will be returned when no configurations are installed.
@return {Object {java.util.List}} A list of {@link PasspointConfiguration}
@deprecated This is no longer supported.
*/
getPasspointConfigurations : function(  ) {},

/**Query for a Hotspot 2.0 release 2 OSU icon file. An {@link #ACTION_PASSPOINT_ICON} intent
 will be broadcasted once the request is completed.  The presence of the intent extra
 {@link #EXTRA_ICON} will indicate the result of the request.
 A missing intent extra {@link #EXTRA_ICON} will indicate a failure.
@param {Number} bssid The BSSID of the AP
@param {String} fileName Name of the icon file (remote file) to query from the AP
@throws UnsupportedOperationException if Passpoint is not enabled on the device.
@hide 
*/
queryPasspointIcon : function(  ) {},

/**Match the currently associated network against the SP matching the given FQDN
@param {String} fqdn FQDN of the SP
@return {Number} ordinal [HomeProvider, RoamingProvider, Incomplete, None, Declined]
@hide 
*/
matchProviderWithCurrentNetwork : function(  ) {},

/**Deauthenticate and set the re-authentication hold off time for the current network
@param {Number} holdoff hold off time in milliseconds
@param {Boolean} ess set if the hold off pertains to an ESS rather than a BSS
@hide 
*/
deauthenticateNetwork : function(  ) {},

/**Remove the specified network from the list of configured networks.
 This may result in the asynchronous delivery of state change
 events.

 Applications are not allowed to remove networks created by other
 applications.
@param {Number} netId the ID of the network as returned by {@link #addNetwork} or {@link
        #getConfiguredNetworks}.
@return {Boolean} {@code true} if the operation succeeded
@deprecated a) See {@link WifiNetworkSpecifier.Builder#build()} for new
 mechanism to trigger connection to a Wi-Fi network.
 b) See {@link #addNetworkSuggestions(List)},
 {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
 when auto-connecting to wifi.
 <b>Compatibility Note:</b> For applications targeting
 {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return false.
*/
removeNetwork : function(  ) {},

/**Allow a previously configured network to be associated with. If
 <code>attemptConnect</code> is true, an attempt to connect to the selected
 network is initiated. This may result in the asynchronous delivery
 of state change events.
 <p>
 <b>Note:</b> Network communication may not use Wi-Fi even if Wi-Fi is connected;
 traffic may instead be sent through another network, such as cellular data,
 Bluetooth tethering, or Ethernet. For example, traffic will never use a
 Wi-Fi network that does not provide Internet access (e.g. a wireless
 printer), if another network that does offer Internet access (e.g.
 cellular data) is available. Applications that need to ensure that their
 network traffic uses Wi-Fi should use APIs such as
 {@link Network#bindSocket(java.net.Socket)},
 {@link Network#openConnection(java.net.URL)}, or
 {@link ConnectivityManager#bindProcessToNetwork} to do so.

 Applications are not allowed to enable networks created by other
 applications.
@param {Number} netId the ID of the network as returned by {@link #addNetwork} or {@link
        #getConfiguredNetworks}.
@param {Boolean} attemptConnect The way to select a particular network to connect to is specify
        {@code true} for this parameter.
@return {Boolean} {@code true} if the operation succeeded
@deprecated a) See {@link WifiNetworkSpecifier.Builder#build()} for new
 mechanism to trigger connection to a Wi-Fi network.
 b) See {@link #addNetworkSuggestions(List)},
 {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
 when auto-connecting to wifi.
 <b>Compatibility Note:</b> For applications targeting
 {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return false.
*/
enableNetwork : function(  ) {},

/**Disable a configured network. The specified network will not be
 a candidate for associating. This may result in the asynchronous
 delivery of state change events.

 Applications are not allowed to disable networks created by other
 applications.
@param {Number} netId the ID of the network as returned by {@link #addNetwork} or {@link
        #getConfiguredNetworks}.
@return {Boolean} {@code true} if the operation succeeded
@deprecated a) See {@link WifiNetworkSpecifier.Builder#build()} for new
 mechanism to trigger connection to a Wi-Fi network.
 b) See {@link #addNetworkSuggestions(List)},
 {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
 when auto-connecting to wifi.
 <b>Compatibility Note:</b> For applications targeting
 {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return false.
*/
disableNetwork : function(  ) {},

/**Disassociate from the currently active access point. This may result
 in the asynchronous delivery of state change events.
@return {Boolean} {@code true} if the operation succeeded
@deprecated a) See {@link WifiNetworkSpecifier.Builder#build()} for new
 mechanism to trigger connection to a Wi-Fi network.
 b) See {@link #addNetworkSuggestions(List)},
 {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
 when auto-connecting to wifi.
 <b>Compatibility Note:</b> For applications targeting
 {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return false.
*/
disconnect : function(  ) {},

/**Reconnect to the currently active access point, if we are currently
 disconnected. This may result in the asynchronous delivery of state
 change events.
@return {Boolean} {@code true} if the operation succeeded
@deprecated a) See {@link WifiNetworkSpecifier.Builder#build()} for new
 mechanism to trigger connection to a Wi-Fi network.
 b) See {@link #addNetworkSuggestions(List)},
 {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
 when auto-connecting to wifi.
 <b>Compatibility Note:</b> For applications targeting
 {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return false.
*/
reconnect : function(  ) {},

/**Reconnect to the currently active access point, even if we are already
 connected. This may result in the asynchronous delivery of state
 change events.
@return {Boolean} {@code true} if the operation succeeded
@deprecated a) See {@link WifiNetworkSpecifier.Builder#build()} for new
 mechanism to trigger connection to a Wi-Fi network.
 b) See {@link #addNetworkSuggestions(List)},
 {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
 when auto-connecting to wifi.
 <b>Compatibility Note:</b> For applications targeting
 {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return false.
*/
reassociate : function(  ) {},

/**Check that the supplicant daemon is responding to requests.
@return {Boolean} {@code true} if we were able to communicate with the supplicant and
 it returned the expected response to the PING message.
@deprecated Will return the output of {@link #isWifiEnabled()} instead.
*/
pingSupplicant : function(  ) {},

/**
@return {Boolean} true if this adapter supports 5 GHz band
*/
is5GHzBandSupported : function(  ) {},

/**
@return {Boolean} true if this adapter supports Passpoint
@hide 
*/
isPasspointSupported : function(  ) {},

/**
@return {Boolean} true if this adapter supports WifiP2pManager (Wi-Fi Direct)
*/
isP2pSupported : function(  ) {},

/**
@return {Boolean} true if this adapter supports portable Wi-Fi hotspot
@hide 
*/
isPortableHotspotSupported : function(  ) {},

/**
@return {Boolean} true if this adapter supports WifiScanner APIs
@hide 
*/
isWifiScannerSupported : function(  ) {},

/**
@return {Boolean} true if this adapter supports Neighbour Awareness Network APIs
@hide 
*/
isWifiAwareSupported : function(  ) {},

/**
@deprecated Please use {@link android.content.pm.PackageManager#hasSystemFeature(String)}
 with {@link android.content.pm.PackageManager#FEATURE_WIFI_RTT} and
 {@link android.content.pm.PackageManager#FEATURE_WIFI_AWARE}.
@return {Boolean} true if this adapter supports Device-to-device RTT
@hide 
*/
isDeviceToDeviceRttSupported : function(  ) {},

/**
@deprecated Please use {@link android.content.pm.PackageManager#hasSystemFeature(String)}
 with {@link android.content.pm.PackageManager#FEATURE_WIFI_RTT}.
@return {Boolean} true if this adapter supports Device-to-AP RTT
*/
isDeviceToApRttSupported : function(  ) {},

/**
@return {Boolean} true if this adapter supports offloaded connectivity scan
*/
isPreferredNetworkOffloadSupported : function(  ) {},

/**
@return {Boolean} true if this adapter supports multiple simultaneous connections
@hide 
*/
isAdditionalStaSupported : function(  ) {},

/**
@return {Boolean} true if this adapter supports Tunnel Directed Link Setup
*/
isTdlsSupported : function(  ) {},

/**
@return {Boolean} true if this adapter supports Off Channel Tunnel Directed Link Setup
@hide 
*/
isOffChannelTdlsSupported : function(  ) {},

/**
@return {Boolean} true if this adapter supports advanced power/performance counters
*/
isEnhancedPowerReportingSupported : function(  ) {},

/**Return the record of {@link android.net.wifi.WifiActivityEnergyInfo} object that
 has the activity and energy info. This can be used to ascertain what
 the controller has been up to, since the last sample.
@return {Object {android.net.wifi.WifiActivityEnergyInfo}} a record with {@link WifiActivityEnergyInfo} or null if
 report is unavailable or unsupported
@hide 
*/
getControllerActivityEnergyInfo : function(  ) {},

/**Request a scan for access points. Returns immediately. The availability
 of the results is made known later by means of an asynchronous event sent
 on completion of the scan.
 <p>
 To initiate a Wi-Fi scan, declare the
 {@link android.Manifest.permission#CHANGE_WIFI_STATE}
 permission in the manifest, and perform these steps:
 </p>
 <ol style="1">
 <li>Invoke the following method:
 {@code ((WifiManager) getSystemService(WIFI_SERVICE)).startScan()}</li>
 <li>
 Register a BroadcastReceiver to listen to
 {@code SCAN_RESULTS_AVAILABLE_ACTION}.</li>
 <li>When a broadcast is received, call:
 {@code ((WifiManager) getSystemService(WIFI_SERVICE)).getScanResults()}</li>
 </ol>
@return {Boolean} {@code true} if the operation succeeded, i.e., the scan was initiated.
@deprecated The ability for apps to trigger scan requests will be removed in a future
 release.
*/
startScan : function(  ) {},

/**
@hide 
*/
startScan : function(  ) {},

/**WPS has been deprecated from Client mode operation.
@return {String} null
@hide 
@deprecated This API is deprecated
*/
getCurrentNetworkWpsNfcConfigurationToken : function(  ) {},

/**Return dynamic information about the current Wi-Fi connection, if any is active.
 <p>
 In the connected state, access to the SSID and BSSID requires
 the same permissions as {@link #getScanResults}. If such access is not allowed,
 {@link android.net.wifi.WifiInfo#getSSID} will return {@code "<unknown ssid>"} and
 {@link android.net.wifi.WifiInfo#getBSSID} will return {@code "02:00:00:00:00:00"}.
@return {Object {android.net.wifi.WifiInfo}} the Wi-Fi information, contained in {@link WifiInfo}.
*/
getConnectionInfo : function(  ) {},

/**Return the results of the latest access point scan.
@return {Object {java.util.List}} the list of access points found in the most recent scan. An app must hold
 {@link android.Manifest.permission#ACCESS_FINE_LOCATION ACCESS_FINE_LOCATION} permission
 in order to get valid results.
*/
getScanResults : function(  ) {},

/**Check if scanning is always available.

 If this return {@code true}, apps can issue {@link #startScan} and fetch scan results
 even when Wi-Fi is turned off.

 To change this setting, see {@link #ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE}.
@deprecated The ability for apps to trigger scan requests will be removed in a future
 release.
*/
isScanAlwaysAvailable : function(  ) {},

/**Tell the device to persist the current list of configured networks.
 <p>
 Note: It is possible for this method to change the network IDs of
 existing networks. You should assume the network IDs can be different
 after calling this method.
@return {Boolean} {@code false}.
@deprecated There is no need to call this method -
 {@link #addNetwork(WifiConfiguration)}, {@link #updateNetwork(WifiConfiguration)}
 and {@link #removeNetwork(int)} already persist the configurations automatically.
*/
saveConfiguration : function(  ) {},

/**Set the country code.
@param {String} countryCode country code in ISO 3166 format.
@hide 
*/
setCountryCode : function(  ) {},

/**get the country code.
@return {String} the country code in ISO 3166 format.
@hide 
*/
getCountryCode : function(  ) {},

/**Check if the chipset supports dual frequency band (2.4 GHz and 5 GHz)
@return {Boolean} {@code true} if supported, {@code false} otherwise.
@hide 
*/
isDualBandSupported : function(  ) {},

/**Check if the chipset requires conversion of 5GHz Only apBand to ANY.
@return {Boolean} {@code true} if required, {@code false} otherwise.
@hide 
*/
isDualModeSupported : function(  ) {},

/**Return the DHCP-assigned addresses from the last successful DHCP request,
 if any.
@return {Object {android.net.DhcpInfo}} the DHCP information
*/
getDhcpInfo : function(  ) {},

/**Enable or disable Wi-Fi.
 <p>
 Applications must have the {@link android.Manifest.permission#CHANGE_WIFI_STATE}
 permission to toggle wifi.
@param {Boolean} enabled {@code true} to enable, {@code false} to disable.
@return {Boolean} {@code false} if the request cannot be satisfied; {@code true} indicates that wifi is
         either already in the requested state, or in progress toward the requested state.
@throws {@link java.lang.SecurityException} if the caller is missing required permissions.
@deprecated Starting with Build.VERSION_CODES#Q, applications are not allowed to
 enable/disable Wi-Fi.
 <b>Compatibility Note:</b> For applications targeting
 {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return {@code false}
 and will have no effect. If apps are targeting an older SDK (
 {@link android.os.Build.VERSION_CODES#P} or below), they can continue to use this API.
*/
setWifiEnabled : function(  ) {},

/**Gets the Wi-Fi enabled state.
@return {Number} One of {@link #WIFI_STATE_DISABLED},
         {@link #WIFI_STATE_DISABLING}, {@link #WIFI_STATE_ENABLED},
         {@link #WIFI_STATE_ENABLING}, {@link #WIFI_STATE_UNKNOWN}
@see #isWifiEnabled()
*/
getWifiState : function(  ) {},

/**Return whether Wi-Fi is enabled or disabled.
@return {Boolean} {@code true} if Wi-Fi is enabled
@see #getWifiState()
*/
isWifiEnabled : function(  ) {},

/**Return TX packet counter, for CTS test of WiFi watchdog.
@param {Object {WifiManager.TxPacketCountListener}} listener is the interface to receive result
@hide for CTS test only
*/
getTxPacketCount : function(  ) {},

/**Calculates the level of the signal. This should be used any time a signal
 is being shown.
@param {Number} rssi The power of the signal measured in RSSI.
@param {Number} numLevels The number of levels to consider in the calculated
            level.
@return {Number} A level of the signal, given in the range of 0 to numLevels-1
         (both inclusive).
*/
calculateSignalLevel : function(  ) {},

/**Compares two signal strengths.
@param {Number} rssiA The power of the first signal measured in RSSI.
@param {Number} rssiB The power of the second signal measured in RSSI.
@return {Number} Returns <0 if the first signal is weaker than the second signal,
         0 if the two signals have the same strength, and >0 if the first
         signal is stronger than the second signal.
*/
compareSignalLevel : function(  ) {},

/**Call allowing ConnectivityService to update WifiService with interface mode changes.

 The possible modes include: {@link IFACE_IP_MODE_TETHERED},
                             {@link IFACE_IP_MODE_LOCAL_ONLY},
                             {@link IFACE_IP_MODE_CONFIGURATION_ERROR}
@param {String} ifaceName String name of the updated interface
@param {Number} mode int representing the new mode
@hide 
*/
updateInterfaceIpState : function(  ) {},

/**Start SoftAp mode with the specified configuration.
 Note that starting in access point mode disables station
 mode operation
@param {Object {WifiConfiguration}} wifiConfig SSID, security and channel details as
        part of WifiConfiguration
@return {Boolean} {@code true} if the operation succeeds, {@code false} otherwise
@hide 
*/
startSoftAp : function(  ) {},

/**Stop SoftAp mode.
 Note that stopping softap mode will restore the previous wifi mode.
@return {Boolean} {@code true} if the operation succeeds, {@code false} otherwise
@hide 
*/
stopSoftAp : function(  ) {},

/**Request a local only hotspot that an application can use to communicate between co-located
 devices connected to the created WiFi hotspot.  The network created by this method will not
 have Internet access.  Each application can make a single request for the hotspot, but
 multiple applications could be requesting the hotspot at the same time.  When multiple
 applications have successfully registered concurrently, they will be sharing the underlying
 hotspot. {@link android.net.wifi.WifiManager.LocalOnlyHotspotCallback#onStarted(LocalOnlyHotspotReservation)} is called
 when the hotspot is ready for use by the application.
 <p>
 Each application can make a single active call to this method. The {@link android.net.wifi.WifiManager.LocalOnlyHotspotCallback#onStarted(LocalOnlyHotspotReservation)} callback supplies the
 requestor with a {@link android.net.wifi.WifiManager.LocalOnlyHotspotReservation} that contains a
 {@link android.net.wifi.WifiConfiguration} with the SSID, security type and credentials needed to connect
 to the hotspot.  Communicating this information is up to the application.
 <p>
 If the LocalOnlyHotspot cannot be created, the {@link android.net.wifi.WifiManager.LocalOnlyHotspotCallback#onFailed(int)}
 method will be called. Example failures include errors bringing up the network or if
 there is an incompatible operating mode.  For example, if the user is currently using Wifi
 Tethering to provide an upstream to another device, LocalOnlyHotspot will not start due to
 an incompatible mode. The possible error codes include:
 {@link android.net.wifi.WifiManager.LocalOnlyHotspotCallback#ERROR_NO_CHANNEL},
 {@link android.net.wifi.WifiManager.LocalOnlyHotspotCallback#ERROR_GENERIC},
 {@link android.net.wifi.WifiManager.LocalOnlyHotspotCallback#ERROR_INCOMPATIBLE_MODE} and
 {@link android.net.wifi.WifiManager.LocalOnlyHotspotCallback#ERROR_TETHERING_DISALLOWED}.
 <p>
 Internally, requests will be tracked to prevent the hotspot from being torn down while apps
 are still using it.  The {@link android.net.wifi.WifiManager.LocalOnlyHotspotReservation} object passed in the  {@link android.net.wifi.WifiManager.LocalOnlyHotspotCallback#onStarted(LocalOnlyHotspotReservation)} call should be closed when
 the LocalOnlyHotspot is no longer needed using {@link android.net.wifi.WifiManager.LocalOnlyHotspotReservation#close()}.
 Since the hotspot may be shared among multiple applications, removing the final registered
 application request will trigger the hotspot teardown.  This means that applications should
 not listen to broadcasts containing wifi state to determine if the hotspot was stopped after
 they are done using it. Additionally, once {@link android.net.wifi.WifiManager.LocalOnlyHotspotReservation#close()} is
 called, applications will not receive callbacks of any kind.
 <p>
 Applications should be aware that the user may also stop the LocalOnlyHotspot through the
 Settings UI; it is not guaranteed to stay up as long as there is a requesting application.
 The requestors will be notified of this case via
 {@link android.net.wifi.WifiManager.LocalOnlyHotspotCallback#onStopped()}.  Other cases may arise where the hotspot is
 torn down (Emergency mode, etc).  Application developers should be aware that it can stop
 unexpectedly, but they will receive a notification if they have properly registered.
 <p>
 Applications should also be aware that this network will be shared with other applications.
 Applications are responsible for protecting their data on this network (e.g., TLS).
 <p>
 Applications need to have the following permissions to start LocalOnlyHotspot: {@link android.Manifest.permission#CHANGE_WIFI_STATE} and {@link android.Manifest.permission#ACCESS_FINE_LOCATION ACCESS_FINE_LOCATION}.  Callers without
 the permissions will trigger a {@link java.lang.SecurityException}.
 <p>
@param {Object {WifiManager.LocalOnlyHotspotCallback}} callback LocalOnlyHotspotCallback for the application to receive updates about
 operating status.
@param {Object {Handler}} handler Handler to be used for callbacks.  If the caller passes a null Handler, the
 main thread will be used.
*/
startLocalOnlyHotspot : function(  ) {},

/**Cancels a pending local only hotspot request.  This can be used by the calling application to
 cancel the existing request if the provided callback has not been triggered.  Calling this
 method will be equivalent to closing the returned LocalOnlyHotspotReservation, but it is not
 explicitly required.
 <p>
 When cancelling this request, application developers should be aware that there may still be
 outstanding local only hotspot requests and the hotspot may still start, or continue running.
 Additionally, if a callback was registered, it will no longer be triggered after calling
 cancel.
@hide 
*/
cancelLocalOnlyHotspotRequest : function(  ) {},

/**Allow callers (Settings UI) to watch LocalOnlyHotspot state changes.  Callers will
 receive a {@link android.net.wifi.WifiManager.LocalOnlyHotspotSubscription} object as a parameter of the
 {@link android.net.wifi.WifiManager.LocalOnlyHotspotObserver#onRegistered(LocalOnlyHotspotSubscription)}. The registered
 callers will receive the {@link android.net.wifi.WifiManager.LocalOnlyHotspotObserver#onStarted(WifiConfiguration)} and
 {@link android.net.wifi.WifiManager.LocalOnlyHotspotObserver#onStopped()} callbacks.
 <p>
 Applications should have the
 {@link android.Manifest.permission#ACCESS_FINE_LOCATION ACCESS_FINE_LOCATION}
 permission.  Callers without the permission will trigger a
 {@link java.lang.SecurityException}.
 <p>
@param {Object {WifiManager.LocalOnlyHotspotObserver}} observer LocalOnlyHotspotObserver callback.
@param {Object {Handler}} handler Handler to use for callbacks
@hide 
*/
watchLocalOnlyHotspot : function(  ) {},

/**Allow callers to stop watching LocalOnlyHotspot state changes.  After calling this method,
 applications will no longer receive callbacks.
@hide 
*/
unregisterLocalOnlyHotspotObserver : function(  ) {},

/**Gets the Wi-Fi enabled state.
@return {Number} One of {@link #WIFI_AP_STATE_DISABLED},
         {@link #WIFI_AP_STATE_DISABLING}, {@link #WIFI_AP_STATE_ENABLED},
         {@link #WIFI_AP_STATE_ENABLING}, {@link #WIFI_AP_STATE_FAILED}
@see #isWifiApEnabled()
@hide 
*/
getWifiApState : function(  ) {},

/**Return whether Wi-Fi AP is enabled or disabled.
@return {Boolean} {@code true} if Wi-Fi AP is enabled
@see #getWifiApState()
@hide 
*/
isWifiApEnabled : function(  ) {},

/**Gets the Wi-Fi AP Configuration.
@return {Object {android.net.wifi.WifiConfiguration}} AP details in WifiConfiguration
@hide 
*/
getWifiApConfiguration : function(  ) {},

/**Sets the Wi-Fi AP Configuration.  The AP configuration must either be open or
 WPA2 PSK networks.
@return {Boolean} {@code true} if the operation succeeded, {@code false} otherwise
@hide 
*/
setWifiApConfiguration : function(  ) {},

/**Method that triggers a notification to the user about a conversion to their saved AP config.
@hide 
*/
notifyUserOfApBandConversion : function(  ) {},

/**Enable/Disable TDLS on a specific local route.

 <p>
 TDLS enables two wireless endpoints to talk to each other directly
 without going through the access point that is managing the local
 network. It saves bandwidth and improves quality of the link.
 </p>
 <p>
 This API enables/disables the option of using TDLS. If enabled, the
 underlying hardware is free to use TDLS or a hop through the access
 point. If disabled, existing TDLS session is torn down and
 hardware is restricted to use access point for transferring wireless
 packets. Default value for all routes is 'disabled', meaning restricted
 to use access point for transferring packets.
 </p>
@param {Object {InetAddress}} remoteIPAddress IP address of the endpoint to setup TDLS with
@param {Boolean} enable true = setup and false = tear down TDLS
*/
setTdlsEnabled : function(  ) {},

/**Similar to {@link #setTdlsEnabled(InetAddress, boolean) }, except
 this version allows you to specify remote endpoint with a MAC address.
@param {String} remoteMacAddress MAC address of the remote endpoint such as 00:00:0c:9f:f2:ab
@param {Boolean} enable true = setup and false = tear down TDLS
*/
setTdlsEnabledWithMacAddress : function(  ) {},

/**Registers a callback for Soft AP. See {@link android.net.wifi.WifiManager.SoftApCallback}. Caller will receive the current
 soft AP state and number of connected devices immediately after a successful call to this API
 via callback. Note that receiving an immediate WIFI_AP_STATE_FAILED value for soft AP state
 indicates that the latest attempt to start soft AP has failed. Caller can unregister a
 previously registered callback using {@link unregisterSoftApCallback}
 <p>
 Applications should have the
 {@link android.Manifest.permission#NETWORK_SETTINGS NETWORK_SETTINGS} permission. Callers
 without the permission will trigger a {@link java.lang.SecurityException}.
 <p>
@param {Object {WifiManager.SoftApCallback}} callback Callback for soft AP events
@param {Object {Handler}} handler  The Handler on whose thread to execute the callbacks of the {@code callback}
                 object. If null, then the application's main thread will be used.
@hide 
*/
registerSoftApCallback : function(  ) {},

/**Allow callers to unregister a previously registered callback. After calling this method,
 applications will no longer receive soft AP events.
@param {Object {WifiManager.SoftApCallback}} callback Callback to unregister for soft AP events
@hide 
*/
unregisterSoftApCallback : function(  ) {},

/**Connect to a network with the given configuration. The network also
 gets added to the list of configured networks for the foreground user.

 For a new network, this function is used instead of a
 sequence of addNetwork(), enableNetwork(), and reconnect()
@param {Object {WifiConfiguration}} config the set of variables that describe the configuration,
            contained in a {@link WifiConfiguration} object.
@param {Object {WifiManager.ActionListener}} listener for callbacks on success or failure. Can be null.
@throws IllegalStateException if the WifiManager instance needs to be
 initialized again
@hide 
*/
connect : function(  ) {},

/**Connect to a network with the given networkId.

 This function is used instead of a enableNetwork() and reconnect()
@param {Number} networkId the ID of the network as returned by {@link #addNetwork} or {@link
        getConfiguredNetworks}.
@param {Object {WifiManager.ActionListener}} listener for callbacks on success or failure. Can be null.
@throws IllegalStateException if the WifiManager instance needs to be
 initialized again
@hide 
*/
connect : function(  ) {},

/**Save the given network to the list of configured networks for the
 foreground user. If the network already exists, the configuration
 is updated. Any new network is enabled by default.

 For a new network, this function is used instead of a
 sequence of addNetwork() and enableNetwork().

 For an existing network, it accomplishes the task of updateNetwork()

 This API will cause reconnect if the crecdentials of the current active
 connection has been changed.
@param {Object {WifiConfiguration}} config the set of variables that describe the configuration,
            contained in a {@link WifiConfiguration} object.
@param {Object {WifiManager.ActionListener}} listener for callbacks on success or failure. Can be null.
@throws IllegalStateException if the WifiManager instance needs to be
 initialized again
@hide 
*/
save : function(  ) {},

/**Delete the network from the list of configured networks for the
 foreground user.

 This function is used instead of a sequence of removeNetwork()
@param {Number} config the set of variables that describe the configuration,
            contained in a {@link WifiConfiguration} object.
@param {Object {WifiManager.ActionListener}} listener for callbacks on success or failure. Can be null.
@throws IllegalStateException if the WifiManager instance needs to be
 initialized again
@hide 
*/
forget : function(  ) {},

/**Disable network
@param {Number} netId is the network Id
@param {Object {WifiManager.ActionListener}} listener for callbacks on success or failure. Can be null.
@throws IllegalStateException if the WifiManager instance needs to be
 initialized again
@hide 
*/
disable : function(  ) {},

/**Disable ephemeral Network
@param {String} SSID, in the format of WifiConfiguration's SSID.
@hide 
*/
disableEphemeralNetwork : function(  ) {},

/**WPS suport has been deprecated from Client mode and this method will immediately trigger
 {@link android.net.wifi.WifiManager.WpsCallback#onFailed(int)} with a generic error.
@param {Object {WpsInfo}} config WPS configuration (does not support {@link WpsInfo#LABEL})
@param {Object {WifiManager.WpsCallback}} listener for callbacks on success or failure. Can be null.
@throws IllegalStateException if the WifiManager instance needs to be initialized again
@deprecated This API is deprecated
*/
startWps : function(  ) {},

/**WPS support has been deprecated from Client mode and this method will immediately trigger
 {@link android.net.wifi.WifiManager.WpsCallback#onFailed(int)} with a generic error.
@param {Object {WifiManager.WpsCallback}} listener for callbacks on success or failure. Can be null.
@throws IllegalStateException if the WifiManager instance needs to be initialized again
@deprecated This API is deprecated
*/
cancelWps : function(  ) {},

/**Creates a new WifiLock.
@param {Number} lockType the type of lock to create. See {@link #WIFI_MODE_FULL_HIGH_PERF}
 and {@link #WIFI_MODE_FULL_LOW_LATENCY} for descriptions of the types of Wi-Fi locks.
@param {String} tag a tag for the WifiLock to identify it in debugging messages.  This string is
            never shown to the user under normal conditions, but should be descriptive
            enough to identify your application and the specific WifiLock within it, if it
            holds multiple WifiLocks.
@return {Object {android.net.wifi.WifiManager.WifiLock}} a new, unacquired WifiLock with the given tag.
@see WifiLock
*/
createWifiLock : function(  ) {},

/**Creates a new WifiLock.
@param {String} tag a tag for the WifiLock to identify it in debugging messages.  This string is
            never shown to the user under normal conditions, but should be descriptive
            enough to identify your application and the specific WifiLock within it, if it
            holds multiple WifiLocks.
@return {Object {android.net.wifi.WifiManager.WifiLock}} a new, unacquired WifiLock with the given tag.
@see WifiLock
@deprecated This API is non-functional.
*/
createWifiLock : function(  ) {},

/**Create a new MulticastLock
@param {String} tag a tag for the MulticastLock to identify it in debugging
            messages.  This string is never shown to the user under
            normal conditions, but should be descriptive enough to
            identify your application and the specific MulticastLock
            within it, if it holds multiple MulticastLocks.
@return {Object {android.net.wifi.WifiManager.MulticastLock}} a new, unacquired MulticastLock with the given tag.
@see MulticastLock
*/
createMulticastLock : function(  ) {},

/**Check multicast filter status.
@return {Boolean} true if multicast packets are allowed.
@hide pending API council approval
*/
isMulticastEnabled : function(  ) {},

/**Initialize the multicast filtering to 'on'
@hide no intent to publish
*/
initializeMulticastFiltering : function(  ) {},

/**Set wifi verbose log. Called from developer settings.
@hide 
*/
enableVerboseLogging : function(  ) {},

/**Get the WiFi verbose logging level.This is used by settings
 to decide what to show within the picker.
@hide 
*/
getVerboseLoggingLevel : function(  ) {},

/**Removes all saved wifi networks.
@hide 
*/
factoryReset : function(  ) {},

/**Get Network object of current wifi network
@return {Object {android.net.Network}} Get Network object of current wifi network
@hide 
*/
getCurrentNetwork : function(  ) {},

/**Deprecated
 returns false
@hide 
@deprecated 
*/
setEnableAutoJoinWhenAssociated : function(  ) {},

/**Deprecated
 returns false
@hide 
@deprecated 
*/
getEnableAutoJoinWhenAssociated : function(  ) {},

/**Enable/disable WifiConnectivityManager
@hide 
*/
enableWifiConnectivityManager : function(  ) {},

/**Retrieve the data to be backed to save the current state.
@hide 
*/
retrieveBackupData : function(  ) {},

/**Restore state from the backed up data.
@hide 
*/
restoreBackupData : function(  ) {},

/**Restore state from the older version of back up data.
 The old backup data was essentially a backup of wpa_supplicant.conf
 and ipconfig.txt file.
@deprecated this is no longer supported.
@hide 
*/
restoreSupplicantBackupData : function(  ) {},

/**Start subscription provisioning flow
@param {Object {OsuProvider}} provider {@link OsuProvider} to provision with
@param {Object {Executor}} executor the Executor on which to run the callback.
@param {Object {ProvisioningCallback}} callback {@link ProvisioningCallback} for updates regarding provisioning flow
@hide 
*/
startSubscriptionProvisioning : function(  ) {},

/**Registers a callback for monitoring traffic state. See {@link android.net.wifi.WifiManager.TrafficStateCallback}. These
 callbacks will be invoked periodically by platform to inform clients about the current
 traffic state. Caller can unregister a previously registered callback using
 {@link #unregisterTrafficStateCallback}(TrafficStateCallback)
 <p>
 Applications should have the
 {@link android.Manifest.permission#NETWORK_SETTINGS NETWORK_SETTINGS} permission. Callers
 without the permission will trigger a {@link java.lang.SecurityException}.
 <p>
@param {Object {WifiManager.TrafficStateCallback}} callback Callback for traffic state events
@param {Object {Handler}} handler  The Handler on whose thread to execute the callbacks of the {@code callback}
                 object. If null, then the application's main thread will be used.
@hide 
*/
registerTrafficStateCallback : function(  ) {},

/**Allow callers to unregister a previously registered callback. After calling this method,
 applications will no longer receive traffic state notifications.
@param {Object {WifiManager.TrafficStateCallback}} callback Callback to unregister for traffic state events
@hide 
*/
unregisterTrafficStateCallback : function(  ) {},

/**
@return {Boolean} true if this device supports WPA3-Personal SAE
*/
isWpa3SaeSupported : function(  ) {},

/**
@return {Boolean} true if this device supports WPA3-Enterprise Suite-B-192
*/
isWpa3SuiteBSupported : function(  ) {},

/**
@return {Boolean} true if this device supports Wi-Fi Enhanced Open (OWE)
*/
isEnhancedOpenSupported : function(  ) {},

/**Wi-Fi Easy Connect (DPP) introduces standardized mechanisms to simplify the provisioning and
 configuration of Wi-Fi devices.
 For more details, visit <a href="https://www.wi-fi.org/">https://www.wi-fi.org/</a> and
 search for "Easy Connect" or "Device Provisioning Protocol specification".
@return {Boolean} true if this device supports Wi-Fi Easy-connect (Device Provisioning Protocol)
*/
isEasyConnectSupported : function(  ) {},

/**Gets the factory Wi-Fi MAC addresses.
@return {String} Array of String representing Wi-Fi MAC addresses sorted lexically or an empty Array
 if failed.
@hide 
*/
getFactoryMacAddresses : function(  ) {},

/**Updates the device mobility state. Wifi uses this information to adjust the interval between
 Wifi scans in order to balance power consumption with scan accuracy.
 The default mobility state when the device boots is {@link #DEVICE_MOBILITY_STATE_UNKNOWN}.
 This API should be called whenever there is a change in the mobility state.
@param {Number} state the updated device mobility state
@hide 
*/
setDeviceMobilityState : function(  ) {},

/**Start Easy Connect (DPP) in Configurator-Initiator role. The current device will initiate
 Easy Connect bootstrapping with a peer, and configure the peer with the SSID and password of
 the specified network using the Easy Connect protocol on an encrypted link.
@param {String} enrolleeUri         URI of the Enrollee obtained separately (e.g. QR code scanning)
@param {Number} selectedNetworkId   Selected network ID to be sent to the peer
@param {Number} enrolleeNetworkRole The network role of the enrollee
@param {Object {Executor}} callback            Callback for status updates
@param {Object {EasyConnectStatusCallback}} executor            The Executor on which to run the callback.
@hide 
*/
startEasyConnectAsConfiguratorInitiator : function(  ) {},

/**Start Easy Connect (DPP) in Enrollee-Initiator role. The current device will initiate Easy
 Connect bootstrapping with a peer, and receive the SSID and password from the peer
 configurator.
@param {String} configuratorUri URI of the Configurator obtained separately (e.g. QR code scanning)
@param {Object {Executor}} callback        Callback for status updates
@param {Object {EasyConnectStatusCallback}} executor        The Executor on which to run the callback.
@hide 
*/
startEasyConnectAsEnrolleeInitiator : function(  ) {},

/**Stop or abort a current Easy Connect (DPP) session. This call, once processed, will
 terminate any ongoing transaction, and clean up all associated resources. Caller should not
 expect any callbacks once this call is made. However, due to the asynchronous nature of
 this call, a callback may be fired if it was already pending in the queue.
@hide 
*/
stopEasyConnectSession : function(  ) {},

/**Adds a listener for Wi-Fi usability statistics. See {@link android.net.wifi.WifiManager.OnWifiUsabilityStatsListener}.
 Multiple listeners can be added. Callers will be invoked periodically by framework to
 inform clients about the current Wi-Fi usability statistics. Callers can remove a previously
 added listener using {@link removeOnWifiUsabilityStatsListener}.
@param {Object {Executor}} executor The executor on which callback will be invoked.
@param {Object {WifiManager.OnWifiUsabilityStatsListener}} listener Listener for Wifi usability statistics.
@hide 
*/
addOnWifiUsabilityStatsListener : function(  ) {},

/**Allow callers to remove a previously registered listener. After calling this method,
 applications will no longer receive Wi-Fi usability statistics.
@param {Object {WifiManager.OnWifiUsabilityStatsListener}} listener Listener to remove the Wi-Fi usability statistics.
@hide 
*/
removeOnWifiUsabilityStatsListener : function(  ) {},

/**Provide a Wi-Fi usability score information to be recorded (but not acted upon) by the
 framework. The Wi-Fi usability score is derived from {@link android.net.wifi.WifiManager.OnWifiUsabilityStatsListener}
 where a score is matched to Wi-Fi usability statistics using the sequence number. The score
 is used to quantify whether Wi-Fi is usable in a future time.
@param {Number} seqNum Sequence number of the Wi-Fi usability score.
@param {Number} score The Wi-Fi usability score, expected range: [0, 100].
@param {Number} predictionHorizonSec Prediction horizon of the Wi-Fi usability score in second,
                             expected range: [0, 30].
@hide 
*/
updateWifiUsabilityScore : function(  ) {},


};