From 8d91c0702860d82082415980c2c21af812dc9b10 Mon Sep 17 00:00:00 2001 From: Jimmy Chen Date: Wed, 24 Jul 2019 17:45:40 +0800 Subject: [PATCH] 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 --- wifi/java/android/net/wifi/WifiConfiguration.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java index ed416429a2792..35d85bb7159b7 100644 --- a/wifi/java/android/net/wifi/WifiConfiguration.java +++ b/wifi/java/android/net/wifi/WifiConfiguration.java @@ -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();