WifiHelper

public class WifiHelper
extends Object implements IWifiHelper

java.lang.Object
   ↳ com.android.tradefed.device.WifiHelper


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 addOpenNetwork(String ssid, boolean scanSsid)

Adds the open security network identified by ssid.

boolean addWpaPskNetwork(String ssid, String psk)

Adds the WPA-PSK security network identified by ssid.

boolean addWpaPskNetwork(String ssid, String psk, boolean scanSsid)

Adds the WPA-PSK security network identified by ssid.

boolean checkConnectivity(String urlToCheck)

Checks connectivity by sending HTTP request to the given url.

void cleanUp()

Clean up the resources and the wifi helper packaged install.

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

Connects to a wifi network and check connectivity.

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

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.

Constants

INSTRUMENTATION_PKG

String INSTRUMENTATION_PKG

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

PACKAGE_VERSION_CODE

int PACKAGE_VERSION_CODE

Constant Value: 21 (0x00000015)

Fields

CHECK_PACKAGE_CMD

String CHECK_PACKAGE_CMD

FULL_INSTRUMENTATION_NAME

String FULL_INSTRUMENTATION_NAME

PACKAGE_VERSION_PAT

Pattern PACKAGE_VERSION_PAT

Public constructors

WifiHelper

WifiHelper (ITestDevice device)

Parameters
device ITestDevice
Throws
DeviceNotAvailableException

Public methods

addOpenNetwork

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

addOpenNetwork

boolean addOpenNetwork (String ssid, 
                boolean scanSsid)

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.
scanSsid boolean: whether to scan for hidden SSID for this network.
Returns
boolean true if network was added successfully, false otherwise.
Throws
DeviceNotAvailableException

addWpaPskNetwork

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

addWpaPskNetwork

boolean addWpaPskNetwork (String ssid, 
                String psk, 
                boolean scanSsid)

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
scanSsid boolean: whether to scan for hidden SSID for this network.
Returns
boolean true if network was added successfully, false otherwise.
Throws
DeviceNotAvailableException

checkConnectivity

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

cleanUp

void cleanUp ()

Clean up the resources and the wifi helper packaged install.

Throws
DeviceNotAvailableException

connectToNetwork

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

connectToNetwork

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

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
scanSsid boolean: whether to scan for hidden SSID for this network
Returns
boolean true if the device pass connectivity check.
Throws
DeviceNotAvailableException

disableWifi

boolean disableWifi ()

Disables wifi state on device.

Returns
boolean true if wifi was disabled successfully
Throws
DeviceNotAvailableException

disconnectFromNetwork

boolean disconnectFromNetwork ()

Disconnect from the current wifi network and disable wifi.

Returns
boolean true if the operation succeeded.
Throws
DeviceNotAvailableException

enableWifi

boolean enableWifi ()

Enables wifi state on device.

Returns
boolean true if wifi was enabled successfully
Throws
DeviceNotAvailableException

extractWifiUtilApk

File extractWifiUtilApk ()

Helper method to extract the wifi util apk from the classpath

Returns
File
Throws
IOException

getBSSID

String getBSSID ()

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

Returns
String
Throws
DeviceNotAvailableException

getIpAddress

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

getSSID

String getSSID ()

Gets the service set identifier of the currently connected network.

Returns
String
Throws
DeviceNotAvailableException

getWifiInfo

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

hasValidIp

boolean hasValidIp ()

Returns
boolean
Throws
DeviceNotAvailableException

isWifiEnabled

boolean isWifiEnabled ()

Check if wifi is currently enabled.

Returns
boolean
Throws
DeviceNotAvailableException

removeAllNetworks

boolean removeAllNetworks ()

Removes all known networks.

Returns
boolean
Throws
DeviceNotAvailableException

startMonitor

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

stopMonitor

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

waitForIp

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

waitForWifiDisabled

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

waitForWifiDisabled

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

waitForWifiEnabled

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

waitForWifiEnabled

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

waitForWifiState

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