User WifiPickerTracker API for saved network preference text
Change the source of the saved network preference text from WifiManager to WifiPickerTracker and update it through the WifiPickerTrackerCallback. Bug: 70983952 Test: atest WifiSettings2Test Change-Id: Ia0a61f174a061892cd9376c16402e4983eaaa03c
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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();
|
||||
|
||||
|
Reference in New Issue
Block a user