diff options
author | pkanwar <pkanwar@google.com> | 2016-12-26 09:57:50 -0800 |
---|---|---|
committer | pkanwar <pkanwar@google.com> | 2017-01-10 12:41:16 -0800 |
commit | ab9a573e3138911e08d037a6996297be30be20bc (patch) | |
tree | b74b07ce939d5f552bd696de6ff03128ef11e6c9 /service | |
parent | d84ac6ab3451b32aaedc2b497a57c700088d6f6d (diff) |
DO NOT MERGE ANYWHERE: Connect to Carrier networks if enabled in
Settings.
After this change the WifiQualifiedSelector will
only connect to Carrier networks if enabled in the Settings. Provided a
method in WifiConfigManager that will be used to decide if we try
connecing to the Carrier network.
BUG: 30760683
Change-Id: I5c6841f784bd82f3811837331d3dd0c795da7688
Diffstat (limited to 'service')
-rw-r--r-- | service/java/com/android/server/wifi/WifiConfigManager.java | 9 | ||||
-rw-r--r-- | service/java/com/android/server/wifi/WifiQualifiedNetworkSelector.java | 6 |
2 files changed, 14 insertions, 1 deletions
diff --git a/service/java/com/android/server/wifi/WifiConfigManager.java b/service/java/com/android/server/wifi/WifiConfigManager.java index 774d75ec7..32a4113e9 100644 --- a/service/java/com/android/server/wifi/WifiConfigManager.java +++ b/service/java/com/android/server/wifi/WifiConfigManager.java @@ -3318,4 +3318,13 @@ public class WifiConfigManager { public boolean wasEphemeralNetworkDeleted(String ssid) { return mDeletedEphemeralSSIDs.contains(ssid); } + + /** + * Check if the User has enabled connecting to carrier networks from Settings. + * @return true if enabled in Settings, false otherwise. + */ + public boolean getIsCarrierNetworkEnabledByUser() { + return android.provider.Settings.Global.getInt(mContext.getContentResolver(), + Settings.Global.WIFI_CONNECT_CARRIER_NETWORKS, 0) == 1; + } } diff --git a/service/java/com/android/server/wifi/WifiQualifiedNetworkSelector.java b/service/java/com/android/server/wifi/WifiQualifiedNetworkSelector.java index 4f63a5bbd..a135e0b76 100644 --- a/service/java/com/android/server/wifi/WifiQualifiedNetworkSelector.java +++ b/service/java/com/android/server/wifi/WifiQualifiedNetworkSelector.java @@ -748,6 +748,9 @@ public class WifiQualifiedNetworkSelector { ArrayList<NetworkKey> unscoredNetworks = new ArrayList<NetworkKey>(); boolean scanResultsHaveCurrentBssid = false; + localLog("isCarrierNetworkEnabledByUser: " + + mWifiConfigManager.getIsCarrierNetworkEnabledByUser()); + //iterate all scan results and find the best candidate with the highest score for (ScanDetail scanDetail : mScanDetails) { ScanResult scanResult = scanDetail.getScanResult(); @@ -840,7 +843,8 @@ public class WifiQualifiedNetworkSelector { // Evaluate the carrier network as a possible candidate. // todo need to add flag isCarrierConnectionsAllowed, config in settings. } else if (!mCarrierConfiguredNetworks.isEmpty() && - isCarrierNetwork(scanResult)) { + isCarrierNetwork(scanResult) && + mWifiConfigManager.getIsCarrierNetworkEnabledByUser()) { localLog("Checking the carrierScoreEvaluator for candidates..."); carrierScoreEvaluator.evalCarrierCandidate(scanResult, getCarrierScore(scanResult, mCurrentConnectedNetwork, |