From 1379fd0b1ef952547934846f4b6c40780f885e47 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: 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 637cdac5b4fb0..3ba72ec009e83 100644 --- a/api/current.txt +++ b/api/current.txt @@ -25167,6 +25167,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 bafc3657cf8f5..bae32dd682530 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -27557,6 +27557,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 c4081f0d4b4d4..114c5fe8a8f61 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -25257,6 +25257,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 8cf7a24efb0ad..dbf8cc1674b26 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 @@ -1891,6 +1897,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()); @@ -1971,6 +1978,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); @@ -2036,6 +2044,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++) {