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

Commit 7bce658d authored by Hugo Benichi's avatar Hugo Benichi Committed by android-build-merger
Browse files

Merge "ConnectivityManager: simplify callback handler"

am: 857e7d9c

Change-Id: I8d5371b69fcec3f1f625923eb65191b4c018bb00
parents c85053f7 857e7d9c
Loading
Loading
Loading
Loading
+27 −56
Original line number Diff line number Diff line
@@ -2773,79 +2773,62 @@ public class ConnectivityManager {

        @Override
        public void handleMessage(Message message) {
            NetworkRequest request = getObject(message, NetworkRequest.class);
            Network network = getObject(message, Network.class);
            if (message.what == EXPIRE_LEGACY_REQUEST) {
                expireRequest((NetworkCapabilities) message.obj, message.arg1);
                return;
            }

            final NetworkRequest request = getObject(message, NetworkRequest.class);
            final Network network = getObject(message, Network.class);
            final NetworkCallback callback;
            synchronized (sCallbacks) {
                callback = sCallbacks.get(request);
            }
            if (DBG) {
                Log.d(TAG, getCallbackName(message.what) + " for network " + network);
            }
            if (callback == null) {
                Log.w(TAG, "callback not found for " + getCallbackName(message.what) + " message");
                return;
            }

            switch (message.what) {
                case CALLBACK_PRECHECK: {
                    NetworkCallback callback = getCallback(message);
                    if (callback != null) {
                    callback.onPreCheck(network);
                    }
                    break;
                }
                case CALLBACK_AVAILABLE: {
                    NetworkCallback callback = getCallback(message);
                    if (callback != null) {
                    callback.onAvailable(network);
                    }
                    break;
                }
                case CALLBACK_LOSING: {
                    NetworkCallback callback = getCallback(message);
                    if (callback != null) {
                    callback.onLosing(network, message.arg1);
                    }
                    break;
                }
                case CALLBACK_LOST: {
                    NetworkCallback callback = getCallback(message);
                    if (callback != null) {
                    callback.onLost(network);
                    }
                    break;
                }
                case CALLBACK_UNAVAIL: {
                    NetworkCallback callback = getCallback(message);
                    if (callback != null) {
                    callback.onUnavailable();
                    }
                    break;
                }
                case CALLBACK_CAP_CHANGED: {
                    NetworkCallback callback = getCallback(message);
                    if (callback != null) {
                    NetworkCapabilities cap = getObject(message, NetworkCapabilities.class);
                    callback.onCapabilitiesChanged(network, cap);
                    }
                    break;
                }
                case CALLBACK_IP_CHANGED: {
                    NetworkCallback callback = getCallback(message);
                    if (callback != null) {
                    LinkProperties lp = getObject(message, LinkProperties.class);
                    callback.onLinkPropertiesChanged(network, lp);
                    }
                    break;
                }
                case CALLBACK_SUSPENDED: {
                    NetworkCallback callback = getCallback(message);
                    if (callback != null) {
                    callback.onNetworkSuspended(network);
                    }
                    break;
                }
                case CALLBACK_RESUMED: {
                    NetworkCallback callback = getCallback(message);
                    if (callback != null) {
                    callback.onNetworkResumed(network);
                    }
                    break;
                }
                case EXPIRE_LEGACY_REQUEST: {
                    expireRequest((NetworkCapabilities)message.obj, message.arg1);
                    break;
                }
            }
@@ -2854,18 +2837,6 @@ public class ConnectivityManager {
        private <T> T getObject(Message msg, Class<T> c) {
            return (T) msg.getData().getParcelable(c.getSimpleName());
        }

        private NetworkCallback getCallback(Message msg) {
            final NetworkRequest req = getObject(msg, NetworkRequest.class);
            final NetworkCallback callback;
            synchronized(sCallbacks) {
                callback = sCallbacks.get(req);
            }
            if (callback == null) {
                Log.w(TAG, "callback not found for " + getCallbackName(msg.what) + " message");
            }
            return callback;
        }
    }

    private CallbackHandler getDefaultHandler() {