summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorXiao Ma <xiaom@google.com>2020-02-17 00:16:43 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-02-17 00:16:43 +0000
commit709067f2004ef9e01cd42bddd69b1d67b6f7b0f6 (patch)
tree16e8ccca9eb2a4de0ad76f0f0fab478cb8bbabb8 /service
parent8cbb4e259077758b37b7736036e06f1fdc1d7c8c (diff)
parent1c3266711b041eb097d0341b94542fc0695cd22b (diff)
Merge "Add ScanResultInfo in the ProvisioningConfiguration parcelable."
Diffstat (limited to 'service')
-rw-r--r--service/java/com/android/server/wifi/ClientModeImpl.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/service/java/com/android/server/wifi/ClientModeImpl.java b/service/java/com/android/server/wifi/ClientModeImpl.java
index 145335e16..4b3732f22 100644
--- a/service/java/com/android/server/wifi/ClientModeImpl.java
+++ b/service/java/com/android/server/wifi/ClientModeImpl.java
@@ -60,6 +60,7 @@ import android.net.ip.IpClientCallbacks;
import android.net.ip.IpClientManager;
import android.net.shared.Inet4AddressUtils;
import android.net.shared.ProvisioningConfiguration;
+import android.net.shared.ProvisioningConfiguration.ScanResultInfo;
import android.net.util.NetUtils;
import android.net.wifi.IActionListener;
import android.net.wifi.INetworkRequestMatchCallback;
@@ -4855,13 +4856,35 @@ public class ClientModeImpl extends StateMachine {
R.string.config_wifi_tcp_buffers));
}
}
+
+ WifiConfiguration config = getCurrentWifiConfiguration();
+ ScanDetailCache scanDetailCache =
+ mWifiConfigManager.getScanDetailCacheForNetwork(config.networkId);
+ ScanResult scanResult = null;
+ if (scanDetailCache != null && mLastBssid != null) {
+ scanResult = scanDetailCache.getScanResult(mLastBssid);
+ }
+
final ProvisioningConfiguration prov;
+ ProvisioningConfiguration.ScanResultInfo scanResultInfo = null;
+ if (scanResult != null) {
+ final List<ScanResultInfo.InformationElement> ies =
+ new ArrayList<ScanResultInfo.InformationElement>();
+ for (ScanResult.InformationElement ie : scanResult.getInformationElements()) {
+ ScanResultInfo.InformationElement scanResultInfoIe =
+ new ScanResultInfo.InformationElement(ie.getId(), ie.getBytes());
+ ies.add(scanResultInfoIe);
+ }
+ scanResultInfo = new ProvisioningConfiguration.ScanResultInfo(scanResult.SSID, ies);
+ }
+
if (!isUsingStaticIp) {
prov = new ProvisioningConfiguration.Builder()
.withPreDhcpAction()
.withApfCapabilities(mWifiNative.getApfCapabilities(mInterfaceName))
.withNetwork(getCurrentNetwork())
.withDisplayName(currentConfig.SSID)
+ .withScanResultInfo(scanResultInfo)
.build();
} else {
StaticIpConfiguration staticIpConfig = currentConfig.getStaticIpConfiguration();