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

Commit e49ff7de authored by Quang Luong's avatar Quang Luong Committed by Android (Google) Code Review
Browse files

Merge "User WifiPickerTracker API for saved network preference text"

parents 86fd3abe 1a5b620a
Loading
Loading
Loading
Loading
+19 −25
Original line number Diff line number Diff line
@@ -62,9 +62,7 @@ import com.android.settings.widget.SwitchBarController;
import com.android.settingslib.search.Indexable;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.search.SearchIndexableRaw;
import com.android.settingslib.wifi.AccessPoint;
import com.android.settingslib.wifi.LongPressWifiEntryPreference;
import com.android.settingslib.wifi.WifiSavedConfigUtils;
import com.android.wifitrackerlib.WifiEntry;
import com.android.wifitrackerlib.WifiPickerTracker;

@@ -129,7 +127,9 @@ public class WifiSettings2 extends RestrictedSettingsFragment

    // Worker thread used for WifiPickerTracker work
    private HandlerThread mWorkerThread;
    private WifiPickerTracker mWifiPickerTracker;

    @VisibleForTesting
    WifiPickerTracker mWifiPickerTracker;

    private WifiDialog mDialog;

@@ -449,12 +449,12 @@ public class WifiSettings2 extends RestrictedSettingsFragment

    @Override
    public void onNumSavedNetworksChanged() {
        // TODO(b/70983952): Update the num saved networks preference text here
        setAdditionalSettingsSummaries();
    }

    @Override
    public void onNumSavedSubscriptionsChanged() {
        // TODO(b/70983952): Update the num saved networks preference text here
        setAdditionalSettingsSummaries();
    }

    /**
@@ -557,36 +557,30 @@ public class WifiSettings2 extends RestrictedSettingsFragment
                        ? R.string.wifi_configure_settings_preference_summary_wakeup_on
                        : R.string.wifi_configure_settings_preference_summary_wakeup_off));

        final List<AccessPoint> savedNetworks =
                WifiSavedConfigUtils.getAllConfigs(getContext(), mWifiManager);
        final int numSavedNetworks = (savedNetworks != null) ? savedNetworks.size() : 0;
        mSavedNetworksPreference.setVisible(numSavedNetworks > 0);
        if (numSavedNetworks > 0) {
        final int numSavedNetworks = mWifiPickerTracker.getNumSavedNetworks();
        final int numSavedSubscriptions = mWifiPickerTracker.getNumSavedSubscriptions();
        if (numSavedNetworks + numSavedSubscriptions > 0) {
            mSavedNetworksPreference.setVisible(true);
            mSavedNetworksPreference.setSummary(
                    getSavedNetworkSettingsSummaryText(savedNetworks, numSavedNetworks));
                    getSavedNetworkSettingsSummaryText(numSavedNetworks, numSavedSubscriptions));
        } else {
            mSavedNetworksPreference.setVisible(false);
        }
    }

    private String getSavedNetworkSettingsSummaryText(
            List<AccessPoint> savedNetworks, int numSavedNetworks) {
        int numSavedPasspointNetworks = 0;
        for (AccessPoint savedNetwork : savedNetworks) {
            if (savedNetwork.isPasspointConfig() || savedNetwork.isPasspoint()) {
                numSavedPasspointNetworks++;
            }
        }
        final int numSavedNormalNetworks = numSavedNetworks - numSavedPasspointNetworks;

        if (numSavedNetworks == numSavedNormalNetworks) {
            int numSavedNetworks, int numSavedSubscriptions) {
        if (numSavedSubscriptions == 0) {
            return getResources().getQuantityString(R.plurals.wifi_saved_access_points_summary,
                    numSavedNormalNetworks, numSavedNormalNetworks);
        } else if (numSavedNetworks == numSavedPasspointNetworks) {
                    numSavedNetworks, numSavedNetworks);
        } else if (numSavedNetworks == 0) {
            return getResources().getQuantityString(
                    R.plurals.wifi_saved_passpoint_access_points_summary,
                    numSavedPasspointNetworks, numSavedPasspointNetworks);
                    numSavedSubscriptions, numSavedSubscriptions);
        } else {
            final int numTotalEntries = numSavedNetworks + numSavedSubscriptions;
            return getResources().getQuantityString(R.plurals.wifi_saved_all_access_points_summary,
                    numSavedNetworks, numSavedNetworks);
                    numTotalEntries, numTotalEntries);
        }
    }

+12 −38
Original line number Diff line number Diff line
@@ -32,10 +32,6 @@ import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.net.wifi.hotspot2.PasspointConfiguration;
import android.net.wifi.hotspot2.pps.HomeSp;
import android.os.Bundle;
import android.os.PowerManager;
import android.os.UserManager;
@@ -49,6 +45,7 @@ import com.android.settings.datausage.DataUsagePreference;
import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
import com.android.settings.testutils.shadow.ShadowFragment;
import com.android.settingslib.search.SearchIndexableRaw;
import com.android.wifitrackerlib.WifiPickerTracker;

import org.junit.Before;
import org.junit.Test;
@@ -59,7 +56,6 @@ import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;

import java.util.ArrayList;
import java.util.List;

@RunWith(RobolectricTestRunner.class)
@@ -71,10 +67,10 @@ public class WifiSettings2Test {
    private PowerManager mPowerManager;
    @Mock
    private DataUsagePreference mDataUsagePreference;
    @Mock
    private WifiManager mWifiManager;
    private Context mContext;
    private WifiSettings2 mWifiSettings2;
    @Mock
    private WifiPickerTracker mMockWifiPickerTracker;

    @Before
    public void setUp() {
@@ -87,7 +83,7 @@ public class WifiSettings2Test {
        mWifiSettings2.mAddWifiNetworkPreference = new AddWifiNetworkPreference(mContext);
        mWifiSettings2.mSavedNetworksPreference = new Preference(mContext);
        mWifiSettings2.mConfigureWifiSettingsPreference = new Preference(mContext);
        mWifiSettings2.mWifiManager = mWifiManager;
        mWifiSettings2.mWifiPickerTracker = mMockWifiPickerTracker;
    }

    @Test
@@ -121,30 +117,10 @@ public class WifiSettings2Test {
        verify(wifiSettings).handleAddNetworkRequest(anyInt(), any(Intent.class));
    }

    private List<WifiConfiguration> createMockWifiConfigurations(int count) {
        final List<WifiConfiguration> mockConfigs = new ArrayList<>();
        for (int i = 0; i < count; i++) {
            mockConfigs.add(new WifiConfiguration());
        }
        return mockConfigs;
    }

    private List<PasspointConfiguration> createMockPasspointConfigurations(int count) {
        final List<PasspointConfiguration> mockConfigs = new ArrayList<>();
        for (int i = 0; i < count; i++) {
            final HomeSp sp = new HomeSp();
            sp.setFqdn("fqdn");
            final PasspointConfiguration config = new PasspointConfiguration();
            config.setHomeSp(sp);
            mockConfigs.add(config);
        }
        return mockConfigs;
    }

    @Test
    public void setAdditionalSettingsSummaries_hasSavedNetwork_preferenceVisible() {
        when(mWifiManager.getConfiguredNetworks())
                .thenReturn(createMockWifiConfigurations(NUM_NETWORKS));
        when(mMockWifiPickerTracker.getNumSavedNetworks()).thenReturn(NUM_NETWORKS);
        when(mMockWifiPickerTracker.getNumSavedSubscriptions()).thenReturn(0 /* count */);

        mWifiSettings2.setAdditionalSettingsSummaries();

@@ -157,8 +133,8 @@ public class WifiSettings2Test {

    @Test
    public void setAdditionalSettingsSummaries_hasSavedPasspointNetwork_preferenceVisible() {
        when(mWifiManager.getPasspointConfigurations())
                .thenReturn(createMockPasspointConfigurations(NUM_NETWORKS));
        when(mMockWifiPickerTracker.getNumSavedNetworks()).thenReturn(0 /* count */);
        when(mMockWifiPickerTracker.getNumSavedSubscriptions()).thenReturn(NUM_NETWORKS);

        mWifiSettings2.setAdditionalSettingsSummaries();

@@ -171,10 +147,8 @@ public class WifiSettings2Test {

    @Test
    public void setAdditionalSettingsSummaries_hasTwoKindsSavedNetwork_preferenceVisible() {
        when(mWifiManager.getConfiguredNetworks())
                .thenReturn(createMockWifiConfigurations(NUM_NETWORKS));
        when(mWifiManager.getPasspointConfigurations())
                .thenReturn(createMockPasspointConfigurations(NUM_NETWORKS));
        when(mMockWifiPickerTracker.getNumSavedNetworks()).thenReturn(NUM_NETWORKS);
        when(mMockWifiPickerTracker.getNumSavedSubscriptions()).thenReturn(NUM_NETWORKS);

        mWifiSettings2.setAdditionalSettingsSummaries();

@@ -187,8 +161,8 @@ public class WifiSettings2Test {

    @Test
    public void setAdditionalSettingsSummaries_noSavedNetwork_preferenceInvisible() {
        when(mWifiManager.getConfiguredNetworks())
                .thenReturn(createMockWifiConfigurations(0 /* count */));
        when(mMockWifiPickerTracker.getNumSavedNetworks()).thenReturn(0 /* count */);
        when(mMockWifiPickerTracker.getNumSavedSubscriptions()).thenReturn(0 /* count */);

        mWifiSettings2.setAdditionalSettingsSummaries();