Merge "Stop expecting WifiConfig extra from CONFIGURED_NETWORKS_CHANGED_ACTION broadcast" into rvc-dev
diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
index 7616c4b..8dd8d7a 100644
--- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
+++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
@@ -214,15 +214,7 @@
         public void onReceive(Context context, Intent intent) {
             switch (intent.getAction()) {
                 case WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION:
-                    if (!intent.getBooleanExtra(WifiManager.EXTRA_MULTIPLE_NETWORKS_CHANGED,
-                            false /* defaultValue */)) {
-                        // only one network changed
-                        WifiConfiguration wifiConfiguration = intent
-                                .getParcelableExtra(WifiManager.EXTRA_WIFI_CONFIGURATION);
-                        if (mAccessPoint.matches(wifiConfiguration)) {
-                            mWifiConfig = wifiConfiguration;
-                        }
-                    }
+                    updateMatchingWifiConfig();
                     // fall through
                 case WifiManager.NETWORK_STATE_CHANGED_ACTION:
                 case WifiManager.RSSI_CHANGED_ACTION:
@@ -230,6 +222,17 @@
                     break;
             }
         }
+
+        private void updateMatchingWifiConfig() {
+            // use getPrivilegedConfiguredNetworks() to get Passpoint & other ephemeral networks
+            for (WifiConfiguration wifiConfiguration :
+                    mWifiManager.getPrivilegedConfiguredNetworks()) {
+                if (mAccessPoint.matches(wifiConfiguration)) {
+                    mWifiConfig = wifiConfiguration;
+                    break;
+                }
+            }
+        }
     };
 
     private final NetworkRequest mNetworkRequest = new NetworkRequest.Builder()