diff options
author | Roshan Pius <rpius@google.com> | 2020-12-23 20:46:49 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-12-23 20:46:49 +0000 |
commit | 8fa1c6879d6169a7da5491f48a7a2e4cd88e59b7 (patch) | |
tree | cee69cc270f2e51af1a15881241483165f3be9f3 | |
parent | e33702f66efe0ac39523112f10434b9133cf76f1 (diff) | |
parent | f4dbd61f8cb5054cbfad9cb32954793c9c04fa4e (diff) | |
download | wifi-8fa1c6879d6169a7da5491f48a7a2e4cd88e59b7.tar.gz |
ClientModeImpl: Attach WifiInfo in NetworkCapabilities am: e954fe26af am: f4dbd61f8c
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/wifi/+/1508922
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ib50e9ac956daa7cdf663a749aeff62debf7e9ead
-rw-r--r-- | service/java/com/android/server/wifi/ClientModeImpl.java | 7 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java | 12 |
2 files changed, 18 insertions, 1 deletions
diff --git a/service/java/com/android/server/wifi/ClientModeImpl.java b/service/java/com/android/server/wifi/ClientModeImpl.java index 8c05f7ae5..1969023c2 100644 --- a/service/java/com/android/server/wifi/ClientModeImpl.java +++ b/service/java/com/android/server/wifi/ClientModeImpl.java @@ -2459,6 +2459,7 @@ public class ClientModeImpl extends StateMachine { */ int newSignalLevel = RssiUtil.calculateSignalLevel(mContext, newRssi); if (newSignalLevel != mLastSignalLevel) { + // TODO (b/162602799): Do we need to change the update frequency? updateCapabilities(); sendRssiChangeBroadcast(newRssi); } @@ -4485,6 +4486,12 @@ public class ClientModeImpl extends StateMachine { if (!mWifiInfo.getSSID().equals(WifiManager.UNKNOWN_SSID)) { builder.setSsid(mWifiInfo.getSSID()); } + + // Only send out WifiInfo in >= Android S devices. + if (SdkLevel.isAtLeastS()) { + builder.setTransportInfo(new WifiInfo(mWifiInfo)); + } + Pair<Integer, String> specificRequestUidAndPackageName = mNetworkFactory.getSpecificNetworkRequestUidAndPackageName( currentWifiConfiguration); diff --git a/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java b/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java index d4af7ecac..f72697a25 100644 --- a/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java +++ b/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java @@ -124,6 +124,7 @@ import com.android.dx.mockito.inline.extended.ExtendedMockito; import com.android.internal.util.AsyncChannel; import com.android.internal.util.IState; import com.android.internal.util.StateMachine; +import com.android.modules.utils.build.SdkLevel; import com.android.server.wifi.hotspot2.NetworkDetail; import com.android.server.wifi.hotspot2.PasspointManager; import com.android.server.wifi.hotspot2.PasspointProvisioningTestUtil; @@ -1039,6 +1040,16 @@ public class ClientModeImplTest extends WifiBaseTest { assertEquals(sFreq, wifiInfo.getFrequency()); assertTrue(sWifiSsid.equals(wifiInfo.getWifiSsid())); assertNull(wifiInfo.getPasspointProviderFriendlyName()); + expectRegisterNetworkAgent((na) -> { + }, (nc) -> { + if (SdkLevel.isAtLeastS()) { + WifiInfo wifiInfoFromTi = (WifiInfo) nc.getTransportInfo(); + assertEquals(sBSSID, wifiInfoFromTi.getBSSID()); + assertEquals(sFreq, wifiInfoFromTi.getFrequency()); + assertTrue(sWifiSsid.equals(wifiInfoFromTi.getWifiSsid())); + assertNull(wifiInfoFromTi.getPasspointProviderFriendlyName()); + } + }); // Ensure the connection stats for the network is updated. verify(mWifiConfigManager).updateNetworkAfterConnect(FRAMEWORK_NETWORK_ID); verify(mWifiConfigManager).updateRandomizedMacExpireTime(any(), anyLong()); @@ -2424,7 +2435,6 @@ public class ClientModeImplTest extends WifiBaseTest { WifiInfo connectionInfo = mCmi.syncRequestConnectionInfo(); - assertNotEquals(wifiInfo, connectionInfo); assertEquals(wifiInfo.getSSID(), connectionInfo.getSSID()); assertEquals(wifiInfo.getBSSID(), connectionInfo.getBSSID()); assertEquals(wifiInfo.getMacAddress(), connectionInfo.getMacAddress()); |