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

Commit 29579392 authored by Vinit Deshpande's avatar Vinit Deshpande
Browse files

Implement 'Available via Passpoint' feature

This also fixes the issues related to explicit connection
to passpoint AP, and fixes occassional mention of
'connected via Wi-Fi Assistent'

Change-Id: Ib4de956f2ea29709d0212fbcb392815644800e78
parent 05075242
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1335,6 +1335,8 @@
    <string name="connected_via_wfa">Connected via Wi\u2011Fi assistant</string>
    <!-- Status message of Wi-Fi when it is connected by Passpoint configuration. [CHAR LIMIT=NONE] -->
    <string name="connected_via_passpoint">Connected via %1$s</string>
    <!-- Status message of Wi-Fi when network has matching passpoint credentials. [CHAR LIMIT=NONE] -->
    <string name="available_via_passpoint">Available via %1$s</string>

    <!-- Wifi Display settings. The title of the screen. [CHAR LIMIT=40] -->
    <string name="wifi_display_settings_title">Cast screen</string>
+5 −2
Original line number Diff line number Diff line
@@ -401,6 +401,7 @@ class AccessPoint extends Preference {

    void update(WifiConfiguration config) {
        mConfig = config;
        networkId = config.networkId;
        refresh();
    }

@@ -631,8 +632,10 @@ class AccessPoint extends Preference {
                    mConfig.providerFriendlyName : null;
            summary.append(Summary.get(context, getState(),
                    networkId == WifiConfiguration.INVALID_NETWORK_ID, passpointProvider));
        } else if (mConfig != null
                && mConfig.hasNoInternetAccess()) {
        } else if (mConfig != null && mConfig.isPasspoint()) {
            String format = context.getString(R.string.available_via_passpoint);
            summary.append(String.format(format, mConfig.providerFriendlyName));
        } else if (mConfig != null && mConfig.hasNoInternetAccess()) {
            summary.append(context.getString(R.string.wifi_no_internet));
        } else if (mConfig != null && ((mConfig.status == WifiConfiguration.Status.DISABLED &&
                mConfig.disableReason != WifiConfiguration.DISABLED_UNKNOWN_REASON)
+9 −3
Original line number Diff line number Diff line
@@ -269,10 +269,16 @@ public class WifiConfigController implements TextWatcher,
                    mConfigUi.setSubmitButton(res.getString(R.string.wifi_connect));
                } else {
                    if (state != null) {
                        WifiConfiguration config = mAccessPoint.getConfig();
                        if (config != null && config.isPasspoint()) {
                            addRow(group, R.string.wifi_status, Summary.get(mConfigUi.getContext(),
                                    state, false, config.providerFriendlyName));
                        } else {
                            addRow(group, R.string.wifi_status, Summary.get(mConfigUi.getContext(),
                                    state, mAccessPoint.networkId ==
                                            WifiConfiguration.INVALID_NETWORK_ID));
                        }
                    }

                    if (signalLevel != null) {
                        addRow(group, R.string.wifi_signal, signalLevel);
+7 −0
Original line number Diff line number Diff line
@@ -778,6 +778,13 @@ public class WifiSettings extends RestrictedSettingsFragment
                        accessPoint.update(lastInfo, lastNetworkInfo);
                    }

                    if (result.passpointNetwork) {
                        WifiConfiguration config = wifiManager.getMatchingWifiConfig(result);
                        if (config != null) {
                            accessPoint.update(config);
                        }
                    }

                    if (lastInfo != null && lastInfo.getBSSID() != null
                            && lastInfo.getBSSID().equals(result.BSSID)
                            && connectionConfig != null && connectionConfig.isPasspoint()) {