Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c03fc88e authored by Hai Shalom's avatar Hai Shalom
Browse files

[SettingsLib] Display WPA2/WPA3-Personal for WPA2/WPA3 transition mode networks

Settings display WPA3-Personal in Network details dialog for WPA2/WPA3
networks in transition mode. Need to add simple logic to detect transition
mode networks and display type correctly. No need to make other changes
other than the UI as the underlying framework would still connect to WPA3
network only.

Bug: 130181491
Test: Connect to transtion mode network, verify WPA2/WPA3-Personal
Test: Connect to WPA3 only network, verify WPA3-Personal
Test: Connect to WPA2 only network, verify WPA2-Personal
Change-Id: I9812b2a421990ef067ed77e8595d7daf37a72c30
parent e6194253
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -34,6 +34,8 @@
    <string name="wifi_security_short_eap" translatable="false">802.1x</string>
    <string name="wifi_security_short_eap" translatable="false">802.1x</string>
    <!-- Do not translate.  Concise terminology for wifi with WPA3 security -->
    <!-- Do not translate.  Concise terminology for wifi with WPA3 security -->
    <string name="wifi_security_short_sae" translatable="false">WPA3</string>
    <string name="wifi_security_short_sae" translatable="false">WPA3</string>
    <!-- Do not translate.  Concise terminology for wifi with WPA2/WPA3 transition security -->
    <string name="wifi_security_short_psk_sae" translatable="false">WPA2/WPA3</string>
    <!-- Do not translate.  Concise terminology for wifi with OWE security -->
    <!-- Do not translate.  Concise terminology for wifi with OWE security -->
    <string name="wifi_security_short_owe" translatable="false">OWE</string>
    <string name="wifi_security_short_owe" translatable="false">OWE</string>
    <!-- Do not translate.  Concise terminology for wifi with 802.1x EAP Suite-B security -->
    <!-- Do not translate.  Concise terminology for wifi with 802.1x EAP Suite-B security -->
@@ -58,6 +60,8 @@
    <string name="wifi_security_passpoint" translatable="false">Passpoint</string>
    <string name="wifi_security_passpoint" translatable="false">Passpoint</string>
    <!-- Do not translate.  Terminology for wifi with WPA3 security -->
    <!-- Do not translate.  Terminology for wifi with WPA3 security -->
    <string name="wifi_security_sae" translatable="false">WPA3-Personal</string>
    <string name="wifi_security_sae" translatable="false">WPA3-Personal</string>
    <!-- Do not translate.  Terminology for wifi with WPA2/WPA3 Transition mode security -->
    <string name="wifi_security_psk_sae" translatable="false">WPA2/WPA3-Personal</string>
    <!-- Do not translate.  Terminology for wifi with OWE security -->
    <!-- Do not translate.  Terminology for wifi with OWE security -->
    <string name="wifi_security_owe" translatable="false">Enhanced Open</string>
    <string name="wifi_security_owe" translatable="false">Enhanced Open</string>
    <!-- Do not translate.  Concise terminology for wifi with 802.1x EAP Suite-B security -->
    <!-- Do not translate.  Concise terminology for wifi with 802.1x EAP Suite-B security -->
+18 −5
Original line number Original line Diff line number Diff line
@@ -184,6 +184,7 @@ public class AccessPoint implements Comparable<AccessPoint> {
    private static final int PSK_WPA = 1;
    private static final int PSK_WPA = 1;
    private static final int PSK_WPA2 = 2;
    private static final int PSK_WPA2 = 2;
    private static final int PSK_WPA_WPA2 = 3;
    private static final int PSK_WPA_WPA2 = 3;
    private static final int PSK_SAE = 4;


    /**
    /**
     * The number of distinct wifi levels.
     * The number of distinct wifi levels.
@@ -764,7 +765,7 @@ public class AccessPoint implements Comparable<AccessPoint> {
            ssid = bestResult.SSID;
            ssid = bestResult.SSID;
            bssid = bestResult.BSSID;
            bssid = bestResult.BSSID;
            security = getSecurity(bestResult);
            security = getSecurity(bestResult);
            if (security == SECURITY_PSK) {
            if (security == SECURITY_PSK || security == SECURITY_SAE) {
                pskType = getPskType(bestResult);
                pskType = getPskType(bestResult);
            }
            }
            mIsCarrierAp = bestResult.isCarrierAp;
            mIsCarrierAp = bestResult.isCarrierAp;
@@ -826,8 +827,13 @@ public class AccessPoint implements Comparable<AccessPoint> {
                return concise ? context.getString(R.string.wifi_security_short_wep) :
                return concise ? context.getString(R.string.wifi_security_short_wep) :
                    context.getString(R.string.wifi_security_wep);
                    context.getString(R.string.wifi_security_wep);
            case SECURITY_SAE:
            case SECURITY_SAE:
                if (pskType == PSK_SAE) {
                    return concise ? context.getString(R.string.wifi_security_short_psk_sae) :
                            context.getString(R.string.wifi_security_psk_sae);
                } else {
                    return concise ? context.getString(R.string.wifi_security_short_sae) :
                    return concise ? context.getString(R.string.wifi_security_short_sae) :
                            context.getString(R.string.wifi_security_sae);
                            context.getString(R.string.wifi_security_sae);
                }
            case SECURITY_OWE:
            case SECURITY_OWE:
                return concise ? context.getString(R.string.wifi_security_short_owe) :
                return concise ? context.getString(R.string.wifi_security_short_owe) :
                    context.getString(R.string.wifi_security_owe);
                    context.getString(R.string.wifi_security_owe);
@@ -1461,14 +1467,21 @@ public class AccessPoint implements Comparable<AccessPoint> {
    private static int getPskType(ScanResult result) {
    private static int getPskType(ScanResult result) {
        boolean wpa = result.capabilities.contains("WPA-PSK");
        boolean wpa = result.capabilities.contains("WPA-PSK");
        boolean wpa2 = result.capabilities.contains("RSN-PSK");
        boolean wpa2 = result.capabilities.contains("RSN-PSK");
        if (wpa2 && wpa) {
        boolean wpa3TransitionMode = result.capabilities.contains("PSK+SAE");
        boolean wpa3 = result.capabilities.contains("RSN-SAE");
        if (wpa3TransitionMode) {
            return PSK_SAE;
        } else if (wpa2 && wpa) {
            return PSK_WPA_WPA2;
            return PSK_WPA_WPA2;
        } else if (wpa2) {
        } else if (wpa2) {
            return PSK_WPA2;
            return PSK_WPA2;
        } else if (wpa) {
        } else if (wpa) {
            return PSK_WPA;
            return PSK_WPA;
        } else {
        } else {
            if (!wpa3) {
                // Suppress warning for WPA3 only networks
                Log.w(TAG, "Received abnormal flag string: " + result.capabilities);
                Log.w(TAG, "Received abnormal flag string: " + result.capabilities);
            }
            return PSK_UNKNOWN;
            return PSK_UNKNOWN;
        }
        }
    }
    }