Fix network availability reporting
Report wifi is available as long as it is kept on Change-Id: I5be9461106ef4968cbc423f90e0ff168e089791f
This commit is contained in:
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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 {
|
||||
|
Reference in New Issue
Block a user