From 04959d48e159e6d1e371f1a20f2b97e526c4ee0d Mon Sep 17 00:00:00 2001 From: Peter Qiu Date: Fri, 20 Jan 2017 11:26:05 -0800 Subject: [PATCH] wifi: WifiConfiguration: add isHomeProviderNetwork field This is a boolean field indicating if the given WiFi network is provided by a Passpont home provider. This is useful for the Passpoint provisioning app to determine if the current WiFi connection is allowed to perform Passpoint subscription or policy updates when it needs to. This field will be set by PasspointNetworkEvaluator when generating a WifiConfiguration for a Passpoint network. Bug: 34467212 Test: make update-api; make -j32 Change-Id: Ia8ec2508de9658a9ee520087359ff2cd68091b63 Merged-In: I47310cda078cbf1f2d1b0a9bf79f487230fb668f --- api/current.txt | 1 + api/system-current.txt | 1 + api/test-current.txt | 1 + wifi/java/android/net/wifi/WifiConfiguration.java | 9 +++++++++ 4 files changed, 12 insertions(+) diff --git a/api/current.txt b/api/current.txt index 42275de653969..970435462b471 100644 --- a/api/current.txt +++ b/api/current.txt @@ -24629,6 +24629,7 @@ package android.net.wifi { field public java.util.BitSet allowedProtocols; field public android.net.wifi.WifiEnterpriseConfig enterpriseConfig; field public boolean hiddenSSID; + field public boolean isHomeProviderNetwork; field public int networkId; field public java.lang.String preSharedKey; field public int priority; diff --git a/api/system-current.txt b/api/system-current.txt index 6ebbee2f4e16f..f99039bf707bb 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -26979,6 +26979,7 @@ package android.net.wifi { field public int creatorUid; field public android.net.wifi.WifiEnterpriseConfig enterpriseConfig; field public boolean hiddenSSID; + field public boolean isHomeProviderNetwork; field public java.lang.String lastUpdateName; field public int lastUpdateUid; field public boolean meteredHint; diff --git a/api/test-current.txt b/api/test-current.txt index 40085a26ef5da..2f46e5eee7148 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -24702,6 +24702,7 @@ package android.net.wifi { field public java.util.BitSet allowedProtocols; field public android.net.wifi.WifiEnterpriseConfig enterpriseConfig; field public boolean hiddenSSID; + field public boolean isHomeProviderNetwork; field public int networkId; field public java.lang.String preSharedKey; field public int priority; diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java index 3a4567112704e..00b258f13f5db 100644 --- a/wifi/java/android/net/wifi/WifiConfiguration.java +++ b/wifi/java/android/net/wifi/WifiConfiguration.java @@ -372,6 +372,12 @@ public class WifiConfiguration implements Parcelable { */ public String providerFriendlyName; + /** + * Flag indicating if this network is provided by a home Passpoint provider or a roaming + * Passpoint provider. + */ + public boolean isHomeProviderNetwork; + /** * Roaming Consortium Id list for passpoint credential; identifies a set of networks where * passpoint credential will be considered valid @@ -1881,6 +1887,7 @@ public class WifiConfiguration implements Parcelable { FQDN = source.FQDN; roamingConsortiumIds = source.roamingConsortiumIds.clone(); providerFriendlyName = source.providerFriendlyName; + isHomeProviderNetwork = source.isHomeProviderNetwork; preSharedKey = source.preSharedKey; mNetworkSelectionStatus.copy(source.getNetworkSelectionStatus()); @@ -1961,6 +1968,7 @@ public class WifiConfiguration implements Parcelable { dest.writeInt(apChannel); dest.writeString(FQDN); dest.writeString(providerFriendlyName); + dest.writeInt(isHomeProviderNetwork ? 1 : 0); dest.writeInt(roamingConsortiumIds.length); for (long roamingConsortiumId : roamingConsortiumIds) { dest.writeLong(roamingConsortiumId); @@ -2026,6 +2034,7 @@ public class WifiConfiguration implements Parcelable { config.apChannel = in.readInt(); config.FQDN = in.readString(); config.providerFriendlyName = in.readString(); + config.isHomeProviderNetwork = in.readInt() != 0; int numRoamingConsortiumIds = in.readInt(); config.roamingConsortiumIds = new long[numRoamingConsortiumIds]; for (int i = 0; i < numRoamingConsortiumIds; i++) {