Settings: migrate usage of @hide NetworkSuggestion APIs

Settings uses @hide WifiNetworkSuggestion.
wifiConfiguration/passpointConfiguration.
Migrate to @SystemApi getters.

Removed call to PasspointConfiguration.validate()
as it is an @hide API, instead
WifiManager.addOrUpdatePasspointConfiguration()
will perform the required validation.

Bug: 138801922
Test: make RunSettingsRoboTests -j40
Change-Id: I748010b66634b1d24e89a175917492f638267cb1
This commit is contained in:
David Su
2020-01-17 13:50:46 -08:00
parent 6860eecdcc
commit 453d88568f
2 changed files with 19 additions and 29 deletions

View File

@@ -323,44 +323,34 @@ public class AddAppNetworksFragment extends InstrumentedFragment {
* networks, for creating UI to user.
*/
@VisibleForTesting
void filterSavedNetworks(
List<WifiConfiguration> savedWifiConfigurations) {
void filterSavedNetworks(List<WifiConfiguration> savedWifiConfigurations) {
if (mUiToRequestedList == null) {
mUiToRequestedList = new ArrayList<>();
} else {
mUiToRequestedList.clear();
}
boolean foundInSavedList;
boolean foundError;
String displayedName = null;
int networkPositionInBundle = 0;
for (WifiNetworkSuggestion suggestion : mAllSpecifiedNetworksList) {
foundInSavedList = false;
foundError = false;
String displayedName = null;
boolean foundInSavedList = false;
/**
/*
* If specified is passpoint network, need to check with the existing passpoint
* networks.
*/
if (suggestion.passpointConfiguration != null) {
if (!suggestion.passpointConfiguration.validate()) {
foundError = true;
} else {
foundInSavedList = isSavedPasspointConfiguration(
suggestion.passpointConfiguration);
displayedName = suggestion.passpointConfiguration.getHomeSp().getFriendlyName();
}
final PasspointConfiguration passpointConfig = suggestion.getPasspointConfiguration();
if (passpointConfig != null) {
foundInSavedList = isSavedPasspointConfiguration(passpointConfig);
displayedName = passpointConfig.getHomeSp().getFriendlyName();
} else {
final WifiConfiguration specifiedConfig = suggestion.wifiConfiguration;
final WifiConfiguration specifiedConfig = suggestion.getWifiConfiguration();
displayedName = removeDoubleQuotes(specifiedConfig.SSID);
foundInSavedList = isSavedWifiConfiguration(specifiedConfig,
savedWifiConfigurations);
}
if (foundError) {
mResultCodeArrayList.set(networkPositionInBundle, RESULT_NETWORK_ADD_ERROR);
} else if (foundInSavedList) {
if (foundInSavedList) {
// If this requested network already in the saved networks, mark this item in the
// result code list as existed.
mResultCodeArrayList.set(networkPositionInBundle, RESULT_NETWORK_ALREADY_EXISTS);
@@ -596,11 +586,12 @@ public class AddAppNetworksFragment extends InstrumentedFragment {
* Call framework API to save single network.
*/
private void saveNetwork(int index) {
if (mUiToRequestedList.get(index).mWifiNetworkSuggestion.passpointConfiguration != null) {
final PasspointConfiguration passpointConfig =
mUiToRequestedList.get(index).mWifiNetworkSuggestion.getPasspointConfiguration();
if (passpointConfig != null) {
// Save passpoint, if no IllegalArgumentException, then treat it as success.
try {
mWifiManager.addOrUpdatePasspointConfiguration(mUiToRequestedList.get(
index).mWifiNetworkSuggestion.passpointConfiguration);
mWifiManager.addOrUpdatePasspointConfiguration(passpointConfig);
mAnyNetworkSavedSuccess = true;
} catch (IllegalArgumentException e) {
mResultCodeArrayList.set(mUiToRequestedList.get(index).mIndex,
@@ -612,18 +603,17 @@ public class AddAppNetworksFragment extends InstrumentedFragment {
}
// Show saved or failed according to all results.
showSavedOrFail();
return;
} else {
final WifiConfiguration wifiConfiguration = mUiToRequestedList.get(
index).mWifiNetworkSuggestion.wifiConfiguration;
final WifiConfiguration wifiConfiguration =
mUiToRequestedList.get(index).mWifiNetworkSuggestion.getWifiConfiguration();
wifiConfiguration.SSID = addQuotationIfNeeded(wifiConfiguration.SSID);
mWifiManager.save(wifiConfiguration, mSaveListener);
}
}
private void connectNetwork(int index) {
final WifiConfiguration wifiConfiguration = mUiToRequestedList.get(
index).mWifiNetworkSuggestion.wifiConfiguration;
final WifiConfiguration wifiConfiguration =
mUiToRequestedList.get(index).mWifiNetworkSuggestion.getWifiConfiguration();
mWifiManager.connect(wifiConfiguration, null /* ActionListener */);
}

View File

@@ -138,7 +138,7 @@ public class AddAppNetworksFragmentTest {
assertThat(mAddAppNetworksFragment.mResultCodeArrayList.get(0)).isEqualTo(
mAddAppNetworksFragment.RESULT_NETWORK_ALREADY_EXISTS);
assertThat(mAddAppNetworksFragment.mUiToRequestedList.get(
0).mWifiNetworkSuggestion.wifiConfiguration.SSID).isEqualTo(
0).mWifiNetworkSuggestion.getWifiConfiguration().SSID).isEqualTo(
FAKE_NEW_OPEN_SSID_WITH_QUOTE);
}