diff options
author | Vinit Deshpande <vinitd@google.com> | 2015-03-09 19:01:37 -0700 |
---|---|---|
committer | Vinit Deshpande <vinitd@google.com> | 2015-03-09 19:01:37 -0700 |
commit | d2585f3050f749e471d79abb0dd54bd20445de05 (patch) | |
tree | 4f3d37ed3da5a2850b02151d8725a1d6636e6b79 /wifi/java/android/net/wifi/WifiConfiguration.java | |
parent | e95944300eccf78a871fbfaf0545c7550ab424a5 (diff) | |
parent | b21d2489c1bd330e39f4489c7f221ebb4dffc283 (diff) | |
download | frameworks_base-d2585f3050f749e471d79abb0dd54bd20445de05.zip frameworks_base-d2585f3050f749e471d79abb0dd54bd20445de05.tar.gz frameworks_base-d2585f3050f749e471d79abb0dd54bd20445de05.tar.bz2 |
am "Passpoint API - Take 1"
merged from partner/m-wireless-wifi-dev
b21d248 Passpoint API - Take 1
Diffstat (limited to 'wifi/java/android/net/wifi/WifiConfiguration.java')
-rw-r--r-- | wifi/java/android/net/wifi/WifiConfiguration.java | 70 |
1 files changed, 48 insertions, 22 deletions
diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java index f3d76f4..872eb6f 100644 --- a/wifi/java/android/net/wifi/WifiConfiguration.java +++ b/wifi/java/android/net/wifi/WifiConfiguration.java @@ -19,22 +19,18 @@ package android.net.wifi; import android.annotation.SystemApi; import android.net.IpConfiguration; import android.net.IpConfiguration.ProxySettings; -import android.net.IpConfiguration.IpAssignment; import android.net.ProxyInfo; import android.net.StaticIpConfiguration; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; -import android.util.Log; -import android.annotation.SystemApi; -import java.util.Random; -import java.util.Calendar; import java.util.HashMap; import java.util.BitSet; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; +import java.util.HashSet; /** * A class representing a configured Wi-Fi network, including the @@ -254,18 +250,6 @@ public class WifiConfiguration implements Parcelable { public int apChannel = 0; /** - * Fully qualified domain name (FQDN) of AAA server or RADIUS server - * e.g. {@code "mail.example.com"}. - */ - public String FQDN; - /** - * Network access identifier (NAI) realm, for Passpoint credential. - * e.g. {@code "myhost.example.com"}. - * @hide - */ - public String naiRealm; - - /** * Pre-shared key for use with WPA-PSK. * <p/> * When the value of this key is read, the actual key is @@ -348,6 +332,21 @@ public class WifiConfiguration implements Parcelable { public WifiEnterpriseConfig enterpriseConfig; /** + * Fully qualified domain name of a passpoint configuration + */ + public String FQDN; + + /** + * Service provider name, for Passpoint credential. + */ + public String providerFriendlyName; + + /** + * Roaming Consortium Id, for Passpoint credential. + */ + public HashSet<Long> roamingConsortiumIds; + + /** * @hide */ private IpConfiguration mIpConfiguration; @@ -882,7 +881,7 @@ public class WifiConfiguration implements Parcelable { SSID = null; BSSID = null; FQDN = null; - naiRealm = null; + roamingConsortiumIds = new HashSet<Long>(); priority = 0; hiddenSSID = false; disableReason = DISABLED_UNKNOWN_REASON; @@ -927,6 +926,17 @@ public class WifiConfiguration implements Parcelable { } } + if (FQDN != null) { + /* must have a providerFriendlyName */ + if (providerFriendlyName == null) { + return false; + } + /* this is passpoint configuration; it must have enterprise config */ + if (enterpriseConfig == null) { + return false; + } + } + // TODO: Add more checks return true; } @@ -1062,8 +1072,9 @@ public class WifiConfiguration implements Parcelable { sbuf.append("- DSBLE "); } sbuf.append("ID: ").append(this.networkId).append(" SSID: ").append(this.SSID). + append(" PROVIDER-NAME: ").append(this.providerFriendlyName). append(" BSSID: ").append(this.BSSID).append(" FQDN: ").append(this.FQDN). - append(" REALM: ").append(this.naiRealm).append(" PRIO: ").append(this.priority). + append(" PRIO: ").append(this.priority). append('\n'); if (this.numConnectionFailures > 0) { sbuf.append(" numConnectFailures ").append(this.numConnectionFailures).append("\n"); @@ -1403,6 +1414,8 @@ public class WifiConfiguration implements Parcelable { String key; if (allowCached && mCachedConfigKey != null) { key = mCachedConfigKey; + } else if (providerFriendlyName != null) { + key = FQDN + KeyMgmt.strings[KeyMgmt.WPA_EAP]; } else { if (allowedKeyManagement.get(KeyMgmt.WPA_PSK)) { key = SSID + KeyMgmt.strings[KeyMgmt.WPA_PSK]; @@ -1518,7 +1531,12 @@ public class WifiConfiguration implements Parcelable { SSID = source.SSID; BSSID = source.BSSID; FQDN = source.FQDN; - naiRealm = source.naiRealm; + roamingConsortiumIds = new HashSet<Long>(); + for (Long roamingConsortiumId : source.roamingConsortiumIds) { + roamingConsortiumIds.add(roamingConsortiumId); + } + + providerFriendlyName = source.providerFriendlyName; preSharedKey = source.preSharedKey; apBand = source.apBand; @@ -1620,7 +1638,11 @@ public class WifiConfiguration implements Parcelable { dest.writeInt(apChannel); dest.writeString(autoJoinBSSID); dest.writeString(FQDN); - dest.writeString(naiRealm); + dest.writeString(providerFriendlyName); + dest.writeInt(roamingConsortiumIds.size()); + for (Long roamingConsortiumId : roamingConsortiumIds) { + dest.writeLong(roamingConsortiumId); + } dest.writeString(preSharedKey); for (String wepKey : wepKeys) { dest.writeString(wepKey); @@ -1687,7 +1709,11 @@ public class WifiConfiguration implements Parcelable { config.apChannel = in.readInt(); config.autoJoinBSSID = in.readString(); config.FQDN = in.readString(); - config.naiRealm = in.readString(); + config.providerFriendlyName = in.readString(); + int numRoamingConsortiumIds = in.readInt(); + for (int i = 0; i < numRoamingConsortiumIds; i++) { + config.roamingConsortiumIds.add(in.readLong()); + } config.preSharedKey = in.readString(); for (int i = 0; i < config.wepKeys.length; i++) { config.wepKeys[i] = in.readString(); |