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

Commit 453d8856 authored by David Su's avatar David Su
Browse files

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
parent 6860eecd
Loading
Loading
Loading
Loading
+18 −28
Original line number Diff line number Diff line
@@ -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 */);
    }

+1 −1
Original line number Diff line number Diff line
@@ -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);
    }