Set connected OSU network to active AP at top of wifi picker

Clicking on an OSU network in the wifi picker should result in
the OSU network properly showing at the top as the connected
network instead of the underlying infrastructure AP.

Tracking bug for adding robolectric tests: b/122849296

Bug: 118705403
Test: manual, build and visual check
Change-Id: I05560b07acffb8aa85ac371d613088d5b7cd19f6
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
index 1267898..e2013df 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
@@ -886,7 +886,17 @@
         // Update to new summary
         StringBuilder summary = new StringBuilder();
 
-        if (isActive()) {
+        if (isOsuProvider()) {
+            if (mOsuProvisioningComplete) {
+                summary.append(mContext.getString(R.string.osu_provisioning_complete));
+            } else if (mOsuFailure != null) {
+                summary.append(mOsuFailure);
+            } else if (mOsuStatus != null) {
+                summary.append(mOsuStatus);
+            } else {
+                summary.append(mContext.getString(R.string.tap_to_set_up));
+            }
+        } else if (isActive()) {
             if (isPasspoint()) {
                 // This is the active connection on passpoint
                 summary.append(getSummary(mContext, ssid, getDetailedState(),
@@ -931,16 +941,6 @@
             } else if (mIsCarrierAp) {
                 summary.append(String.format(mContext.getString(
                         R.string.available_via_carrier), mCarrierName));
-            } else if (isOsuProvider()) {
-                if (mOsuProvisioningComplete) {
-                    summary.append(mContext.getString(R.string.osu_provisioning_complete));
-                } else if (mOsuFailure != null) {
-                    summary.append(mOsuFailure);
-                } else if (mOsuStatus != null) {
-                    summary.append(mOsuStatus);
-                } else {
-                    summary.append(mContext.getString(R.string.tap_to_set_up));
-                }
             } else if (!isReachable()) { // Wifi out of range
                 summary.append(mContext.getString(R.string.wifi_not_in_range));
             } else { // In range, not disabled.
@@ -1045,6 +1045,10 @@
      * match based on SSID and security.
      */
     private boolean isInfoForThisAccessPoint(WifiConfiguration config, WifiInfo info) {
+        if (info.isOsuAp()) {
+            return (mOsuStatus != null);
+        }
+
         if (isPasspoint() == false && networkId != WifiConfiguration.INVALID_NETWORK_ID) {
             return networkId == info.getNetworkId();
         } else if (config != null) {