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

Commit bcb77b67 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[Settings] Show accurate Enterprise networks details" into qt-dev

parents 0fcd8cee 5daf0ce4
Loading
Loading
Loading
Loading
+13 −5
Original line number Diff line number Diff line
@@ -32,14 +32,18 @@
    <string name="wifi_security_short_psk_generic" translatable="false">@string/wifi_security_short_wpa_wpa2</string>
    <!-- Do not translate.  Concise terminology for wifi with 802.1x EAP security -->
    <string name="wifi_security_short_eap" translatable="false">802.1x</string>
    <!-- Do not translate.  Concise terminology for wifi with WPA 802.1x EAP security -->
    <string name="wifi_security_short_eap_wpa" translatable="false">WPA-EAP</string>
    <!-- Do not translate.  Concise terminology for wifi with WPA2/WPA3 802.1x EAP security -->
    <string name="wifi_security_short_eap_wpa2_wpa3" translatable="false">RSN-EAP</string>
    <!-- Do not translate.  Concise terminology for wifi with WPA3 security -->
    <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 -->
    <string name="wifi_security_short_owe" translatable="false">OWE</string>
    <!-- Do not translate.  Concise terminology for wifi with 802.1x EAP Suite-B security -->
    <string name="wifi_security_short_eap_suiteb" translatable="false">Suite-B</string>
    <!-- Do not translate.  Concise terminology for wifi with 802.1x EAP Suite-B-192 security -->
    <string name="wifi_security_short_eap_suiteb" translatable="false">Suite-B-192</string>

    <!-- Used in Wi-Fi settings dialogs when Wi-Fi does not have any security. [CHAR LIMIT=40] -->
    <string name="wifi_security_none">None</string>
@@ -55,7 +59,11 @@
    <!-- Do not translate.  Terminology for wifi with unknown PSK type -->
    <string name="wifi_security_psk_generic" translatable="false">@string/wifi_security_wpa_wpa2</string>
    <!-- Do not translate.  Concise terminology for wifi with 802.1x EAP security -->
    <string name="wifi_security_eap" translatable="false">WPA/WPA2-Enterprise</string>
    <string name="wifi_security_eap" translatable="false">WPA/WPA2/WPA3-Enterprise</string>
    <!-- Do not translate.  Concise terminology for wifi with WPA 802.1x EAP security -->
    <string name="wifi_security_eap_wpa" translatable="false">WPA-Enterprise</string>
    <!-- Do not translate.  Concise terminology for wifi with WPA2/WPA3 802.1x EAP security -->
    <string name="wifi_security_eap_wpa2_wpa3" translatable="false">WPA2/WPA3-Enterprise</string>
    <!-- Do not translate.  Concise terminology for Passpoint network -->
    <string name="wifi_security_passpoint" translatable="false">Passpoint</string>
    <!-- Do not translate.  Terminology for wifi with WPA3 security -->
@@ -64,8 +72,8 @@
    <string name="wifi_security_psk_sae" translatable="false">WPA2/WPA3-Personal</string>
    <!-- Do not translate.  Terminology for wifi with OWE security -->
    <string name="wifi_security_owe" translatable="false">Enhanced Open</string>
    <!-- Do not translate.  Concise terminology for wifi with 802.1x EAP Suite-B security -->
    <string name="wifi_security_eap_suiteb" translatable="false">WPA3-Enterprise</string>
    <!-- Do not translate.  Concise terminology for wifi with 802.1x EAP Suite-B-192 security -->
    <string name="wifi_security_eap_suiteb" translatable="false">WPA3-Enterprise 192-bit</string>

    <!-- Summary for the remembered network. -->
    <string name="wifi_remembered">Saved</string>
+39 −2
Original line number Diff line number Diff line
@@ -164,6 +164,7 @@ public class AccessPoint implements Comparable<AccessPoint> {
    static final String KEY_IS_CARRIER_AP = "key_is_carrier_ap";
    static final String KEY_CARRIER_AP_EAP_TYPE = "key_carrier_ap_eap_type";
    static final String KEY_CARRIER_NAME = "key_carrier_name";
    static final String KEY_EAPTYPE = "eap_psktype";
    static final AtomicInteger sLastId = new AtomicInteger(0);

    /*
@@ -186,6 +187,10 @@ public class AccessPoint implements Comparable<AccessPoint> {
    private static final int PSK_WPA_WPA2 = 3;
    private static final int PSK_SAE = 4;

    private static final int EAP_UNKNOWN = 0;
    private static final int EAP_WPA = 1; // WPA-EAP
    private static final int EAP_WPA2_WPA3 = 2; // RSN-EAP

    /**
     * The number of distinct wifi levels.
     *
@@ -210,6 +215,7 @@ public class AccessPoint implements Comparable<AccessPoint> {
    private int networkId = WifiConfiguration.INVALID_NETWORK_ID;

    private int pskType = PSK_UNKNOWN;
    private int mEapType = EAP_UNKNOWN;

    private WifiConfiguration mConfig;

@@ -267,6 +273,9 @@ public class AccessPoint implements Comparable<AccessPoint> {
        if (savedState.containsKey(KEY_PSKTYPE)) {
            pskType = savedState.getInt(KEY_PSKTYPE);
        }
        if (savedState.containsKey(KEY_EAPTYPE)) {
            mEapType = savedState.getInt(KEY_EAPTYPE);
        }
        mInfo = savedState.getParcelable(KEY_WIFIINFO);
        if (savedState.containsKey(KEY_NETWORKINFO)) {
            mNetworkInfo = savedState.getParcelable(KEY_NETWORKINFO);
@@ -776,6 +785,9 @@ public class AccessPoint implements Comparable<AccessPoint> {
            if (security == SECURITY_PSK || security == SECURITY_SAE) {
                pskType = getPskType(bestResult);
            }
            if (security == SECURITY_EAP) {
                mEapType = getEapType(bestResult);
            }
            mIsCarrierAp = bestResult.isCarrierAp;
            mCarrierApEapType = bestResult.carrierApEapType;
            mCarrierName = bestResult.carrierName;
@@ -810,8 +822,20 @@ public class AccessPoint implements Comparable<AccessPoint> {
        }
        switch(security) {
            case SECURITY_EAP:
                return concise ? context.getString(R.string.wifi_security_short_eap) :
                switch (mEapType) {
                    case EAP_WPA:
                        return concise ? context.getString(R.string.wifi_security_short_eap_wpa) :
                                context.getString(R.string.wifi_security_eap_wpa);
                    case EAP_WPA2_WPA3:
                        return concise
                                ? context.getString(R.string.wifi_security_short_eap_wpa2_wpa3) :
                                context.getString(R.string.wifi_security_eap_wpa2_wpa3);
                    case EAP_UNKNOWN:
                    default:
                        return concise
                                ? context.getString(R.string.wifi_security_short_eap) :
                                context.getString(R.string.wifi_security_eap);
                }
            case SECURITY_EAP_SUITE_B:
                return concise ? context.getString(R.string.wifi_security_short_eap_suiteb) :
                        context.getString(R.string.wifi_security_eap_suiteb);
@@ -1161,6 +1185,7 @@ public class AccessPoint implements Comparable<AccessPoint> {
        savedState.putInt(KEY_SECURITY, security);
        savedState.putInt(KEY_SPEED, mSpeed);
        savedState.putInt(KEY_PSKTYPE, pskType);
        savedState.putInt(KEY_EAPTYPE, mEapType);
        if (mConfig != null) savedState.putParcelable(KEY_CONFIG, mConfig);
        savedState.putParcelable(KEY_WIFIINFO, mInfo);
        savedState.putParcelableArray(KEY_SCANRESULTS,
@@ -1494,6 +1519,18 @@ public class AccessPoint implements Comparable<AccessPoint> {
        }
    }

    private static int getEapType(ScanResult result) {
        // WPA2-Enterprise and WPA3-Enterprise (non 192-bit) advertise RSN-EAP-CCMP
        if (result.capabilities.contains("RSN-EAP")) {
            return EAP_WPA2_WPA3;
        }
        // WPA-Enterprise advertises WPA-EAP-TKIP
        if (result.capabilities.contains("WPA-EAP")) {
            return EAP_WPA;
        }
        return EAP_UNKNOWN;
    }

    private static int getSecurity(ScanResult result) {
        if (result.capabilities.contains("WEP")) {
            return SECURITY_WEP;