diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java index ba26f02f49d..0be7c2b0d34 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -582,9 +582,11 @@ public class WifiConfigController implements TextWatcher, } /** - * Special handling for WPA2/WPA3 in Transition mode: The key SECURITY_PSK_SAE_TRANSITION is - * a pseudo key which results by the scan results, but never appears in the saved networks. - * A saved network is either WPA3 for supporting devices or WPA2 for non-supporting devices. + * Special handling for WPA2/WPA3 and OWE in Transition mode: The key + * SECURITY_PSK_SAE_TRANSITION and SECURITY_OWE_TRANSITION are pseudo keys which result by the + * scan results, but never appears in the saved networks. + * A saved network is either WPA3 for supporting devices or WPA2 for non-supporting devices, + * or, OWE for supporting devices or Open for non-supporting devices. * * @param accessPointSecurity Access point current security type * @return Converted security type (if required) @@ -597,6 +599,14 @@ public class WifiConfigController implements TextWatcher, return AccessPoint.SECURITY_PSK; } } + if (accessPointSecurity == AccessPoint.SECURITY_OWE_TRANSITION) { + if (mWifiManager.isEnhancedOpenSupported()) { + return AccessPoint.SECURITY_OWE; + } else { + return AccessPoint.SECURITY_NONE; + } + } + return accessPointSecurity; } @@ -948,7 +958,8 @@ public class WifiConfigController implements TextWatcher, private void showSecurityFields() { if (mAccessPointSecurity == AccessPoint.SECURITY_NONE || - mAccessPointSecurity == AccessPoint.SECURITY_OWE) { + mAccessPointSecurity == AccessPoint.SECURITY_OWE || + mAccessPointSecurity == AccessPoint.SECURITY_OWE_TRANSITION) { mView.findViewById(R.id.security_fields).setVisibility(View.GONE); return; } diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index 4d3f230db1e..8c4bfa28ad8 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -494,7 +494,9 @@ public class WifiSettings extends RestrictedSettingsFragment if (isSavedNetwork) { connect(mSelectedAccessPoint.getConfig(), isSavedNetwork); } else if ((mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_NONE) || - (mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_OWE)) { + (mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_OWE) || + (mSelectedAccessPoint.getSecurity() + == AccessPoint.SECURITY_OWE_TRANSITION)) { /** Bypass dialog for unsecured networks */ mSelectedAccessPoint.generateOpenNetworkConfig(); connect(mSelectedAccessPoint.getConfig(), isSavedNetwork); @@ -748,7 +750,8 @@ public class WifiSettings extends RestrictedSettingsFragment preference.setOrder(index); if (mOpenSsid != null && mOpenSsid.equals(accessPoint.getSsidStr()) && (accessPoint.getSecurity() != AccessPoint.SECURITY_NONE && - accessPoint.getSecurity() != AccessPoint.SECURITY_OWE)) { + accessPoint.getSecurity() != AccessPoint.SECURITY_OWE && + accessPoint.getSecurity() != AccessPoint.SECURITY_OWE_TRANSITION)) { if (!accessPoint.isSaved() || isDisabledByWrongPassword(accessPoint)) { onPreferenceTreeClick(preference); mOpenSsid = null; diff --git a/src/com/android/settings/wifi/WifiUtils.java b/src/com/android/settings/wifi/WifiUtils.java index 9b3c1b368c9..c4df5676246 100644 --- a/src/com/android/settings/wifi/WifiUtils.java +++ b/src/com/android/settings/wifi/WifiUtils.java @@ -268,7 +268,8 @@ public class WifiUtils { if (accessPoint.isOsuProvider()) { return CONNECT_TYPE_OSU_PROVISION; } else if ((accessPoint.getSecurity() == AccessPoint.SECURITY_NONE) || - (accessPoint.getSecurity() == AccessPoint.SECURITY_OWE)) { + (accessPoint.getSecurity() == AccessPoint.SECURITY_OWE) || + (accessPoint.getSecurity() == AccessPoint.SECURITY_OWE_TRANSITION)) { return CONNECT_TYPE_OPEN_NETWORK; } else if (accessPoint.isSaved() && config != null && config.getNetworkSelectionStatus() != null