summaryrefslogtreecommitdiffstats
path: root/wifi/java/android/net/wifi/WifiConfiguration.java
diff options
context:
space:
mode:
authorVinit Deshpande <vinitd@google.com>2015-03-09 19:01:37 -0700
committerVinit Deshpande <vinitd@google.com>2015-03-09 19:01:37 -0700
commitd2585f3050f749e471d79abb0dd54bd20445de05 (patch)
tree4f3d37ed3da5a2850b02151d8725a1d6636e6b79 /wifi/java/android/net/wifi/WifiConfiguration.java
parente95944300eccf78a871fbfaf0545c7550ab424a5 (diff)
parentb21d2489c1bd330e39f4489c7f221ebb4dffc283 (diff)
downloadframeworks_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.java70
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();