summaryrefslogtreecommitdiffstats
path: root/service/java/com/android/server/wifi/WifiNetworkFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'service/java/com/android/server/wifi/WifiNetworkFactory.java')
-rw-r--r--service/java/com/android/server/wifi/WifiNetworkFactory.java18
1 files changed, 11 insertions, 7 deletions
diff --git a/service/java/com/android/server/wifi/WifiNetworkFactory.java b/service/java/com/android/server/wifi/WifiNetworkFactory.java
index ee43845df..38d36f82f 100644
--- a/service/java/com/android/server/wifi/WifiNetworkFactory.java
+++ b/service/java/com/android/server/wifi/WifiNetworkFactory.java
@@ -701,22 +701,26 @@ public class WifiNetworkFactory extends NetworkFactory {
// Disable Auto-join so that NetworkFactory can take control of the network connection.
mWifiConnectivityManager.setSpecificNetworkRequestInProgress(true);
+ // Copy over the credentials from the app's request and then copy the ssid from user
+ // selection.
+ WifiConfiguration networkToConnect =
+ new WifiConfiguration(mActiveSpecificNetworkRequestSpecifier.wifiConfiguration);
+ networkToConnect.SSID = network.SSID;
// If the request is for a specific SSID and BSSID, then set WifiConfiguration.BSSID field
// to prevent roaming.
if (isActiveRequestForSingleAccessPoint()) {
- network.BSSID =
+ networkToConnect.BSSID =
mActiveSpecificNetworkRequestSpecifier.bssidPatternMatcher.first.toString();
}
-
// Mark the network ephemeral so that it's automatically removed at the end of connection.
- network.ephemeral = true;
- network.fromWifiNetworkSpecifier = true;
+ networkToConnect.ephemeral = true;
+ networkToConnect.fromWifiNetworkSpecifier = true;
// Store the user selected network.
- mUserSelectedNetwork = network;
+ mUserSelectedNetwork = networkToConnect;
// Trigger connection to the network.
- connectToNetwork(network);
+ connectToNetwork(networkToConnect);
}
private void handleConnectToNetworkUserSelection(WifiConfiguration network) {
@@ -729,7 +733,7 @@ public class WifiNetworkFactory extends NetworkFactory {
handleConnectToNetworkUserSelectionInternal(network);
// Add the network to the approved access point map for the app.
- addNetworkToUserApprovedAccessPointMap(network);
+ addNetworkToUserApprovedAccessPointMap(mUserSelectedNetwork);
}
private void handleRejectUserSelection() {