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

Commit 004f6832 authored by Irfan Sheriff's avatar Irfan Sheriff Committed by Android (Google) Code Review
Browse files

Merge "asynchronous driver commands"

parents 4b4b039d e498475b
Loading
Loading
Loading
Loading
+8 −12
Original line number Diff line number Diff line
@@ -362,11 +362,10 @@ public class WifiService extends IWifiManager.Stub {

    /**
     * see {@link android.net.wifi.WifiManager#startScan()}
     * @return {@code true} if the operation succeeds
     */
    public boolean startScan(boolean forceActive) {
    public void startScan(boolean forceActive) {
        enforceChangePermission();
        return mWifiStateMachine.startScan(forceActive);
        mWifiStateMachine.startScan(forceActive);
    }

    private void enforceAccessPermission() {
@@ -528,29 +527,26 @@ public class WifiService extends IWifiManager.Stub {

    /**
     * see {@link android.net.wifi.WifiManager#disconnect()}
     * @return {@code true} if the operation succeeds
     */
    public boolean disconnect() {
    public void disconnect() {
        enforceChangePermission();
        return mWifiStateMachine.disconnectCommand();
        mWifiStateMachine.disconnectCommand();
    }

    /**
     * see {@link android.net.wifi.WifiManager#reconnect()}
     * @return {@code true} if the operation succeeds
     */
    public boolean reconnect() {
    public void reconnect() {
        enforceChangePermission();
        return mWifiStateMachine.reconnectCommand();
        mWifiStateMachine.reconnectCommand();
    }

    /**
     * see {@link android.net.wifi.WifiManager#reassociate()}
     * @return {@code true} if the operation succeeds
     */
    public boolean reassociate() {
    public void reassociate() {
        enforceChangePermission();
        return mWifiStateMachine.reassociateCommand();
        mWifiStateMachine.reassociateCommand();
    }

    /**
+4 −4
Original line number Diff line number Diff line
@@ -40,15 +40,15 @@ interface IWifiManager

    boolean pingSupplicant();

    boolean startScan(boolean forceActive);
    void startScan(boolean forceActive);

    List<ScanResult> getScanResults();

    boolean disconnect();
    void disconnect();

    boolean reconnect();
    void reconnect();

    boolean reassociate();
    void reassociate();

    WifiInfo getConnectionInfo();

+10 −5
Original line number Diff line number Diff line
@@ -524,7 +524,8 @@ public class WifiManager {
     */
    public boolean disconnect() {
        try {
            return mService.disconnect();
            mService.disconnect();
            return true;
        } catch (RemoteException e) {
            return false;
        }
@@ -538,7 +539,8 @@ public class WifiManager {
     */
    public boolean reconnect() {
        try {
            return mService.reconnect();
            mService.reconnect();
            return true;
        } catch (RemoteException e) {
            return false;
        }
@@ -552,7 +554,8 @@ public class WifiManager {
     */
    public boolean reassociate() {
        try {
            return mService.reassociate();
            mService.reassociate();
            return true;
        } catch (RemoteException e) {
            return false;
        }
@@ -581,7 +584,8 @@ public class WifiManager {
     */
    public boolean startScan() {
        try {
            return mService.startScan(false);
            mService.startScan(false);
            return true;
        } catch (RemoteException e) {
            return false;
        }
@@ -599,7 +603,8 @@ public class WifiManager {
     */
    public boolean startScanActive() {
        try {
            return mService.startScan(true);
            mService.startScan(true);
            return true;
        } catch (RemoteException e) {
            return false;
        }
+21 −79
Original line number Diff line number Diff line
@@ -495,9 +495,9 @@ public class WifiStateMachine extends HierarchicalStateMachine {
    /**
     * TODO: doc
     */
    public boolean startScan(boolean forceActive) {
        return sendSyncMessage(obtainMessage(CMD_START_SCAN, forceActive ?
                SCAN_ACTIVE : SCAN_PASSIVE, 0)).boolValue;
    public void startScan(boolean forceActive) {
        sendMessage(obtainMessage(CMD_START_SCAN, forceActive ?
                SCAN_ACTIVE : SCAN_PASSIVE, 0));
    }

    /**
@@ -642,22 +642,22 @@ public class WifiStateMachine extends HierarchicalStateMachine {
    /**
     * Disconnect from Access Point
     */
    public boolean disconnectCommand() {
        return sendSyncMessage(CMD_DISCONNECT).boolValue;
    public void disconnectCommand() {
        sendMessage(CMD_DISCONNECT);
    }

    /**
     * Initiate a reconnection to AP
     */
    public boolean reconnectCommand() {
        return sendSyncMessage(CMD_RECONNECT).boolValue;
    public void reconnectCommand() {
        sendMessage(CMD_RECONNECT);
    }

    /**
     * Initiate a re-association to AP
     */
    public boolean reassociateCommand() {
        return sendSyncMessage(CMD_REASSOCIATE).boolValue;
    public void reassociateCommand() {
        sendMessage(CMD_REASSOCIATE);
    }

    /**
@@ -2056,10 +2056,6 @@ public class WifiStateMachine extends HierarchicalStateMachine {
            switch (message.what) {
                    /* Synchronous call returns */
                case CMD_PING_SUPPLICANT:
                case CMD_START_SCAN:
                case CMD_DISCONNECT:
                case CMD_RECONNECT:
                case CMD_REASSOCIATE:
                case CMD_REMOVE_NETWORK:
                case CMD_ENABLE_NETWORK:
                case CMD_DISABLE_NETWORK:
@@ -2093,6 +2089,10 @@ public class WifiStateMachine extends HierarchicalStateMachine {
                case CMD_STOP_DRIVER:
                case CMD_START_AP:
                case CMD_STOP_AP:
                case CMD_START_SCAN:
                case CMD_DISCONNECT:
                case CMD_RECONNECT:
                case CMD_REASSOCIATE:
                case CMD_RECONFIGURE_IP:
                case SUP_CONNECTION_EVENT:
                case SUP_DISCONNECTION_EVENT:
@@ -2647,16 +2647,11 @@ public class WifiStateMachine extends HierarchicalStateMachine {
                case CMD_SET_NUM_ALLOWED_CHANNELS:
                case CMD_START_PACKET_FILTERING:
                case CMD_STOP_PACKET_FILTERING:
                    deferMessage(message);
                    break;
                    /* Queue the asynchronous version of these commands */
                case CMD_START_SCAN:
                case CMD_DISCONNECT:
                case CMD_REASSOCIATE:
                case CMD_RECONNECT:
                    if (message.arg2 != SYNCHRONOUS_CALL) {
                    deferMessage(message);
                    }
                    break;
                default:
                    return NOT_HANDLED;
@@ -2781,16 +2776,11 @@ public class WifiStateMachine extends HierarchicalStateMachine {
                case CMD_SET_NUM_ALLOWED_CHANNELS:
                case CMD_START_PACKET_FILTERING:
                case CMD_STOP_PACKET_FILTERING:
                    deferMessage(message);
                    break;
                    /* Queue the asynchronous version of these commands */
                case CMD_START_SCAN:
                case CMD_DISCONNECT:
                case CMD_REASSOCIATE:
                case CMD_RECONNECT:
                    if (message.arg2 != SYNCHRONOUS_CALL) {
                    deferMessage(message);
                    }
                    break;
                default:
                    return NOT_HANDLED;
@@ -2836,15 +2826,7 @@ public class WifiStateMachine extends HierarchicalStateMachine {
                    }
                    break;
                case CMD_START_SCAN:
                    if (message.arg2 == SYNCHRONOUS_CALL) {
                        syncParams = (SyncParams) message.obj;
                        syncParams.mSyncReturn.boolValue = WifiNative.scanCommand(
                                message.arg1 == SCAN_ACTIVE);
                        notifyOnMsgObject(message);
                    } else {
                        /* asynchronous handling */
                    WifiNative.scanCommand(message.arg1 == SCAN_ACTIVE);
                    }
                    break;
                    /* Ignore */
                case CMD_DISCONNECT:
@@ -2882,11 +2864,6 @@ public class WifiStateMachine extends HierarchicalStateMachine {
                    mSupplicantStateTracker.handleEvent(stateChangeResult);
                    break;
                case CMD_START_SCAN:
                    if (message.arg2 == SYNCHRONOUS_CALL) {
                        syncParams = (SyncParams) message.obj;
                        syncParams.mSyncReturn.boolValue = true;
                        notifyOnMsgObject(message);
                    }
                    /* We need to set scan type in completed state */
                    Message newMsg = obtainMessage();
                    newMsg.copyFrom(message);
@@ -2894,34 +2871,13 @@ public class WifiStateMachine extends HierarchicalStateMachine {
                    break;
                    /* Do a redundant disconnect without transition */
                case CMD_DISCONNECT:
                    if (message.arg2 == SYNCHRONOUS_CALL) {
                        syncParams = (SyncParams) message.obj;
                        syncParams.mSyncReturn.boolValue = WifiNative.disconnectCommand();
                        notifyOnMsgObject(message);
                    } else {
                        /* asynchronous handling */
                    WifiNative.disconnectCommand();
                    }
                    break;
                case CMD_RECONNECT:
                    if (message.arg2 == SYNCHRONOUS_CALL) {
                        syncParams = (SyncParams) message.obj;
                        syncParams.mSyncReturn.boolValue = WifiNative.reconnectCommand();
                        notifyOnMsgObject(message);
                    } else {
                        /* asynchronous handling */
                    WifiNative.reconnectCommand();
                    }
                    break;
                case CMD_REASSOCIATE:
                    if (message.arg2 == SYNCHRONOUS_CALL) {
                        syncParams = (SyncParams) message.obj;
                        syncParams.mSyncReturn.boolValue = WifiNative.reassociateCommand();
                        notifyOnMsgObject(message);
                    } else {
                        /* asynchronous handling */
                    WifiNative.reassociateCommand();
                    }
                    break;
                case CMD_CONNECT_NETWORK:
                    int netId = message.arg1;
@@ -3125,14 +3081,7 @@ public class WifiStateMachine extends HierarchicalStateMachine {
                  transitionTo(mDisconnectingState);
                  break;
              case CMD_DISCONNECT:
                  if (message.arg2 == SYNCHRONOUS_CALL) {
                      SyncParams syncParams = (SyncParams) message.obj;
                      syncParams.mSyncReturn.boolValue = WifiNative.disconnectCommand();
                      notifyOnMsgObject(message);
                  } else {
                      /* asynchronous handling */
                  WifiNative.disconnectCommand();
                  }
                  transitionTo(mDisconnectingState);
                  break;
                  /* Ignore */
@@ -3187,14 +3136,7 @@ public class WifiStateMachine extends HierarchicalStateMachine {
            if (DBG) Log.d(TAG, getName() + message.toString() + "\n");
            switch (message.what) {
                case CMD_DISCONNECT:
                    if (message.arg2 == SYNCHRONOUS_CALL) {
                        SyncParams syncParams = (SyncParams) message.obj;
                        syncParams.mSyncReturn.boolValue = WifiNative.disconnectCommand();
                        notifyOnMsgObject(message);
                    } else {
                        /* asynchronous handling */
                    WifiNative.disconnectCommand();
                    }
                    transitionTo(mDisconnectingState);
                    break;
                case CMD_RECONFIGURE_IP: