Merge "ConnectivityManager: simplify callback handler" am: 5e6af581e4 am: 7bce658dd6

am: a67fb638fa

Change-Id: I3934666df4a02101351993f7f83fb0a42124a2f5
This commit is contained in:
Hugo Benichi
2017-05-23 06:37:24 +00:00
committed by android-build-merger

View File

@@ -2766,79 +2766,62 @@ public class ConnectivityManager {
@Override @Override
public void handleMessage(Message message) { public void handleMessage(Message message) {
NetworkRequest request = getObject(message, NetworkRequest.class); if (message.what == EXPIRE_LEGACY_REQUEST) {
Network network = getObject(message, Network.class); 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) { if (DBG) {
Log.d(TAG, getCallbackName(message.what) + " for network " + network); 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) { switch (message.what) {
case CALLBACK_PRECHECK: { case CALLBACK_PRECHECK: {
NetworkCallback callback = getCallback(message);
if (callback != null) {
callback.onPreCheck(network); callback.onPreCheck(network);
}
break; break;
} }
case CALLBACK_AVAILABLE: { case CALLBACK_AVAILABLE: {
NetworkCallback callback = getCallback(message);
if (callback != null) {
callback.onAvailable(network); callback.onAvailable(network);
}
break; break;
} }
case CALLBACK_LOSING: { case CALLBACK_LOSING: {
NetworkCallback callback = getCallback(message);
if (callback != null) {
callback.onLosing(network, message.arg1); callback.onLosing(network, message.arg1);
}
break; break;
} }
case CALLBACK_LOST: { case CALLBACK_LOST: {
NetworkCallback callback = getCallback(message);
if (callback != null) {
callback.onLost(network); callback.onLost(network);
}
break; break;
} }
case CALLBACK_UNAVAIL: { case CALLBACK_UNAVAIL: {
NetworkCallback callback = getCallback(message);
if (callback != null) {
callback.onUnavailable(); callback.onUnavailable();
}
break; break;
} }
case CALLBACK_CAP_CHANGED: { case CALLBACK_CAP_CHANGED: {
NetworkCallback callback = getCallback(message);
if (callback != null) {
NetworkCapabilities cap = getObject(message, NetworkCapabilities.class); NetworkCapabilities cap = getObject(message, NetworkCapabilities.class);
callback.onCapabilitiesChanged(network, cap); callback.onCapabilitiesChanged(network, cap);
}
break; break;
} }
case CALLBACK_IP_CHANGED: { case CALLBACK_IP_CHANGED: {
NetworkCallback callback = getCallback(message);
if (callback != null) {
LinkProperties lp = getObject(message, LinkProperties.class); LinkProperties lp = getObject(message, LinkProperties.class);
callback.onLinkPropertiesChanged(network, lp); callback.onLinkPropertiesChanged(network, lp);
}
break; break;
} }
case CALLBACK_SUSPENDED: { case CALLBACK_SUSPENDED: {
NetworkCallback callback = getCallback(message);
if (callback != null) {
callback.onNetworkSuspended(network); callback.onNetworkSuspended(network);
}
break; break;
} }
case CALLBACK_RESUMED: { case CALLBACK_RESUMED: {
NetworkCallback callback = getCallback(message);
if (callback != null) {
callback.onNetworkResumed(network); callback.onNetworkResumed(network);
}
break;
}
case EXPIRE_LEGACY_REQUEST: {
expireRequest((NetworkCapabilities)message.obj, message.arg1);
break; break;
} }
} }
@@ -2847,18 +2830,6 @@ public class ConnectivityManager {
private <T> T getObject(Message msg, Class<T> c) { private <T> T getObject(Message msg, Class<T> c) {
return (T) msg.getData().getParcelable(c.getSimpleName()); 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() { private CallbackHandler getDefaultHandler() {