Package org.robolectric.shadows
Class ShadowWifiManager
java.lang.Object
org.robolectric.shadows.ShadowWifiManager
@Implements(value=android.net.wifi.WifiManager.class, looseSignatures=true) public class ShadowWifiManager extends Object
Shadow for
WifiManager
.-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ShadowWifiManager.ShadowMulticastLock
static class
ShadowWifiManager.ShadowWifiLock
static class
ShadowWifiManager.WifiUsabilityScore
Class to record scores passed to WifiManager#updateWifiUsabilityScore -
Constructor Summary
Constructors Constructor Description ShadowWifiManager()
-
Method Summary
Modifier and Type Method Description protected int
addNetwork(WifiConfiguration config)
protected void
addOnWifiUsabilityStatsListener(Object executorObject, Object listenerObject)
protected static int
calculateSignalLevel(int rssi, int numLevels)
void
clearUsabilityScores()
Clears wifi usability scores previous passed toWifiManager.updateWifiUsabilityScore(int, int, int)
protected void
connect(int networkId, WifiManager.ActionListener listener)
protected void
connect(WifiConfiguration wifiConfiguration, WifiManager.ActionListener listener)
protected WifiManager.MulticastLock
createMulticastLock(String tag)
protected WifiManager.WifiLock
createWifiLock(int lockType, String tag)
protected WifiManager.WifiLock
createWifiLock(String tag)
protected boolean
disableNetwork(int netId)
protected boolean
enableNetwork(int netId, boolean attemptConnect)
int
getActiveLockCount()
Returns the number of WifiLocks and MulticastLocks that are currently acquired.protected List<WifiConfiguration>
getConfiguredNetworks()
protected WifiInfo
getConnectionInfo()
protected DhcpInfo
getDhcpInfo()
Pair<Integer,Boolean>
getLastEnabledNetwork()
protected List<WifiConfiguration>
getPrivilegedConfiguredNetworks()
protected List<ScanResult>
getScanResults()
List<ShadowWifiManager.WifiUsabilityScore>
getUsabilityScores()
Returns wifi usability scores previous passed toWifiManager.updateWifiUsabilityScore(int, int, int)
WifiConfiguration
getWifiConfiguration(int netId)
protected int
getWifiState()
protected boolean
is5GHzBandSupported()
boolean
isNetworkEnabled(int netId)
Whether the network is enabled or not.protected boolean
isScanAlwaysAvailable()
protected boolean
isWifiEnabled()
void
postUsabilityStats(int seqNum, boolean isSameBssidAndFreq, WifiUsabilityStatsEntryBuilder statsBuilder)
Post Wifi stats to any listeners registered withWifiManager.addOnWifiUsabilityStatsListener(java.util.concurrent.Executor, android.net.wifi.WifiManager.OnWifiUsabilityStatsListener)
protected boolean
reconnect()
protected boolean
removeNetwork(int netId)
protected void
removeOnWifiUsabilityStatsListener(Object listenerObject)
protected boolean
saveConfiguration()
void
setAccessWifiStatePermission(boolean accessWifiStatePermission)
void
setConnectionInfo(WifiInfo wifiInfo)
Sets the connection info as the providedWifiInfo
.void
setDhcpInfo(DhcpInfo dhcpInfo)
void
setIs5GHzBandSupported(boolean is5GHzBandSupported)
Sets whether 5ghz band is supported.void
setIsScanAlwaysAvailable(boolean isScanAlwaysAvailable)
void
setScanResults(List<ScanResult> scanResults)
static void
setSignalLevelInPercent(float level)
void
setStartScanSucceeds(boolean succeeds)
Sets the return value ofstartScan()
.void
setUpdateNetworkPermission(int networkId, boolean hasPermission)
Prevents a networkId from being updated using theupdateNetwork(android.net.wifi.WifiConfiguration)
method.protected boolean
setWifiEnabled(boolean wifiEnabled)
void
setWifiState(int wifiState)
protected boolean
startScan()
Does nothing and returns the configured success status.protected int
updateNetwork(WifiConfiguration config)
Adds or updates a network which can later be retrieved withgetWifiConfiguration(int)
method.protected void
updateWifiUsabilityScore(int seqNum, int score, int predictionHorizonSec)
boolean
wasConfigurationSaved()
-
Constructor Details
-
ShadowWifiManager
public ShadowWifiManager()
-
-
Method Details
-
setWifiEnabled
-
setWifiState
public void setWifiState(int wifiState) -
isWifiEnabled
-
getWifiState
-
getConnectionInfo
-
is5GHzBandSupported
-
setIs5GHzBandSupported
public void setIs5GHzBandSupported(boolean is5GHzBandSupported)Sets whether 5ghz band is supported. -
setConnectionInfo
Sets the connection info as the providedWifiInfo
. -
setStartScanSucceeds
public void setStartScanSucceeds(boolean succeeds)Sets the return value ofstartScan()
. -
getScanResults
-
getConfiguredNetworks
-
getPrivilegedConfiguredNetworks
-
addNetwork
-
removeNetwork
-
updateNetwork
Adds or updates a network which can later be retrieved withgetWifiConfiguration(int)
method. A null {@param config}, or one with a networkId less than 0, or a networkId that had its updatePermission removed using thesetUpdateNetworkPermission(int, boolean)
will return -1, which indicates a failure to update. -
saveConfiguration
-
enableNetwork
-
disableNetwork
-
createWifiLock
-
createWifiLock
-
createMulticastLock
-
calculateSignalLevel
-
startScan
Does nothing and returns the configured success status.That is different from the Android implementation which always returns
true
up to and including Android 8, and eithertrue
orfalse
on Android 9+.- Returns:
- the value configured by
setStartScanSucceeds(boolean)
, ortrue
if that method was never called.
-
getDhcpInfo
-
isScanAlwaysAvailable
-
connect
@HiddenApi @Implementation(minSdk=19) protected void connect(WifiConfiguration wifiConfiguration, WifiManager.ActionListener listener) -
connect
@HiddenApi @Implementation(minSdk=19) protected void connect(int networkId, WifiManager.ActionListener listener) -
reconnect
-
setSignalLevelInPercent
public static void setSignalLevelInPercent(float level) -
setAccessWifiStatePermission
public void setAccessWifiStatePermission(boolean accessWifiStatePermission) -
setUpdateNetworkPermission
public void setUpdateNetworkPermission(int networkId, boolean hasPermission)Prevents a networkId from being updated using theupdateNetwork(android.net.wifi.WifiConfiguration)
method. This is to simulate the case where a separate application creates a network, and the Android security model prevents your application from updating it. -
setScanResults
-
setDhcpInfo
-
getLastEnabledNetwork
-
isNetworkEnabled
public boolean isNetworkEnabled(int netId)Whether the network is enabled or not. -
getActiveLockCount
public int getActiveLockCount()Returns the number of WifiLocks and MulticastLocks that are currently acquired. -
wasConfigurationSaved
public boolean wasConfigurationSaved() -
setIsScanAlwaysAvailable
public void setIsScanAlwaysAvailable(boolean isScanAlwaysAvailable) -
getWifiConfiguration
-
addOnWifiUsabilityStatsListener
@Implementation(minSdk=29) @HiddenApi protected void addOnWifiUsabilityStatsListener(Object executorObject, Object listenerObject) -
removeOnWifiUsabilityStatsListener
@Implementation(minSdk=29) @HiddenApi protected void removeOnWifiUsabilityStatsListener(Object listenerObject) -
updateWifiUsabilityScore
@Implementation(minSdk=29) @HiddenApi protected void updateWifiUsabilityScore(int seqNum, int score, int predictionHorizonSec) -
getUsabilityScores
Returns wifi usability scores previous passed toWifiManager.updateWifiUsabilityScore(int, int, int)
-
clearUsabilityScores
public void clearUsabilityScores()Clears wifi usability scores previous passed toWifiManager.updateWifiUsabilityScore(int, int, int)
-
postUsabilityStats
public void postUsabilityStats(int seqNum, boolean isSameBssidAndFreq, WifiUsabilityStatsEntryBuilder statsBuilder)Post Wifi stats to any listeners registered withWifiManager.addOnWifiUsabilityStatsListener(java.util.concurrent.Executor, android.net.wifi.WifiManager.OnWifiUsabilityStatsListener)
-