Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 87bf49a4 authored by Sundeep Ghuman's avatar Sundeep Ghuman
Browse files

Force update APs when enabling wifi in WifiSettings.

This reverts commit b2bdc8f1
and fixes a broken Espresso test case.

Reason for revert: Rolling forward after fix in ag/2133493, to fix b/37324736

Bug: b/37324736
Test: runtest --path
packages/apps/Settings/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java

Change-Id: I9cdf8cb1043af5d527eccbd9cc56d3b02419d7ac
parent cba520fc
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -340,14 +340,20 @@ public class WifiSettings extends RestrictedSettingsFragment
        mWifiTracker.startTracking();

        if (!isUiRestricted() && mWifiManager.isWifiEnabled()) {
            forceUpdateAPs();
        }
    }

    private void forceUpdateAPs() {
        setProgressBarVisible(true);
        mWifiTracker.forceUpdate();
            if (DEBUG) Log.d(TAG, "WifiSettings onStart APs: " + mWifiTracker.getAccessPoints());
        if (DEBUG) {
            Log.d(TAG, "WifiSettings force update APs: " + mWifiTracker.getAccessPoints());
        }

        getView().removeCallbacks(mUpdateAccessPointsRunnable);
        updateAccessPointPreferences();
    }
    }

    /**
     * @return new WifiEnabler or null (as overridden by WifiSettingsForSetupWizard)
@@ -661,7 +667,7 @@ public class WifiSettings extends RestrictedSettingsFragment
        final int wifiState = mWifiManager.getWifiState();
        switch (wifiState) {
            case WifiManager.WIFI_STATE_ENABLED:
                updateAccessPointsDelayed();
                forceUpdateAPs();
                break;

            case WifiManager.WIFI_STATE_ENABLING:
+18 −3
Original line number Diff line number Diff line
@@ -19,18 +19,22 @@ import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.matcher.ViewMatchers.withText;

import android.app.Instrumentation;
import static org.mockito.Mockito.when;

import android.content.Context;
import android.content.Intent;
import android.net.wifi.WifiManager;
import android.support.test.InstrumentationRegistry;
import android.support.test.rule.ActivityTestRule;
import android.support.test.runner.AndroidJUnit4;

import com.android.settings.R;
import com.android.settings.Settings.WifiSettingsActivity;
import com.android.settingslib.wifi.AccessPoint;
import com.android.settingslib.wifi.WifiTracker;
import com.android.settingslib.wifi.WifiTrackerFactory;

import com.google.common.collect.Lists;

import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -43,9 +47,13 @@ public class WifiSettingsUiTest {

    // TODO(sghuman): Investigate why resource ids are not resolving correctly in the test apk,
    // then remove this manual string entry
    private static final String WIFI_PREFERENCES = "Wi\\u2011Fi preferences";
    private static final String WIFI_PREFERENCES = "Wi\u2011Fi preferences";

    @Mock private AccessPoint mockAccessPoint;
    @Mock private WifiTracker mockWifiTracker;
    @Mock private WifiManager mockWifiManager;

    private Context mContext;

    @Rule
    public ActivityTestRule<WifiSettingsActivity> mActivityRule =
@@ -54,7 +62,14 @@ public class WifiSettingsUiTest {
    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        mContext = InstrumentationRegistry.getTargetContext();

        WifiTrackerFactory.setTestingWifiTracker(mockWifiTracker);
        when(mockWifiTracker.getManager()).thenReturn(mockWifiManager);
        when(mockWifiTracker.getAccessPoints()).thenReturn(
                Lists.asList(mockAccessPoint, new AccessPoint[]{}));

        when(mockWifiManager.isWifiEnabled()).thenReturn(true);
    }

    private void launchActivity() {