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

Commit ec1e5e80 authored by Paul Stewart's avatar Paul Stewart Committed by Android (Google) Code Review
Browse files

Merge "WifiManager: Defer Async Channel init" into nyc-dev

parents 9e6fe190 75f129e1
Loading
Loading
Loading
Loading
+28 −41
Original line number Diff line number Diff line
@@ -689,7 +689,6 @@ public class WifiManager {
        mContext = context;
        mService = service;
        mTargetSdkVersion = context.getApplicationInfo().targetSdkVersion;
        init();
    }

    /**
@@ -1478,8 +1477,7 @@ public class WifiManager {
     * @hide for CTS test only
     */
    public void getTxPacketCount(TxPacketCountListener listener) {
        validateChannel();
        mAsyncChannel.sendMessage(RSSI_PKTCNT_FETCH, 0, putListener(listener));
        getChannel().sendMessage(RSSI_PKTCNT_FETCH, 0, putListener(listener));
    }

    /**
@@ -1972,11 +1970,12 @@ public class WifiManager {
        }
    }

    private void init() {
    private synchronized AsyncChannel getChannel() {
        if (mAsyncChannel == null) {
            Messenger messenger = getWifiServiceMessenger();
            if (messenger == null) {
            mAsyncChannel = null;
            return;
                throw new IllegalStateException(
                        "getWifiServiceMessenger() returned null!  This is invalid.");
            }

            mHandlerThread = new HandlerThread("WifiManager");
@@ -1992,10 +1991,7 @@ public class WifiManager {
                Log.e(TAG, "interrupted wait at init");
            }
        }

    private void validateChannel() {
        if (mAsyncChannel == null) throw new IllegalStateException(
                "No permission to access and change wifi or a bad initialization");
        return mAsyncChannel;
    }

    /**
@@ -2016,10 +2012,9 @@ public class WifiManager {
     */
    public void connect(WifiConfiguration config, ActionListener listener) {
        if (config == null) throw new IllegalArgumentException("config cannot be null");
        validateChannel();
        // Use INVALID_NETWORK_ID for arg1 when passing a config object
        // arg1 is used to pass network id when the network already exists
        mAsyncChannel.sendMessage(CONNECT_NETWORK, WifiConfiguration.INVALID_NETWORK_ID,
        getChannel().sendMessage(CONNECT_NETWORK, WifiConfiguration.INVALID_NETWORK_ID,
                putListener(listener), config);
    }

@@ -2038,8 +2033,7 @@ public class WifiManager {
     */
    public void connect(int networkId, ActionListener listener) {
        if (networkId < 0) throw new IllegalArgumentException("Network id cannot be negative");
        validateChannel();
        mAsyncChannel.sendMessage(CONNECT_NETWORK, networkId, putListener(listener));
        getChannel().sendMessage(CONNECT_NETWORK, networkId, putListener(listener));
    }

    /**
@@ -2062,8 +2056,7 @@ public class WifiManager {
     */
    public void save(WifiConfiguration config, ActionListener listener) {
        if (config == null) throw new IllegalArgumentException("config cannot be null");
        validateChannel();
        mAsyncChannel.sendMessage(SAVE_NETWORK, 0, putListener(listener), config);
        getChannel().sendMessage(SAVE_NETWORK, 0, putListener(listener), config);
    }

    /**
@@ -2081,8 +2074,7 @@ public class WifiManager {
     */
    public void forget(int netId, ActionListener listener) {
        if (netId < 0) throw new IllegalArgumentException("Network id cannot be negative");
        validateChannel();
        mAsyncChannel.sendMessage(FORGET_NETWORK, netId, putListener(listener));
        getChannel().sendMessage(FORGET_NETWORK, netId, putListener(listener));
    }

    /**
@@ -2096,8 +2088,7 @@ public class WifiManager {
     */
    public void disable(int netId, ActionListener listener) {
        if (netId < 0) throw new IllegalArgumentException("Network id cannot be negative");
        validateChannel();
        mAsyncChannel.sendMessage(DISABLE_NETWORK, netId, putListener(listener));
        getChannel().sendMessage(DISABLE_NETWORK, netId, putListener(listener));
    }

    /**
@@ -2125,8 +2116,7 @@ public class WifiManager {
     */
    public void startWps(WpsInfo config, WpsCallback listener) {
        if (config == null) throw new IllegalArgumentException("config cannot be null");
        validateChannel();
        mAsyncChannel.sendMessage(START_WPS, 0, putListener(listener), config);
        getChannel().sendMessage(START_WPS, 0, putListener(listener), config);
    }

    /**
@@ -2137,8 +2127,7 @@ public class WifiManager {
     * initialized again
     */
    public void cancelWps(WpsCallback listener) {
        validateChannel();
        mAsyncChannel.sendMessage(CANCEL_WPS, 0, putListener(listener));
        getChannel().sendMessage(CANCEL_WPS, 0, putListener(listener));
    }

    /**
@@ -2153,8 +2142,6 @@ public class WifiManager {
            return mService.getWifiServiceMessenger();
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        } catch (SecurityException e) {
            return null;
        }
    }