summaryrefslogtreecommitdiffstats
path: root/wifi
diff options
context:
space:
mode:
Diffstat (limited to 'wifi')
-rw-r--r--wifi/java/android/net/wifi/IWifiManager.aidl2
-rw-r--r--wifi/java/android/net/wifi/WifiManager.java2
-rw-r--r--wifi/java/android/net/wifi/WifiStateMachine.java33
-rw-r--r--wifi/java/android/net/wifi/WifiWatchdogStateMachine.java7
4 files changed, 33 insertions, 11 deletions
diff --git a/wifi/java/android/net/wifi/IWifiManager.aidl b/wifi/java/android/net/wifi/IWifiManager.aidl
index 4f68ca0..5a1928c 100644
--- a/wifi/java/android/net/wifi/IWifiManager.aidl
+++ b/wifi/java/android/net/wifi/IWifiManager.aidl
@@ -119,7 +119,7 @@ interface IWifiManager
boolean requestBatchedScan(in BatchedScanSettings requested, IBinder binder);
- void stopBatchedScan(in BatchedScanSettings requested, IBinder binder);
+ void stopBatchedScan(in BatchedScanSettings requested);
List<BatchedScanResult> getBatchedScanResults(String callingPackage);
diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java
index 3223cb3..95ee85b 100644
--- a/wifi/java/android/net/wifi/WifiManager.java
+++ b/wifi/java/android/net/wifi/WifiManager.java
@@ -826,7 +826,7 @@ public class WifiManager {
*/
public void stopBatchedScan(BatchedScanSettings requested) {
try {
- mService.stopBatchedScan(requested, new Binder());
+ mService.stopBatchedScan(requested);
} catch (RemoteException e) {}
}
diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java
index ad89716..94d9288 100644
--- a/wifi/java/android/net/wifi/WifiStateMachine.java
+++ b/wifi/java/android/net/wifi/WifiStateMachine.java
@@ -229,6 +229,7 @@ public class WifiStateMachine extends StateMachine {
private NetworkInfo mNetworkInfo;
private SupplicantStateTracker mSupplicantStateTracker;
private DhcpStateMachine mDhcpStateMachine;
+ private boolean mDhcpActive = false;
private class InterfaceObserver extends BaseNetworkObserver {
private WifiStateMachine mWifiStateMachine;
@@ -849,6 +850,11 @@ public class WifiStateMachine extends StateMachine {
}
private void startBatchedScan() {
+ if (mDhcpActive) {
+ if (DBG) log("not starting Batched Scans due to DHCP");
+ return;
+ }
+
// first grab any existing data
retrieveBatchedScanData();
@@ -916,8 +922,10 @@ public class WifiStateMachine extends StateMachine {
private void stopBatchedScan() {
mAlarmManager.cancel(mBatchedScanIntervalIntent);
- retrieveBatchedScanData();
- mWifiNative.setBatchedScanSettings(null);
+ if (mBatchedScanSettings != null) {
+ retrieveBatchedScanData();
+ mWifiNative.setBatchedScanSettings(null);
+ }
}
private void setNextBatchedAlarm(int scansExpected) {
@@ -2203,6 +2211,7 @@ public class WifiStateMachine extends StateMachine {
}
void handlePreDhcpSetup() {
+ mDhcpActive = true;
if (!mBluetoothConnectionActive) {
/*
* There are problems setting the Wi-Fi driver's power
@@ -2232,6 +2241,8 @@ public class WifiStateMachine extends StateMachine {
setSuspendOptimizationsNative(SUSPEND_DUE_TO_DHCP, false);
mWifiNative.setPowerSave(false);
+ stopBatchedScan();
+
/* P2p discovery breaks dhcp, shut it down in order to get through this */
Message msg = new Message();
msg.what = WifiP2pService.BLOCK_DISCOVERY;
@@ -2270,6 +2281,12 @@ public class WifiStateMachine extends StateMachine {
// Set the coexistence mode back to its default value
mWifiNative.setBluetoothCoexistenceMode(
mWifiNative.BLUETOOTH_COEXISTENCE_MODE_SENSE);
+
+ mDhcpActive = false;
+
+ if (mBatchedScanSettings != null) {
+ startBatchedScan();
+ }
}
private void handleSuccessfulIpConfiguration(DhcpResults dhcpResults) {
@@ -2917,6 +2934,8 @@ public class WifiStateMachine extends StateMachine {
mWifiNative.stopFilteringMulticastV4Packets();
}
+ mDhcpActive = false;
+
if (mBatchedScanSettings != null) {
startBatchedScan();
}
@@ -3486,6 +3505,14 @@ public class WifiStateMachine extends StateMachine {
}
@Override
+ public void exit() {
+ // if we're leaving before this is done, cleanup
+ if (mDhcpActive) {
+ handlePostDhcpSetup();
+ }
+ }
+
+ @Override
public boolean processMessage(Message message) {
switch (message.what) {
case DhcpStateMachine.CMD_PRE_DHCP_ACTION:
@@ -3677,7 +3704,7 @@ public class WifiStateMachine extends StateMachine {
transitionTo(mCaptivePortalCheckState);
break;
default:
- log(getName() + " what=" + message.what + " NOT_HANDLED");
+ if (DBG) log(getName() + " what=" + message.what + " NOT_HANDLED");
return NOT_HANDLED;
}
return HANDLED;
diff --git a/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java b/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java
index eb47a4a..6278c89 100644
--- a/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java
+++ b/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java
@@ -75,8 +75,7 @@ import java.text.DecimalFormat;
*/
public class WifiWatchdogStateMachine extends StateMachine {
- /* STOPSHIP: Keep this configurable for debugging until ship */
- private static boolean DBG = false;
+ private static final boolean DBG = false;
private static final int BASE = Protocol.BASE_WIFI_WATCHDOG;
@@ -697,10 +696,6 @@ public class WifiWatchdogStateMachine extends StateMachine {
switch (msg.what) {
case EVENT_WATCHDOG_SETTINGS_CHANGE:
updateSettings();
- // STOPSHIP: Remove this at ship
- logd("Updated secure settings and turned debug on");
- DBG = true;
-
if (mPoorNetworkDetectionEnabled) {
transitionTo(mOnlineWatchState);
} else {