summaryrefslogtreecommitdiffstats
path: root/service
diff options
context:
space:
mode:
authorpkanwar <pkanwar@google.com>2016-12-26 09:57:50 -0800
committerpkanwar <pkanwar@google.com>2017-01-10 12:41:16 -0800
commitab9a573e3138911e08d037a6996297be30be20bc (patch)
treeb74b07ce939d5f552bd696de6ff03128ef11e6c9 /service
parentd84ac6ab3451b32aaedc2b497a57c700088d6f6d (diff)
downloadandroid_frameworks_opt_net_wifi-ab9a573e3138911e08d037a6996297be30be20bc.tar.gz
android_frameworks_opt_net_wifi-ab9a573e3138911e08d037a6996297be30be20bc.tar.bz2
android_frameworks_opt_net_wifi-ab9a573e3138911e08d037a6996297be30be20bc.zip
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.java9
-rw-r--r--service/java/com/android/server/wifi/WifiQualifiedNetworkSelector.java6
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,