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,27 +192,16 @@ class SupplicantStateTracker extends HierarchicalStateMachine {
@Override
public void enter() {
if (DBG) Log.d(TAG, getName() + "\n");
mWifiStateMachine.setNetworkAvailable(false);
}
@Override
public void exit() {
mWifiStateMachine.setNetworkAvailable(true);
}
}
class InactiveState extends HierarchicalState {
@Override
public void enter() {
if (DBG) Log.d(TAG, getName() + "\n");
mWifiStateMachine.setNetworkAvailable(false);
}
@Override
public void exit() {
mWifiStateMachine.setNetworkAvailable(true);
}
}
class DisconnectedState extends HierarchicalState {
@Override
public void enter() {
@@ -336,4 +325,4 @@ class SupplicantStateTracker extends HierarchicalStateMachine {
if (DBG) Log.d(TAG, getName() + "\n");
}
}
}
}

View File

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