From 05075242db8abe6d0b692b2238bac13360b39371 Mon Sep 17 00:00:00 2001 From: Vinit Deshpande Date: Tue, 31 Mar 2015 12:36:35 -0700 Subject: [PATCH 1/2] Enable UI for EAP-SIM/AKA/AKA' We hide identity field for these; since dynamic identities are now supported. Change-Id: I5c6816b005ffbcdfa9aad953f5167d3dfd9de055 --- res/values/arrays.xml | 6 ++++++ .../settings/wifi/WifiConfigController.java | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/res/values/arrays.xml b/res/values/arrays.xml index f0462f3acd9..c108a212b88 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -316,6 +316,12 @@ TTLS PWD + + SIM + + AKA + + AKA\' diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java index c0dbaa471d2..f13ecc37721 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -92,6 +92,9 @@ public class WifiConfigController implements TextWatcher, public static final int WIFI_EAP_METHOD_TLS = 1; public static final int WIFI_EAP_METHOD_TTLS = 2; public static final int WIFI_EAP_METHOD_PWD = 3; + public static final int WIFI_EAP_METHOD_SIM = 4; + public static final int WIFI_EAP_METHOD_AKA = 5; + public static final int WIFI_EAP_METHOD_AKA_PRIME = 6; /* These values come from "wifi_peap_phase2_entries" resource array */ public static final int WIFI_PEAP_PHASE2_NONE = 0; @@ -762,9 +765,23 @@ public class WifiConfigController implements TextWatcher, mView.findViewById(R.id.l_anonymous).setVisibility(View.VISIBLE); setUserCertInvisible(); break; + case WIFI_EAP_METHOD_SIM: + case WIFI_EAP_METHOD_AKA: + case WIFI_EAP_METHOD_AKA_PRIME: + setPhase2Invisible(); + setAnonymousIdentInvisible(); + setUserCertInvisible(); + setPasswordInvisible(); + setIdentityInvisible(); + break; } } + private void setIdentityInvisible() { + mView.findViewById(R.id.l_identity).setVisibility(View.GONE); + mPhase2Spinner.setSelection(Phase2.NONE); + } + private void setPhase2Invisible() { mView.findViewById(R.id.l_phase2).setVisibility(View.GONE); mPhase2Spinner.setSelection(Phase2.NONE); From 295793928d1b937247dc6ca0a8e3d338fb153b21 Mon Sep 17 00:00:00 2001 From: Vinit Deshpande Date: Fri, 3 Apr 2015 16:41:36 -0700 Subject: [PATCH 2/2] 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 --- res/values/strings.xml | 2 ++ src/com/android/settings/wifi/AccessPoint.java | 7 +++++-- .../android/settings/wifi/WifiConfigController.java | 12 +++++++++--- src/com/android/settings/wifi/WifiSettings.java | 7 +++++++ 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index b3aadaedc40..bd9da05aca6 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1335,6 +1335,8 @@ Connected via Wi\u2011Fi assistant Connected via %1$s + + Available via %1$s Cast screen diff --git a/src/com/android/settings/wifi/AccessPoint.java b/src/com/android/settings/wifi/AccessPoint.java index 1d5f8ce1fed..cb48f1f6531 100644 --- a/src/com/android/settings/wifi/AccessPoint.java +++ b/src/com/android/settings/wifi/AccessPoint.java @@ -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) diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java index f13ecc37721..38ceead441e 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -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) { diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index 2fd695d838d..10175ecc1dd 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -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()) {