to top
public class

WifiHelper

extends Object
implements IWifiHelper
java.lang.Object
   ↳ com.android.tradefed.device.WifiHelper

Class Overview

Helper class for manipulating wifi services on device.

Summary

Constants
String INSTRUMENTATION_PKG
int PACKAGE_VERSION_CODE
Fields
static final String CHECK_PACKAGE_CMD
static final String FULL_INSTRUMENTATION_NAME
static final Pattern PACKAGE_VERSION_PAT
Public Constructors
WifiHelper(ITestDevice device)
Public Methods
boolean addOpenNetwork(String ssid)
Adds the open security network identified by ssid.
boolean addWpaPskNetwork(String ssid, String psk)
Adds the WPA-PSK security network identified by ssid.
boolean checkConnectivity(String urlToCheck)
Checks connectivity by sending HTTP request to the given url.
boolean connectToNetwork(String ssid, String psk, String urlToCheck)
Connects to a wifi network and check connectivity.
boolean disableWifi()
Disables wifi state on device.
boolean disconnectFromNetwork()
Disconnect from the current wifi network and disable wifi.
boolean enableWifi()
Enables wifi state on device.
static File extractWifiUtilApk()
Helper method to extract the wifi util apk from the classpath
String getBSSID()
Gets the basic service set identifier (BSSID) of the currently access point.
String getIpAddress()
Gets the IP address associated with the wifi interface.
String getSSID()
Gets the service set identifier of the currently connected network.
Map<String, String> getWifiInfo()
Gets the current wifi connection information.
boolean hasValidIp()
boolean isWifiEnabled()
Check if wifi is currently enabled.
boolean removeAllNetworks()
Removes all known networks.
boolean startMonitor(long interval, String urlToCheck)
Starts network connectivity monitoring.
List<Long> stopMonitor()
Stops network connectivity monitoring.
boolean waitForIp(long timeout)
Wait until an ip address is assigned to wifi adapter.
boolean waitForWifiDisabled(long timeout)
Wait for isWifiEnabled() to be false.
boolean waitForWifiDisabled()
Wait for isWifiEnabled() to be false with a default timeout.
boolean waitForWifiEnabled(long timeout)
Wait for isWifiEnabled() to be true.
boolean waitForWifiEnabled()
Wait for isWifiEnabled() to be true with a default timeout.
boolean waitForWifiState(WifiState... expectedStates)
Waits until one of the expected wifi states occurs.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.android.tradefed.device.IWifiHelper

Constants

public static final String INSTRUMENTATION_PKG

Constant Value: "com.android.tradefed.utils.wifi"

static final int PACKAGE_VERSION_CODE

Constant Value: 21 (0x00000015)

Fields

static final String CHECK_PACKAGE_CMD

static final String FULL_INSTRUMENTATION_NAME

static final Pattern PACKAGE_VERSION_PAT

Public Constructors

public WifiHelper (ITestDevice device)

Parameters
device ITestDevice
Throws
DeviceNotAvailableException

Public Methods

public boolean addOpenNetwork (String ssid)

Adds the open security network identified by ssid.

To connect to any wifi network, a network profile must be created in wpa_supplicant configuration first. This will call wpa_cli to add the open security network identified by ssid.

Parameters
ssid String: the ssid of network to add.
Returns
boolean true if network was added successfully, false otherwise.
Throws
DeviceNotAvailableException

public boolean addWpaPskNetwork (String ssid, String psk)

Adds the WPA-PSK security network identified by ssid.

Parameters
ssid String: the ssid of network to add.
psk String: the WPA-PSK passphrase to use
Returns
boolean true if network was added successfully, false otherwise.
Throws
DeviceNotAvailableException

public boolean checkConnectivity (String urlToCheck)

Checks connectivity by sending HTTP request to the given url.

Parameters
urlToCheck String: a destination url for a HTTP request check
Returns
boolean true if the device pass connectivity check.
Throws
DeviceNotAvailableException

public boolean connectToNetwork (String ssid, String psk, String urlToCheck)

Connects to a wifi network and check connectivity.

Parameters
ssid String: the ssid of network to connect
psk String: the WPA-PSK passphrase to use. This can be null.
urlToCheck String: a destination url for a HTTP request check
Returns
boolean true if the device pass connectivity check.
Throws
DeviceNotAvailableException

public boolean disableWifi ()

Disables wifi state on device.

Returns
boolean true if wifi was disabled successfully
Throws
DeviceNotAvailableException

public boolean disconnectFromNetwork ()

Disconnect from the current wifi network and disable wifi.

Returns
boolean true if the operation succeeded.
Throws
DeviceNotAvailableException

public boolean enableWifi ()

Enables wifi state on device.

Returns
boolean true if wifi was enabled successfully
Throws
DeviceNotAvailableException

public static File extractWifiUtilApk ()

Helper method to extract the wifi util apk from the classpath

Returns
File
Throws
IOException

public String getBSSID ()

Gets the basic service set identifier (BSSID) of the currently access point.

Returns
String
Throws
DeviceNotAvailableException

public String getIpAddress ()

Gets the IP address associated with the wifi interface. Returns null if there was a failure retrieving ip address.

Returns
String
Throws
DeviceNotAvailableException

public String getSSID ()

Gets the service set identifier of the currently connected network.

Returns
String
Throws
DeviceNotAvailableException

public Map<String, String> getWifiInfo ()

Gets the current wifi connection information.

This includes SSID, BSSID, IP address, link speed, and RSSI.

Returns
Map<String, String> a map containing wifi connection information.
Throws
DeviceNotAvailableException

public boolean hasValidIp ()

Returns
boolean
Throws
DeviceNotAvailableException

public boolean isWifiEnabled ()

Check if wifi is currently enabled.

Returns
boolean
Throws
DeviceNotAvailableException

public boolean removeAllNetworks ()

Removes all known networks.

Returns
boolean
Throws
DeviceNotAvailableException

public boolean startMonitor (long interval, String urlToCheck)

Starts network connectivity monitoring.

Parameters
interval long: interval between connectivity checks.
urlToCheck String: a URL to check connectivity with.
Returns
boolean true if the operation succeeded.
Throws
DeviceNotAvailableException

public List<Long> stopMonitor ()

Stops network connectivity monitoring.

This also returns the latency history since the last startMonitor(long, String) call.

Returns
List<Long> the latency history.
Throws
DeviceNotAvailableException

public boolean waitForIp (long timeout)

Wait until an ip address is assigned to wifi adapter.

Parameters
timeout long: how long to wait
Returns
boolean true if an ip address is assigned before timeout, false otherwise
Throws
DeviceNotAvailableException

public boolean waitForWifiDisabled (long timeout)

Wait for isWifiEnabled() to be false.

Parameters
timeout long: time in ms to wait
Returns
boolean true if wifi was disabled before timeout, false otherwise.
Throws
DeviceNotAvailableException

public boolean waitForWifiDisabled ()

Wait for isWifiEnabled() to be false with a default timeout.

Returns
boolean true if wifi was disabled before timeout, false otherwise.
Throws
DeviceNotAvailableException

public boolean waitForWifiEnabled (long timeout)

Wait for isWifiEnabled() to be true.

Parameters
timeout long: time in ms to wait
Returns
boolean true if wifi was enabled before timeout, false otherwise.
Throws
DeviceNotAvailableException

public boolean waitForWifiEnabled ()

Wait for isWifiEnabled() to be true with a default timeout.

Returns
boolean true if wifi was enabled before timeout, false otherwise.
Throws
DeviceNotAvailableException

public boolean waitForWifiState (WifiState... expectedStates)

Waits until one of the expected wifi states occurs.

Parameters
expectedStates WifiState: one or more wifi states to expect
Returns
boolean true if the one of the expected states occurred. false if none of the states occurred before timeout is reached
Throws
DeviceNotAvailableException