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

Commit 8d91c070 authored by Jimmy Chen's avatar Jimmy Chen
Browse files

wifi: add SAE password identifier to WifiConfiguration

Bug: 138305265
Test: atest FrameworksWifiApiTests
Test: atest FrameworksWifiTests
Test: connect to a WPA3 SAE access point with different
      password/identifer combinations.

Change-Id: I1f26a5dbf5654ca2a6734f94eec547f33c349e9e
parent 9d4f41f2
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.net.wifi;

import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.annotation.UnsupportedAppUsage;
import android.content.pm.PackageManager;
@@ -509,6 +510,12 @@ public class WifiConfiguration implements Parcelable {
     */
    public String preSharedKey;

    /**
     * Optional SAE Password Id for use with WPA3-SAE. It is an ASCII string.
     * @hide
     */
    public @Nullable String saePasswordId;

    /**
     * Four WEP keys. For each of the four values, provide either an ASCII
     * string enclosed in double quotation marks (e.g., {@code "abcdef"}),
@@ -1995,6 +2002,9 @@ public class WifiConfiguration implements Parcelable {
            sbuf.append('*');
        }

        sbuf.append('\n').append(" SAE Password Id: ");
        sbuf.append(this.saePasswordId);

        sbuf.append("\nEnterprise config:\n");
        sbuf.append(enterpriseConfig);

@@ -2363,6 +2373,7 @@ public class WifiConfiguration implements Parcelable {
            providerFriendlyName = source.providerFriendlyName;
            isHomeProviderNetwork = source.isHomeProviderNetwork;
            preSharedKey = source.preSharedKey;
            saePasswordId = source.saePasswordId;

            mNetworkSelectionStatus.copy(source.getNetworkSelectionStatus());
            apBand = source.apBand;
@@ -2452,6 +2463,7 @@ public class WifiConfiguration implements Parcelable {
            dest.writeLong(roamingConsortiumId);
        }
        dest.writeString(preSharedKey);
        dest.writeString(saePasswordId);
        for (String wepKey : wepKeys) {
            dest.writeString(wepKey);
        }
@@ -2526,6 +2538,7 @@ public class WifiConfiguration implements Parcelable {
                    config.roamingConsortiumIds[i] = in.readLong();
                }
                config.preSharedKey = in.readString();
                config.saePasswordId = in.readString();
                for (int i = 0; i < config.wepKeys.length; i++) {
                    config.wepKeys[i] = in.readString();
                }
@@ -2596,6 +2609,7 @@ public class WifiConfiguration implements Parcelable {
        out.writeInt(apBand);
        out.writeInt(apChannel);
        BackupUtils.writeString(out, preSharedKey);
        BackupUtils.writeString(out, saePasswordId);
        out.writeInt(getAuthType());
        out.writeBoolean(hiddenSSID);
        return baos.toByteArray();
@@ -2619,6 +2633,7 @@ public class WifiConfiguration implements Parcelable {
        config.apBand = in.readInt();
        config.apChannel = in.readInt();
        config.preSharedKey = BackupUtils.readString(in);
        config.saePasswordId = BackupUtils.readString(in);
        config.allowedKeyManagement.set(in.readInt());
        if (version >= 3) {
            config.hiddenSSID = in.readBoolean();