summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2020-12-23 20:46:49 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-12-23 20:46:49 +0000
commit8fa1c6879d6169a7da5491f48a7a2e4cd88e59b7 (patch)
treecee69cc270f2e51af1a15881241483165f3be9f3
parente33702f66efe0ac39523112f10434b9133cf76f1 (diff)
parentf4dbd61f8cb5054cbfad9cb32954793c9c04fa4e (diff)
downloadwifi-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.java7
-rw-r--r--tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java12
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());