Loading wifi/java/android/net/wifi/WifiStateMachine.java +30 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(); Loading Loading @@ -916,9 +922,11 @@ public class WifiStateMachine extends StateMachine { private void stopBatchedScan() { mAlarmManager.cancel(mBatchedScanIntervalIntent); if (mBatchedScanSettings != null) { retrieveBatchedScanData(); mWifiNative.setBatchedScanSettings(null); } } private void setNextBatchedAlarm(int scansExpected) { Loading Loading @@ -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 Loading Loading @@ -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; Loading Loading @@ -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) { Loading Loading @@ -2917,6 +2934,8 @@ public class WifiStateMachine extends StateMachine { mWifiNative.stopFilteringMulticastV4Packets(); } mDhcpActive = false; if (mBatchedScanSettings != null) { startBatchedScan(); } Loading Loading @@ -3485,6 +3504,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) { Loading Loading @@ -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; Loading Loading
wifi/java/android/net/wifi/WifiStateMachine.java +30 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(); Loading Loading @@ -916,9 +922,11 @@ public class WifiStateMachine extends StateMachine { private void stopBatchedScan() { mAlarmManager.cancel(mBatchedScanIntervalIntent); if (mBatchedScanSettings != null) { retrieveBatchedScanData(); mWifiNative.setBatchedScanSettings(null); } } private void setNextBatchedAlarm(int scansExpected) { Loading Loading @@ -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 Loading Loading @@ -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; Loading Loading @@ -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) { Loading Loading @@ -2917,6 +2934,8 @@ public class WifiStateMachine extends StateMachine { mWifiNative.stopFilteringMulticastV4Packets(); } mDhcpActive = false; if (mBatchedScanSettings != null) { startBatchedScan(); } Loading Loading @@ -3485,6 +3504,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) { Loading Loading @@ -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; Loading