diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index f0457e65d44..0550aa8014a 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -737,12 +737,10 @@ public class WifiSettings extends RestrictedSettingsFragment } /** - * Called when the connection state of wifi has changed and isConnected - * should be called to get the updated state. + * Called when the connection state of wifi has changed. */ @Override public void onConnectedChanged() { - updateAccessPointsDelayed(); changeNextButtonState(mWifiTracker.isConnected()); } diff --git a/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java b/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java index cbd9546c229..e44a5966bfe 100644 --- a/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java +++ b/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java @@ -31,6 +31,7 @@ import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.startsWith; import static org.mockito.Mockito.atMost; +import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -359,4 +360,23 @@ public class WifiSettingsUiTest { onView(withId(resourceId(ID, PASSWORD_LAYOUT))).check(matches(isDisplayed())); onView(withId(resourceId(ID, PASSWORD))).check(matches(isDisplayed())); } + + public void onConnectedChanged_shouldNotFetchAPs() { + setWifiState(WifiManager.WIFI_STATE_ENABLED); + when(mWifiTracker.isConnected()).thenReturn(true); + + launchActivity(); + + verify(mWifiTracker, atMost(1)).forceUpdate(); + verify(mWifiTracker, times(1)).getAccessPoints(); + onView(withText(WIFI_DISPLAY_STATUS_CONNECTED)).check(matches(isDisplayed())); + + // Invoke onConnectedChanged + when(mWifiTracker.isConnected()).thenReturn(false); + mWifiListener.onConnectedChanged(); + + // Verify no additional call to getAccessPoints + getInstrumentation().waitForIdleSync(); + verify(mWifiTracker, times(1)).getAccessPoints(); + } }