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

Commit bb00e4c0 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[PasspointV2] Set summary of saved networks preference" into qt-dev

parents 9f374307 e6e4b4d7
Loading
Loading
Loading
Loading
+10 −1
Original line number Original line Diff line number Diff line
@@ -2303,11 +2303,20 @@
    <string name="wifi_forget_dialog_message">All passwords for this network will be deleted</string>
    <string name="wifi_forget_dialog_message">All passwords for this network will be deleted</string>
    <!-- Wi-Fi Advanced Settings --> <skip />
    <!-- Wi-Fi Advanced Settings --> <skip />
    <!-- Wi-Fi settings screen, Saved networks summary.  This shows below the "Saved networks" item and indicates the number of networks a user has saved. -->
    <!-- Wi-Fi settings screen, Saved networks summary.  This shows below the "Saved networks" item and indicates the number of networks, not including passpoint network, a user has saved. [CHAR LIMIT=30] -->
    <plurals name="wifi_saved_access_points_summary">
    <plurals name="wifi_saved_access_points_summary">
        <item quantity="one">1 network</item>
        <item quantity="one">1 network</item>
        <item quantity="other">%d networks</item>
        <item quantity="other">%d networks</item>
    </plurals>
    </plurals>
    <!-- Wi-Fi settings screen, Saved passpoint networks summary.  This shows below the "Saved networks" item and indicates the number of passpoint networks a user has saved. [CHAR LIMIT=30] -->
    <plurals name="wifi_saved_passpoint_access_points_summary">
        <item quantity="one">1 subscription</item>
        <item quantity="other">%d subscriptions</item>
    </plurals>
    <!-- Wi-Fi settings screen, Saved passpoint networks summary.  This shows below the "Saved networks" item and indicates number of whole kinds networks, if there are both normal saved networks and saved passpoint networks. The number will be at least 2. [CHAR LIMIT=60] -->
    <plurals name="wifi_saved_all_access_points_summary">
        <item quantity="other">%d networks &amp; subscriptions</item>
    </plurals>
    <!-- Wi-Fi settings screen, advanced, settings section.  This is a header shown above advanced wifi settings. [CHAR LIMIT=30] -->
    <!-- Wi-Fi settings screen, advanced, settings section.  This is a header shown above advanced wifi settings. [CHAR LIMIT=30] -->
    <string name="wifi_advanced_titlebar">Advanced Wi\u2011Fi</string>
    <string name="wifi_advanced_titlebar">Advanced Wi\u2011Fi</string>
    <!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's SSID. [CHAR LIMIT=20] -->
    <!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's SSID. [CHAR LIMIT=20] -->
+32 −4
Original line number Original line Diff line number Diff line
@@ -77,6 +77,7 @@ import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.wifi.AccessPoint;
import com.android.settingslib.wifi.AccessPoint;
import com.android.settingslib.wifi.AccessPoint.AccessPointListener;
import com.android.settingslib.wifi.AccessPoint.AccessPointListener;
import com.android.settingslib.wifi.AccessPointPreference;
import com.android.settingslib.wifi.AccessPointPreference;
import com.android.settingslib.wifi.WifiSavedConfigUtils;
import com.android.settingslib.wifi.WifiTracker;
import com.android.settingslib.wifi.WifiTracker;
import com.android.settingslib.wifi.WifiTrackerFactory;
import com.android.settingslib.wifi.WifiTrackerFactory;


@@ -958,11 +959,38 @@ public class WifiSettings extends RestrictedSettingsFragment
                isWifiWakeupEnabled()
                isWifiWakeupEnabled()
                        ? R.string.wifi_configure_settings_preference_summary_wakeup_on
                        ? R.string.wifi_configure_settings_preference_summary_wakeup_on
                        : R.string.wifi_configure_settings_preference_summary_wakeup_off));
                        : R.string.wifi_configure_settings_preference_summary_wakeup_off));
        final int numSavedNetworks = mWifiTracker.getNumSavedNetworks();

        final List<AccessPoint> savedNetworks =
                WifiSavedConfigUtils.getAllConfigs(getContext(), mWifiManager);
        final int numSavedNetworks = (savedNetworks != null) ? savedNetworks.size() : 0;
        mSavedNetworksPreference.setVisible(numSavedNetworks > 0);
        mSavedNetworksPreference.setVisible(numSavedNetworks > 0);
        if (numSavedNetworks > 0) {
            mSavedNetworksPreference.setSummary(
            mSavedNetworksPreference.setSummary(
                getResources().getQuantityString(R.plurals.wifi_saved_access_points_summary,
                    getSavedNetworkSettingsSummaryText(savedNetworks, numSavedNetworks));
                        numSavedNetworks, numSavedNetworks));
        }
    }

    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) {
            return getResources().getQuantityString(R.plurals.wifi_saved_access_points_summary,
                    numSavedNormalNetworks, numSavedNormalNetworks);
        } else if (numSavedNetworks == numSavedPasspointNetworks) {
            return getResources().getQuantityString(
                    R.plurals.wifi_saved_passpoint_access_points_summary,
                    numSavedPasspointNetworks, numSavedPasspointNetworks);
        } else {
            return getResources().getQuantityString(R.plurals.wifi_saved_all_access_points_summary,
                    numSavedNetworks, numSavedNetworks);
        }
    }
    }


    private boolean isWifiWakeupEnabled() {
    private boolean isWifiWakeupEnabled() {
+62 −2
Original line number Original line Diff line number Diff line
@@ -32,6 +32,10 @@ import android.content.ContentResolver;
import android.content.Context;
import android.content.Context;
import android.content.Intent;
import android.content.Intent;
import android.content.res.Resources;
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.Bundle;
import android.os.PowerManager;
import android.os.PowerManager;
import android.os.UserManager;
import android.os.UserManager;
@@ -49,6 +53,7 @@ import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
import com.android.settingslib.wifi.AccessPoint;
import com.android.settingslib.wifi.AccessPoint;
import com.android.settingslib.wifi.WifiTracker;
import com.android.settingslib.wifi.WifiTracker;


import java.util.ArrayList;
import org.junit.Before;
import org.junit.Before;
import org.junit.Test;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runner.RunWith;
@@ -71,6 +76,8 @@ public class WifiSettingsTest {
    private PowerManager mPowerManager;
    private PowerManager mPowerManager;
    @Mock
    @Mock
    private DataUsagePreference mDataUsagePreference;
    private DataUsagePreference mDataUsagePreference;
    @Mock
    private WifiManager mWifiManager;
    private Context mContext;
    private Context mContext;
    private WifiSettings mWifiSettings;
    private WifiSettings mWifiSettings;


@@ -86,6 +93,7 @@ public class WifiSettingsTest {
        mWifiSettings.mSavedNetworksPreference = new Preference(mContext);
        mWifiSettings.mSavedNetworksPreference = new Preference(mContext);
        mWifiSettings.mConfigureWifiSettingsPreference = new Preference(mContext);
        mWifiSettings.mConfigureWifiSettingsPreference = new Preference(mContext);
        mWifiSettings.mWifiTracker = mWifiTracker;
        mWifiSettings.mWifiTracker = mWifiTracker;
        mWifiSettings.mWifiManager = mWifiManager;
    }
    }


    @Test
    @Test
@@ -119,9 +127,30 @@ public class WifiSettingsTest {
        verify(wifiSettings).handleAddNetworkRequest(anyInt(), any(Intent.class));
        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
    @Test
    public void setAdditionalSettingsSummaries_hasSavedNetwork_preferenceVisible() {
    public void setAdditionalSettingsSummaries_hasSavedNetwork_preferenceVisible() {
        when(mWifiTracker.getNumSavedNetworks()).thenReturn(NUM_NETWORKS);
        when(mWifiManager.getConfiguredNetworks())
                .thenReturn(createMockWifiConfigurations(NUM_NETWORKS));


        mWifiSettings.setAdditionalSettingsSummaries();
        mWifiSettings.setAdditionalSettingsSummaries();


@@ -132,9 +161,40 @@ public class WifiSettingsTest {
                        NUM_NETWORKS, NUM_NETWORKS));
                        NUM_NETWORKS, NUM_NETWORKS));
    }
    }


    @Test
    public void setAdditionalSettingsSummaries_hasSavedPasspointNetwork_preferenceVisible() {
        when(mWifiManager.getPasspointConfigurations())
                .thenReturn(createMockPasspointConfigurations(NUM_NETWORKS));

        mWifiSettings.setAdditionalSettingsSummaries();

        assertThat(mWifiSettings.mSavedNetworksPreference.isVisible()).isTrue();
        assertThat(mWifiSettings.mSavedNetworksPreference.getSummary()).isEqualTo(
                mContext.getResources().getQuantityString(
                        R.plurals.wifi_saved_passpoint_access_points_summary,
                        NUM_NETWORKS, NUM_NETWORKS));
    }

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

        mWifiSettings.setAdditionalSettingsSummaries();

        assertThat(mWifiSettings.mSavedNetworksPreference.isVisible()).isTrue();
        assertThat(mWifiSettings.mSavedNetworksPreference.getSummary()).isEqualTo(
                mContext.getResources().getQuantityString(
                        R.plurals.wifi_saved_all_access_points_summary,
                        NUM_NETWORKS*2, NUM_NETWORKS*2));
    }

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


        mWifiSettings.setAdditionalSettingsSummaries();
        mWifiSettings.setAdditionalSettingsSummaries();