Merge "[PasspointV2] Set summary of saved networks preference" into qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
bb00e4c028
@@ -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 & 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] -->
|
||||||
|
@@ -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() {
|
||||||
|
@@ -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();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user