Merge "Remove use of forceUpdate."

This commit is contained in:
TreeHugger Robot
2018-02-21 20:16:00 +00:00
committed by Android (Google) Code Review
2 changed files with 4 additions and 50 deletions

View File

@@ -352,32 +352,6 @@ public class WifiSettings extends RestrictedSettingsFragment
getPreferenceScreen().removeAll();
}
/**
* Only update the AP list if there are not any APs currently shown.
*
* <p>Thus forceUpdate will only be called during cold start or when toggling between wifi on
* and off. In other use cases, the previous APs will remain until the next update is received
* from {@link WifiTracker}.
*/
private void conditionallyForceUpdateAPs() {
if (mAccessPointsPreferenceCategory.getPreferenceCount() > 0
&& mAccessPointsPreferenceCategory.getPreference(0) instanceof
AccessPointPreference) {
// Make sure we don't update due to callbacks initiated by sticky broadcasts in
// WifiTracker.
Log.d(TAG, "Did not force update APs due to existing APs displayed");
getView().removeCallbacks(mUpdateAccessPointsRunnable);
return;
}
setProgressBarVisible(true);
mWifiTracker.forceUpdate();
if (isVerboseLoggingEnabled()) {
Log.i(TAG, "WifiSettings force update APs: " + mWifiTracker.getAccessPoints());
}
getView().removeCallbacks(mUpdateAccessPointsRunnable);
updateAccessPointPreferences();
}
/**
* @return new WifiEnabler or null (as overridden by WifiSettingsForSetupWizard)
*/
@@ -682,7 +656,7 @@ public class WifiSettings extends RestrictedSettingsFragment
final int wifiState = mWifiManager.getWifiState();
switch (wifiState) {
case WifiManager.WIFI_STATE_ENABLED:
conditionallyForceUpdateAPs();
updateAccessPointPreferences();
break;
case WifiManager.WIFI_STATE_ENABLING:

View File

@@ -51,6 +51,7 @@ import android.support.test.rule.ActivityTestRule;
import android.support.test.runner.AndroidJUnit4;
import com.android.settings.Settings.WifiSettingsActivity;
import com.android.settingslib.utils.ThreadUtils;
import com.android.settingslib.wifi.AccessPoint;
import com.android.settingslib.wifi.TestAccessPointBuilder;
import com.android.settingslib.wifi.WifiTracker;
@@ -260,26 +261,6 @@ public class WifiSettingsUiTest {
matches(isDisplayed()));
}
@Test
public void resumingAp_shouldNotForceUpdateWhenExistingAPsAreListed() {
setWifiState(WifiManager.WIFI_STATE_ENABLED);
setupConnectedAccessPoint();
when(mWifiTracker.isConnected()).thenReturn(true);
launchActivity();
onView(withText(resourceString(WIFI_DISPLAY_STATUS_CONNECTED))).check(
matches(isDisplayed()));
verify(mWifiTracker).forceUpdate();
Activity activity = mActivityRule.getActivity();
activity.finish();
getInstrumentation().waitForIdleSync();
getInstrumentation().callActivityOnStart(activity);
verify(mWifiTracker, atMost(1)).forceUpdate();
}
@Test
public void changingSecurityStateOnApShouldNotCauseMultipleListItems() {
setWifiState(WifiManager.WIFI_STATE_ENABLED);
@@ -305,10 +286,10 @@ public class WifiSettingsUiTest {
onView(withText(TEST_SSID)).check(matches(isDisplayed()));
mWifiListener.onAccessPointsChanged();
ThreadUtils.postOnMainThread(() -> mWifiListener.onAccessPointsChanged());
onView(withText(TEST_SSID)).check(matches(isDisplayed()));
mWifiListener.onAccessPointsChanged();
ThreadUtils.postOnMainThread(() -> mWifiListener.onAccessPointsChanged());
onView(withText(TEST_SSID)).check(matches(isDisplayed()));
}
@@ -367,7 +348,6 @@ public class WifiSettingsUiTest {
launchActivity();
verify(mWifiTracker, atMost(1)).forceUpdate();
verify(mWifiTracker, times(1)).getAccessPoints();
onView(withText(WIFI_DISPLAY_STATUS_CONNECTED)).check(matches(isDisplayed()));