diff --git a/src/com/android/settings/wifi/WifiSettings2.java b/src/com/android/settings/wifi/WifiSettings2.java index 5389834f13d..c06aef7bd6f 100644 --- a/src/com/android/settings/wifi/WifiSettings2.java +++ b/src/com/android/settings/wifi/WifiSettings2.java @@ -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 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 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); } } diff --git a/tests/robotests/src/com/android/settings/wifi/WifiSettings2Test.java b/tests/robotests/src/com/android/settings/wifi/WifiSettings2Test.java index 9a3d14ea008..a2f5dafa3c8 100644 --- a/tests/robotests/src/com/android/settings/wifi/WifiSettings2Test.java +++ b/tests/robotests/src/com/android/settings/wifi/WifiSettings2Test.java @@ -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 createMockWifiConfigurations(int count) { - final List mockConfigs = new ArrayList<>(); - for (int i = 0; i < count; i++) { - mockConfigs.add(new WifiConfiguration()); - } - return mockConfigs; - } - - private List createMockPasspointConfigurations(int count) { - final List 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();