Merge "Implement 'Available via Passpoint' feature [DO NOT MERGE]" into mnc-dev
diff --git a/src/com/android/settings/wifi/AccessPointPreference.java b/src/com/android/settings/wifi/AccessPointPreference.java
index 8a24bc9..0f702b2 100644
--- a/src/com/android/settings/wifi/AccessPointPreference.java
+++ b/src/com/android/settings/wifi/AccessPointPreference.java
@@ -36,11 +36,14 @@
 
     private TextView mSummaryView;
     private boolean showSummary = true;
+    private boolean mForSavedNetworks = false;
     private AccessPoint mAccessPoint;
 
-    public AccessPointPreference(AccessPoint accessPoint, Context context) {
+    public AccessPointPreference(AccessPoint accessPoint, Context context,
+                                 boolean forSavedNetworks) {
         super(context);
         mAccessPoint = accessPoint;
+        mForSavedNetworks = forSavedNetworks;
         mAccessPoint.setTag(this);
         refresh();
     }
@@ -104,7 +107,10 @@
      * Updates the title and summary; may indirectly call notifyChanged().
      */
     public void refresh() {
-        setTitle(mAccessPoint.getSsid());
+        if (mForSavedNetworks)
+            setTitle(mAccessPoint.getConfigName());
+        else
+            setTitle(mAccessPoint.getSsid());
 
         final Context context = getContext();
         updateIcon(mAccessPoint.getLevel(), context);
@@ -112,7 +118,9 @@
         // Force new summary
         setSummary(null);
 
-        String summary = mAccessPoint.getSummary();
+        String summary = mForSavedNetworks ? mAccessPoint.getSavedNetworkSummary()
+                : mAccessPoint.getSettingsSummary();
+
         if (summary.length() > 0) {
             setSummary(summary);
             setShowSummary(true);
diff --git a/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java b/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java
index 04094b3..04d2107 100644
--- a/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java
+++ b/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java
@@ -96,7 +96,7 @@
         final Context context = getActivity();
 
         final List<AccessPoint> accessPoints = WifiTracker.getCurrentAccessPoints(context, true,
-                false);
+                false, true);
 
         preferenceScreen.removeAll();
 
@@ -106,7 +106,7 @@
         final int accessPointsSize = accessPoints.size();
         for (int i = 0; i < accessPointsSize; ++i){
             AccessPointPreference preference = new AccessPointPreference(accessPoints.get(i),
-                    context);
+                    context, true);
             WifiConfiguration config = accessPoints.get(i).getConfig();
             if (config != null) {
                 int userId = UserHandle.getUserId(config.creatorUid);
@@ -222,7 +222,7 @@
 
                 // Add available Wi-Fi access points
                 final List<AccessPoint> accessPoints = WifiTracker.getCurrentAccessPoints(context,
-                        true, false);
+                        true, false, true);
 
                 final int accessPointsSize = accessPoints.size();
                 for (int i = 0; i < accessPointsSize; ++i){
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index ee53887..8988495 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -250,8 +250,15 @@
                     mConfigUi.setSubmitButton(res.getString(R.string.wifi_connect));
                 } else {
                     if (state != null) {
-                        addRow(group, R.string.wifi_status, AccessPoint.getSummary(
-                                mConfigUi.getContext(), state, !mAccessPoint.isSaved()));
+                        WifiConfiguration config = mAccessPoint.getConfig();
+                        boolean isEphimeral = mAccessPoint.isSaved() == false;
+                        String providerFriendlyName = null;
+                        if (config != null && config.isPasspoint()) {
+                            providerFriendlyName = config.providerFriendlyName;
+                        }
+                        String summary = AccessPoint.getSummary(
+                                mConfigUi.getContext(), state, isEphimeral, providerFriendlyName);
+                        addRow(group, R.string.wifi_status, summary);
                     }
 
                     if (signalLevel != null) {
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 80a56bd..e5adaf0 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -156,7 +156,7 @@
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
 
-        mWifiTracker = new WifiTracker(getActivity(), this, true, true);
+        mWifiTracker = new WifiTracker(getActivity(), this, true, true, false);
         mWifiManager = mWifiTracker.getManager();
 
         mConnectListener = new WifiManager.ActionListener() {
@@ -629,7 +629,7 @@
                     if (accessPoint.getLevel() != -1) {
                         hasAvailableAccessPoints = true;
                         AccessPointPreference preference = new AccessPointPreference(accessPoint,
-                                getActivity());
+                                getActivity(), false);
 
                         getPreferenceScreen().addPreference(preference);
                         accessPoint.setListener(this);
@@ -891,7 +891,7 @@
 
                 // Add saved Wi-Fi access points
                 final Collection<AccessPoint> accessPoints =
-                        WifiTracker.getCurrentAccessPoints(context, true, false);
+                        WifiTracker.getCurrentAccessPoints(context, true, false, false);
                 for (AccessPoint accessPoint : accessPoints) {
                     data = new SearchIndexableRaw(context);
                     data.title = accessPoint.getSsid();
diff --git a/src/com/android/settings/wifi/WifiStatusTest.java b/src/com/android/settings/wifi/WifiStatusTest.java
index 269058c..9789327 100644
--- a/src/com/android/settings/wifi/WifiStatusTest.java
+++ b/src/com/android/settings/wifi/WifiStatusTest.java
@@ -300,7 +300,7 @@
             WifiInfo info = mWifiManager.getConnectionInfo();
             String summary = AccessPoint.getSummary(this, info.getSSID(),
                     networkInfo.getDetailedState(),
-                    info.getNetworkId() == WifiConfiguration.INVALID_NETWORK_ID);
+                    info.getNetworkId() == WifiConfiguration.INVALID_NETWORK_ID, null);
             mNetworkState.setText(summary);
         }
     }