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
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -269,9 +269,15 @@ public class WifiConfigController implements TextWatcher,
|
||||
mConfigUi.setSubmitButton(res.getString(R.string.wifi_connect));
|
||||
} else {
|
||||
if (state != null) {
|
||||
addRow(group, R.string.wifi_status, Summary.get(mConfigUi.getContext(),
|
||||
state, mAccessPoint.networkId ==
|
||||
WifiConfiguration.INVALID_NETWORK_ID));
|
||||
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) {
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
Reference in New Issue
Block a user