summaryrefslogtreecommitdiffstats
path: root/service
diff options
context:
space:
mode:
authorPrem Kumar <premk@google.com>2014-12-14 19:53:06 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-12-14 19:53:08 +0000
commit4ff7838d595d2be641da1892507d3333707291e2 (patch)
tree3852cf3d431bc1bcce5420eb458e4770370b4741 /service
parente97752385ec67e72f8ae7a772eb7af3014266ace (diff)
parenta1c02f0a73ee35e198e2652cd65b8830a163d9dd (diff)
downloadandroid_frameworks_opt_net_wifi-4ff7838d595d2be641da1892507d3333707291e2.tar.gz
android_frameworks_opt_net_wifi-4ff7838d595d2be641da1892507d3333707291e2.tar.bz2
android_frameworks_opt_net_wifi-4ff7838d595d2be641da1892507d3333707291e2.zip
Merge "autojoin scanning + P2P - discard autojoin scan when both infra and P2P are connected - reduce autojoin scan period when P2P is connected and infra is disconnected Bug:18692653" into lmp-mr1-dev
Diffstat (limited to 'service')
-rw-r--r--service/java/com/android/server/wifi/WifiStateMachine.java22
1 files changed, 21 insertions, 1 deletions
diff --git a/service/java/com/android/server/wifi/WifiStateMachine.java b/service/java/com/android/server/wifi/WifiStateMachine.java
index a1ff29484..69444610a 100644
--- a/service/java/com/android/server/wifi/WifiStateMachine.java
+++ b/service/java/com/android/server/wifi/WifiStateMachine.java
@@ -7014,6 +7014,14 @@ public class WifiStateMachine extends StateMachine {
+ " -> obsolete");
return HANDLED;
}
+ if (mP2pConnected.get()) {
+ loge("WifiStateMachine L2Connected CMD_START_SCAN source "
+ + message.arg1
+ + " " + message.arg2 + ", " + mDelayedScanCounter
+ + " ignore because P2P is connected");
+ messageHandlingStatus = MESSAGE_HANDLING_STATUS_DISCARD;
+ return HANDLED;
+ }
boolean tryFullBandScan = false;
boolean restrictChannelList = false;
long now_ms = System.currentTimeMillis();
@@ -7931,8 +7939,14 @@ public class WifiStateMachine extends StateMachine {
if (message.arg1 == SCAN_ALARM_SOURCE) {
// Check if the CMD_START_SCAN message is obsolete (and thus if it should
// not be processed) and restart the scan
+ int period = mDisconnectedScanPeriodMs;
+ if (mP2pConnected.get()) {
+ period = (int)Settings.Global.getLong(mContext.getContentResolver(),
+ Settings.Global.WIFI_SCAN_INTERVAL_WHEN_P2P_CONNECTED_MS,
+ mDisconnectedScanPeriodMs);
+ }
if (!checkAndRestartDelayedScan(message.arg2,
- true, mDisconnectedScanPeriodMs, null, null)) {
+ true, period, null, null)) {
messageHandlingStatus = MESSAGE_HANDLING_STATUS_OBSOLETE;
loge("WifiStateMachine Disconnected CMD_START_SCAN source "
+ message.arg1
@@ -7968,6 +7982,12 @@ public class WifiStateMachine extends StateMachine {
if (DBG) log("Turn on scanning after p2p disconnected");
sendMessageDelayed(obtainMessage(CMD_NO_NETWORKS_PERIODIC_SCAN,
++mPeriodicScanToken, 0), mSupplicantScanIntervalMs);
+ } else {
+ // If P2P is not connected and there are saved networks, then restart
+ // scanning at the normal period. This is necessary because scanning might
+ // have been disabled altogether if WIFI_SCAN_INTERVAL_WHEN_P2P_CONNECTED_MS
+ // was set to zero.
+ startDelayedScan(mDisconnectedScanPeriodMs, null, null);
}
case CMD_RECONNECT:
case CMD_REASSOCIATE: