diff options
Diffstat (limited to 'service/java/com/android/server/wifi')
-rw-r--r-- | service/java/com/android/server/wifi/WifiNetworkFactory.java | 18 |
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() { |