diff options
| author | 2019-02-22 19:07:26 +0000 | |
|---|---|---|
| committer | 2019-02-22 19:07:26 +0000 | |
| commit | e334ea7de888e2469077a1caa02c51273f18b457 (patch) | |
| tree | fe65e9006d88491412f3b49727f4eb8a2204fc1b | |
| parent | 957e868f31ca762dfb9b25c563e85570ae62b3a7 (diff) | |
| parent | 3f94ad15cd0eb88e3b9590f5e5afaf2d00372c40 (diff) | |
Merge "Passpoint: add FQDN and Provider name field in WifiInfo"
| -rw-r--r-- | api/system-current.txt | 3 | ||||
| -rw-r--r-- | wifi/java/android/net/wifi/WifiInfo.java | 46 | ||||
| -rw-r--r-- | wifi/tests/src/android/net/wifi/WifiInfoTest.java | 7 |
3 files changed, 56 insertions, 0 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index e9e8b5463632..4cbb45a421d2 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -4666,7 +4666,10 @@ package android.net.wifi { } public class WifiInfo implements android.os.Parcelable { + method @Nullable public String getFqdn(); + method @Nullable public String getProviderFriendlyName(); method public boolean isOsuAp(); + method public boolean isPasspointAp(); } public class WifiManager { diff --git a/wifi/java/android/net/wifi/WifiInfo.java b/wifi/java/android/net/wifi/WifiInfo.java index af9fdfbd364d..089b59a2704c 100644 --- a/wifi/java/android/net/wifi/WifiInfo.java +++ b/wifi/java/android/net/wifi/WifiInfo.java @@ -137,6 +137,16 @@ public class WifiInfo implements Parcelable { private boolean mOsuAp; /** + * Fully qualified domain name of a Passpoint configuration + */ + private String mFqdn; + + /** + * Name of Passpoint credential provider + */ + private String mProviderFriendlyName; + + /** * If connected to a network suggestion or specifier, store the package name of the app, * else null. */ @@ -223,6 +233,8 @@ public class WifiInfo implements Parcelable { setEphemeral(false); setOsuAp(false); setNetworkSuggestionOrSpecifierPackageName(null); + setFQDN(null); + setProviderFriendlyName(null); txBad = 0; txSuccess = 0; rxSuccess = 0; @@ -257,6 +269,8 @@ public class WifiInfo implements Parcelable { mNetworkSuggestionOrSpecifierPackageName = source.mNetworkSuggestionOrSpecifierPackageName; mOsuAp = source.mOsuAp; + mFqdn = source.mFqdn; + mProviderFriendlyName = source.mProviderFriendlyName; txBad = source.txBad; txRetries = source.txRetries; txSuccess = source.txSuccess; @@ -504,6 +518,34 @@ public class WifiInfo implements Parcelable { } /** {@hide} */ + @SystemApi + public boolean isPasspointAp() { + return mFqdn != null && mProviderFriendlyName != null; + } + + /** {@hide} */ + public void setFQDN(@Nullable String fqdn) { + mFqdn = fqdn; + } + + /** {@hide} */ + @SystemApi + public @Nullable String getFqdn() { + return mFqdn; + } + + /** {@hide} */ + public void setProviderFriendlyName(@Nullable String providerFriendlyName) { + mProviderFriendlyName = providerFriendlyName; + } + + /** {@hide} */ + @SystemApi + public @Nullable String getProviderFriendlyName() { + return mProviderFriendlyName; + } + + /** {@hide} */ public void setNetworkSuggestionOrSpecifierPackageName(@Nullable String packageName) { mNetworkSuggestionOrSpecifierPackageName = packageName; } @@ -677,6 +719,8 @@ public class WifiInfo implements Parcelable { mSupplicantState.writeToParcel(dest, flags); dest.writeInt(mOsuAp ? 1 : 0); dest.writeString(mNetworkSuggestionOrSpecifierPackageName); + dest.writeString(mFqdn); + dest.writeString(mProviderFriendlyName); } /** Implement the Parcelable interface {@hide} */ @@ -716,6 +760,8 @@ public class WifiInfo implements Parcelable { info.mSupplicantState = SupplicantState.CREATOR.createFromParcel(in); info.mOsuAp = in.readInt() != 0; info.mNetworkSuggestionOrSpecifierPackageName = in.readString(); + info.mFqdn = in.readString(); + info.mProviderFriendlyName = in.readString(); return info; } diff --git a/wifi/tests/src/android/net/wifi/WifiInfoTest.java b/wifi/tests/src/android/net/wifi/WifiInfoTest.java index 948dcfa47f59..b3034965b5fc 100644 --- a/wifi/tests/src/android/net/wifi/WifiInfoTest.java +++ b/wifi/tests/src/android/net/wifi/WifiInfoTest.java @@ -36,6 +36,8 @@ public class WifiInfoTest { private static final long TEST_TX_BAD = 3; private static final long TEST_RX_SUCCESS = 4; private static final String TEST_PACKAGE_NAME = "com.test.example"; + private static final String TEST_FQDN = "test.com"; + private static final String TEST_PROVIDER_NAME = "test"; /** * Verify parcel write/read with WifiInfo. @@ -49,6 +51,8 @@ public class WifiInfoTest { writeWifiInfo.rxSuccess = TEST_RX_SUCCESS; writeWifiInfo.setTrusted(true); writeWifiInfo.setOsuAp(true); + writeWifiInfo.setFQDN(TEST_FQDN); + writeWifiInfo.setProviderFriendlyName(TEST_PROVIDER_NAME); writeWifiInfo.setNetworkSuggestionOrSpecifierPackageName(TEST_PACKAGE_NAME); Parcel parcel = Parcel.obtain(); @@ -64,6 +68,9 @@ public class WifiInfoTest { assertEquals(TEST_RX_SUCCESS, readWifiInfo.rxSuccess); assertTrue(readWifiInfo.isTrusted()); assertTrue(readWifiInfo.isOsuAp()); + assertTrue(readWifiInfo.isPasspointAp()); assertEquals(TEST_PACKAGE_NAME, readWifiInfo.getNetworkSuggestionOrSpecifierPackageName()); + assertEquals(TEST_FQDN, readWifiInfo.getFqdn()); + assertEquals(TEST_PROVIDER_NAME, readWifiInfo.getProviderFriendlyName()); } } |