Merge "ConnectivityManager: simplify callback handler" am: 5e6af581e4 am: 7bce658dd6
am: a67fb638fa Change-Id: I3934666df4a02101351993f7f83fb0a42124a2f5
This commit is contained in:
@@ -2766,79 +2766,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);
|
||||
}
|
||||
callback.onPreCheck(network);
|
||||
break;
|
||||
}
|
||||
case CALLBACK_AVAILABLE: {
|
||||
NetworkCallback callback = getCallback(message);
|
||||
if (callback != null) {
|
||||
callback.onAvailable(network);
|
||||
}
|
||||
callback.onAvailable(network);
|
||||
break;
|
||||
}
|
||||
case CALLBACK_LOSING: {
|
||||
NetworkCallback callback = getCallback(message);
|
||||
if (callback != null) {
|
||||
callback.onLosing(network, message.arg1);
|
||||
}
|
||||
callback.onLosing(network, message.arg1);
|
||||
break;
|
||||
}
|
||||
case CALLBACK_LOST: {
|
||||
NetworkCallback callback = getCallback(message);
|
||||
if (callback != null) {
|
||||
callback.onLost(network);
|
||||
}
|
||||
callback.onLost(network);
|
||||
break;
|
||||
}
|
||||
case CALLBACK_UNAVAIL: {
|
||||
NetworkCallback callback = getCallback(message);
|
||||
if (callback != null) {
|
||||
callback.onUnavailable();
|
||||
}
|
||||
callback.onUnavailable();
|
||||
break;
|
||||
}
|
||||
case CALLBACK_CAP_CHANGED: {
|
||||
NetworkCallback callback = getCallback(message);
|
||||
if (callback != null) {
|
||||
NetworkCapabilities cap = getObject(message, NetworkCapabilities.class);
|
||||
callback.onCapabilitiesChanged(network, cap);
|
||||
}
|
||||
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);
|
||||
}
|
||||
LinkProperties lp = getObject(message, LinkProperties.class);
|
||||
callback.onLinkPropertiesChanged(network, lp);
|
||||
break;
|
||||
}
|
||||
case CALLBACK_SUSPENDED: {
|
||||
NetworkCallback callback = getCallback(message);
|
||||
if (callback != null) {
|
||||
callback.onNetworkSuspended(network);
|
||||
}
|
||||
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);
|
||||
callback.onNetworkResumed(network);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -2847,18 +2830,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() {
|
||||
|
||||
Reference in New Issue
Block a user