am 50cf2106: Merge "Fix network availability reporting" into honeycomb

* commit '50cf2106b77d4009e1cefe11c57c42fe4584345f':
  Fix network availability reporting
This commit is contained in:
Irfan Sheriff
2011-01-11 14:17:59 -08:00
committed by Android Git Automerger
2 changed files with 11 additions and 22 deletions

View File

@@ -192,11 +192,6 @@ class SupplicantStateTracker extends HierarchicalStateMachine {
@Override @Override
public void enter() { public void enter() {
if (DBG) Log.d(TAG, getName() + "\n"); if (DBG) Log.d(TAG, getName() + "\n");
mWifiStateMachine.setNetworkAvailable(false);
}
@Override
public void exit() {
mWifiStateMachine.setNetworkAvailable(true);
} }
} }
@@ -204,15 +199,9 @@ class SupplicantStateTracker extends HierarchicalStateMachine {
@Override @Override
public void enter() { public void enter() {
if (DBG) Log.d(TAG, getName() + "\n"); if (DBG) Log.d(TAG, getName() + "\n");
mWifiStateMachine.setNetworkAvailable(false);
}
@Override
public void exit() {
mWifiStateMachine.setNetworkAvailable(true);
} }
} }
class DisconnectedState extends HierarchicalState { class DisconnectedState extends HierarchicalState {
@Override @Override
public void enter() { public void enter() {

View File

@@ -299,10 +299,8 @@ public class WifiStateMachine extends HierarchicalStateMachine {
static final int CMD_SET_FREQUENCY_BAND = 90; static final int CMD_SET_FREQUENCY_BAND = 90;
/* Commands from/to the SupplicantStateTracker */ /* Commands from/to the SupplicantStateTracker */
/* Indicates whether a wifi network is available for connection */
static final int CMD_SET_NETWORK_AVAILABLE = 111;
/* Reset the supplicant state tracker */ /* Reset the supplicant state tracker */
static final int CMD_RESET_SUPPLICANT_STATE = 112; static final int CMD_RESET_SUPPLICANT_STATE = 111;
/* Commands/events reported by WpsStateMachine */ /* Commands/events reported by WpsStateMachine */
@@ -1451,10 +1449,6 @@ public class WifiStateMachine extends HierarchicalStateMachine {
setWifiEnabled(true); setWifiEnabled(true);
} }
void setNetworkAvailable(boolean available) {
sendMessage(obtainMessage(CMD_SET_NETWORK_AVAILABLE, available ? 1 : 0, 0));
}
/******************************************************** /********************************************************
* HSM states * HSM states
*******************************************************/ *******************************************************/
@@ -1480,9 +1474,6 @@ public class WifiStateMachine extends HierarchicalStateMachine {
case CMD_ENABLE_RSSI_POLL: case CMD_ENABLE_RSSI_POLL:
mEnableRssiPolling = (message.arg1 == 1); mEnableRssiPolling = (message.arg1 == 1);
break; break;
case CMD_SET_NETWORK_AVAILABLE:
mNetworkInfo.setIsAvailable(message.arg1 == 1);
break;
/* Discard */ /* Discard */
case CMD_LOAD_DRIVER: case CMD_LOAD_DRIVER:
case CMD_UNLOAD_DRIVER: case CMD_UNLOAD_DRIVER:
@@ -1873,6 +1864,8 @@ public class WifiStateMachine extends HierarchicalStateMachine {
EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName()); EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED, getName());
/* Initialize for connect mode operation at start */ /* Initialize for connect mode operation at start */
mIsScanMode = false; mIsScanMode = false;
/* Wifi is available as long as we have a connection to supplicant */
mNetworkInfo.setIsAvailable(true);
} }
@Override @Override
public boolean processMessage(Message message) { public boolean processMessage(Message message) {
@@ -1886,6 +1879,7 @@ public class WifiStateMachine extends HierarchicalStateMachine {
Log.e(TAG, "Failed to stop supplicant, issue kill"); Log.e(TAG, "Failed to stop supplicant, issue kill");
WifiNative.killSupplicant(); WifiNative.killSupplicant();
} }
mNetworkInfo.setIsAvailable(false);
handleNetworkDisconnect(); handleNetworkDisconnect();
setWifiState(WIFI_STATE_DISABLING); setWifiState(WIFI_STATE_DISABLING);
sendSupplicantConnectionChangedBroadcast(false); sendSupplicantConnectionChangedBroadcast(false);
@@ -1896,6 +1890,7 @@ public class WifiStateMachine extends HierarchicalStateMachine {
Log.e(TAG, "Connection lost, restart supplicant"); Log.e(TAG, "Connection lost, restart supplicant");
WifiNative.killSupplicant(); WifiNative.killSupplicant();
WifiNative.closeSupplicantConnection(); WifiNative.closeSupplicantConnection();
mNetworkInfo.setIsAvailable(false);
handleNetworkDisconnect(); handleNetworkDisconnect();
sendSupplicantConnectionChangedBroadcast(false); sendSupplicantConnectionChangedBroadcast(false);
mSupplicantStateTracker.sendMessage(CMD_RESET_SUPPLICANT_STATE); mSupplicantStateTracker.sendMessage(CMD_RESET_SUPPLICANT_STATE);
@@ -1975,6 +1970,11 @@ public class WifiStateMachine extends HierarchicalStateMachine {
} }
return HANDLED; return HANDLED;
} }
@Override
public void exit() {
mNetworkInfo.setIsAvailable(false);
}
} }
class SupplicantStoppingState extends HierarchicalState { class SupplicantStoppingState extends HierarchicalState {