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 forWifiManager.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classShadowWifiManager.ShadowMulticastLockstatic classShadowWifiManager.ShadowWifiLockstatic classShadowWifiManager.WifiUsabilityScoreClass to record scores passed to WifiManager#updateWifiUsabilityScore
-
Constructor Summary
Constructors Constructor Description ShadowWifiManager()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected intaddNetwork(WifiConfiguration config)protected WifiManager.AddNetworkResultaddNetworkPrivileged(WifiConfiguration config)The new version ofaddNetwork(WifiConfiguration)which returns a more detailed failure codes.protected voidaddOnWifiUsabilityStatsListener(Object executorObject, Object listenerObject)protected static intcalculateSignalLevel(int rssi, int numLevels)voidclearUsabilityScores()Clears wifi usability scores previous passed toWifiManager.updateWifiUsabilityScore(int, int, int)protected voidclearWifiConnectedNetworkScorer()protected voidconnect(int networkId, WifiManager.ActionListener listener)protected voidconnect(WifiConfiguration wifiConfiguration, WifiManager.ActionListener listener)protected WifiManager.MulticastLockcreateMulticastLock(String tag)protected WifiManager.WifiLockcreateWifiLock(int lockType, String tag)protected WifiManager.WifiLockcreateWifiLock(String tag)protected booleandisableNetwork(int netId)protected booleanenableNetwork(int netId, boolean attemptConnect)intgetActiveLockCount()Returns the number of WifiLocks and MulticastLocks that are currently acquired.protected List<WifiConfiguration>getCallerConfiguredNetworks()The original implementation allows this to be called by the Device Owner (DO), Profile Owner (PO), callers with carrier privilege and system apps, but this shadow can be called by all apps carrying the ACCESS_WIFI_STATE permission.protected List<WifiConfiguration>getConfiguredNetworks()protected WifiInfogetConnectionInfo()protected DhcpInfogetDhcpInfo()Pair<Integer,Boolean>getLastEnabledNetwork()protected List<WifiConfiguration>getPrivilegedConfiguredNetworks()protected List<ScanResult>getScanResults()protected SoftApConfigurationgetSoftApConfiguration()List<ShadowWifiManager.WifiUsabilityScore>getUsabilityScores()Returns wifi usability scores previous passed toWifiManager.updateWifiUsabilityScore(int, int, int)protected WifiConfigurationgetWifiApConfiguration()WifiConfigurationgetWifiConfiguration(int netId)protected intgetWifiState()protected booleanis5GHzBandSupported()booleanisNetworkEnabled(int netId)Whether the network is enabled or not.protected booleanisScanAlwaysAvailable()protected booleanisStaApConcurrencySupported()Returns last value provided to #setStaApConcurrencySupported.booleanisWifiConnectedNetworkScorerEnabled()Returns if wifi connected betwork scorer enabledprotected booleanisWifiEnabled()voidpostUsabilityStats(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 booleanreconnect()protected booleanremoveNetwork(int netId)protected booleanremoveNonCallerConfiguredNetworks()Removes all configured networks regardless of the app that created the network.protected voidremoveOnWifiUsabilityStatsListener(Object listenerObject)protected booleansaveConfiguration()voidsetAccessWifiStatePermission(boolean accessWifiStatePermission)voidsetChangeWifiStatePermission(boolean changeWifiStatePermission)voidsetConnectionInfo(WifiInfo wifiInfo)Sets the connection info as the providedWifiInfo.voidsetDhcpInfo(DhcpInfo dhcpInfo)voidsetIs5GHzBandSupported(boolean is5GHzBandSupported)Sets whether 5ghz band is supported.voidsetIsScanAlwaysAvailable(boolean isScanAlwaysAvailable)voidsetScanResults(List<ScanResult> scanResults)static voidsetSignalLevelInPercent(float level)protected booleansetSoftApConfiguration(SoftApConfiguration softApConfig)voidsetStaApConcurrencySupported(boolean isStaApConcurrencySupported)Sets whether STA/AP concurrency is supported.voidsetStartScanSucceeds(boolean succeeds)Sets the return value ofstartScan().voidsetUpdateNetworkPermission(int networkId, boolean hasPermission)Prevents a networkId from being updated using theupdateNetwork(android.net.wifi.WifiConfiguration)method.protected booleansetWifiApConfiguration(WifiConfiguration apConfig)protected booleansetWifiConnectedNetworkScorer(Object executorObject, Object scorerObject)Implements setWifiConnectedNetworkScorer() with the generic Object input as WifiConnectedNetworkScorer is a hidden/System API.protected booleansetWifiEnabled(boolean wifiEnabled)voidsetWifiState(int wifiState)protected booleanstartScan()Does nothing and returns the configured success status.protected intupdateNetwork(WifiConfiguration config)Adds or updates a network which can later be retrieved withgetWifiConfiguration(int)method.protected voidupdateWifiUsabilityScore(int seqNum, int score, int predictionHorizonSec)booleanwasConfigurationSaved()
-
-
-
Method Detail
-
setWifiEnabled
@Implementation protected boolean setWifiEnabled(boolean wifiEnabled)
-
setWifiState
public void setWifiState(int wifiState)
-
isWifiEnabled
@Implementation protected boolean isWifiEnabled()
-
getWifiState
@Implementation protected int getWifiState()
-
getConnectionInfo
@Implementation protected WifiInfo getConnectionInfo()
-
is5GHzBandSupported
@Implementation(minSdk=21) protected boolean is5GHzBandSupported()
-
setIs5GHzBandSupported
public void setIs5GHzBandSupported(boolean is5GHzBandSupported)
Sets whether 5ghz band is supported.
-
isStaApConcurrencySupported
@Implementation(minSdk=30) protected boolean isStaApConcurrencySupported()
Returns last value provided to #setStaApConcurrencySupported.
-
setStaApConcurrencySupported
public void setStaApConcurrencySupported(boolean isStaApConcurrencySupported)
Sets whether STA/AP concurrency is supported.
-
setConnectionInfo
public void setConnectionInfo(WifiInfo wifiInfo)
Sets the connection info as the providedWifiInfo.
-
setStartScanSucceeds
public void setStartScanSucceeds(boolean succeeds)
Sets the return value ofstartScan().
-
getScanResults
@Implementation protected List<ScanResult> getScanResults()
-
getCallerConfiguredNetworks
@Implementation(minSdk=31) protected List<WifiConfiguration> getCallerConfiguredNetworks()
The original implementation allows this to be called by the Device Owner (DO), Profile Owner (PO), callers with carrier privilege and system apps, but this shadow can be called by all apps carrying the ACCESS_WIFI_STATE permission.This shadow is a wrapper for getConfiguredNetworks() and does not actually check the caller.
-
getConfiguredNetworks
@Implementation protected List<WifiConfiguration> getConfiguredNetworks()
-
getPrivilegedConfiguredNetworks
@Implementation(minSdk=21) protected List<WifiConfiguration> getPrivilegedConfiguredNetworks()
-
addNetwork
@Implementation protected int addNetwork(WifiConfiguration config)
-
addNetworkPrivileged
@Implementation(minSdk=31) protected WifiManager.AddNetworkResult addNetworkPrivileged(WifiConfiguration config)
The new version ofaddNetwork(WifiConfiguration)which returns a more detailed failure codes. The original implementation of this API is limited to Device Owner (DO), Profile Owner (PO), system app, and privileged apps but this shadow can be called by all apps.
-
removeNetwork
@Implementation protected boolean removeNetwork(int netId)
-
removeNonCallerConfiguredNetworks
@Implementation(minSdk=31) protected boolean removeNonCallerConfiguredNetworks()
Removes all configured networks regardless of the app that created the network. Can only be called by a Device Owner (DO) app.- Returns:
trueif at least one network is removed,falseotherwise
-
updateNetwork
@Implementation protected int updateNetwork(WifiConfiguration config)
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
@Implementation protected boolean saveConfiguration()
-
enableNetwork
@Implementation protected boolean enableNetwork(int netId, boolean attemptConnect)
-
disableNetwork
@Implementation protected boolean disableNetwork(int netId)
-
createWifiLock
@Implementation protected WifiManager.WifiLock createWifiLock(int lockType, String tag)
-
createWifiLock
@Implementation protected WifiManager.WifiLock createWifiLock(String tag)
-
createMulticastLock
@Implementation protected WifiManager.MulticastLock createMulticastLock(String tag)
-
calculateSignalLevel
@Implementation protected static int calculateSignalLevel(int rssi, int numLevels)
-
startScan
@Implementation protected boolean startScan()
Does nothing and returns the configured success status.That is different from the Android implementation which always returns
trueup to and including Android 8, and eithertrueorfalseon Android 9+.- Returns:
- the value configured by
setStartScanSucceeds(boolean), ortrueif that method was never called.
-
getDhcpInfo
@Implementation protected DhcpInfo getDhcpInfo()
-
isScanAlwaysAvailable
@Implementation(minSdk=18) protected boolean 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
@Implementation protected boolean reconnect()
-
setSignalLevelInPercent
public static void setSignalLevelInPercent(float level)
-
setAccessWifiStatePermission
public void setAccessWifiStatePermission(boolean accessWifiStatePermission)
-
setChangeWifiStatePermission
public void setChangeWifiStatePermission(boolean changeWifiStatePermission)
-
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
public void setScanResults(List<ScanResult> scanResults)
-
setDhcpInfo
public void setDhcpInfo(DhcpInfo dhcpInfo)
-
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
public WifiConfiguration getWifiConfiguration(int netId)
-
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)
-
setWifiConnectedNetworkScorer
@Implementation(minSdk=30) @HiddenApi protected boolean setWifiConnectedNetworkScorer(Object executorObject, Object scorerObject)
Implements setWifiConnectedNetworkScorer() with the generic Object input as WifiConnectedNetworkScorer is a hidden/System API.
-
clearWifiConnectedNetworkScorer
@Implementation(minSdk=30) @HiddenApi protected void clearWifiConnectedNetworkScorer()
-
isWifiConnectedNetworkScorerEnabled
public boolean isWifiConnectedNetworkScorerEnabled()
Returns if wifi connected betwork scorer enabled
-
setWifiApConfiguration
@Implementation protected boolean setWifiApConfiguration(WifiConfiguration apConfig)
-
getWifiApConfiguration
@Implementation protected WifiConfiguration getWifiApConfiguration()
-
setSoftApConfiguration
@Implementation(minSdk=30) protected boolean setSoftApConfiguration(SoftApConfiguration softApConfig)
-
getSoftApConfiguration
@Implementation(minSdk=30) protected SoftApConfiguration getSoftApConfiguration()
-
getUsabilityScores
public List<ShadowWifiManager.WifiUsabilityScore> 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)
-
-