Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6bb7652b authored by Irfan Sheriff's avatar Irfan Sheriff
Browse files

Fix network availability reporting

Report wifi is available as long as it is kept on

Change-Id: I5be9461106ef4968cbc423f90e0ff168e089791f
parent c1960a60
Loading
Loading
Loading
Loading
+1 −12
Original line number Diff line number Diff line
@@ -192,11 +192,6 @@ 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);
         }
    }

@@ -204,14 +199,8 @@ 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 DisconnectedState extends HierarchicalState {
        @Override
+10 −10
Original line number Diff line number Diff line
@@ -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 {