diff options
| -rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java | 13 | ||||
| -rw-r--r-- | packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java | 20 |
2 files changed, 27 insertions, 6 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java index 55c886e6fb1c..0280f26e30b1 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java @@ -95,7 +95,7 @@ public class WifiTracker { private WifiTrackerNetworkCallback mNetworkCallback; - private boolean mSavedNetworksExist; + private int mNumSavedNetworks; private boolean mRegistered; /** Updated using main handler. Clone of this collection is returned @@ -363,11 +363,11 @@ public class WifiTracker { } /** - * @return true when there are saved networks on the device, regardless - * of whether the WifiTracker is tracking saved networks. + * Returns the number of saved networks on the device, regardless of whether the WifiTracker + * is tracking saved networks. */ - public boolean doSavedNetworksExist() { - return mSavedNetworksExist; + public int getNumSavedNetworks() { + return mNumSavedNetworks; } public boolean isConnected() { @@ -461,11 +461,12 @@ public class WifiTracker { final List<WifiConfiguration> configs = mWifiManager.getConfiguredNetworks(); if (configs != null) { - mSavedNetworksExist = configs.size() != 0; + mNumSavedNetworks = 0; for (WifiConfiguration config : configs) { if (config.selfAdded && config.numAssociation == 0) { continue; } + mNumSavedNetworks++; AccessPoint accessPoint = getCachedOrCreate(config, cachedAccessPoints); if (mLastInfo != null && mLastNetworkInfo != null) { accessPoint.update(connectionConfig, mLastInfo, mLastNetworkInfo); diff --git a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java index e10088486910..46726f2f1438 100644 --- a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java +++ b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java @@ -395,6 +395,26 @@ public class WifiTrackerTest { } @Test + public void testGetNumSavedNetworks() throws InterruptedException { + WifiConfiguration validConfig = new WifiConfiguration(); + validConfig.SSID = SSID_1; + validConfig.BSSID = BSSID_1; + + WifiConfiguration selfAddedNoAssociation = new WifiConfiguration(); + selfAddedNoAssociation.selfAdded = true; + selfAddedNoAssociation.numAssociation = 0; + selfAddedNoAssociation.SSID = SSID_2; + selfAddedNoAssociation.BSSID = BSSID_2; + + when(mockWifiManager.getConfiguredNetworks()) + .thenReturn(Arrays.asList(validConfig, selfAddedNoAssociation)); + + WifiTracker tracker = createTrackerWithImmediateBroadcastsAndInjectInitialScanResults(); + + assertEquals(1, tracker.getNumSavedNetworks()); + } + + @Test public void startTrackingShouldSetConnectedAccessPointAsActive() throws InterruptedException { WifiTracker tracker = createTrackerWithScanResultsAndAccessPoint1Connected(); |